[PATCH v7 0/3] Rust netlink support + use in Rust Binder

From: Alice Ryhl

Date: Tue Jul 07 2026 - 06:07:12 EST


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.

This series is based on top of the result of merging together the two
branches 'char-misc/char-misc-linus' and 'char-misc/char-misc-next'.

Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
---
Changes in v7:
- Rebase on char-misc-linus and char-misc-next.
- Fix conflict with commit 77bfebf11077 ("rust_binder: fix BINDER_GET_EXTENDED_ERROR")
- Pick up tags
- Link to v6: https://lore.kernel.org/r/20260529-binder-netlink-v6-0-92dd74b6a32e@xxxxxxxxxx

Changes in v6:
- Introduce MAINTAINERS entry update for net files.
- Move netlink.rs to rust/kernel/net/.
- Tweak info.reply logic in Binder patch.
- Link to v5: https://lore.kernel.org/r/20260525-binder-netlink-v5-0-a90e2923ebeb@xxxxxxxxxx

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@xxxxxxxxxx

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@xxxxxxxxxx

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@xxxxxxxxxx

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@xxxxxxxxxx

---
Alice Ryhl (2):
rust: net: add rust/kernel/net to NETWORKING [GENERAL]
rust: netlink: add raw netlink abstraction

Carlos Llamas (1):
rust_binder: report netlink transactions

MAINTAINERS | 2 +
drivers/android/Kconfig | 2 +-
drivers/android/binder/netlink.rs | 117 ++++++++++
drivers/android/binder/rust_binder_main.rs | 8 +-
drivers/android/binder/thread.rs | 11 +-
drivers/android/binder/transaction.rs | 40 ++++
rust/bindings/bindings_helper.h | 3 +
rust/helpers/helpers.c | 1 +
rust/helpers/net/genetlink.c | 46 ++++
rust/kernel/{net.rs => net/mod.rs} | 2 +
rust/kernel/net/netlink.rs | 337 +++++++++++++++++++++++++++++
rust/uapi/uapi_helper.h | 1 +
12 files changed, 566 insertions(+), 4 deletions(-)
---
base-commit: 2c7a7db3aa6370f46761b6d8eb821f5bde8901eb
change-id: 20260306-binder-netlink-c82110b2fb74

Best regards,
--
Alice Ryhl <aliceryhl@xxxxxxxxxx>