Re: [PATCH v6] rust: add global lock support

From: Boqun Feng
Date: Mon Oct 28 2024 - 13:50:07 EST


On Wed, Oct 23, 2024 at 01:23:18PM +0000, Alice Ryhl wrote:
> 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@xxxxxxxxxx/#Z31drivers:android:context.rs [1]
> Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>

Reviewed-by: Boqun Feng <boqun.feng@xxxxxxxxx>

In addition, I've also queued it in my lockdep-for-tip branch:

https://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git/log/?h=lockdep-for-tip

as I want to help route Rust lock-related patches into tip, so this is
a practice round for me ;-)

Miguel, feel free to take it via rust-next with my Reviewed-by, I will
drop it from my branch once if I see it shows up in v6.13-rc1.

Regards,
Boqun

> ---
> This patch is based on top of rust-next as it depends on:
> https://lore.kernel.org/r/BL0PR02MB4914579914884B5D7473B3D6E96A2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> ---
[...]