Home

Description

In the Linux kernel, the following vulnerability has been resolved: futex: Clear stale exiting pointer in futex_lock_pi() retry path Fuzzying/stressing futexes triggered: WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+0x7a/0x80, CPU#11: futex_lock_pi_s/524 When futex_lock_pi_atomic() sees the owner is exiting, it returns -EBUSY and stores a refcounted task pointer in 'exiting'. After wait_for_owner_exiting() consumes that reference, the local pointer is never reset to nil. Upon a retry, if futex_lock_pi_atomic() returns a different error, the bogus pointer is passed to wait_for_owner_exiting(). CPU0 CPU1 CPU2 futex_lock_pi(uaddr) // acquires the PI futex exit() futex_cleanup_begin() futex_state = EXITING; futex_lock_pi(uaddr) futex_lock_pi_atomic() attach_to_pi_owner() // observes EXITING *exiting = owner; // takes ref return -EBUSY wait_for_owner_exiting(-EBUSY, owner) put_task_struct(); // drops ref // exiting still points to owner goto retry; futex_lock_pi_atomic() lock_pi_update_atomic() cmpxchg(uaddr) *uaddr ^= WAITERS // whatever // value changed return -EAGAIN; wait_for_owner_exiting(-EAGAIN, exiting) // stale WARN_ON_ONCE(exiting) Fix this by resetting upon retry, essentially aligning it with requeue_pi.

PUBLISHED Reserved 2026-03-09 | Published 2026-04-24 | Updated 2026-04-24 | Assigner Linux

Product status

Default status
unaffected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before 33095ae3bdde5e5c264d7e88a2f3e7703a26c7aa
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before e7824ec168d2ac883a213cd1f4d6cc0816002a85
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before 5e8e06bf8909e79b4acd950cf578cfc2f10bbefa
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before de7c0c04ad868f2cee6671b11c0a6d20421af1da
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before 7475dfad10a05a5bfadebf5f2499bd61b19ed293
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before 92e47ad03e03dbb5515bdf06444bf6b1e147310d
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before 71112e62807d1925dc3ae6188b11f8cfc85aec23
affected

3ef240eaff36b8119ac9e2ea17cbf41179c930ba (git) before 210d36d892de5195e6766c45519dfb1e65f3eb83
affected

f2a9957e5c08b1b1caacd18a3dc4c0a1bdb7b463 (git)
affected

cf16e42709aa86aa3e37f3acc3d13d5715d90096 (git)
affected

61fa9f167caaa73d0a7c88f498eceeb12c6fa3db (git)
affected

7874eee0130adf9bee28e8720bb5dd051089def3 (git)
affected

fc3b55ef2c840bb2746b2d8121a0788de84f7fac (git)
affected

Default status
affected

5.5
affected

Any version before 5.5
unaffected

5.10.253 (semver)
unaffected

5.15.203 (semver)
unaffected

6.1.168 (semver)
unaffected

6.6.131 (semver)
unaffected

6.12.80 (semver)
unaffected

6.18.21 (semver)
unaffected

6.19.11 (semver)
unaffected

7.0 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/33095ae3bdde5e5c264d7e88a2f3e7703a26c7aa

git.kernel.org/...c/e7824ec168d2ac883a213cd1f4d6cc0816002a85

git.kernel.org/...c/5e8e06bf8909e79b4acd950cf578cfc2f10bbefa

git.kernel.org/...c/de7c0c04ad868f2cee6671b11c0a6d20421af1da

git.kernel.org/...c/7475dfad10a05a5bfadebf5f2499bd61b19ed293

git.kernel.org/...c/92e47ad03e03dbb5515bdf06444bf6b1e147310d

git.kernel.org/...c/71112e62807d1925dc3ae6188b11f8cfc85aec23

git.kernel.org/...c/210d36d892de5195e6766c45519dfb1e65f3eb83

cve.org (CVE-2026-31555)

nvd.nist.gov (CVE-2026-31555)

Download JSON