Sebastian Andrzej Siewior 的 v4 双 patch 系列处理 FUTEX_CMP_REQUEUE_PI 路径上两个长期被忽视的问题:futex proxy 锁路径上的 sched_rt_mutex 注解错位,以及 futex_requeue_pi_complete() 在 waiter 已退出 syscall 后仍对栈上 futex_q 调用 rcuwait_wake_up() 触发的 KASAN UAF。Patch 1 引入仅翻转断言标志、不调用 sched_submit_work() 的 rt_mutex_futex_pre/post_schedule(),并把注...
Sebastian Andrzej Siewior 的 v4 双 patch 系列处理 FUTEX_CMP_REQUEUE_PI 路径上两个长期被忽视的问题:futex proxy 锁路径上的 sched_rt_mutex 注解错位,以及 futex_requeue_pi_complete() 在 waiter 已退出 syscall 后仍对栈上 futex_q 调用 rcuwait_wake_up() 触发的 KASAN UAF。Patch 1 引入仅翻转断言标志、不调用 sched_submit_work() 的 rt_mutex_futex_pre/post_schedule(),并把注解统一迁到 rt_mutex_wait_proxy_lock() 内部;patch 2 在 Q_REQUEUE_PI_WAIT → Q_REQUEUE_PI_LOCKED 转换时跳过 rcuwait_wake_up(),改由 requeue_pi_wake_futex() 通过 wake_up_state() 兜底。两个 patch 已合入 tip: locking/urgent。