[PATCH v2 0/2] rust: task: clean up safety issues wrt de_thread()
From: Jann Horn
Date: Thu Feb 12 2026 - 17:12:22 EST
Task::pid() and Task::group_leader() wrongly assume that task::pid and
task::group_leader remain constant until the task refcount drops to zero,
but those members can actually change due to concurrent de_thread().
Fix those assumptions.
Signed-off-by: Jann Horn <jannh@xxxxxxxxxx>
---
Changes in v2:
- split into two patches (Boqun)
- use relaxed atomic load instead of volatile load (Boqun)
- Link to v1: https://lore.kernel.org/r/20260212-rust-de_thread-v1-1-948f5b992624@xxxxxxxxxx
---
Jann Horn (2):
rust: task: limit group_leader() to current
rust: task: use atomic read for pid()
rust/kernel/task.rs | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)
---
base-commit: 192c0159402e6bfbe13de6f8379546943297783d
change-id: 20260212-rust-de_thread-0ad9154aedb0
--
Jann Horn <jannh@xxxxxxxxxx>