CVE-2025-38282

Source
https://cve.org/CVERecord?id=CVE-2025-38282
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38282.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38282
Downstream
Related
Published
2025-07-10T07:42:00.395Z
Modified
2026-03-20T12:42:46.835814Z
Summary
kernfs: Relax constraint in draining guard
Details

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 kernfsshoulddrainopenfiles() is too sensitive -- it may transiently catch those (rightful) callers between kernfsunbreakactiveprotection() and kernfsput_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 paniconwarn) remove the check altogether. (This is meant as quick fix, I think active reference break/unbreak may be simplified with larger rework.)

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38282.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
bdb2fd7fc56e197a63c0b0e7e07d25d5e20e7c72
Fixed
2d6a67c2b3b87808a347dc1047b520a9dd177a4f
Fixed
6c81f1c7812c61f187bed1b938f1d2e391d503ab
Fixed
6bfb154f95d5f0ab7ed056f23aba8c1a94cb3927
Fixed
72275c888f8962b406ee9c6885c79bf68cca5a63
Fixed
071d8e4c2a3b0999a9b822e2eb8854784a350f8a

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38282.json"