]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: replace `CStr` with `core::ffi::CStr`
authorTamir Duberstein <tamird@gmail.com>
Sat, 18 Oct 2025 19:16:37 +0000 (15:16 -0400)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 22 Oct 2025 05:47:27 +0000 (07:47 +0200)
commit3b83f5d5e78ac5cddd811a5e431af73959864390
tree79023bc67135a3514c25145d7278b8d090a85eec
parentc5cf01ba8dfe9c0f631ace6f64ec436303783000
rust: replace `CStr` with `core::ffi::CStr`

`kernel::ffi::CStr` was introduced in commit d126d2380131 ("rust: str:
add `CStr` type") in November 2022 as an upstreaming of earlier work
that was done in May 2021[0]. That earlier work, having predated the
inclusion of `CStr` in `core`, largely duplicated the implementation of
`std::ffi::CStr`.

`std::ffi::CStr` was moved to `core::ffi::CStr` in Rust 1.64 in
September 2022. Hence replace `kernel::str::CStr` with `core::ffi::CStr`
to reduce our custom code footprint, and retain needed custom
functionality through an extension trait.

Add `CStr` to `ffi` and the kernel prelude.

Link: https://github.com/Rust-for-Linux/linux/commit/faa3cbcca03d0dec8f8e43f1d8d5c0860d98a23f
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
Link: https://patch.msgid.link/20251018-cstr-core-v18-16-9378a54385f8@gmail.com
[ Removed assert that would now depend on the Rust version. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
13 files changed:
drivers/android/binder/stats.rs
rust/ffi.rs
rust/kernel/debugfs/entry.rs
rust/kernel/device.rs
rust/kernel/drm/ioctl.rs
rust/kernel/error.rs
rust/kernel/firmware.rs
rust/kernel/prelude.rs
rust/kernel/seq_file.rs
rust/kernel/str.rs
rust/kernel/sync/condvar.rs
rust/kernel/sync/lock.rs
rust/kernel/sync/lock/global.rs