jfs: fix uninitialized waitqueue in transaction manager
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.4.302, 5.10.247, 5.15.197, 6.1.159, 4.15, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: jfs: fix uninitialized waitqueue in transaction manager The transaction manager initialization in txInit() was not properly initializing TxBlock[0].waitor waitqueue, causing a crash when txEnd(0) is called on read-only filesystems. When a filesystem is mounted read-only, txBegin() returns tid=0 to indicate no transaction. However, txEnd(0) still gets called and tries to access TxBlock[0].waitor via tid_to_tblock(0), but this waitqueue was never initialized because the initialization loop started at index 1 instead of 0. This causes a 'non-static key' lockdep warning and system crash: INFO: trying to register non-static key in txEnd Fix by ensuring all transaction blocks including TxBlock[0] have their waitqueues properly initialized during txInit().
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 5.4.255 · fixed in 5.4.302; From 5.10.192 · fixed in 5.10.247; From 5.15.123 · fixed in 5.15.197; From 6.1.42 · fixed in 6.1.159; From 4.14.324 · fixed in 4.15; From 4.19.293 · fixed in 4.20; From 6.4.7 · fixed in 6.5
- Linux Linux
6.5
References 8
git.kernel.org
- stable/c/d6af7fce2e162ac68e85d3a11eb6ac8c35b24b64
- stable/c/8cae9cf23e0bd424ac904e753639a587543ce03a
- stable/c/a2aa97cde9857f881920635a2e3d3b11769619c5
- stable/c/d2dd7ca05a11685c314e62802a55e8d67a90e974
- stable/c/2a9575a372182ca075070b3cd77490dcf0c951e7
- stable/c/cbf2f527ae4ca7c7dabce42e85e8deb58588a37e
- stable/c/038861414ab383b41dd35abbf9ff0ef715592d53
- stable/c/300b072df72694ea330c4c673c035253e07827b8