mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
8eea62ff94
Add support for creating global variables that are wrapped in a mutex or spinlock. The implementation here is intended to replace the global mutex workaround found in the Rust Binder RFC [1]. In both cases, the global lock must be initialized before first use. The macro is unsafe to use for the same reason. The separate initialization step is required because it is tricky to access the value of __ARCH_SPIN_LOCK_UNLOCKED from Rust. Doing so will require changes to the C side. That change will happen as a follow-up to this patch. Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-2-08ba9197f637@google.com/#Z31drivers:android:context.rs [1] Signed-off-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Link: https://lore.kernel.org/r/20241023-static-mutex-v6-1-d7efdadcc84f@google.com [ Simplified a few intra-doc links. Formatted a few comments. Reworded title. - Miguel ] Signed-off-by: Miguel Ojeda <ojeda@kernel.org> |
||
---|---|---|
.. | ||
alloc | ||
block | ||
init | ||
list | ||
net | ||
sync | ||
alloc.rs | ||
block.rs | ||
build_assert.rs | ||
device.rs | ||
error.rs | ||
firmware.rs | ||
init.rs | ||
ioctl.rs | ||
kunit.rs | ||
lib.rs | ||
list.rs | ||
net.rs | ||
page.rs | ||
prelude.rs | ||
print.rs | ||
rbtree.rs | ||
sizes.rs | ||
static_assert.rs | ||
std_vendor.rs | ||
str.rs | ||
sync.rs | ||
task.rs | ||
time.rs | ||
transmute.rs | ||
types.rs | ||
uaccess.rs | ||
workqueue.rs |