Description
In the Linux kernel, the following vulnerability has been resolved: sysfs: don't remove existing directory on update failure When sysfs_update_group() is called for a named group and create_files() fails (e.g. -ENOMEM), internal_create_group() calls kernfs_remove(kn) on the group directory. In the update path, kn was obtained via kernfs_find_and_get() and refers to a directory that already existed before this call. Removing it silently destroys a sysfs group that the caller did not create. Only remove the directory if we created it ourselves. On update failure the directory remains as it is left empty by remove_files() inside create_files(), but can be repopulated by a retry.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c855cf2759d27142f771173d9fd8e7fdf9cf5138 to < c5e125c828b701afaf7493b42a14aa89362ff36daffectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < ccadd32cc1263802a5969c9efe0e96225450428caffectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < 14f2c14ae86c4af17a0a9f8ab46dacf2d5fd1d8aaffectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < 31527d80234caf83dc96ad478645e57df9de4472affectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < 57b285e0368290aa55f79ba11419b96d0ebdb418affectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < 48fa96538bd2868034d33429e4565fda384d0736affectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < 708f6926f61f71e09b5e9fd668b9882ccd46e69faffectedc855cf2759d27142f771173d9fd8e7fdf9cf5138 to < 237557b8a81ab948e8332f7c0058e758f081c0a3affected
Linux Linux
Default version status: affected
4.19affected0 to < 4.19unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.142 to ≤ 6.6.*unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c5e125c828b701afaf7493b42a14aa89362ff36d ↗
- https://git.kernel.org/stable/c/ccadd32cc1263802a5969c9efe0e96225450428c ↗
- https://git.kernel.org/stable/c/14f2c14ae86c4af17a0a9f8ab46dacf2d5fd1d8a ↗
- https://git.kernel.org/stable/c/31527d80234caf83dc96ad478645e57df9de4472 ↗
- https://git.kernel.org/stable/c/57b285e0368290aa55f79ba11419b96d0ebdb418 ↗
- https://git.kernel.org/stable/c/48fa96538bd2868034d33429e4565fda384d0736 ↗
- https://git.kernel.org/stable/c/708f6926f61f71e09b5e9fd668b9882ccd46e69f ↗
- https://git.kernel.org/stable/c/237557b8a81ab948e8332f7c0058e758f081c0a3 ↗