Description
In the Linux kernel, the following vulnerability has been resolved: kernfs: Relax constraint in draining guard The active reference lifecycle provides the break/unbreak mechanism but the active reference is not truly active after unbreak -- callers don't use it afterwards but it's important for proper pairing of kn->active counting. Assuming this mechanism is in place, the WARN check in kernfs_should_drain_open_files() is too sensitive -- it may transiently catch those (rightful) callers between kernfs_unbreak_active_protection() and kernfs_put_active() as found out by Chen Ridong: kernfs_remove_by_name_ns kernfs_get_active // active=1 __kernfs_remove // active=0x80000002 kernfs_drain ... wait_event //waiting (active == 0x80000001) kernfs_break_active_protection // active = 0x80000001 // continue kernfs_unbreak_active_protection // active = 0x80000002 ... kernfs_should_drain_open_files // warning occurs kernfs_put_active To avoid the false positives (mind panic_on_warn) remove the check altogether. (This is meant as quick fix, I think active reference break/unbreak may be simplified with larger rework.)
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
bdb2fd7fc56e197a63c0b0e7e07d25d5e20e7c72 to < 2d6a67c2b3b87808a347dc1047b520a9dd177a4faffectedbdb2fd7fc56e197a63c0b0e7e07d25d5e20e7c72 to < 6c81f1c7812c61f187bed1b938f1d2e391d503abaffectedbdb2fd7fc56e197a63c0b0e7e07d25d5e20e7c72 to < 6bfb154f95d5f0ab7ed056f23aba8c1a94cb3927affectedbdb2fd7fc56e197a63c0b0e7e07d25d5e20e7c72 to < 72275c888f8962b406ee9c6885c79bf68cca5a63affectedbdb2fd7fc56e197a63c0b0e7e07d25d5e20e7c72 to < 071d8e4c2a3b0999a9b822e2eb8854784a350f8aaffected
Linux Linux
Default version status: affected
6.1affected0 to < 6.1unaffected6.1.142 to ≤ 6.1.*unaffected6.6.94 to ≤ 6.6.*unaffected6.12.34 to ≤ 6.12.*unaffected6.15.3 to ≤ 6.15.*unaffected6.16 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/2d6a67c2b3b87808a347dc1047b520a9dd177a4f ↗
- https://git.kernel.org/stable/c/6c81f1c7812c61f187bed1b938f1d2e391d503ab ↗
- https://git.kernel.org/stable/c/6bfb154f95d5f0ab7ed056f23aba8c1a94cb3927 ↗
- https://git.kernel.org/stable/c/72275c888f8962b406ee9c6885c79bf68cca5a63 ↗
- https://git.kernel.org/stable/c/071d8e4c2a3b0999a9b822e2eb8854784a350f8a ↗
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html ↗