public inbox for rust-for-linux@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] binder: handle PID namespace conversion for freeze operation
@ 2026-01-29  8:41 jongan.kim
  2026-01-29  8:41 ` [PATCH v2 1/3] " jongan.kim
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: jongan.kim @ 2026-01-29  8:41 UTC (permalink / raw)
  To: aliceryhl, arve, brauner, cmllamas, gregkh, tkjos, ojeda,
	boqun.feng, gary, bjorn3_gh, lossin, a.hindborg, tmgross, dakr,
	yury.norov, vitaly.wool, tamird, viresh.kumar, daniel.almeida
  Cc: linux-kernel, rust-for-linux, jongan.kim, heesu0025.kim, ht.hong,
	jungsu.hwang, kernel-team, sanghun.lee, seulgi.lee, sunghoon.kim

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.

This series addresses the issue by:

1. Patch 1/3: Fixes the C binder implementation by adding PID namespace
   conversion logic. It converts the caller's PID from their namespace to
   the init namespace before matching against binder_proc->pid, ensuring
   correct process identification.

2. Patch 2/3: Adds Rust abstractions for PID handling, including:
   - New Pid abstraction wrapping kernel's struct pid
   - find_vpid_with_guard() and pid_task_with_guard() functions with RCU
     protection
   - init_pid_ns() helper to access the init PID namespace
   These abstractions provide safe Rust interfaces with lifetime-bounded
   references tied to RCU guards for memory safety.

3. Patch 3/3: Ports the PID namespace conversion logic to the Rust binder
   implementation, using the new abstractions to ensure freeze operations
   from non-init namespaces target the correct process.

This ensures consistent and correct PID handling across both C and Rust
binder implementations when freeze operations occur in containerized
environments.

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

v1 -> v2 changes:
- add two more patches to implement the same logic in Rust binder

HeeSu Kim (2):
  rust: pid: add Pid abstraction and init_pid_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          |  52 +++++++++++++++-
 drivers/android/binder/process.rs |  40 +++++++++++-
 rust/kernel/lib.rs                |   1 +
 rust/kernel/pid.rs                | 100 ++++++++++++++++++++++++++++++
 rust/kernel/pid_namespace.rs      |   9 +++
 5 files changed, 196 insertions(+), 6 deletions(-)
 create mode 100644 rust/kernel/pid.rs

-- 
2.25.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-01-30 11:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-29  8:41 [PATCH v2 0/3] binder: handle PID namespace conversion for freeze operation jongan.kim
2026-01-29  8:41 ` [PATCH v2 1/3] " jongan.kim
2026-01-29 10:41   ` Alice Ryhl
2026-01-30  1:54     ` jongan.kim
2026-01-29  8:41 ` [PATCH v2 2/3] rust: pid: add Pid abstraction and init_pid_ns helper jongan.kim
2026-01-29 10:32   ` Alice Ryhl
2026-01-30 11:34     ` heesu0025.kim
2026-01-29 14:33   ` Gary Guo
2026-01-30  4:57     ` heesu0025.kim
2026-01-29  8:41 ` [PATCH v2 3/3] rust_binder: handle PID namespace conversion for freeze operation jongan.kim
2026-01-29 10:35   ` Alice Ryhl
2026-01-30  5:22     ` heesu0025.kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox