From nobody Sun Feb 8 11:21:34 2026 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.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 B39423A9D91 for ; Thu, 5 Feb 2026 10:51:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288704; cv=none; b=n62mrJVMXPa3w9S8gXLsZo6i1xEMAdqoYM1q1hiu3l4Jj4tPgjdFAjM5DP1qB/W2onCmBGXz45+5xfqO62XfJgfmMdjqkFtKRsdZxXRLNRBy5d7HRl+DWwQzor2yAp5qOYppxcfAarDO4TNd0OhC8onoqgoL7XMKBDPmebd0x9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288704; c=relaxed/simple; bh=w6m8/CBcsVO45PErliVcnFx0D1tqtbL2J7ITeUkz298=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Zh/aHPXhj9wXhxUrvDWfHzE91TUWMdCZ9kuItn5/1SxwsJn2vsEeiCZ2T0WRmF7l2yGW8ibsSBUD2SQ4M8Ii+0FvdtLIAeer0n5faFln/0KPaXwlxNyLYCm8Gzw9wXRsxOfmkF9QbaPcic24s7eqYYhBIxfVSVjgOrly/+VA0PI= 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=yNO8CTMB; arc=none smtp.client-ip=209.85.128.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="yNO8CTMB" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-48069a43217so10237765e9.1 for ; Thu, 05 Feb 2026 02:51:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770288702; x=1770893502; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=FUC+IUQsyh6FSH9XQxPnuJxAw63qa2QoaAdOGHxWeSY=; b=yNO8CTMBEH/nZzCAsH56kirpau+5pm5SOGETqU2JF2tNKt2R+DNzWjqsjtVSBl/25d Fgu0paAOHifbiu9bpj+6EczqFa5GahKXzjaxGPBGConDfwnY2P0Kg8Y/OYlwSt3Osgsl t3buFh4BqX/u6P+yc+xweP6Psljf6tLnmpKE3lnD33YJqMZh9LJeoBRI9RANaHjKuGiO mvKhpr9wvvPW02F2q91NC1zRZOsuwHKndUWCJwaXtoa8E9KeQLRINcDvXQk9tK9yg8+x 5LkyKYn/TjNkOC+JHK0+nixH1lPmpmVJzUFD3eUh4r1B8TfLPJJFYSGnrSHr7YLMnvXz Z+bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770288702; x=1770893502; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FUC+IUQsyh6FSH9XQxPnuJxAw63qa2QoaAdOGHxWeSY=; b=aaWgf5ZpNagcRBI5i05772iehvc19DxPZOhjEIupicfvtwM7SDZKpY2IaeBqN/S98r CFNpqq5H0YHR6o6lkMMZaar9D1p7OU+FwWqW9l4zTPSzuAdYZNtP8FrLuH51vW7qwSqL pEj3Rjlz5bh/FIMsd0m/Aamg+6/4anoC757+rT/duDr68JHgTTZrgfsPAeZSg75YUyfT mU/zedZ1epG4RQDx8LJhtFF5T/zu/mIvaAAU6xlYZPxTDgn9IkpP4n/iiS4X9iRvW4Al hnoUG942JFJf+v+90LHKGLeIw9dbWQAn8cy2WuXmJg68YXLZt0eam6sjtRhvFYFqn93W dFDg== X-Forwarded-Encrypted: i=1; AJvYcCWpFj7QtoT2MsAPAldqnPiQHwzPpLyuenfIU64RjQPLYWCxfnDvcB7QdZOvyGhAAyxA9vSn9CGd2qzq3f4=@vger.kernel.org X-Gm-Message-State: AOJu0YzJ60RbqxyKzqKZHvwQcF07gvbUIaHytDjHlwOEdvBvIeLFzNDM Mbn3C9OUsnWgURSVJ+9M5k5sDXwV5uy8ruxveMwCVx6gHm1fLvHrxEPyilO/2ME889XwdZb3LV3 6wVP8j9h6F4WF+/rbfQ== X-Received: from wmbz19.prod.google.com ([2002:a05:600c:c093:b0:480:4a03:7b7d]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:1f8b:b0:480:1b65:b741 with SMTP id 5b1f17b1804b1-4830e93566emr86248865e9.15.1770288702092; Thu, 05 Feb 2026 02:51:42 -0800 (PST) Date: Thu, 05 Feb 2026 10:51:26 +0000 In-Reply-To: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=2600; i=aliceryhl@google.com; h=from:subject:message-id; bh=w6m8/CBcsVO45PErliVcnFx0D1tqtbL2J7ITeUkz298=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBphHY4wQ4kwP9Io25J2mxMCK0RJeRY4R9bMrUFI K93z2EKoVeJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaYR2OAAKCRAEWL7uWMY5 RhmBD/4kCYBswFm2BtpYeMGLP4ihYfx7f4XUht5vAtF6sKzLqkxWIxbMVo6sn/e59ZLr/Dxxvnv HDEelcjeJTEabMLBoH1FKvnerzLzGiGkxX4IHCUX3rYm+WVsuluY8NrnGrXgzmBXWlVqaaQlscx i9PorwuCwYxjtYHwlJZkQqXnQmhXZHV0jz/9cPC6G/4jDtn4CcWYpBwx2rJOlKDzwaUrMwt0qtb IHi5T0drgp8PpJ1YYGJVRFbKbIogwsOBBBkEESh55KhgIixlaYSE6MO/ydSA+alfi591dhhUmV+ lYnqlg6s1/COwZs06MokoR1jqDstgg6GjM3SF+e1H/Xu8MVJzkj/e5zjPWSlRFC7OL5jVV0sEk/ szu7SlqvpdFFCUGsuuuCFVJU/viD5uebiBRLO9ZfNlFAZ7mk8sRnSXIYYae9qCBpJLEq3O9U9m9 C+PDh2b3Ym5sDs+L5aq8eC3dhqO46LkvonWRJrZoQTQ+DiKTnef0ULt31jYO6uerKX3uGJvcSqf SP4b20Y8o/tRQgVejrU+MvkXUFpqY1kKs2m+8npV9m838jez0jY3C2jI2Dm/xDW++Mfnv7vYmni zDK3CV8BK2B0hmQOVgCGefVXoOlUeg9ktxWHg7qkv8LSoM0KxzGHcGCalsA/pTveoxGaeixjUGV QCNnFbOAhUfMrBQ== X-Mailer: b4 0.14.2 Message-ID: <20260205-binder-tristate-v1-1-dfc947c35d35@google.com> Subject: [PATCH 1/5] export file_close_fd and task_work_add From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas Cc: Alexander Viro , Christian Brauner , Jan Kara , Paul Moore , James Morris , "Serge E. Hallyn" , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , kernel-team@android.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This exports the functionality needed by Binder to close file descriptors. When you send a fd over Binder, what happens is this: 1. The sending process turns the fd into a struct file and stores it in the transaction object. 2. When the receiving process gets the message, the fd is installed as a fd into the current process. 3. When the receiving process is done handling the message, it tells Binder to clean up the transaction. As part of this, fds embedded in the transaction are closed. Note that it was not always implemented like this. Previously the sending process would install the fd directly into the receiving proc in step 1, but as discussed previously [1] this is not ideal and has since been changed so that fd install happens during receive. The functions being exported here are for closing the fd in step 3. They are required because closing a fd from an ioctl is in general not safe. This is to meet the requirements for using fdget(), which is used by the ioctl framework code before calling into the driver's implementation of the ioctl. Binder works around this with this sequence of operations: 1. file_close_fd() 2. get_file() 3. filp_close() 4. task_work_add(current, TWA_RESUME) 5. 6. fput() This ensures that when fput() is called in the task work, the fdget() that the ioctl framework code uses has already been fdput(), so if the fd being closed happens to be the same fd, then the fd is not closed in violation of the fdget() rules. Link: https://lore.kernel.org/all/20180730203633.GC12962@bombadil.infradead= .org/ [1] Signed-off-by: Alice Ryhl --- fs/file.c | 1 + kernel/task_work.c | 1 + 2 files changed, 2 insertions(+) diff --git a/fs/file.c b/fs/file.c index 0a4f3bdb2dec6284a0c7b9687213137f2eecb250..0046d0034bf16270cdea7e30a86= 866ebea3a5a81 100644 --- a/fs/file.c +++ b/fs/file.c @@ -881,6 +881,7 @@ struct file *file_close_fd(unsigned int fd) =20 return file; } +EXPORT_SYMBOL(file_close_fd); =20 void do_close_on_exec(struct files_struct *files) { diff --git a/kernel/task_work.c b/kernel/task_work.c index 0f7519f8e7c93f9a4536c26a341255799c320432..08eb29abaea6b98cc443d1087dd= b1d0f1a38c9ae 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c @@ -102,6 +102,7 @@ int task_work_add(struct task_struct *task, struct call= back_head *work, =20 return 0; } +EXPORT_SYMBOL(task_work_add); =20 /** * task_work_cancel_match - cancel a pending work added by task_work_add() --=20 2.53.0.rc2.204.g2597b5adb4-goog From nobody Sun Feb 8 11:21:34 2026 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) (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 499103A961E for ; Thu, 5 Feb 2026 10:51:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288705; cv=none; b=QFp0juSxzjangEMZJG270/F9a9Nm9o9UeZeC9upCd7WDebiTs+ylb10aCLkh59KQA04T5THwvZNy27f8i1y0T9MZ9QDlQnErL7fGSbrTBnIIStWXzoBzxC3Z5jGJ8V6uc/vod/BvUNM7HtZsc1M551xpsBcCnFqDqdo8tUbcUTA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288705; c=relaxed/simple; bh=lHbpClqy5L1XyxxmB7KNUoFqATCRTP8Er1SZGKGJ6tI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=aUbTUlKoeJhCCVFeAaa7VhJhW1gy3gnYALv52RXm8K5R4zy7oU1asQ6640DnJrDb+BWk+S35YYuXvvEY3U5hTD4883I9qcSJo2KBHltIdTxqAsKzUHy9BtV/2VHWN9HYnAq57UUqNmS7uS4Ico+HlJ0BPs55kSS1XHhpf7pJyrY= 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=f4X4sbtg; arc=none smtp.client-ip=209.85.128.74 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="f4X4sbtg" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-4806cfffca6so11237145e9.2 for ; Thu, 05 Feb 2026 02:51:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770288704; x=1770893504; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=RMyX8uRGOmUN6KZEX+IAO29sQdtn60nQJQNJ760wFa4=; b=f4X4sbtgmJNi4I5LXEGwdLk286fabxXk73Vsft7Qpg/gzsX0MUPQ88wa3ia+uayZ2t CvgR4X+R81eRy4eIhOFp6dnYPwG13txRFOjWgw6Q0v5jG0BLN3hPIivz1LeqUbt0XTks v54K8Z8LSvnsoYkBghaLueBRv+2BJIMBBQGAdjsywEjEo6bYWzsESju5SdbTgXS32OVI F7H4u0NLfjBDdRKMMX6wIoYjO8ky968uc6skEu681xgEYE7u8YDySz/RUJW8q157uw66 /vo3CwBCwArbP4//fEHpxCxcbA/FYIPDR1lKAcEsvzlyLvjuIer3S5lIYMi7iw+KBTRk NhKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770288704; x=1770893504; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RMyX8uRGOmUN6KZEX+IAO29sQdtn60nQJQNJ760wFa4=; b=APs6yfWOmxp4FqW9gaZRvPzE/C1gp/IWzMQ1Qxd8vWI4jTqB6c4ZXoZUcHcNVTjn6s zut3F+HJ0Z+8fAQQN32f+2DvCLqFXBo9jR1CPgVx8NWHEkKINBaF7GRa4UBUnS80r61E Ou73j9H3Qz4YCcBX2q5zkI/wtN4lELY+0mIPsu5IuSUQTVVuvi4TeYDBIeI+CfizANfB kGo6+6l9FcXsfODEJwVh7Nd3xhDs26yWt6HvJoXgA6pV9h5g63jTtG0GGhOKzUXEmqh9 UMKI5DCwKE+jXu4gi/pzgiGyMvK4bjvxue9NvHz7A2Dr/NKrCn4fFjuHBof1tIsiam8u NDtA== X-Forwarded-Encrypted: i=1; AJvYcCWZSoeH5pbk5Mwd4pvlH1I1JTf9pIf4nH2lRA2jAYrTtcmRlHaCnlyv/4jkby17/jdHuuRJWLtWRAaTLv8=@vger.kernel.org X-Gm-Message-State: AOJu0YxJal0J3vvd5YU22nXgI1KBjB4SF+M7eOECv6HEDBMZ0vahBh6c K4tQeGXMj4FePJ4npFwJQtEiQSear4m+71Q9b7cylqENVUGFWwxnGVQTWA7VdJfCem7WpJrgcvO d6o3Hp9gwzXEeBrqmHw== X-Received: from wrf23.prod.google.com ([2002:a05:6000:43d7:b0:436:f00:c1cf]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:154a:b0:482:ef72:5778 with SMTP id 5b1f17b1804b1-4830e93478amr80493955e9.8.1770288703598; Thu, 05 Feb 2026 02:51:43 -0800 (PST) Date: Thu, 05 Feb 2026 10:51:27 +0000 In-Reply-To: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1564; i=aliceryhl@google.com; h=from:subject:message-id; bh=lHbpClqy5L1XyxxmB7KNUoFqATCRTP8Er1SZGKGJ6tI=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBphHY4aveNr15TrzG7ybOw4TJxbQ92vW+WTNFwe SWpiksgXOeJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaYR2OAAKCRAEWL7uWMY5 RpEbEAC0yt4w3VlnWagA17RkTMJUz2p4xk2iEYS9GjmxYT8blDHPFMYFaItdVcShUAHSGKR/5uP sp56JdoMwss+uH23eVwJiQ+HbryIOXdKVtLt+5oKl0UqRnr5R2uiwWlvusffAP+LAQhX7oP7VWE V+SwLxDVamJaGEIJp695c0KtFyx6MVHwB6+VNY3ABU5KqkjaFcDy1b97UDGC14f7sAQcpSxk7YI ZQRzS/O2c29hQ4VJw/Q93nYRKuPOnB4Lhm5nFc9IZfQJ6xZhp+ND1h6pfZBgfP+78TTEY+0O0RL p6niPOid/1OsqecLYRt5KuPv9CwTXmislZfm6l6AtWKzV9HSL3UwjzYp89wj+8/2y9Alk35MqDB Vm3YEb/L5lP3F24xewKmeQ5qtr5D6ypVUuOJ6PNseGVxaD1uHJ25HW0xZ0o7lsd1Natiy7AogWP Z1cRoiXXGc89E4N5N343Mb2Bmc8HofAHx+W/n1Kcs6XZf1phN7RKpkdqTysMnSSx6ghhABdaBE4 9xSTp48eyJq9u6ArYggMUOck58X2jH5+HWSOTpAUC6omijpbWoq2lBtdcV3fh9lvrDtVR533LAh ppXfMNZX5Fp+lnVq12G31nZs7qvqYsQT/QCxlBJIsYHttULTQrcsadK44k6RzJrRzBwoRAQWvQ0 UruzpTUpSPSbVnA== X-Mailer: b4 0.14.2 Message-ID: <20260205-binder-tristate-v1-2-dfc947c35d35@google.com> Subject: [PATCH 2/5] security: export binder symbols From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas Cc: Alexander Viro , Christian Brauner , Jan Kara , Paul Moore , James Morris , "Serge E. Hallyn" , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , kernel-team@android.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable To enable building Binder as a module, export these symbols. Signed-off-by: Alice Ryhl --- security/security.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/security/security.c b/security/security.c index 31a688650601b62df1e536bbe4407817edbd6707..b4776f0e25b33df95379a08a765= 9c0e5f767237b 100644 --- a/security/security.c +++ b/security/security.c @@ -488,6 +488,7 @@ int security_binder_set_context_mgr(const struct cred *= mgr) { return call_int_hook(binder_set_context_mgr, mgr); } +EXPORT_SYMBOL_GPL(security_binder_set_context_mgr); =20 /** * security_binder_transaction() - Check if a binder transaction is allowed @@ -503,6 +504,7 @@ int security_binder_transaction(const struct cred *from, { return call_int_hook(binder_transaction, from, to); } +EXPORT_SYMBOL_GPL(security_binder_transaction); =20 /** * security_binder_transfer_binder() - Check if a binder transfer is allow= ed @@ -518,6 +520,7 @@ int security_binder_transfer_binder(const struct cred *= from, { return call_int_hook(binder_transfer_binder, from, to); } +EXPORT_SYMBOL_GPL(security_binder_transfer_binder); =20 /** * security_binder_transfer_file() - Check if a binder file xfer is allowed @@ -534,6 +537,7 @@ int security_binder_transfer_file(const struct cred *fr= om, { return call_int_hook(binder_transfer_file, from, to, file); } +EXPORT_SYMBOL_GPL(security_binder_transfer_file); =20 /** * security_ptrace_access_check() - Check if tracing is allowed --=20 2.53.0.rc2.204.g2597b5adb4-goog From nobody Sun Feb 8 11:21:34 2026 Received: from mail-ej1-f74.google.com (mail-ej1-f74.google.com [209.85.218.74]) (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 1EF4A3A9DA3 for ; Thu, 5 Feb 2026 10:51:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288707; cv=none; b=mm+LX63ybxPXPapocnsAksM3Xg8CKFR9oxlILVO6mirK3Q82ThsOH+xoXf8Xm0OgcINtkKsEUibl80J4TpYWwsBSWETLk5YXuNR7IhEecvRaDEF5i2ViiaFw04EPb36zFAAu9qw0zPZPTfuuNVpaJiinEY5aGHbXKHiJxZ7Zx/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288707; c=relaxed/simple; bh=7nNbabhQli00eKYXyBEya1GgL6seGPzs0VSa7Ef6UeU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=kF0S70Ch2eEctkpFzwf3ydoLXnPzuvdiykZ3K9buowChhHP4U0NWMjexCoSlncDOQcCmDew8k217hFijj/uBlBCBRDlx1lIgD1m3ZqQul0maNPLlrTLIav+2rdMS3a9mWMVpda4vXq3NX2G94B1NR04PfBRZwvDvVZpU/i83eRk= 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=HMvBOGpX; arc=none smtp.client-ip=209.85.218.74 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="HMvBOGpX" Received: by mail-ej1-f74.google.com with SMTP id a640c23a62f3a-b8773bf3ddbso80332666b.1 for ; Thu, 05 Feb 2026 02:51:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770288705; x=1770893505; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=AP/JFqXWkX3OpU6TUDwkTdWwj0hDDWhh2cwk4JKQ6LM=; b=HMvBOGpXSjah3Hqt5NzouuDxnE+K80hYBkMpaxDxUdYBE0Zl8xQkre1/EAeAZsviGR onB5bRnfYalzo4pMZbX1oZbYb9wwYfSgSm1TZs3+79EoYgSjNVJj+wuUVg+XQrWVwLOd cqI6nCf3QN0GYokbEg0sA/SosNsuefQkX8ssQTtrL0fnqIZqpo0ExKLY98Wf7FPPPlqu p5fvOWVSXzk74MtHl0LiTssE0DcSJwwggNJWuSc+nQbFo9ddF9O2UroNHHkibK6Wuujx QzvDS77Yu/nm4gCO4U0/j2n2Mk4FpphRppcE7CsAKp7ha+0t9kBa5OMVz4alZnK4ZqqY gq9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770288705; x=1770893505; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AP/JFqXWkX3OpU6TUDwkTdWwj0hDDWhh2cwk4JKQ6LM=; b=QAr2LGCFYCwulibXNkLQYLb2jQG8ARQn6ZSxeB8uVYZ76dsDyi0Fkx4qKno4cXPAp6 eUVtAKkDFdw5h0TMljMnHSbSvlnrsyKinTflsKycvYWcAOmNv3ASTsaqO+5EwhX7ZOhM tKehHLAuGv+vx/I725WXxfDf9y20Qr/Tp0H0OXFLrlqVNS1Xx2bp92J8U7TeXW+5VkbJ HJspQ01RxLpMmwoGM/AoiA18RwAZoB/CoQUp6ZXd8o8U3O4lc4+68fjs90yh56SjbF3c gG3SyubQgzlIKAY8XDJxMPi6d8+ijpLvfAcpbLl9TcQNnoA9UJT2hsNH48gEsfeToCNL jfjQ== X-Forwarded-Encrypted: i=1; AJvYcCWPU8kzuP18n6lEgFDPawLjCeq77OAs7F/FhR+saV8qPCWg9fBKbMtvdUzQdVG+E1nss8NCnDfenRXmwdo=@vger.kernel.org X-Gm-Message-State: AOJu0YyB/zyX1fbUFsjWGP1kcdGcGYwNs7Akxl2ZVk4v9DdE0JV6pUjH Npe2gpS9I93JSX7cirUZ35KJLp5QqDMFL+1a8Sj2kqGbI5Iisjkay4iAai32QB7KI9R6MLG1QfC NzXbYLXSRTWjh1xVbyQ== X-Received: from edxv16.prod.google.com ([2002:a05:6402:1750:b0:640:f53e:dd40]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6402:1ed5:b0:659:408e:b7e6 with SMTP id 4fb4d7f45d1cf-65949ecd24emr3465734a12.29.1770288705209; Thu, 05 Feb 2026 02:51:45 -0800 (PST) Date: Thu, 05 Feb 2026 10:51:28 +0000 In-Reply-To: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1866; i=aliceryhl@google.com; h=from:subject:message-id; bh=7nNbabhQli00eKYXyBEya1GgL6seGPzs0VSa7Ef6UeU=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBphHY4GykYgqnAddZwhAJstuhv/o/aLQBkNGp9h QcRdesjbOWJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaYR2OAAKCRAEWL7uWMY5 Rq6YD/wKnkqeQiAcPzLSP8eM33RuuO4YudSw/EWJpzvDVL2FRsvqG+V2wVizffdP/6LYRWB/v6p Jqxwl3WBoPazV6eYFmbQ7WkUae/bNPfKpw2rRI+GxtPrA0EXUWSHDGB0bCp3kpDiWkIW9piV+jc zyAyp192j/gCxBD9q5VGxNqj3fglu4FV2cwElNzQIPs3nL+6cljxCnHhUAuzD1oSAYWZqAkuAsT MqEzlL5SSG2Rfiwbmhejf/KqCgG9blnH33kNdm3KehQq321SPc6PgGPT50jqjD3ay4+dmITJvnQ wOPK+VLCMD+OsMCS/P9DqxPhY7KXw6hQPtDyqRyI1jaGiHSj/7gj3OdnaZ3Bfux2anW+MdT5lRj ACUeamuoq1SUSCgNh2Vn7wSbZQMaYKsvyUfk6Mh/qK/OlkHOM/tVGClAsne/JWWu1WdhIy6UqrW rViiGmDhW/0oqW+hkQuWxEGoGRQWErMDsiWkA5VuMf/eh4LogZDWpEqKFr0ZQYv3G204RGVoRdR HzwRdgPSztNDiMJUf3XdQ8l4/BWYvULyzliWBh8Bav+Ia+fRIw8T84VjQJWazB68y1lXSTqSzVj YlhURKpOqlpm9XqDLSINCdFRkmGY0keD/CPIvSuvRKsQcd3rcnRoub0YtmTklMJCkMXUvre3Jze jjS185bhgckt4IQ== X-Mailer: b4 0.14.2 Message-ID: <20260205-binder-tristate-v1-3-dfc947c35d35@google.com> Subject: [PATCH 3/5] mm: export zap_page_range_single and list_lru_add/del From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas Cc: Alexander Viro , Christian Brauner , Jan Kara , Paul Moore , James Morris , "Serge E. Hallyn" , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , kernel-team@android.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable These are the functions needed by Binder's shrinker. Binder uses zap_page_range_single in the shrinker path to remove an unused page from the mmap'd region. Note that pages are only removed from the mmap'd region lazily when shrinker asks for it. Binder uses list_lru_add/del to keep track of the shrinker lru list, and it can't use _obj because the list head is not stored inline in the page actually being lru freed, so page_to_nid(virt_to_page(item)) on the list head computes the nid of the wrong page. Signed-off-by: Alice Ryhl Acked-by: David Hildenbrand (arm) --- mm/list_lru.c | 2 ++ mm/memory.c | 1 + 2 files changed, 3 insertions(+) diff --git a/mm/list_lru.c b/mm/list_lru.c index ec48b5dadf519a5296ac14cda035c067f9e448f8..bf95d73c9815548a19db6345f85= 6cee9baad22e3 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -179,6 +179,7 @@ bool list_lru_add(struct list_lru *lru, struct list_hea= d *item, int nid, unlock_list_lru(l, false); return false; } +EXPORT_SYMBOL_GPL(list_lru_add); =20 bool list_lru_add_obj(struct list_lru *lru, struct list_head *item) { @@ -216,6 +217,7 @@ bool list_lru_del(struct list_lru *lru, struct list_hea= d *item, int nid, unlock_list_lru(l, false); return false; } +EXPORT_SYMBOL_GPL(list_lru_del); =20 bool list_lru_del_obj(struct list_lru *lru, struct list_head *item) { diff --git a/mm/memory.c b/mm/memory.c index da360a6eb8a48e29293430d0c577fb4b6ec58099..64083ace239a2caf58e1645dd5d= 91a41d61492c4 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2168,6 +2168,7 @@ void zap_page_range_single(struct vm_area_struct *vma= , unsigned long address, zap_page_range_single_batched(&tlb, vma, address, size, details); tlb_finish_mmu(&tlb); } +EXPORT_SYMBOL(zap_page_range_single); =20 /** * zap_vma_ptes - remove ptes mapping the vma --=20 2.53.0.rc2.204.g2597b5adb4-goog From nobody Sun Feb 8 11:21:34 2026 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 CEBAE3A961E for ; Thu, 5 Feb 2026 10:51:48 +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=1770288709; cv=none; b=HUhlRWHEL29YvPc47iC70IpoYkFFac7EhmgBlOXCSBv4up9J7cu5UqX40FOheWtyHYuSXU0L2N9AP+18zCkrZtaF5ZHFfHtpRPd7W5OYy1teQBSaIcgRZsdGrHzQjDVpOtLRzUEEF0QiDIGyLQqYkW6YcqxDbW9ZmWbGtfCn4O0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288709; c=relaxed/simple; bh=ZUybTZ8FVCkafIsHSFbfu9SLz5ANj6JGje2uaPHESaU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=HYbhfC0YleL2OXmpO6psX18TAlfx2BSDqzdi1sW3+aGeiVtEuQakkYjCS39dMWfo7AtAoJkL4vK9bZK4AcbDQKOWOjKxDXqQgd/uyjIWWbuMUWmAsM2RAlWeKeLbcNMoiW4eyFmwJ+VmrdoPBZgds9MgJ5pi8tWR7YFzT+ZGde0= 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=kqpZJP7U; 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="kqpZJP7U" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-4325cc15176so605398f8f.1 for ; Thu, 05 Feb 2026 02:51:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770288707; x=1770893507; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=wazCAdh5UgcB5estAlNP9lpZPIwk5UhZor5+EOBIZsE=; b=kqpZJP7U2TlmC/6cR1KI3Tdlkl51g004POIaw2ohBfOEHUaVFi8HpiGEuwXo4i/uNs pdCgnwkeeEAQrYT2ABWdoEXaDvvudHlh2l1zu1MKHWViZFSx07TZOYBg6inOZnvWd/4m Lb/O1RQ7am4I9KuctNKaBMk+Pk/saZlXOWr2BrcNW70Lwo/YyVjt/1GSLmCvltAga/Pi ghAaNtEvj8YkUjIvZjd+6OiSdOpFakoyiq3pD+Qnu8YA+P9XFv2+RXBSHaIEP0MYFa6X WAhD7YkqOVzqNHMb8N+47n/0l8PtI1T9sbJvgBBPjCBeAuDI9fYkkG81TKduTtGMhdBy 7zFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770288707; x=1770893507; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wazCAdh5UgcB5estAlNP9lpZPIwk5UhZor5+EOBIZsE=; b=NYZqL+y3uK8f0sAkCz5t4Ie+d459H8ONHRPxpjgMZCTYy6mtU+EqzHxukB6sJGKtNU q2y19B4wh47JqnojSe/PRsm8ON8ASvsqi5fQ/cFFpSS1h67unlEF3zF++ojPknpgXM/c si2G/zDDEVL32hXP3m3uIzeSA2oZx8nmcQUFQ7cJy26TufcEeHYJXVY6BvLgKCEK1ucB N+pTKjJqyCT8u5H8IN5nQLrHiLuk8ZxH1ALZzzhpPc+JtsTf5ebpFize2DXgtxnTTUSA hh/OGZlmllU3Jz8FtrKnizb73ehh3o6zrX18ZR+mzdrrnt9oZMUVf20NDQ2Hc1z8ysb3 qvzA== X-Forwarded-Encrypted: i=1; AJvYcCVtI6tZtLXe/wzIsuhfhlBlGuLhEzaLzqS88C0EE1PV7H9jXJsd7lJKJbDQn71XA+njKnVMAtsM0SzYOgA=@vger.kernel.org X-Gm-Message-State: AOJu0YxX0FKpgM0pdGRfbv759XhTmHPKxywxZKQOSIy6UqkMPp2L9u6Q xFY2fvFbiiTRAB28e1g3BsSYXvNm1fcwrCUbsnOFp9vFl5Qp6debirLhCY7Da9vuFxQUlAf5Qfv l65n/8Up/Z1gjc+INhg== X-Received: from wmmr8.prod.google.com ([2002:a05:600c:4248:b0:480:1b84:b6e]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3514:b0:477:b734:8c22 with SMTP id 5b1f17b1804b1-4830e92a7a9mr89953605e9.8.1770288707220; Thu, 05 Feb 2026 02:51:47 -0800 (PST) Date: Thu, 05 Feb 2026 10:51:29 +0000 In-Reply-To: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1060; i=aliceryhl@google.com; h=from:subject:message-id; bh=ZUybTZ8FVCkafIsHSFbfu9SLz5ANj6JGje2uaPHESaU=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBphHY5UiLUswz39KqBhHpeX2xIwcn8Oq7WgVuCN 6qlYNhg4peJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaYR2OQAKCRAEWL7uWMY5 RrC/EACaH/NwT7xKuwuN3MecASBmi9sF5WLKGr/aOsN9x+VVGOQWNcCz930/ZijztwT5T197Til wSVJS5LzKRV6rWMo0D7Vo6S6samyRUH1a3ZiDMa/giFTTrQs44r/Ph41BzSfPa0wWLOzBSaYWuU AmgMBo0+NGS9nqEOgTIGNAbxzSuMMVXvT6c5TtGeckYWfZ6vFjt+yI/jgsUhxFZ/jSCbUV3f7ZS kwbX3KgW3p6gbT+VnRci3kOwssFbZ7sNLTr78qtwmbNvI30b4v4jEUuU/C7parTf7LMIVzCqqDv nBta4IqMi8wqL8Dzsef7IpowXzq/mmV9brjxqUfgo3owxWj9fOUDVlw3fo3QrqrGPir/x03hNcd DlD07GP+M15auwzqri/MVlh0HcR/w1aNAqTSjZEM8+owD61r175YHqmlv2FtTCrnPE50VP8ddMN FN4H/uPH+K4lEjTHUIs51s8h1NlbGxFti65qOi4xKsTxYyEUI8VF8ceegUm9m8PNI/mBwryG8wd LFX/cBaXNkOe4dpuMfYhQqDd1jTzxwSbevCNqa275wy6QuQCzbCF2s9pKe3G8zDJfDws5QKM5bL y5oeKQkmFafvjThVLyen/QCXN5pIFkiSVDUETMSZE6cp/hmCaPgrf85ZSqIxz//JGZRhBCtPERL HEaoFDqsHlGyvQw== X-Mailer: b4 0.14.2 Message-ID: <20260205-binder-tristate-v1-4-dfc947c35d35@google.com> Subject: [PATCH 4/5] ipc: export init_ipc_ns and put_ipc_ns From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas Cc: Alexander Viro , Christian Brauner , Jan Kara , Paul Moore , James Morris , "Serge E. Hallyn" , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , kernel-team@android.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable These symbols are used by binderfs as part of the info stored with the file system. Signed-off-by: Alice Ryhl --- ipc/msgutil.c | 1 + ipc/namespace.c | 1 + 2 files changed, 2 insertions(+) diff --git a/ipc/msgutil.c b/ipc/msgutil.c index e28f0cecb2ec942a4f6ee93df8384716bd026011..024faedd07c333b23f1e8733833= b84ecf5aed9a7 100644 --- a/ipc/msgutil.c +++ b/ipc/msgutil.c @@ -30,6 +30,7 @@ struct ipc_namespace init_ipc_ns =3D { .ns =3D NS_COMMON_INIT(init_ipc_ns), .user_ns =3D &init_user_ns, }; +EXPORT_SYMBOL(init_ipc_ns); =20 struct msg_msgseg { struct msg_msgseg *next; diff --git a/ipc/namespace.c b/ipc/namespace.c index 535f16ea40e187a9152a03a7345e00b6c5611dbe..c6355020641a74c3be7737b9da1= 5022b961d8f2a 100644 --- a/ipc/namespace.c +++ b/ipc/namespace.c @@ -210,6 +210,7 @@ void put_ipc_ns(struct ipc_namespace *ns) schedule_work(&free_ipc_work); } } +EXPORT_SYMBOL(put_ipc_ns); =20 static struct ns_common *ipcns_get(struct task_struct *task) { --=20 2.53.0.rc2.204.g2597b5adb4-goog From nobody Sun Feb 8 11:21:34 2026 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 C1EBB3A9DA3 for ; Thu, 5 Feb 2026 10:51:50 +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=1770288711; cv=none; b=In7kOmlFLTaXjSVnbgmNyWWnh1NFD4rS85hC4Y9KfFh9kIHHMzDdca+FcmKaObCosOwrb4PUV3c0XFk1MsVxUmumj85xaraCdoq6eZOtSjfmA81JeI7Hg2ERqs5DfXJ6n69QNiYgjb6m7v/2qZ/ibXio0oT5T8s/WHehSkIROQk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288711; c=relaxed/simple; bh=u7tNOSUp16XQ9Cw8SF0QUGSikFb1+CWkD1yI1QkYzoo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=POyQEzFCZwAoA8rgXDG2Ea5AqQ50SIJR9nVPdshE032u4yEmQS9jhwZn/Rg88BVAQ3NSfXH1b3QK4LyMzjS3IG3d8lAtT93wuZDFCRLCjj1bSo3E5agtmyLLXzoN2uq2/PBetWvUO97YIXz8EnqYd++fleNjv9dLG5V68Zry5Vk= 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=X2VWNekv; 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="X2VWNekv" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-435af2d3144so638608f8f.3 for ; Thu, 05 Feb 2026 02:51:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770288709; x=1770893509; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=kpaIYad0WHN8wTh3ZSTIrnFcA9kAsyJ24DcP542BHNk=; b=X2VWNekvFtfxlT+CUnUG8A9//ETNne86b+tMqmys512g0BDoy1OKeh0pSH17s42dGs aAxfTpZ6JsdsFekbz3r2iJAqZi958gYfnTWnnXjfyZ1XNgyLr31rl/Ge6bjMn5nmdfsV eqgkf5rgy5mywQEe8ZhVMoI8ljNL8WQiCQ6oJZS+n3XkBKr7KaCG0VE0RzKD5n1nXzJq 7Rf/K2VyGTgHFPrVikUNgbujLPt6FyZU68vCN6wZaDpQiKcP4b/NVwX5XTdImOrJxQzo UHoRB8P48oN3DmVOdCoQX1Vb6qH+WlrX+7kSumVk1CSELF4mWCjAOmGy5z7CC7/1r+xF CHLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770288709; x=1770893509; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kpaIYad0WHN8wTh3ZSTIrnFcA9kAsyJ24DcP542BHNk=; b=rZEYS+U7awXewOcz3Ppt9YIE/b+2qV8GepPeQrhMG9CacfJ//JIyl3bHF6cvbt/OhW YBR38FqWD3mTTwDShAKAhqb8llCXiHGQVxjyKjWwPzsKw0XlDCdgQqbj5WW48t2Hi/MI 3En8bkzOdPQXsgEY8pGu31FKIWb6EFctKZQwxlFvSMApvFGbwDw5qbdBoRxoQmBnIkUc irkL6tTq6hNuPrIQzcUDfPezaa+zbypgctBrKv3LN4jrGklH0aFNlnRDQxXA8tj+wXAW 7o1FRZ+Putdcv+Xp8SlOQy8w6C8IeW6mZWccEO75XBtIPWqGHPVYD6Lfj7bsEoWH4Q0W UITg== X-Forwarded-Encrypted: i=1; AJvYcCU55NMbg4xPw6Zqx6NuWUVeWevo+hBYfeVE3oIIGiFao17CTAgheNo9WdEe/dUSY+Za8JhYD6SMPgrAQbs=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1DVvYgVvn/XEYo2vpaYlZpYwmI4cx6eX0m9/hqaN3XWY1IaCO OdXoFl0h9PpuvNRXcwjp4mvwo94Jmp4Z89w5wZ4k//4P8T+MMdor67Mq9da91LcztB7UhqNW5pQ dx1PSFq+3dQU7ELA2ug== X-Received: from wrd12.prod.google.com ([2002:a05:6000:4a0c:b0:435:9538:ee5d]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6000:c0b:b0:436:19b1:c15a with SMTP id ffacd0b85a97d-43619b1c171mr5602426f8f.21.1770288709279; Thu, 05 Feb 2026 02:51:49 -0800 (PST) Date: Thu, 05 Feb 2026 10:51:30 +0000 In-Reply-To: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1997; i=aliceryhl@google.com; h=from:subject:message-id; bh=u7tNOSUp16XQ9Cw8SF0QUGSikFb1+CWkD1yI1QkYzoo=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBphHY5pD8xrMoCMSi7/YAo0zBpNGTkGFDOlicJv SsWF7lHACqJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaYR2OQAKCRAEWL7uWMY5 RvK4D/9Sqg7OAbaqsJt4VhIwElaxQsfFl0bkBDgM9NE0JgEtF//U3IWNLFyiDbFjyU/eYNk4vqA /EoImWS8mnYl49c7B4DXLibsoNeVIXCKk41En9QlYRydj2O+rGS4BRARaos3d5GjPSmcd5W/WY3 JlN5F7KIYDwQtbzfPsAucG07Nj7n5ooKrD9vFmhSUlQOWltfSNAyris0RP0nsl1k//en5nczqcN Vls40YLjS1+M/48o87Ba3YvvlYh4DUWI2J5AdR9/ty4DwW+6LUYqAGimnOQ9vT1wZwyFqKs/5nV usl0vrnOojmKlNEIKXAhY+2Jv94Ssv0sX3Ngw5CLUFOCvPfiyzNHu609QvruEX8SKNeqwadY9NS YeHUBm0PnQkjoPqhJZmFyAdz9Fs30oPy9KItXYWvVWiggE0bDgPE0hsZX2WyOxOXk8z45ZYDY1L h4IUhPo4C9JFqzerdHy9DKCF98umsdKRVGW3CC+osSf91NbYzBFxsNQTTVNLm0Kj4WbJupA5VZY TAgoS3a4p2E7fv7C/DDR8exECeiis8FHGKgaP41bzhBB3p7kP9Z8L0JR1j/tZvGv28Hh0R7HOJJ XXjDToIdX6vm1owhmFCg8aoVz06WZ9aWdPGYaSfEgHmo2lybieLTgIshWP31cp0hOUQm9tffRSO VAuNvPd3riiG9ww== X-Mailer: b4 0.14.2 Message-ID: <20260205-binder-tristate-v1-5-dfc947c35d35@google.com> Subject: [PATCH 5/5] rust_binder: mark ANDROID_BINDER_IPC_RUST tristate From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas Cc: Alexander Viro , Christian Brauner , Jan Kara , Paul Moore , James Morris , "Serge E. Hallyn" , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , kernel-team@android.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Currently Binder only builds as built-in module, but in downstream Android branches we update the build system to make Rust Binder buildable as a module. The same situation applies to distros, as there are many distros that enable Binder for support of apps such as waydroid, which would benefit from the ability to build Binder as a module. Note that although the situation in Android may be temporary - once we no longer have a C implementation, it makes sense for Rust Binder to be built-in. But that will both take a while, and in any case, distros enabling Binder will benefit from it being a module even if Android goes back to built-in. This doesn't mark C Binder buildable as a module. That would require more intrusive Makefile changes as it's built from multiple objects, and I'm not sure there's any way to produce a file called 'binder.ko' containing all of those objects linked together without renaming 'binder.c', as right now there will be naming conflicts between the object built from binder.c, and the object that results from linking binder.o,binderfs.o,binder_alloc.o and so on together. (As an aside, this issue is why the Rust Binder entry-point is called rust_binder_main.rs instead of just rust_binder.rs) Signed-off-by: Alice Ryhl --- drivers/android/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig index e2e402c9d1759c81591473ad02ab7ad011bc61d0..3c1755e53195b0160d0ed244f07= 8eed96e16272c 100644 --- a/drivers/android/Kconfig +++ b/drivers/android/Kconfig @@ -15,7 +15,7 @@ config ANDROID_BINDER_IPC between said processes. =20 config ANDROID_BINDER_IPC_RUST - bool "Rust version of Android Binder IPC Driver" + tristate "Rust version of Android Binder IPC Driver" depends on RUST && MMU && !ANDROID_BINDER_IPC help This enables the Rust implementation of the Binder driver. --=20 2.53.0.rc2.204.g2597b5adb4-goog