From nobody Tue Apr 7 18:45:32 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 8EDE1344DAD for ; Fri, 27 Feb 2026 09:35:02 +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=1772184903; cv=none; b=NF/jxaP4YeE+N2znZ5JpK5eme+ZJXH96m8YnnFXjKpBVOYh8RJKZ831+KP8N1cRECZM8Q6SjU3dhSOZtMLrgTohifqOYfMpr+jVDa1EK8mCsPf+o0MHzsz9Hamu7rf/gHK7nBYdsVkKDYXvzVuzPjUPPCh1t3KZkeKYqeE9t6Vc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772184903; c=relaxed/simple; bh=igTp2oiSWF7bJgZDiWBiWJBwajnyRdGWDts+vF7kwNQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=EOqL/FNg1b0xvJ8FhYgU+UNrfnfnCkrhx3cewtd2kjtKOIsbvt3gHkIn+Sdzj+fis2vusjZeZvTJRbHOslAhRrXNpiDEgZNrH4974KRHDoYxH0y3k3kXGpAHRDM1kIl+/EVOj4v+RzM9mx2BDoUtisI/WB9VQesfCosyJMUxCrI= 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=zOxYAINV; 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="zOxYAINV" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-4836cd6dfe6so17353015e9.2 for ; Fri, 27 Feb 2026 01:35:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772184901; x=1772789701; 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=eiJjwQOZahns7DaNQRgUmdkmVqPKjvMnvyfineX7jDE=; b=zOxYAINVG+7l19OI3H549HFOLXcYvTKflKC0I5a78kULwrEd3KE09AEGEgG20wgPKp kAYqewyWLziwZLsqP0ioH7ZfA5ArVl8xJtrugFORcEFGF8b1tsKSolKPKxfXlLrebCbv OFm4LDaKBfNa3JLj7U3Q/g+CYpzgUadLLcWPIlJxwNcfzCS+zG+62GulBvQNRKA2/Pg+ 5EUYeX3AGA03AvgkuqR1YBeWuJzFihuHAsQHaLYZczvRJRW99flw6sPmUzpl919Pciqq BEIDttzi+HZG3anD5QsHFzi5SJmIRb0t0/qs0qTACg+ir1oOD9+SKDvArSAbwajNWqad P5Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772184901; x=1772789701; 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=eiJjwQOZahns7DaNQRgUmdkmVqPKjvMnvyfineX7jDE=; b=K+aifwBqH8mZ3TuklqwI+oPc/NI+YtUYjMviF2dLERy6Pp2owV8I8rYoyyh2ARe9bL YYQD3MaToRsQS9cdtxiVO7srSFgEpj98cilXT+i/BLA2Ced7Q7xmtB+J2LsAG0QDM36f bD4fQ7tDXLNKyjexKNdwZYUZsi9dlighDlH/FqaMI7ZrQiGv8Rw/4Dxg65mzvUOfgtM3 Np/TjbALqMdUODUu4/vYXhtBF2u2RXFItqZ52xAGUy7A1xRqBNya6BqEkmw9TG1PRymG yg4VhNdwfx2Ky7alfn9S9uB4usnrQnguAcHyS+hvwnLvYNMgSgRmuT4PjxfpNGavTgXw Ocng== X-Forwarded-Encrypted: i=1; AJvYcCWWdktxAkzYk+/77CNwnDB8PUSqAIfPuHdsAyaFcYcZDlmwiuJy5m8z3mM3MJ85fGQ5QCmJI2rrttIni3E=@vger.kernel.org X-Gm-Message-State: AOJu0YxLmgaqI/rOnXMtL13Yie65b7RRzv7vpn37WS0reWGOyoflw//C JrPwCJMwd+iq4biuaGZM+OYD9GeNK42SPRW+IYpMl1PxgqhLSNPFGYzwsqgzaIQ5DY/cb2Fs8K2 yUQDR2KINtuVyx16FrQ== X-Received: from wmwz19-n2.prod.google.com ([2002:a05:600d:6413:20b0:480:6bde:d3b3]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:c167:b0:483:7020:864 with SMTP id 5b1f17b1804b1-483c9c0fb66mr23001395e9.25.1772184900952; Fri, 27 Feb 2026 01:35:00 -0800 (PST) Date: Fri, 27 Feb 2026 09:34:46 +0000 In-Reply-To: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1298; i=aliceryhl@google.com; h=from:subject:message-id; bh=igTp2oiSWF7bJgZDiWBiWJBwajnyRdGWDts+vF7kwNQ=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpoWVBkUoYbjWhjPlFgPHonWCmJgnmmyYjZTx2i IMcKBC38QCJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaaFlQQAKCRAEWL7uWMY5 RqTeD/9prc1nqwlZ36FOWrFtwxf/wsI6B+JTjjTHgPvv09qjeJLYt0fNoY9nUMbML4VUNhLWbO2 L5+N+6PAj7B8yvYkrnSthbtKnokZcBsGC8i2iidu9crYMKAEVz1ftZG5PCnzyQtGU29CSh1Qxzf vej+5THk76ywZbxmmeXOIrRt1/Ev2Jh4GCDp+JoiUWD4YEQcANc4ANK8fRB0CDgWYRB16cTVyby zQFET/S6zeS+4UN7EroV9K38MUBeN5eShnRHpxNXOz1v54AC4LYA4efALhAdo17UkG+PP1gKQy3 K4PsBC/d7T0XDlmILEGQc577JCq1rIm+itPTCFuL3T/pMInyY8lkindq1hYjm6jejAGa5f0DWLU YTO3Ghgew9O+zMur6V9mZDBIXPphythycgTrMmIyaPX7Ldk6z3xE0b0ULvqUAheXnpebYU6QEJa rszhDDlfIxOa3r3e4CNw59/i6288yyftRCkw0JPt7dcTugPXAXaIV0iFRXHkfNLdhohoMN3XrVy mLUqBgksveIjukERD61xs+L9tV8L8hktvTcnCQyY4+hQg+sZjJbm9n6I8B5jXSGRP+hFIBSSUsR 7vYO4arsfTbLzQlinv5lc06IZBkaeIqPqBDrOYRhVOYp8rxjTMfU1WCYUEemUqqLU1wpl1a4mtB x7WFOc6yimSi9DA== X-Mailer: b4 0.14.3 Message-ID: <20260227-close-fd-check-current-v2-1-b3347edbb310@google.com> Subject: [PATCH v2 1/4] rust: sync: implement == operator for ARef From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Rust Binder wants to perform a comparison between ARef and &Task, so define the =3D=3D operator for ARef<_> when compared with another ARef<_> or just a reference. The operator is implemented in terms of the same operator applied to the inner type. Note that PartialEq cannot be implemented because it would overlap with the impl for ARef. Signed-off-by: Alice Ryhl Reviewed-by: Gary Guo --- rust/kernel/sync/aref.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/rust/kernel/sync/aref.rs b/rust/kernel/sync/aref.rs index 0616c0353c2b..9989f56d0605 100644 --- a/rust/kernel/sync/aref.rs +++ b/rust/kernel/sync/aref.rs @@ -170,3 +170,25 @@ fn drop(&mut self) { unsafe { T::dec_ref(self.ptr) }; } } + +impl PartialEq> for ARef +where + T: AlwaysRefCounted + PartialEq, + U: AlwaysRefCounted, +{ + #[inline] + fn eq(&self, other: &ARef) -> bool { + T::eq(&**self, &**other) + } +} +impl Eq for ARef {} + +impl PartialEq<&'_ U> for ARef +where + T: AlwaysRefCounted + PartialEq, +{ + #[inline] + fn eq(&self, other: &&U) -> bool { + T::eq(&**self, other) + } +} --=20 2.53.0.473.g4a7958ca14-goog From nobody Tue Apr 7 18:45:32 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 576C93A1E82 for ; Fri, 27 Feb 2026 09:35:04 +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=1772184906; cv=none; b=M4ocYKoAiBw6GaWhWEfirgcaYOdLVfdQGrFz0ueAAcn02e33Ox9hA1w3EnAmSnIa+soGcWTqDKHAMqE7yBUuAC++wIWlNOBLqnv1lV6E88hN3Rq84B7U+d0viBkyMZxzAkSh8fgKXpNBHhKh5xuXAJ5CpCyTlJZXrcxJ70MYVhs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772184906; c=relaxed/simple; bh=hLzY5zvmD9NGFL/EGan3spqDHyPwUqW/W5YLCQQjBy4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=ht587fvmfE0YMZMKPsIuPC0l3H0QN0UtNE3S2yefG8QgklYLQIwaL6GrkVMf4zw3dFauPwRjuH6X+zPZr+DBarrqVPNqpuG7XY2MasWtk/LqnWU//4vKDCiunh+1UnaHh9CyS73fgM674TGTSI8R2A0z2wm5WNjYdcceBbXq1F8= 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=hX1ZRbko; 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="hX1ZRbko" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-4836cf00787so28182775e9.1 for ; Fri, 27 Feb 2026 01:35:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772184903; x=1772789703; 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=gH25F0zRXqEyqEuX8155mN1kiuKfQU5DG34qSLC8sok=; b=hX1ZRbkoq7ZiJhJSQsgFXYHXOCRJOQWRHnQthl4MER2jWrpJyirWg+Ga9HhckelMAQ 7uqPdltU3VT2n7/+Q58cEZ6CtzvCbnFGlURlJj5tZbG6ef0hsObj6gOBwk1zt0D5iYG7 cjftAJ5QKj9VZzstmXUhtaAzJIuYDH7RFdrME50LElPgfKtba4Yq/mrtBQuqCjK4TC/y 4oVEyH2DsQaaAvJZweHLR95hBrci4dI+l0teCln9uhBSMlx25sE3ZLnkimDkuLh+W+fV CfMECiQL2GW0ypb3qzujzK4GXCFJwwSUEsG9m3N/nw/8aAcLInW5ztPvt3jES/4uklD7 vt4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772184903; x=1772789703; 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=gH25F0zRXqEyqEuX8155mN1kiuKfQU5DG34qSLC8sok=; b=NhoI2jsLZTYngOgQLDp/rdAYN5IHBIrN97j89H1anEg681INjruA4/3RNJ40MU4YKu +vIHifKHZdSmP1F3vv6DtbEjJmdMKAP53jXnG9mbNzRde9ev2yinNX1DIZQf4Bi59jnz jSlejIWUOUDUE8GQ1aDiswoIqjc/n4dxpZEEZw0M6NUWf9g+PuqisGnbt1Xm6d6VmTLH R8lKzN/VwDW5/hw+jgCrCCBKRQ3Nwjko1hajw7x4759sHmM2WZIoLcQNeip8DLhmX/G+ tG+qAemFF/2SLV0/XvdbYwZaDSQSQN7otgVHbqUXl9SL6o9KXptjqRqQaCdOLcPmrAkf x/FQ== X-Forwarded-Encrypted: i=1; AJvYcCWBLWkub78DlSOXlL1wCBgbeHKXJsGNRFzSCfulCLnOAMOo6QXVduCArQoe4oeUNG0QR92hAPwTmP3Tk6o=@vger.kernel.org X-Gm-Message-State: AOJu0YyzeEKmQ3BVG9pMxq4/Y8CMmD6TX6C40MVjG6Z80uM+Pl1Ah+Iz aCsywdv/o2QPVH3lcP7PxlgHsQhhivKyeH0cAgLFT6EhWqmMDCNdUIt0pFXpXz+eXgQsjhRQ9do T330wBS2C6n2L2uXbNQ== X-Received: from wmxb5-n2.prod.google.com ([2002:a05:600d:8445:20b0:47d:5bef:a379]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:1d21:b0:46e:59bd:f7e2 with SMTP id 5b1f17b1804b1-483c992e3d8mr35720375e9.11.1772184902501; Fri, 27 Feb 2026 01:35:02 -0800 (PST) Date: Fri, 27 Feb 2026 09:34:47 +0000 In-Reply-To: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=792; i=aliceryhl@google.com; h=from:subject:message-id; bh=hLzY5zvmD9NGFL/EGan3spqDHyPwUqW/W5YLCQQjBy4=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpoWVBVZ7u/UeabYvO45djZDAms4+zz1KiqXoLW dti1J0QTGmJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaaFlQQAKCRAEWL7uWMY5 RgMDEACmep1pdPcLODFVSrSiVnKDvgw7hkpRiyov0YpYMyYySpf3B/hrXgfGre9gHXFQ3U5mmmy L37uQOCSbcYObR0LkH0Q4XlRrCq7xmh0bKZmt4qZWj4dWr4ggplcSY8A8itfS7rM8TcyhRSQaoT 4wVuFle9Tx70mcW3ssQRubHCDBVDsGt6wt/bV2mS3bS17e92JMmJ0eekh9xMamLH1iNMVpu3eev P0s6JBqCA2/DDbPguMshQIbQPnymg4dk5X0YCvJHNLSC1BeningugHX26S2mjji1K69OXAz/9DY C9iaaMmmbOYmhury9SbbpAYFcCzx+ZpU1pG7eGz52szYtSWRjHIesuG9BbGlbMVD+ufwfLN5Hd+ Qy42W6i/ac+iB496vmwxs0fvGVLE6DZ1gwllMbCf/6U700i7tgWVlOJ+OdG7qFMEwmKvsgdLrOB IadjTcEWfJEyJEYrJeCTaPPgtEjQ+MbccpOQSMjp9xYPSR678TO+VqeQs3v2/qQ395lHYJxSbvZ vt1MGOGAu+RfjTKOU7hj+/9UF8wndYOzHpVqwOqcdNnzE//dKy14vVyZS3SsLC8py98WX9NR8D8 deBwYAGO5mU0yktrDY/VECoUq1k7FdfMSdiL+YIoKpTIS5XQ6EnL9nf7KmvRbQugSkplzAToSWM fzl3RfZDhs1xdjg== X-Mailer: b4 0.14.3 Message-ID: <20260227-close-fd-check-current-v2-2-b3347edbb310@google.com> Subject: [PATCH v2 2/4] rust: task: implement == operator for Task From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable It's useful to compare if two tasks are the same task or not. Rust Binder wants this to check if a certain task is equal to the group leader of current. Signed-off-by: Alice Ryhl Reviewed-by: Gary Guo --- rust/kernel/task.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rust/kernel/task.rs b/rust/kernel/task.rs index cc907fb531bc..deb948d99921 100644 --- a/rust/kernel/task.rs +++ b/rust/kernel/task.rs @@ -362,6 +362,15 @@ unsafe fn dec_ref(obj: ptr::NonNull) { } } =20 +impl PartialEq for Task { + #[inline] + fn eq(&self, other: &Self) -> bool { + ptr::eq(self.as_ptr(), other.as_ptr()) + } +} + +impl Eq for Task {} + impl Kuid { /// Get the current euid. #[inline] --=20 2.53.0.473.g4a7958ca14-goog From nobody Tue Apr 7 18:45:32 2026 Received: from mail-ed1-f73.google.com (mail-ed1-f73.google.com [209.85.208.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 6604E36EA83 for ; Fri, 27 Feb 2026 09:35:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772184909; cv=none; b=J5MVRY0idraNfG5ZnpNzTKRcTo/tkeyG4T7BuXERlW6kIYe8o6QCk+tNB7kWan4acaeGz585fP1AZ98vl+N65ZY3GB2ajl4lo08p/IMcrP1XugARMgny6+YYtQN/HmyFM8g5UFa4US7G5CpDV/1uQqfiPJ5TJTEk2tVQIJn0aTs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772184909; c=relaxed/simple; bh=FTKtxrDMWAPs9/YZKz4bMujAf/Ljs0I5QuoQbjKaNpE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=NDxK54k6S2SogJUpxK68oSczO8kMuo4VF2v9FTqNYJx2XPQSHY2EdnknexlX1x6L7iG4DrupMGod1JEcDJmxPbp8ZLtBW9Jb57qda/xW1mQ+5ZaeGHkczzsQC+u1XkSvuu/Dc+5ug5WoXIyUGkv6/tGRzkdTHUBJZEpnRA+ue9A= 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=YYA3CRoV; arc=none smtp.client-ip=209.85.208.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="YYA3CRoV" Received: by mail-ed1-f73.google.com with SMTP id 4fb4d7f45d1cf-65f8b971362so2051284a12.0 for ; Fri, 27 Feb 2026 01:35:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772184905; x=1772789705; 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=cWVvIEgQeJcNm1KdAZ4hLHy83wx+q9wzmD28Xs83Lzk=; b=YYA3CRoVOQRagA974lq3EU6UC/aqajvf/LI4pOQK5QDWLuaBI7mEah75LGC/TpobzM 37dVjygaPPWGwbCbrfCXCa5ZCEdvqOtVlaD+DKqktCNAA/W/QHdBHX4eQY/smTFggtcE YUguQRvOLoAhkVrkTZoxiCJ3gWblCAfz8DQuEKCfvS93pJZv7vy1FLPy8+yTqGb7eUuz ae32DyPEiDlmk1KqlvxKTm7jfhYNkwQjeBsD9WlfBThIbXX29cBI6zMeaVDRJfPUFJDW cDS+JE28Pu27ty42qt5xVdH1xii7M8yDhCoUrpJrdRS3wqLHgSBPGp2jYs/Nq79WnVDL Vcpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772184905; x=1772789705; 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=cWVvIEgQeJcNm1KdAZ4hLHy83wx+q9wzmD28Xs83Lzk=; b=FMD93wokQGkyY1hyW8bFT75N+JkwNvS54HLXbD3GOcBrpNRJ27Rw4qch6OuQthbLil SvRljpA5Aw6/9HZNAzKsTaDc9aAySzxrfYg/uG5So2Z+uIjxEc5tjrK5mRSwhfKcpD+v iV8NMjSXsTCJnmMnlTMytzUlGalibezbi1GFmjO9cycfGLlp6+Z8PIvvaAAn5/BqfJiE TH3YiPfIqv9VI0RnSiL8rNbYliZFlXQOzepJ34V6gThZFSbU/lcJimWdgp29a5VYMcb6 BFh96YQzvwe/WiM0vWsca43cqj1jvzPPYF0wQa2Mp6CGIk/Fq6MSoPKnZV9ZXovh3j3Y /dMg== X-Forwarded-Encrypted: i=1; AJvYcCXWRQtaD6MU+tuLORDTmDpLKDxL+2Mmy/KiuMYjYwm0W+Q3HfhgI2SCXuIHmN2wjniSAIlnx2u2Ep3k0fE=@vger.kernel.org X-Gm-Message-State: AOJu0YyF5bDy0tCjs/X51sXNwNfqHHcQ9Iba1AtcZ0GQRMRcq9IWH0zf +WrMwoK5vEiwN8ZqCXAa7tgx3/iHYnv8sdWyA5OzrFvoqHvTBpZvoP7iyhOqM3XcA/Ns9a26heA kmj4RIkohNvGudvIK4Q== X-Received: from edrz5.prod.google.com ([2002:aa7:c645:0:b0:65f:71ac:2c0c]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6402:4301:b0:65a:3de6:c55 with SMTP id 4fb4d7f45d1cf-65fddee7ae7mr1548476a12.28.1772184904552; Fri, 27 Feb 2026 01:35:04 -0800 (PST) Date: Fri, 27 Feb 2026 09:34:48 +0000 In-Reply-To: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1383; i=aliceryhl@google.com; h=from:subject:message-id; bh=FTKtxrDMWAPs9/YZKz4bMujAf/Ljs0I5QuoQbjKaNpE=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpoWVBRb0rpWbJIEXEPJbxQKqEgtLAFKYr1pw0I rRLUkafsBWJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaaFlQQAKCRAEWL7uWMY5 RoJSD/9mYEGnLpocEzx+xiXdmOSNY+N55K41lDn0hIvM48Dr7qX3KJ1YU2QHdmOanPMTvaRXwbB E3mDWKLuM9OkINDJX27L1TVOvZcMqd35R4E4SFkE8MiQwbu7e6tKayqz1p4pD9SbZEvY4gARJW4 6R+/k0J+KxJVoET7tkINSBMjaLPIpD/XXKkmFwyTSLorJ8DFr3heg7Ymttu9RvRwHsBShH8HGMs t8jNtvjqrSDtYySQ4W7voSrJy//dj7jNwN+uB70jZcaERMCyJit3bL8uGd5JmkFG3dZEM0zV9Hr 76Gthb1+ea08sD8qUewlbEctr8uzECCBco1EvuRjvbCQ0FnUAahhoWlwaZlfwIeiBWsPY1X0DT1 EO01P7mpWXYZ2Z3fYF4/PV+vbqIzgpWl/4Dfek7PpG1KYbVEDfj7NrX0Ggfr9TUc/MZib6IaYth N6fVfZPol4eHHhMVoccTR+E/Hq7EuT0u34mrB0f1RPgRN4rbfWg0fb2PGbazdIXaugW7TF9ym/M gPKVLCnT0+ryQMb0yl2WRtkNnNFUYzOgfid9U6tqifdqQySRDI/P+SslLbOa5g6pDwGOs7DOHu5 vIrdnbfvRMyemULwQiidrPZXP/GAeycgLmBjCyNaSR8LB+wux4uDFVqkuSHaeWednuLbUP0bayI ML/yGSTCTbmYmgg== X-Mailer: b4 0.14.3 Message-ID: <20260227-close-fd-check-current-v2-3-b3347edbb310@google.com> Subject: [PATCH v2 3/4] rust_binder: make use of == for Task From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Now that we have implemented the =3D=3D operator for Task, replace the two raw pointer comparisons in Binder with the =3D=3D operator. Signed-off-by: Alice Ryhl Reviewed-by: Gary Guo --- drivers/android/binder/process.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/android/binder/process.rs b/drivers/android/binder/pro= cess.rs index 41de5593197c..b78c1490e654 100644 --- a/drivers/android/binder/process.rs +++ b/drivers/android/binder/process.rs @@ -681,7 +681,7 @@ pub(crate) fn get_work_or_register<'a>( fn get_current_thread(self: ArcBorrow<'_, Self>) -> Result= > { let id =3D { let current =3D kernel::current!(); - if !core::ptr::eq(current.group_leader(), &*self.task) { + if self.task !=3D current.group_leader() { pr_err!("get_current_thread was called from the wrong proc= ess."); return Err(EINVAL); } @@ -1669,7 +1669,7 @@ pub(crate) fn mmap( vma: &mm::virt::VmaNew, ) -> Result { // We don't allow mmap to be used in a different process. - if !core::ptr::eq(kernel::current!().group_leader(), &*this.task) { + if this.task !=3D kernel::current!().group_leader() { return Err(EINVAL); } if vma.start() =3D=3D 0 { --=20 2.53.0.473.g4a7958ca14-goog From nobody Tue Apr 7 18:45:32 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 B051C39448D for ; Fri, 27 Feb 2026 09:35:07 +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=1772184909; cv=none; b=R6fpO8tQaZuBio7miw2Q1Egevrp6qfEHLe5orRWL4Mj/KxBWbBBqaz+dKf6hoHWWV/OuqKnjPfSFVxfCr7XBkIx5tBHo9vK+DDxt7Od/BwaCF1BjvtdKYr7+0XiE32gO6EYIZkPJA+oi/kdliJ+yoTguZqd5No7FyjJUu3uKzys= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772184909; c=relaxed/simple; bh=FsmRKbPw+qneYljCrVrSeYtvwTqK6xf4CJ1v5f3Z4F4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=GstvnXFheGmUDj5IOjRJvvEMNS99yh/OSMIuQvt0SEzWVHDgGfHq85HkPD8H6hL09LSpPfiapqkZyuCWgJBEc5a71gn/OkSJFtUDyRanNUy0X6n2VH9i1uQluHyAy4U2ILsKFHjngMSwG1wBACGhshE8HJ277gkm98Rf8p45tYY= 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=IB8E8HrQ; 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="IB8E8HrQ" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-4836ff58111so19274915e9.1 for ; Fri, 27 Feb 2026 01:35:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772184906; x=1772789706; 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=HUzB58D3BLG+QCzOrWPK89tWj1blZspiABXeCT3db4o=; b=IB8E8HrQ2NZjunqxcAS+XvvGv3ZLQ20AWE/eiEK2lF52hKA/AqdfaZ4o8v2KvfS5oY sAL/tNhZKwAMO9FMUz2Ns7KLYMpRKLkNSf0uzpf0NbNUC5G0jNWpTGDeyL5ZC++f8HVy z9gh/ufJSW6e58ExtCcZia72/AJitv3JCdKLj0IQ1CB1jHzX5KU0YndHK28A0eYCEWyo MgX5ZTwhjDAqGVP5spcBan1i5xk7a3DyT4OHJ1QBszbo/AJUUMp/DVphJ3XBMPzuL1nM cqREf81TLrGryFvNK8KjzZubohk1bLP3UJ0xRJk/hh4bkAQASRSY50UkU5L4JaDFtJ6X qLZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772184906; x=1772789706; 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=HUzB58D3BLG+QCzOrWPK89tWj1blZspiABXeCT3db4o=; b=bhjQEErrMu/xZ9/MEafpWDz+dy57RhmLpaVOnp7rr1yHaPWO3bPdZ+gTIKaegV6d/L GhNFX6b5bBaY6rurycNPl0xc4/mop+HW1qu8qsqjrnYCt1Ozqiqc7dKtHaox0/ZroqrL CpCtMrdAw4NM37VmfGsjuSr7yBEfuL2vIg4v86LHKgqIwd4qzFfmmmUn2qEHOL8r49iR LcV0VQeVLG/Fa9hGx9X7IJV2kBvbWuF9lFGmtdNPYCGSrbR6y4usjGrwKLajdJUTb8/O Cin6E3EaD8lFKjwGdlvcvHuwQunXEXaP0BB4VEspkS9cLUafCHQAsJhe5uu75Lqzp6QO H0Uw== X-Forwarded-Encrypted: i=1; AJvYcCUwRMDdJFaE2BkBNi6nJHUC/6imesW8i7XZfGun/Pc9SpWTSxzgEhb43yYE/zsle+Op3I3k9fxrgxH8tJQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxD3wSRqhtvQztrX1w/QV/31ljfxr3ZWFbW9cGrIupz98v8FbwZ quRT99qioOM9688/QIrjuZXMMMv5X+yOEWMfVjyBcKglvKJKq4sCvzxxBROHTvUkloOASRST9ZJ EBjpR/TEvZgU59FllUQ== X-Received: from wmbe25.prod.google.com ([2002:a05:600c:5919:b0:480:6cad:6b2c]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3108:b0:483:887:59b0 with SMTP id 5b1f17b1804b1-483c9c1cd2bmr30647915e9.35.1772184905922; Fri, 27 Feb 2026 01:35:05 -0800 (PST) Date: Fri, 27 Feb 2026 09:34:49 +0000 In-Reply-To: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260227-close-fd-check-current-v2-0-b3347edbb310@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1542; i=aliceryhl@google.com; h=from:subject:message-id; bh=FsmRKbPw+qneYljCrVrSeYtvwTqK6xf4CJ1v5f3Z4F4=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpoWVBatBK/WdV/gjd/PGDfnqo3zCPYv8uKum0e K/whnV3TFKJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaaFlQQAKCRAEWL7uWMY5 RkgoD/4091XkLpN+OHBXoHaKyoxOonvEdpCj3S8O1dPSJZkkhTIa69S+OeoF1bVKrpFpy7HCxBU +Kc5t/tSXdX5KGqTp0JvYBk8y6S6SbzgzsHiBABReYKtgS+eWUiW121JCJ6CYOsv9/xOBhUlM+I I5Y10CxCni3v/804SgbpavcGyWpx3/SW8OgJaYfPO0xGzErVHlXU4u/4D6q4KWmcxHaWjflL9bx t4QrsdKqXb0VCc+FRyohcgnmu+v0kJ43e6vW22WxRgwryVFKJpcdb0pP51oYCs7lI26LNUnn3aY NNXLZu3ZfRizoK52jcyGuzvZlNuvNChmEXzfu4LiHeEQ/KZMoj92W94wbHfdidxX7J2HPhkXe0u i9XPOjct2chi7d5m0o3ToBJIdu7g4Qxf6IqW3L+8TAISNqaWaZRv0vOk1kU1pVz4ubl938socuo jNQ7tKNN9N+pGBdhpMLpxRALckr1S3GQp1N1G6X5twofY+xJ3Pe6ecyLaGtYXX2hCosl8fAosWM GxfHYXSGKE2Bg1lCmjXm+xWINxmwa6Hy/JzQk9Ctu0HEvcK0cNGx3ZICiathbuiZqQo2clcRsWb QWDvf93EJlY8Ww73I0iCcY5sdVBh5uX+9mZkePa++/nQ06zv4dqd1E+ymZaQQQogwsFdg+Ruvll XH+xA3iD5jMjAFw== X-Mailer: b4 0.14.3 Message-ID: <20260227-close-fd-check-current-v2-4-b3347edbb310@google.com> Subject: [PATCH v2 4/4] rust_binder: check current before closing fds From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alice Ryhl , Jann Horn Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This list gets populated once the transaction is delivered to the target process, at which point it's not touched again except in BC_FREE_BUFFER and process exit, so if the list has been populated then this code should not run in the context of the wrong userspace process. However, why tempt fate? The function itself can run in the context of both the sender and receiver, and if someone can engineer a scenario where it runs in the sender and this list is non-empty (or future Rust Binder changes make such a scenario possible), then that'd be a problem because we'd be closing random unrelated fds in the wrong process. Suggested-by: Jann Horn Signed-off-by: Alice Ryhl --- drivers/android/binder/allocation.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/android/binder/allocation.rs b/drivers/android/binder/= allocation.rs index 7f65a9c3a0e5..31a42738a99d 100644 --- a/drivers/android/binder/allocation.rs +++ b/drivers/android/binder/allocation.rs @@ -260,6 +260,10 @@ fn drop(&mut self) { } } =20 + if self.process.task !=3D kernel::current!().group_leader() { + // Called from wrong task, so do not free fds. + info.file_list.close_on_free.clear(); + } for &fd in &info.file_list.close_on_free { let closer =3D match DeferredFdCloser::new(GFP_KERNEL) { Ok(closer) =3D> closer, --=20 2.53.0.473.g4a7958ca14-goog