[PATCH v5 0/2] Rust netlink support + use in Rust Binder
From: Alice Ryhl <aliceryhl@google.com>
Date: 2026-05-25 13:17:43
Also in:
lkml, rust-for-linux
The C Binder driver exposes messages over netlink when transactions fail, so that a userpace daemon can respond to processes with many failing transactions. This patch series adds netlink support from Rust, then implements an equivalent API in Rust Binder. As Binder only uses broadcast messages, I did not add support for other kinds of messages. Signed-off-by: Alice Ryhl <aliceryhl@google.com> --- Changes in v5: - Remove patch 2. - Squash patches 3 and 4. - Link to v4: https://lore.kernel.org/r/20260504-binder-netlink-v4-0-601b41cd25b2@google.com (local) Changes in v4: - Fix typo in 'report netlink transactions' commit message. - Document that some methods are for const context only. - Rebase and pick up tags. - Link to v3: https://lore.kernel.org/r/20260415-binder-netlink-v3-0-84be9ba63ee2@google.com (local) Changes in v3: - Fix spurious 'return' statements in Rust helpers (Patch 1). - Sashiko review: - Fix ynl_gen to handle empty multicast groups and correct multicast indexing (Patch 2). - Fix transaction failed reply logic to report via Netlink inside reply_inner() (Patch 4). - Link to v2: https://lore.kernel.org/r/20260408-binder-netlink-v2-0-c0d327d15435@google.com (local) Changes in v2: - Make inclusion of to_pid conditional too. - Add note about file name in second patch. - Make it clear that the sk_buff wrapper is netlink-specific. - Better handle bitfield in patch 1. - Link to v1: https://lore.kernel.org/r/20260306-binder-netlink-v1-0-daceb5bc83f2@google.com (local) --- Alice Ryhl (1): rust: netlink: add raw netlink abstraction Carlos Llamas (1): rust_binder: report netlink transactions drivers/android/Kconfig | 2 +- drivers/android/binder/netlink.rs | 110 ++++++++++ drivers/android/binder/rust_binder_main.rs | 8 +- drivers/android/binder/thread.rs | 10 + drivers/android/binder/transaction.rs | 40 ++++ rust/bindings/bindings_helper.h | 3 + rust/helpers/genetlink.c | 46 ++++ rust/helpers/helpers.c | 1 + rust/kernel/lib.rs | 1 + rust/kernel/netlink.rs | 336 +++++++++++++++++++++++++++++ rust/uapi/uapi_helper.h | 1 + 11 files changed, 555 insertions(+), 3 deletions(-) --- base-commit: 5ad28496055858166eb2268344c8fda2c26d3561 change-id: 20260306-binder-netlink-c82110b2fb74 Best regards, -- Alice Ryhl [off-list ref]