rust: revocable: Use safe synchronize_rcu() abstraction

We now have a safe wrapper for the foreign function synchronize_rcu().

Use it in revocable.rs.

Signed-off-by: Philipp Stanner <phasta@kernel.org>
Reviewed-by: Onur Özkan <work@onurozkan.dev>
Reviewed-by: Danilo Krummrich <dakr@kernel.org>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Boqun Feng <boqun@kernel.org>
Link: https://patch.msgid.link/20260624150704.1504001-4-phasta@kernel.org
This commit is contained in:
Philipp Stanner
2026-06-24 17:07:03 +02:00
committed by Boqun Feng
parent 1fb92e0625
commit 042278f5fa

View File

@@ -7,7 +7,11 @@
use pin_init::Wrapper;
use crate::{bindings, prelude::*, sync::rcu, types::Opaque};
use crate::{
prelude::*,
sync::rcu,
types::Opaque, //
};
use core::{
marker::PhantomData,
ops::Deref,
@@ -161,8 +165,7 @@ unsafe fn revoke_internal<const SYNC: bool>(&self) -> bool {
if revoke {
if SYNC {
// SAFETY: Just an FFI call, there are no further requirements.
unsafe { bindings::synchronize_rcu() };
rcu::synchronize_rcu();
}
// SAFETY: We know `self.data` is valid because only one CPU can succeed the