From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C694C32B101 for ; Fri, 29 May 2026 13:29:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780061364; cv=none; b=GfOjH5CT5SqaTJcwzoxFKhL4eZdWNfdxr2FeM5WoW2TKMnmx107IOA3+Mv1PUvzO9i96pq3jCJ2+uPxO+LXjhb+5G2q2p+6/R+S08TiFAD9IePGbWNcxnQr1Zk8vj4iwGb2oCezpUMu5sxUSZf88lpZdyEMH1mQjwyUoyxrQxGg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780061364; c=relaxed/simple; bh=/iJHCtlUB7ZZdvLrVonfY3NnlAeU/QaU7QZAo5L5qNM=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=l2sV9cG/ZcadWOeUNEp73VLfEMkxW6pf1RxmsO83RBh9W9oRrzQmN7nfxuO16a/sufZUuv2P84SReXtytu+OQtNSxoitLt8biQNqhDPMqt7Ae27952Q9801YDTLGwR4gFCqp7EyEgY3NCt+jbhZ4WDSOu8OJwrRXqMqEpk/Nvn4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=JKo8ncPO; arc=none smtp.client-ip=209.85.221.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="JKo8ncPO" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-45ef55779d1so173941f8f.0 for ; Fri, 29 May 2026 06:29:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780061361; x=1780666161; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=+CWotcliT6zQIjcAHTd32KhZWmuLac4qETbDggcx32Q=; b=JKo8ncPOdYISSHVBt3FrDJlDugHX4iF5AvypHNimCFydl7YwxihlmUdUTNlCQwA39O NpVf+5r4VkzVZVrfqCIwy35X5KF9fNlCkrpR+4Mi7nqVsjdjVmlpmT/L7yd8DDKFv25w 7MGp5Uii3zug3CrckIotp+vdOqkLxGKIfklJyaDPitj4S3+4PvH1lMGl29XNs81Mmmjn oWJEtY74D11tWmk9V/otZJF/FlYbKUoTtVqTunhFOYSgAsULY2H8DtzEo0cxznx7QmKP uZ3fffGCEV/RTpOSdt9JZ9tkmoQcW33wyQRU/JeCorhmeRXmW4DhVXNah8L5IBlvl1eP 0lag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780061361; x=1780666161; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=+CWotcliT6zQIjcAHTd32KhZWmuLac4qETbDggcx32Q=; b=OBZ0LaAThzdrjDatrsRCAb3CD3EwDfMZELYFLYcmCLIq3Ipom0CioARAZALvxEy1z6 IOteLTDD//dLaW4lvK7vfP2RLvfEuarw1fYkX18azdEIJZvX2xM1hAxvSg4vuyNa3ZV7 8WDryqEw6jWvOw0idohMM+HDWVupoGIiUn7M/nWoFm8oA128gUYcuej0Vz0vjHHN3kTr Ld9FC5pxmewyOieZqrhVfTFuGSZHqYSli1JHvLSfSSrIXh+CUaNewLQIHmfcOGy+rj7u qUO/QEmze0SeBTcE9DG+OPOIYywvKUZGVw5X9FaoAEJG9mVCEqhlZlAMOP7DFpQnq2LP oBpQ== X-Forwarded-Encrypted: i=1; AFNElJ/qOYVjIE7bv7+Ku0f43yx8gly4K+zrYCSXiHxV/svMhYoRV4kZJ002qDROp9H+jxqlKOF7ZrIsLQYyhag=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8NLTXRMlQ9IVzVjoEgAmbBfGarxJKlfM6z4Gfd9BvV3DRbowV Sd3x6QSlgzGuQ98YaQQw3weonsNgOPlvBGXz+USzOIK2Ve7UwQdyUlZ1Rlowg9AdSHzxt10Es+o UjI7Q7pgwDHPlLG12OQ== X-Received: from wrbdy6.prod.google.com ([2002:a05:6000:e46:b0:446:d23b:d96b]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:adf:ee8e:0:b0:45e:de0a:1773 with SMTP id ffacd0b85a97d-45ef1463a9amr4136473f8f.33.1780061360817; Fri, 29 May 2026 06:29:20 -0700 (PDT) Date: Fri, 29 May 2026 13:28:37 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAIaUGWoC/3XNzU7DMBAE4FepfMZovf5p0hPvgXrI2pvUosTgp BGoyrvjlkOKLI4z0jdzFRPnyJM47K4i8xKnmMYS3NNO+FM3DixjKFkgoAMNTlIcA2c58nyO45v 0DSoFhD3tjSjoI3Mfv+6Dr8ffnPnzUnbnrTzFaU75+366qFv77/6iJMjQeSZLvtE9vgwpDWd+9 uld3LYW3LyBpvJYvIegcR+UNdpWXj94ZSuvi28McUud08z1v9m8BVN5U7wDRUb5gJZqbx881v+ 2+K4FxhY1E9Mfv67rD+dvlEjCAQAA X-Change-Id: 20260306-binder-netlink-c82110b2fb74 X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=2872; i=aliceryhl@google.com; h=from:subject:message-id; bh=/iJHCtlUB7ZZdvLrVonfY3NnlAeU/QaU7QZAo5L5qNM=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBqGZSKRFumD7moMd4a4uIjwu3BirqEdLijHukCI 0usj+HExAeJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCahmUigAKCRAEWL7uWMY5 RiA2D/9poDQsb+q/Y0X70eC+zLhq6AhyWHathtKG54Xr76OejbANXjK+fKvB0e/ZTHkSd6Z2mCc RTz8oQS88TOxEeC8UOCDZGGmSDiE4En1vIJX1mCPnR0iuWDu/HCdUndfjXCjXSRQM3h/ys8zlNV zXeUONdbTMa/7u7wQf8bnSxLf1zRhoq7kMS7zJoW3Zp4LS/L1XQBbWQKsh/8eYuKJTgT8UXqbeS M0+W1nyLTHO5by93+/nyBLtbEBM+6CC5O+f2AsFTGy5acapGnAUVp5Js9Hf2Bacy5biSreuyBtD rtdv+vMdhzn/RHM/s7BSnoyi4hiSqOcNIcgT2z97VyJtOxVw7Z+hX0NFWFGCzFvtwq2umHho9sZ u9pWD4wOCJUZPdG/56ggJ0SPMeRxHeEZI+CPgVjOtnP26b11jQCyrXDCMRF90UnTHz2vyHZfa8u wTlIayeO6pA/TkWSy7XOjNKT6TACg7dQmGt/94aSLiMPkMMMQ4oIcuxM25CTGwfylJm0eMt4nis ZfwdY+Nkc1PIIBu7Jh1CAlyX3HqbN3FqJqV/Ph3/26PE4NuCDtwk3DPmF4uBDO+Zrm3DJUOInMC YD7N82psjjfHgGpPBKijuPMAxYK5xee8mtSBS9xzM1Fvm2yLS7RRTwn+H5NbqMOYgJKSsxBu1KD j+9QYQA9dsd2yvg== X-Mailer: b4 0.14.3 Message-ID: <20260529-binder-netlink-v6-0-92dd74b6a32e@google.com> Subject: [PATCH v6 0/3] Rust netlink support + use in Rust Binder From: Alice Ryhl To: Carlos Llamas , Greg Kroah-Hartman , Andrew Lunn , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Matthew Maurer Cc: Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , Christian Brauner , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" 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 --- 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@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 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 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 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 --- 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: 5ad28496055858166eb2268344c8fda2c26d3561 change-id: 20260306-binder-netlink-c82110b2fb74 Best regards, -- Alice Ryhl