mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 07:03:28 -04:00
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:
committed by
Boqun Feng
parent
1fb92e0625
commit
042278f5fa
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user