Skip to contentSkip to conversation

rust: sync: replace `kernel::c_str!` with C-Strings

PATCH In review Tamir Duberstein 5 participants 9 messages Jan 20 – Jan 28

Subsystems (2)
lore
Share & tools
lore

Tamir Duberstein

author reviewer
#0 lore raw

PATCH 1/1 rust: sync: replace `kernel::c_str!` with C-Strings

C-String literals were added in Rust 1.77. Replace instances of kernel::c_str! with C-String literals where possible.

---
This is the same as my earlier change[0] but applies to additional code[1] which didn't make it to mainline in a timely manner and is now queued for v7.0.

---
 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
rust/kernel/sync.rs +1 -2
index b10e576221ff..993dbf2caa0e 100644
@@ -126,13 +126,12 @@ fn drop(self: Pin<&mut Self>) {
 /// # Examples
 ///
 /// ```
-/// use kernel::c_str;
 /// use kernel::sync::{static_lock_class, Arc, SpinLock};
 ///
 /// fn new_locked_int() -> Result<Arc<SpinLock<u32>>> {
 ///     Arc::pin_init(SpinLock::new(
 ///         42,
-///         c_str!("new_locked_int"),
+///         c"new_locked_int",
 ///         static_lock_class!(),
 ///     ), GFP_KERNEL)
 /// }

---
base-commit: d08c85ac8894995d4b0d8fb48d2f6a3e53cd79ab
change-id: 20260120-cstr-sync-again-5912d7479909

Best regards,

Signature · 1 line
Tamir Duberstein <[email protected]>
maintainer Reviewed-by on v1 1/1
#1 lore raw
Quoted 4 lines · Tamir Duberstein

C-String literals were added in Rust 1.77. Replace instances of kernel::c_str! with C-String literals where possible.

Quoted 10 lines

---
This is the same as my earlier change[0] but applies to additional code[1] which didn't make it to mainline in a timely manner and is now queued for v7.0.

---
 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Reviewed-by on v1 1/1
#2 lore raw
In reply to Tamir Duberstein

[Cc Peter]

Peter, could you take this to into tip/locking/core so that it'll be in the PR of v7.0?

Quoted 4 lines · Tamir Duberstein

C-String literals were added in Rust 1.77. Replace instances of kernel::c_str! with C-String literals where possible.

Regards,
Boqun

Quoted 39 lines

---
This is the same as my earlier change[0] but applies to additional code[1] which didn't make it to mainline in a timely manner and is now queued for v7.0.

---
 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
rust/kernel/sync.rs +1 -3
index b10e576221ff..993dbf2caa0e 100644
@@ -126,13 +126,12 @@ fn drop(self: Pin<&mut Self>) {
 /// # Examples
 ///
 /// ```
-/// use kernel::c_str;
 /// use kernel::sync::{static_lock_class, Arc, SpinLock};
 ///
 /// fn new_locked_int() -> Result<Arc<SpinLock<u32>>> {
 ///     Arc::pin_init(SpinLock::new(
 ///         42,
-///         c_str!("new_locked_int"),
+///         c"new_locked_int",
 ///         static_lock_class!(),
 ///     ), GFP_KERNEL)
 /// }
 
---

base-commit: d08c85ac8894995d4b0d8fb48d2f6a3e53cd79ab
change-id: 20260120-cstr-sync-again-5912d7479909

Best regards,

Signature · 1 line
Tamir Duberstein <[email protected]>
#3 lore raw

[GIT PULL][PATCH 0/1] Fixes for Rust synchronization PR of v7.0

Hi Peter,

Although we chatted about this over IRC, but I figured it might be better for me to just send a fix PR for this, so here is it.

Thanks!

Regards,
Boqun

--------------------------------->8
The following changes since commit ccf9e070116a81d29aae30db501d562c8efd1ed8:

rust: sync: Inline various lock related methods (2026-01-10 10:53:46 +0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-sync-fixes-for-v7.0-pr

for you to fetch changes up to 6583920e15fc567109e1c64ca58c917f52f40736:

rust: sync: Replace kernel::c_str! with C-Strings (2026-01-22 21:36:57 -0800)

----------------------------------------------------------------
Fixes for Rust sync v7.0 PR:

- Remove the usage of c_str!() in the example of static_lock_class!() -----BEGIN PGP SIGNATURE-----

iQFJBAABCAAzFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmlzCUwVHGJvcXVuLmZl bmdAZ21haWwuY29tAAoJEEl56MO1B/q43YYIAIkVv+YTbNpODC5Kfy2F0/XxeHoB MbBSKvma6QR2m1Qx0c09o2NKcEU4ZnoPEi4WDhAs1ftfSyyc1CwE6gBApFirBvIu VzAWcEKJkM16+IiWQDQKPbWssraNmKGw4zeZlXi6q+iry+2r+Hy+6JdikcgCshYn +BYKjrkAh+mkXrQ1F95PfK0tfiT8fIbJCIeroPi9HlCmNlAYx0dP0i3YvF+5nWhB a5rU4TmQDKmCXXwyIqVQeOkK4kMme6wPOOSxjd5g4W/srS9hcmM3mYAASl1omm2X hr/9yyUOxSLUkG9e0x9XIhBkK4YwGS0dLIG6SQCvh//2vX9ek8BzBUvHzE0= =xOu4
-----END PGP SIGNATURE-----

----------------------------------------------------------------
Tamir Duberstein (1):
rust: sync: Replace kernel::c_str! with C-Strings

 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Signature · 1 line
2.50.1 (Apple Git-155)
#4 lore raw

PATCH 1/1 rust: sync: Replace `kernel::c_str!` with C-Strings

From: Tamir Duberstein <[email protected]>

C-String literals were added in Rust 1.77. Replace instances of kernel::c_str! with C-String literals where possible.

---
 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
rust/kernel/sync.rs +1 -2
index b10e576221ff..993dbf2caa0e 100644
@@ -126,13 +126,12 @@ fn drop(self: Pin<&mut Self>) {
 /// # Examples
 ///
 /// ```
-/// use kernel::c_str;
 /// use kernel::sync::{static_lock_class, Arc, SpinLock};
 ///
 /// fn new_locked_int() -> Result<Arc<SpinLock<u32>>> {
 ///     Arc::pin_init(SpinLock::new(
 ///         42,
-///         c_str!("new_locked_int"),
+///         c"new_locked_int",
 ///         static_lock_class!(),
 ///     ), GFP_KERNEL)
 /// }
Signature · 1 line
2.50.1 (Apple Git-155)
#5 lore raw

[tip: locking/core] rust: sync: Replace `kernel::c_str!` with C-Strings

The following commit has been merged into the locking/core branch of tip:

The following commit has been merged into the locking/core branch of tip:

Commit-ID:     e6de07249ef381b674f0d65adf9defcdab76b768
Gitweb:        https://git.kernel.org/tip/e6de07249ef381b674f0d65adf9defcdab76b768
Author:        Tamir Duberstein <[email protected]>
AuthorDate:    Thu, 22 Jan 2026 21:46:24 -08:00
Committer:     Peter Zijlstra <[email protected]>
CommitterDate: Wed, 28 Jan 2026 09:25:44 +01:00

rust: sync: Replace kernel::c_str! with C-Strings

C-String literals were added in Rust 1.77. Replace instances of kernel::c_str! with C-String literals where possible.

---
 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
rust/kernel/sync.rs +1 -2
index b10e576..993dbf2 100644
@@ -126,13 +126,12 @@ impl PinnedDrop for LockClassKey {
 /// # Examples
 ///
 /// ```
-/// use kernel::c_str;
 /// use kernel::sync::{static_lock_class, Arc, SpinLock};
 ///
 /// fn new_locked_int() -> Result<Arc<SpinLock<u32>>> {
 ///     Arc::pin_init(SpinLock::new(
 ///         42,
-///         c_str!("new_locked_int"),
+///         c"new_locked_int",
 ///         static_lock_class!(),
 ///     ), GFP_KERNEL)
 /// }
#6 lore raw

Re: [GIT PULL][PATCH 0/1] Fixes for Rust synchronization PR of v7.0

In reply to Boqun Feng
Quoted 2 lines · Boqun Feng

Hi Peter,

Gentle ping ;-)

Thanks!

Regards,
Boqun

Quoted 47 lines

Although we chatted about this over IRC, but I figured it might be better for me to just send a fix PR for this, so here is it.

Thanks!

Regards,
Boqun

--------------------------------->8
The following changes since commit ccf9e070116a81d29aae30db501d562c8efd1ed8:

rust: sync: Inline various lock related methods (2026-01-10 10:53:46 +0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-sync-fixes-for-v7.0-pr

for you to fetch changes up to 6583920e15fc567109e1c64ca58c917f52f40736:

rust: sync: Replace kernel::c_str! with C-Strings (2026-01-22 21:36:57 -0800)

----------------------------------------------------------------
Fixes for Rust sync v7.0 PR:

- Remove the usage of c_str!() in the example of static_lock_class!() -----BEGIN PGP SIGNATURE-----

iQFJBAABCAAzFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmlzCUwVHGJvcXVuLmZl bmdAZ21haWwuY29tAAoJEEl56MO1B/q43YYIAIkVv+YTbNpODC5Kfy2F0/XxeHoB MbBSKvma6QR2m1Qx0c09o2NKcEU4ZnoPEi4WDhAs1ftfSyyc1CwE6gBApFirBvIu VzAWcEKJkM16+IiWQDQKPbWssraNmKGw4zeZlXi6q+iry+2r+Hy+6JdikcgCshYn +BYKjrkAh+mkXrQ1F95PfK0tfiT8fIbJCIeroPi9HlCmNlAYx0dP0i3YvF+5nWhB a5rU4TmQDKmCXXwyIqVQeOkK4kMme6wPOOSxjd5g4W/srS9hcmM3mYAASl1omm2X hr/9yyUOxSLUkG9e0x9XIhBkK4YwGS0dLIG6SQCvh//2vX9ek8BzBUvHzE0= =xOu4
-----END PGP SIGNATURE-----

----------------------------------------------------------------
Tamir Duberstein (1):
rust: sync: Replace kernel::c_str! with C-Strings

 rust/kernel/sync.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Signature · 1 line
2.50.1 (Apple Git-155)
#7 lore raw

Re: [GIT PULL][PATCH 0/1] Fixes for Rust synchronization PR of v7.0

In reply to Boqun Feng
Quoted 19 lines · Boqun Feng

Hi Peter,

Although we chatted about this over IRC, but I figured it might be better for me to just send a fix PR for this, so here is it.

Thanks!

Regards,
Boqun

--------------------------------->8
The following changes since commit ccf9e070116a81d29aae30db501d562c8efd1ed8:

rust: sync: Inline various lock related methods (2026-01-10 10:53:46 +0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-sync-fixes-for-v7.0-pr

Quoted 8 lines

for you to fetch changes up to 6583920e15fc567109e1c64ca58c917f52f40736:

rust: sync: Replace kernel::c_str! with C-Strings (2026-01-22 21:36:57 -0800)

----------------------------------------------------------------
Fixes for Rust sync v7.0 PR:

- Remove the usage of c_str!() in the example of static_lock_class!()

So I'm notoriously bad at keeping track of version numbers; but I'm thinking you want this in tip/locking/urgent, right? Thing is, it doesn't apply :/

#8 lore raw

Re: [GIT PULL][PATCH 0/1] Fixes for Rust synchronization PR of v7.0

Quoted 24 lines · Peter Zijlstra
Quoted 23 lines · Boqun Feng

Hi Peter,

Although we chatted about this over IRC, but I figured it might be better for me to just send a fix PR for this, so here is it.

Thanks!

Regards,
Boqun

--------------------------------->8
The following changes since commit ccf9e070116a81d29aae30db501d562c8efd1ed8:

rust: sync: Inline various lock related methods (2026-01-10 10:53:46 +0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-sync-fixes-for-v7.0-pr

for you to fetch changes up to 6583920e15fc567109e1c64ca58c917f52f40736:

rust: sync: Replace kernel::c_str! with C-Strings (2026-01-22 21:36:57 -0800)

Quoted 7 lines
Quoted 4 lines

----------------------------------------------------------------
Fixes for Rust sync v7.0 PR:

- Remove the usage of c_str!() in the example of static_lock_class!()

So I'm notoriously bad at keeping track of version numbers; but I'm thinking you want this in tip/locking/urgent, right? Thing is, it

No, it's targeting tip/locking/core, it's a fix to the PR that is going into v7.0. Or I guess I could just say it's a "part 2" for the PR to reduce ambiguity?

Regards,
Boqun

Quoted 1 line

doesn't apply :/