From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF04E3911AF for ; Fri, 31 Jul 2026 20:31:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785529873; cv=none; b=W+ytntNHigjxNdjbL5k67Zed/3LhgiHaEfio2sycCpcrg/mkGjyITkhrKccGGDsPHKs40i0TX1RvcYSsAcGpakVh3ryX8KX/GSdcb3X3uYl/fJUcf6FkNtGscDcG+DjAv9SeK/MLnxj35ZoBbOEYkoxv72WyGZUzqwaea/p/65I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785529873; c=relaxed/simple; bh=/R9Xt2cq7wR9LFr7KE/IiwroZVU+4G7lhcrzcWPSLzo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=aAcYzImvkrGYnv+7TgtZzfP+Jh2zZ+VQxHXCcD7jjnIIR2lIHLg4CwJ2Xd3bCKORxg/bi9U1HwzFO1mAEMimgJhJRW+/z3vEGrrBCHxSK1f/TeYIw0LFA2Ivqbn/T23EBIFpeor/GhQblIJ3WG2Ry6qKN7G/WubKWTxQ09xBcGo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=H8ne9B/9; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="H8ne9B/9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99CEE1F00AC4 for ; Fri, 31 Jul 2026 20:31:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785529871; bh=yS8RNIIgYjKxdhvNp8TorwPekD/QFVeixdVx0VMVBqk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=H8ne9B/9osMdxyRQ+2V4tMcDGNQjG8kiAwNnQjVo0M3ERyEIDJ04Ze9U0ZPqOZK2D Ctjk+cohEDxRpvPRVRDc2mtvcb37LvHyQ0maceiZkdmX4vcVbw/RMjM/5xmqXRLddQ Mv9QGSFrD8B5XqrkJbtYepKIZ1WMS0/eljcWI+OTFbU+IvYgeVPa/Y4Q8Q2K54PwAn vg1qa4cRHpSF7h+RvW8ycT7T+l/RZ0ROaBXv1+e9vsxPLBhLEPFxKksmD7McV+CHsF DkJa2teE0GZvDVRC8JGPzgall0p/03Ix8hZVl/6fKJdc5ln3cwn6LpeDvbs2yVydj3 dNQUlGLIuOiLQ== Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfauth.phl.internal (Postfix) with ESMTP id C78AFF4007C; Fri, 31 Jul 2026 16:31:10 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Fri, 31 Jul 2026 16:31:10 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTF86Va7Dqpiv0HRB/Rt3CM1ZfwUI8sFdbNEysl2vjWzKGQHPL0vtJNxMWzwq4RCT7 5MXz8yAQaenZ+l6ReNiQBMk90me+gM63MoAJ/OG6881cu1guy8MfcdgMgPRXqCdnOwY3UU Yre4T7XNVpX+hYLj1cR+5sDPDlXBwMgddj0S3Pt9EBEeMQP2C2QxRT89euxxh1RusxuOUE pjdPkRkdvSWh4KDKL7SA/RMgPi4/GzhXt7G4+N2ySbTjJeyTz6zE/2g6iZFhSAe8C+XsYy rTsuNdtrWKoEzpDq2SUPcIxKOwDbQW+j2sU4NoAonSXuB6sJUYCYCWtPGQc2h06l1wGha3 VbqFlrpaSvkUv4cSFs/CIJZekmAwTH7l3kfd4bn136EBs1v7idVNEtI9xOp4t/6dYFYoZj HNOiwWO7BCYFcV86/PgAej8VCrrAn4x35QwnZ5IqN4BBMr28qVpGCj6kJN1xx4dwTLLt7l kFyGCjoNvm+ex0wlejYEREQe+6JPMXlzrlNlFaNFyE5mQoTWk3m4OxcpN0Oag2DIM720KN jP/YnkStKA4tkGWd+eCWSdlduwDEMcYWRoClRGFG2purHU6z0ts5HIiGTGxaiKe4iJY6lR megd0Ra+E6E9h6NTlhpvMgCOjoQcrVUbWV27mPjlI+HhP00RxJSjNfa7zK2w X-ME-Proxy: Feedback-ID: i8dbe485b:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 31 Jul 2026 16:31:10 -0400 (EDT) From: Boqun Feng To: Peter Zijlstra Cc: "Ingo Molnar" , "Will Deacon" , "Boqun Feng" , "Waiman Long" , "Gary Guo" , "Alice Ryhl" , "Lyude Paul" , "Daniel Almeida" , =?UTF-8?q?Onur=20=C3=96zkan?= , "Miguel Ojeda" , "Danilo Krummrich" , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, Philipp Stanner Subject: [PATCH 21/24] rust: sync: Use safe synchronize_rcu() abstraction in poll Date: Fri, 31 Jul 2026 13:30:22 -0700 Message-ID: <20260731203031.13679-22-boqun@kernel.org> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260731203031.13679-1-boqun@kernel.org> References: <20260731203031.13679-1-boqun@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Philipp Stanner We now have a safe wrapper for the foreign function synchronize_rcu(). Use it in poll.rs. Signed-off-by: Philipp Stanner Reviewed-by: Alice Ryhl Reviewed-by: Onur Özkan Reviewed-by: Danilo Krummrich Reviewed-by: Gary Guo Signed-off-by: Boqun Feng Link: https://patch.msgid.link/20260624150704.1504001-5-phasta@kernel.org --- rust/kernel/sync/poll.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rust/kernel/sync/poll.rs b/rust/kernel/sync/poll.rs index 0ec985d560c8..5aa0ce9ba01b 100644 --- a/rust/kernel/sync/poll.rs +++ b/rust/kernel/sync/poll.rs @@ -8,7 +8,11 @@ bindings, fs::File, prelude::*, - sync::{CondVar, LockClassKey}, + sync::{ + rcu::synchronize_rcu, + CondVar, + LockClassKey, // + }, // }; use core::{marker::PhantomData, ops::Deref}; @@ -99,8 +103,6 @@ fn drop(self: Pin<&mut Self>) { unsafe { bindings::__wake_up_pollfree(self.inner.wait_queue_head.get()) }; // Wait for epoll items to be properly removed. - // - // SAFETY: Just an FFI call. - unsafe { bindings::synchronize_rcu() }; + synchronize_rcu(); } } -- 2.50.1 (Apple Git-155)