CVE-2026-99169: futex: Fix mm reuse handling for FUT_OFF_MMSHARED
In the Linux kernel, the following vulnerability has been resolved:
futex: Fix mm reuse handling for FUTOFFMMSHARED
A FUTOFFMMSHARED futex is a shared futex that refers to an MM. It is possible for a process to wait on a shared futex with a different MM because a FUTOFFINODE waiter can be requeued onto a FUTOFFMMSHARED futex by another process. This can cause FUTOFFMMSHARED waiters on a freed MM to consume wakeups intended for a newly allocated MM at the same address.
Fix it by keying FUTOFFMMSHARED using a unique 64-bit per-MM ID. Leave private futexes as before to avoid influencing the performance of the hotpath.
(Multi-threaded processes typically implicitly use FUTOFFMMSHARED by setting clearchildtid such that it points into anonymous memory, which causes mmrelease() in a multi-threaded mm to perform FUTEXWAKE.)