[PATCH v3 0/3] binder: handle PID namespace conversion for freeze operation

jongan.kim@lge.com posted 3 patches 4 days, 8 hours ago
There is a newer version of this series
drivers/android/binder.c          |  53 +++++++++++-
drivers/android/binder/process.rs |  37 +++++++-
rust/helpers/helpers.c            |   1 +
rust/helpers/pid.c                |   9 ++
rust/kernel/lib.rs                |   1 +
rust/kernel/pid.rs                | 138 ++++++++++++++++++++++++++++++
rust/kernel/pid_namespace.rs      |  17 ++++
rust/kernel/task.rs               |  13 +++
8 files changed, 262 insertions(+), 7 deletions(-)
create mode 100644 rust/helpers/pid.c
create mode 100644 rust/kernel/pid.rs
[PATCH v3 0/3] binder: handle PID namespace conversion for freeze operation
Posted by jongan.kim@lge.com 4 days, 8 hours ago
From: JongAn Kim <jongan.kim@lge.com>

This patch series fixes PID namespace handling in binder's freeze operation
for both C and Rust implementations.

Changes in v3

1. Patch 1/3
- change to use task->tgid instead of task_tgid_nr_ns()

2. Patch 2/3
- Add Send/Sync traits for Pid
- Add AlwaysRefCounted for Pid with rust_helper_get_pid
- Add from_raw() constructor to Pid and Task
- Rename find_vpid_with_guard -> find_vpid
- Rename pid_task_with_guard -> pid_task 
- Convert init_pid_ns() to PidNamespace::init_ns()
- Add PartialEq/Eq for PidNamespace (Alice)
- Add rust/helpers/pid.c for get_pid() wrapper

3. Patch 3/3
- Use task::Pid typedef instead of u32/i32
- Use PidNamespace::init_ns() instead of init_pid_ns() 
- Compare PidNamespace directly with == instead of raw pointers
- Use Pid::find_vpid() and pid.pid_task() (dropped _with_guard suffix)
- Fix rustfmt import ordering (rcu before Arc)
- Rename TaskPid alias to PidT for clearer pid_t type indication
- Use task.group_leader().pid() instead of tgid_nr_ns() for consistency 
  with C

History

v1 : https://lore.kernel.org/lkml/20251203024140.175952-1-jongan.kim@lge.com/T/#u

v2 : https://lore.kernel.org/lkml/20260129084119.32994-1-jongan.kim@lge.com/T/#u
- add two more patches to implement the same logic in Rust binder


HeeSu Kim (2):
  rust: pid: add Pid abstraction and init_ns helper
  rust_binder: handle PID namespace conversion for freeze operation

JongAn Kim (1):
  binder: handle PID namespace conversion for freeze operation

 drivers/android/binder.c          |  53 +++++++++++-
 drivers/android/binder/process.rs |  37 +++++++-
 rust/helpers/helpers.c            |   1 +
 rust/helpers/pid.c                |   9 ++
 rust/kernel/lib.rs                |   1 +
 rust/kernel/pid.rs                | 138 ++++++++++++++++++++++++++++++
 rust/kernel/pid_namespace.rs      |  17 ++++
 rust/kernel/task.rs               |  13 +++
 8 files changed, 262 insertions(+), 7 deletions(-)
 create mode 100644 rust/helpers/pid.c
 create mode 100644 rust/kernel/pid.rs

-- 
2.25.1