Skip to content

Replace kernel::str::CStr by core::ffi::CStr #1075

Open
@y86-dev

Description

@y86-dev

std::ffi::CStr was moved to core::ffi::CStr in rust 1.64, making it available to the kernel. We have our own version of CStr in kernel::str, since the standard library one wasn't available. Rust 1.77 also added C-string literals c"abc" that automatically terminate strings with \0. The kernel has a c_str! macro for this purpose. We should use the types from the standard library and remove our own versions. The things to do would be

  • change uses of kernel::str::CStr to core::ffi::CStr and also change c_str!("...") into c"..."
  • remove kernel::str::CStr and the macro

This requires submitting a proper patch to the LKML and the Rust for Linux mailing list. Please recall to test your changes, to use a proper title for the commit, to sign your commit under the Developer's Certificate of Origin and so on. Please see https://docs.kernel.org/process/submitting-patches.html and https://rust-for-linux.com/contributing for details.

Please take this issue only if you are new to the kernel development process and you would like to use it as a test to submit your first patch to the kernel. Please do not take it if you do not plan to make other contributions to the kernel.

Metadata

Metadata

Assignees

Labels

good first issueGood for newcomersmediumExpected to be an issue of medium difficulty to resolve.• libRelated to the `rust/` library.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions