From nobody Sun Dec 14 06:15:46 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8267B329362; Thu, 13 Nov 2025 22:58:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074718; cv=none; b=tjImUlON3XYOnrxRBCP7m6PLRgNsJQYnzDeMlvniRLzcU+V/TSeAjDYWfN8d8lK8QcBfwpc/rwLc0GWWf80k9O5WBEqGyHWKFg+wjGiRfLOLH13iKq+adjpmrtzJ7mMRLhEvDX82366IlLmot3/1zzuY6gKFwBYVFheftRPx3r4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074718; c=relaxed/simple; bh=HBb0BE/CmfrNz8JEu1arFu71La4LfBFUUZFMR0rFz9I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DGN7dTl0ap/MI0Xnr9qwAO6XGCKICyACwt5dEmBHHwNo5k2XIdVf80GO80OQULWQpLEluvFSHOnZCocLeWtAHEG7DomGSxSHyrOfKB0iR+t6Ljxo1d0IFCBRxzTL+/neYaVP4gCPtd97StIlOlHVzt6QwUXi7i2hUpRvo/csuXw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ci2M8YlR; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ci2M8YlR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 296EAC4CEF5; Thu, 13 Nov 2025 22:58:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763074718; bh=HBb0BE/CmfrNz8JEu1arFu71La4LfBFUUZFMR0rFz9I=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ci2M8YlR//71Ag+ahXIUE3oGxeqLs+4XElLvtWFWv9nzU050mn24NoRtISOfb8DCu 43lCDcokruh33enC9ir+d1cJpmsoXsTWn3dDVHxC8Meoj8rInSTTCwNPC8m23n7K9A dLJ94JWrMTrYhG/z+HQCtAcC7VUW2x1VanRgv7VVLk6y8EQg5OBb73OhFlRzRRCTRT dNcVBH2Xnhc8Vr0cmxUst3EdyTYxDZ9U/H24XtBfot51MlLjXw49tGZ9oQgQZoX3uU X3b5qBMQ6NG4YzTuy3tOrTxgRzUoeXQrU3CmxQta72c1UZvWRxXuj/DHggzWxLRdYk T1JyFOyZ6XT1A== From: Tamir Duberstein Date: Thu, 13 Nov 2025 17:58:24 -0500 Subject: [PATCH v3 1/6] rust: firmware: replace `kernel::c_str!` with C-Strings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251113-core-cstr-cstrings-v3-1-411b34002774@gmail.com> References: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> In-Reply-To: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> To: Luis Chamberlain , Russ Weight , Danilo Krummrich , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , FUJITA Tomonori Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Tamir Duberstein , Greg Kroah-Hartman X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openssh-sha256; t=1763074712; l=1629; i=tamird@gmail.com; h=from:subject:message-id; bh=4dgd5s5cItkGKitaXqCnLjiqgIDU68VUxn2FkB76slk=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtYz36g7iDMSkY5K7Ab51ksGX7hJgs MRt+XVZTrIzMVIAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QAX5YlrubLyTMDqJGWSi2UrRWygI9h86eTz2GXO0nk0VW2JBnnnHCxQNCEpjRV9a3kAs8a5dN6T 6SkMjeu2y+ws= X-Developer-Key: i=tamird@gmail.com; a=openssh; fpr=SHA256:264rPmnnrb+ERkS7DDS3tuwqcJss/zevJRzoylqMsbc From: Tamir Duberstein C-String literals were added in Rust 1.77. Replace instances of `kernel::c_str!` with C-String literals where possible. Acked-by: Greg Kroah-Hartman Reviewed-by: Alice Ryhl Reviewed-by: Benno Lossin Acked-by: Danilo Krummrich Signed-off-by: Tamir Duberstein --- rust/kernel/firmware.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rust/kernel/firmware.rs b/rust/kernel/firmware.rs index 376e7e77453f..71168d8004e2 100644 --- a/rust/kernel/firmware.rs +++ b/rust/kernel/firmware.rs @@ -51,13 +51,13 @@ fn request_nowarn() -> Self { /// # Examples /// /// ```no_run -/// # use kernel::{c_str, device::Device, firmware::Firmware}; +/// # use kernel::{device::Device, firmware::Firmware}; /// /// # fn no_run() -> Result<(), Error> { /// # // SAFETY: *NOT* safe, just for the example to get an `ARef`= instance /// # let dev =3D unsafe { Device::get_device(core::ptr::null_mut()) }; /// -/// let fw =3D Firmware::request(c_str!("path/to/firmware.bin"), &dev)?; +/// let fw =3D Firmware::request(c"path/to/firmware.bin", &dev)?; /// let blob =3D fw.data(); /// /// # Ok(()) @@ -204,7 +204,7 @@ macro_rules! module_firmware { ($($builder:tt)*) =3D> { const _: () =3D { const __MODULE_FIRMWARE_PREFIX: &'static $crate::str::CStr =3D= if cfg!(MODULE) { - $crate::c_str!("") + c"" } else { ::NAME }; --=20 2.51.2 From nobody Sun Dec 14 06:15:46 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BBF41326D74; Thu, 13 Nov 2025 22:58:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074720; cv=none; b=LyN8eC8f4/q6fuLNY4WJdPytXF2eWQvf0QtD5mcjU1a2affEZTCPh+YJWzrU+oIgrDL8LAtBZYVjd+UDwiGA1hyvrB8hOOdjPJfSSO5QWUUR8xIWz8AfFdJpz6SkUQS1EWS6ETyfgOyVZ3ANGKE/m7Atw7el3ifFebtLFbwTpD4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074720; c=relaxed/simple; bh=L478KaUd0Ot1CfjMXE50G5ugMncb3+czlC4iQTj36Nw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mnKoJ2aEjXBiKjBPpeqa45FAXZwGlE5iHmfS//9a/OsY+nW3wQMx8e1EPXseASgoSVba5BaM6sjc69tfxob0g+mweWL0Bj9/rCAODdAjmF8yU4vmtrnP2a9VsTkyCJ/RmoZi0yuhExg5J4LLuuZg4efhJwRkOUNO1WoDigc3Fuo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SmPKwgeg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SmPKwgeg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4C86AC19424; Thu, 13 Nov 2025 22:58:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763074720; bh=L478KaUd0Ot1CfjMXE50G5ugMncb3+czlC4iQTj36Nw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=SmPKwgegWgdYdQUmSi5HTEpo3jURr2O5yblEgoUaWcMMQHN/pmXyLTtVsu6KpUgZr vcyfbml8kW5+2IZhXpmnlpRUuGcoHFsAyAp49sLtvM5f5Nosl0M5qo/WPJ8UdykCrJ gwhzOqhjKFXFkHj6DZ0IVuzUtlzT4R67oeZDL/a8HkovNs1EF5pKEd+FX0dgIj+05i NcBr9H28u44Xjp9h+j7Lyoie8DV48tIdG8yIPoIVv5phO4zRWULfxYMwwW0WCTq89d v1hty0Jv760BIOHFewKhtxHbINhjSNmKuro/182AR/hYR2JMjPBKkqG5jXSUWlc3VU J9pZqWbjPjlMw== From: Tamir Duberstein Date: Thu, 13 Nov 2025 17:58:25 -0500 Subject: [PATCH v3 2/6] rust: net: replace `kernel::c_str!` with C-Strings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251113-core-cstr-cstrings-v3-2-411b34002774@gmail.com> References: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> In-Reply-To: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> To: Luis Chamberlain , Russ Weight , Danilo Krummrich , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , FUJITA Tomonori Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Tamir Duberstein , Greg Kroah-Hartman X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openssh-sha256; t=1763074713; l=1712; i=tamird@gmail.com; h=from:subject:message-id; bh=aSWd3FABCzlm4GeQ0LS5TjXQD0VOYCr8DP5mFLTZSyg=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtYz36g7iDMSkY5K7Ab51ksGX7hJgs MRt+XVZTrIzMVIAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QJlFwX4ang7kg64uHGpfyl6rbW0aUYQqEbb1ab+eVuuwuBLNdbrT2BbjovtuI/ftFNmbUzCS8oI P9puVEri04wQ= X-Developer-Key: i=tamird@gmail.com; a=openssh; fpr=SHA256:264rPmnnrb+ERkS7DDS3tuwqcJss/zevJRzoylqMsbc From: Tamir Duberstein C-String literals were added in Rust 1.77. Replace instances of `kernel::c_str!` with C-String literals where possible. Acked-by: Greg Kroah-Hartman Reviewed-by: Alice Ryhl Reviewed-by: Benno Lossin Signed-off-by: Tamir Duberstein --- rust/kernel/net/phy.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rust/kernel/net/phy.rs b/rust/kernel/net/phy.rs index bf6272d87a7b..3ca99db5cccf 100644 --- a/rust/kernel/net/phy.rs +++ b/rust/kernel/net/phy.rs @@ -777,7 +777,6 @@ const fn as_int(&self) -> u32 { /// /// ``` /// # mod module_phy_driver_sample { -/// use kernel::c_str; /// use kernel::net::phy::{self, DeviceId}; /// use kernel::prelude::*; /// @@ -796,7 +795,7 @@ const fn as_int(&self) -> u32 { /// /// #[vtable] /// impl phy::Driver for PhySample { -/// const NAME: &'static CStr =3D c_str!("PhySample"); +/// const NAME: &'static CStr =3D c"PhySample"; /// const PHY_DEVICE_ID: phy::DeviceId =3D phy::DeviceId::new_with_exa= ct_mask(0x00000001); /// } /// # } @@ -805,7 +804,6 @@ const fn as_int(&self) -> u32 { /// This expands to the following code: /// /// ```ignore -/// use kernel::c_str; /// use kernel::net::phy::{self, DeviceId}; /// use kernel::prelude::*; /// @@ -825,7 +823,7 @@ const fn as_int(&self) -> u32 { /// /// #[vtable] /// impl phy::Driver for PhySample { -/// const NAME: &'static CStr =3D c_str!("PhySample"); +/// const NAME: &'static CStr =3D c"PhySample"; /// const PHY_DEVICE_ID: phy::DeviceId =3D phy::DeviceId::new_with_exa= ct_mask(0x00000001); /// } /// --=20 2.51.2 From nobody Sun Dec 14 06:15:46 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F320B329E79; Thu, 13 Nov 2025 22:58:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074723; cv=none; b=N2rtYEGD2aBJxQDl3V9X29Mmz5ozY1ahfg8H65cEGhsHPqa5C0XcEkHuNxWLUvWui1J17tsrnqIaF4VQ0+ffEbQVO+co+YC9YSsWit0n9djTsjXANAFIBlA7zOY7e5+9h9vDX4h5MvH7RQR3Zgra7KCokbFyVjj0gGWnmSDD36g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074723; c=relaxed/simple; bh=wNgVJztppGc9jsSDbpXX0JjPiSJcQez98As/TMoZ7fA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XukX2LNWG1FFpjsC28+vVXZfAuMobnnjvw2WIsMvvrC+2Pr3HlnpDniMi93zvMycD07LIOU7YM/RgQAOEK+GFOaV7YihLjw0cz99qxuvHiobEme48On/5ek5bAF8cl3L/Ca7iC/9ebU/D6SgYOzn/46XQzBR3MCaQP3ERTbN8ZE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XYzg0xTk; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XYzg0xTk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86666C19422; Thu, 13 Nov 2025 22:58:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763074722; bh=wNgVJztppGc9jsSDbpXX0JjPiSJcQez98As/TMoZ7fA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=XYzg0xTkKOebZoutoQXZzOf6NK+w1Tfm9gQFNfwF/7MQ86+G3V5W9PmyPSiAWVqhn gekVKZXfd8uI4Er49nXEkKiRFVV/lOpYwL+CZHGFclqDgjBzv8rkQ1V8N+dc7BxeVG 7/fsuUMI7JW/4/9/mmrQC+4NXMWXHuorb4fAe1zv8ca3z/kRmjZgSH7CkMudoIDutQ gk17yoaeR2EDDYISe0SKFfo9N9I53gzKlw7OJkX/iFfwndn6+D+rNHYsYPZxRdEVsM Q2xIZyXbX0niENt+uBy4GY6kDOBtUf7Si8THdzwMz5kNE6iMmZpdLuGjUZIwr/9kN0 dJgcSfPsl6QaA== From: Tamir Duberstein Date: Thu, 13 Nov 2025 17:58:26 -0500 Subject: [PATCH v3 3/6] rust: str: replace `kernel::c_str!` with C-Strings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251113-core-cstr-cstrings-v3-3-411b34002774@gmail.com> References: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> In-Reply-To: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> To: Luis Chamberlain , Russ Weight , Danilo Krummrich , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , FUJITA Tomonori Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Tamir Duberstein , Greg Kroah-Hartman X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openssh-sha256; t=1763074713; l=4451; i=tamird@gmail.com; h=from:subject:message-id; bh=Ukd0njOQK0YeRaX+6ny1eCFNL6/PLRj05aBc864+wkI=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtYz36g7iDMSkY5K7Ab51ksGX7hJgs MRt+XVZTrIzMVIAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QP3NktaLpYLdhVCDSUsvmYf6/vFA7p+IHeQLM8KuYbmJLiZo7+afH3Ol/+90TmBKJLNZO0sLz6D xMB2PhRagWAY= X-Developer-Key: i=tamird@gmail.com; a=openssh; fpr=SHA256:264rPmnnrb+ERkS7DDS3tuwqcJss/zevJRzoylqMsbc From: Tamir Duberstein C-String literals were added in Rust 1.77. Replace instances of `kernel::c_str!` with C-String literals where possible. Acked-by: Greg Kroah-Hartman Reviewed-by: Alice Ryhl Reviewed-by: Benno Lossin Signed-off-by: Tamir Duberstein --- rust/kernel/str.rs | 57 +++++++++++++++++++++++++++-----------------------= ---- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/rust/kernel/str.rs b/rust/kernel/str.rs index 7593d758fbb7..4d3f46885300 100644 --- a/rust/kernel/str.rs +++ b/rust/kernel/str.rs @@ -277,15 +277,14 @@ impl fmt::Display for CStr { /// Formats printable ASCII characters, escaping the rest. /// /// ``` - /// # use kernel::c_str; /// # use kernel::prelude::fmt; /// # use kernel::str::CStr; /// # use kernel::str::CString; - /// let penguin =3D c_str!("=F0=9F=90=A7"); + /// let penguin =3D c"=F0=9F=90=A7"; /// let s =3D CString::try_from_fmt(fmt!("{penguin}"))?; /// assert_eq!(s.to_bytes_with_nul(), "\\xf0\\x9f\\x90\\xa7\0".as_byte= s()); /// - /// let ascii =3D c_str!("so \"cool\""); + /// let ascii =3D c"so \"cool\""; /// let s =3D CString::try_from_fmt(fmt!("{ascii}"))?; /// assert_eq!(s.to_bytes_with_nul(), "so \"cool\"\0".as_bytes()); /// # Ok::<(), kernel::error::Error>(()) @@ -727,40 +726,40 @@ unsafe fn kstrtobool_raw(string: *const u8) -> Result= { /// # use kernel::{c_str, str::kstrtobool}; /// /// // Lowercase -/// assert_eq!(kstrtobool(c_str!("true")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("tr")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("t")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("twrong")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("false")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("f")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("yes")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("no")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("on")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("off")), Ok(false)); +/// assert_eq!(kstrtobool(c"true"), Ok(true)); +/// assert_eq!(kstrtobool(c"tr"), Ok(true)); +/// assert_eq!(kstrtobool(c"t"), Ok(true)); +/// assert_eq!(kstrtobool(c"twrong"), Ok(true)); +/// assert_eq!(kstrtobool(c"false"), Ok(false)); +/// assert_eq!(kstrtobool(c"f"), Ok(false)); +/// assert_eq!(kstrtobool(c"yes"), Ok(true)); +/// assert_eq!(kstrtobool(c"no"), Ok(false)); +/// assert_eq!(kstrtobool(c"on"), Ok(true)); +/// assert_eq!(kstrtobool(c"off"), Ok(false)); /// /// // Camel case -/// assert_eq!(kstrtobool(c_str!("True")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("False")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("Yes")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("No")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("On")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("Off")), Ok(false)); +/// assert_eq!(kstrtobool(c"True"), Ok(true)); +/// assert_eq!(kstrtobool(c"False"), Ok(false)); +/// assert_eq!(kstrtobool(c"Yes"), Ok(true)); +/// assert_eq!(kstrtobool(c"No"), Ok(false)); +/// assert_eq!(kstrtobool(c"On"), Ok(true)); +/// assert_eq!(kstrtobool(c"Off"), Ok(false)); /// /// // All caps -/// assert_eq!(kstrtobool(c_str!("TRUE")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("FALSE")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("YES")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("NO")), Ok(false)); -/// assert_eq!(kstrtobool(c_str!("ON")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("OFF")), Ok(false)); +/// assert_eq!(kstrtobool(c"TRUE"), Ok(true)); +/// assert_eq!(kstrtobool(c"FALSE"), Ok(false)); +/// assert_eq!(kstrtobool(c"YES"), Ok(true)); +/// assert_eq!(kstrtobool(c"NO"), Ok(false)); +/// assert_eq!(kstrtobool(c"ON"), Ok(true)); +/// assert_eq!(kstrtobool(c"OFF"), Ok(false)); /// /// // Numeric -/// assert_eq!(kstrtobool(c_str!("1")), Ok(true)); -/// assert_eq!(kstrtobool(c_str!("0")), Ok(false)); +/// assert_eq!(kstrtobool(c"1"), Ok(true)); +/// assert_eq!(kstrtobool(c"0"), Ok(false)); /// /// // Invalid input -/// assert_eq!(kstrtobool(c_str!("invalid")), Err(EINVAL)); -/// assert_eq!(kstrtobool(c_str!("2")), Err(EINVAL)); +/// assert_eq!(kstrtobool(c"invalid"), Err(EINVAL)); +/// assert_eq!(kstrtobool(c"2"), Err(EINVAL)); /// ``` pub fn kstrtobool(string: &CStr) -> Result { // SAFETY: --=20 2.51.2 From nobody Sun Dec 14 06:15:46 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DF0532ABC4; Thu, 13 Nov 2025 22:58:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074725; cv=none; b=maK2NIR2/VKwWlvt3tYA7b4OPOd+DqEnIvMCiStSG9Bg2rk8XVgil8I+xLRlvF9YvDhv+M3iu655kJ6i3i297PDaY36xlNfSP9EJLpmHfAzoOihu+6pd+nWjn1QS7onTNLIkLwJd3qEOPp8Ytoi77C07JignjFbeDN7EJ0IxsB0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074725; c=relaxed/simple; bh=TDbQC3cz/P7H8urLElCL5pCqJC7qpQOo/p+U98dOcyE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tHu87Qj7Y+dKqcKbAI/Nmh4oOQOk3Fky/zKU3iOm58efjnsKAv6aAsXqPpP7OeYagAtRg1IVufcgrKpjH5DeHP2PffHsa0yyzuVYv/ppuT1ma1aL9xE4HL4XMslzJ6OY2xmhuwUwqpgpS7a000FHFvbezzP85PAzP2a1yO6L+8Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bjM8LgMs; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bjM8LgMs" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B1301C2BC87; Thu, 13 Nov 2025 22:58:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763074724; bh=TDbQC3cz/P7H8urLElCL5pCqJC7qpQOo/p+U98dOcyE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bjM8LgMsh1kZcJO8qk0xMTrSQWVxDNKQxd3opTxRf9entqE0/6vccqIs9sQU+QYUA dzkTdU2gpjDETOvG5HC7eGsEmR632d783vb6DzR8pJ2li2CbwGvNVJ4WQYBSe6ffBC 8o6PJV7BnImRZisrOtFBQ+HN3/j265ZTcEV/MdNhDQLbMVjUQJziXN8FuxZIGdykBA NcDyAjzPy7uK8QyGoNXXUDYQuNsPHd0JdujLvcM3U+i0n+L44mkoMmGNBeXYt28Jvj 5meFk8CwFPtIHSTt0Oy1X9bkVFHOFLPWSeQLlGyD7xOnC8qUHMnlcMXFcRVR9Rhq51 7GKV6e9pZ/cAw== From: Tamir Duberstein Date: Thu, 13 Nov 2025 17:58:27 -0500 Subject: [PATCH v3 4/6] rust: sync: replace `kernel::c_str!` with C-Strings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251113-core-cstr-cstrings-v3-4-411b34002774@gmail.com> References: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> In-Reply-To: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> To: Luis Chamberlain , Russ Weight , Danilo Krummrich , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , FUJITA Tomonori Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Tamir Duberstein , Greg Kroah-Hartman X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openssh-sha256; t=1763074713; l=2102; i=tamird@gmail.com; h=from:subject:message-id; bh=jyXJ3mjACJTGdEHDpcd5bnph32X3ATnuiA+Suya9qvw=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtYz36g7iDMSkY5K7Ab51ksGX7hJgs MRt+XVZTrIzMVIAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QD0Pz9FRM76NV97+HgJeK/XQhA/D3DbQhAPYmpH0NVZfHVUMQ41CWlTz+X+SN8rO9cgnxaVmFbw 44FNPtQfP7gE= X-Developer-Key: i=tamird@gmail.com; a=openssh; fpr=SHA256:264rPmnnrb+ERkS7DDS3tuwqcJss/zevJRzoylqMsbc From: Tamir Duberstein C-String literals were added in Rust 1.77. Replace instances of `kernel::c_str!` with C-String literals where possible. Acked-by: Greg Kroah-Hartman Reviewed-by: Alice Ryhl Reviewed-by: Benno Lossin Signed-off-by: Tamir Duberstein --- rust/kernel/sync.rs | 5 ++--- rust/kernel/sync/completion.rs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/rust/kernel/sync.rs b/rust/kernel/sync.rs index cf5b638a097d..4e503036e123 100644 --- a/rust/kernel/sync.rs +++ b/rust/kernel/sync.rs @@ -48,7 +48,6 @@ impl LockClassKey { /// /// # Examples /// ``` - /// # use kernel::c_str; /// # use kernel::alloc::KBox; /// # use kernel::types::ForeignOwnable; /// # use kernel::sync::{LockClassKey, SpinLock}; @@ -60,7 +59,7 @@ impl LockClassKey { /// { /// stack_pin_init!(let num: SpinLock =3D SpinLock::new( /// 0, - /// c_str!("my_spinlock"), + /// c"my_spinlock", /// // SAFETY: `key_ptr` is returned by the above `into_foreig= n()`, whose /// // `from_foreign()` has not yet been called. /// unsafe { > as ForeignOwnable>::borr= ow(key_ptr) } @@ -119,6 +118,6 @@ macro_rules! optional_name { $crate::c_str!(::core::concat!(::core::file!(), ":", ::core::line!= ())) }; ($name:literal) =3D> { - $crate::c_str!($name) + $name }; } diff --git a/rust/kernel/sync/completion.rs b/rust/kernel/sync/completion.rs index c50012a940a3..97d39c248793 100644 --- a/rust/kernel/sync/completion.rs +++ b/rust/kernel/sync/completion.rs @@ -34,7 +34,7 @@ /// impl MyTask { /// fn new() -> Result> { /// let this =3D Arc::pin_init(pin_init!(MyTask { -/// work <- new_work!("MyTask::work"), +/// work <- new_work!(c"MyTask::work"), /// done <- Completion::new(), /// }), GFP_KERNEL)?; /// --=20 2.51.2 From nobody Sun Dec 14 06:15:46 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FDB932C33E; Thu, 13 Nov 2025 22:58:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074727; cv=none; b=Zlwjpcie6Qg8GewvVwzseI80DgF/U7/XIu2ZgC1jt7DGTUDtAdZzDnd2gpzY82tC0ZFUCQKd99deNnN1TgAtP5+LU9fcAITiQoyrmmdJ7sE/A1903zbYUhiZnkLPXMVP5NtqGP0z/I4xLFtFiBpe7YClyo2Q2h86OQaEd9g8Hcs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074727; c=relaxed/simple; bh=IG5415WlYj27eGFCc1Qov/SUbUZaQuNVdXpSkaURsBU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GPdvIYVk723Y781bHDaikT8me5EreAPn7BndpLZhMeBCgaV+f8QgV1VA60ZvwyYYjxdUPlUitgCFswp/Zx4VFWKCsqm3OvLio5oQ6QgNQdLL19nISlga5h31oZ2wv919ElvsSWRjXTGcp4E9RrKD0iZt7RmG4Z6tTVHEV3h1nag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Onwb+Sd1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Onwb+Sd1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7ECDC19424; Thu, 13 Nov 2025 22:58:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763074726; bh=IG5415WlYj27eGFCc1Qov/SUbUZaQuNVdXpSkaURsBU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Onwb+Sd1p2eBcTfzXTeavR9voPMjb5oi40NYelawiwaWEmzVQl60M7Q34fHJPZhV/ KRDSVfr/MEBkiDH5qmXTFaAyslMgWzZsJ4NGF0HouWDvxDBgRU27nwHuQDzrJWYzTk lPvfC73UOXO1ZJw4chupN3ZLIBm7wLrJqy7jJUMzAeaJYGCRwYT+qBQwlZna2sh1+9 fDDUEYWSV6dCmrzwCxp94GP2OFc11ECKC6MU9xoEzD25iQP6zfL8C9Myk7BzLcoMXp ntj8ZQ/3x2DLx0h6sZAbYzIzF3Rm22b5KzpkNg7S2UKypP3kxc88AbV+0+tcgGIVAt LbHTJEMahstiA== From: Tamir Duberstein Date: Thu, 13 Nov 2025 17:58:28 -0500 Subject: [PATCH v3 5/6] rust: workqueue: replace `kernel::c_str!` with C-Strings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251113-core-cstr-cstrings-v3-5-411b34002774@gmail.com> References: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> In-Reply-To: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> To: Luis Chamberlain , Russ Weight , Danilo Krummrich , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , FUJITA Tomonori Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Tamir Duberstein , Greg Kroah-Hartman X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openssh-sha256; t=1763074713; l=1654; i=tamird@gmail.com; h=from:subject:message-id; bh=5mcnlOdX5skxvzJeMU8gi38lmb4RChkLNrj1vkN6HFg=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtYz36g7iDMSkY5K7Ab51ksGX7hJgs MRt+XVZTrIzMVIAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QDqaCQq0XDGYeRSTELtgb3YdPIWn/CQSW9NuU/UsbUeSWHCzn1Vd4WrSEBIVtn9rgrsRHh+0Mce GHhiWG4OO4ww= X-Developer-Key: i=tamird@gmail.com; a=openssh; fpr=SHA256:264rPmnnrb+ERkS7DDS3tuwqcJss/zevJRzoylqMsbc From: Tamir Duberstein C-String literals were added in Rust 1.77. Replace instances of `kernel::c_str!` with C-String literals where possible. Acked-by: Greg Kroah-Hartman Reviewed-by: Alice Ryhl Reviewed-by: Benno Lossin Signed-off-by: Tamir Duberstein --- rust/kernel/workqueue.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust/kernel/workqueue.rs b/rust/kernel/workqueue.rs index 706e833e9702..6dd47095455f 100644 --- a/rust/kernel/workqueue.rs +++ b/rust/kernel/workqueue.rs @@ -51,7 +51,7 @@ //! fn new(value: i32) -> Result> { //! Arc::pin_init(pin_init!(MyStruct { //! value, -//! work <- new_work!("MyStruct::work"), +//! work <- new_work!(c"MyStruct::work"), //! }), GFP_KERNEL) //! } //! } @@ -98,8 +98,8 @@ //! Arc::pin_init(pin_init!(MyStruct { //! value_1, //! value_2, -//! work_1 <- new_work!("MyStruct::work_1"), -//! work_2 <- new_work!("MyStruct::work_2"), +//! work_1 <- new_work!(c"MyStruct::work_1"), +//! work_2 <- new_work!(c"MyStruct::work_2"), //! }), GFP_KERNEL) //! } //! } @@ -337,7 +337,7 @@ pub fn try_spawn( func: T, ) -> Result<(), AllocError> { let init =3D pin_init!(ClosureWork { - work <- new_work!("Queue::try_spawn"), + work <- new_work!(c"Queue::try_spawn"), func: Some(func), }); =20 --=20 2.51.2 From nobody Sun Dec 14 06:15:46 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A31A32BF46; Thu, 13 Nov 2025 22:58:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074729; cv=none; b=I7mTqihHFyHpD757blOfvG1T0pwVq1gmnBv7ABb4Swn+m1VuNQLT9M+QY/XMsBYXxILukHgdwUSjTdpf3HScAaGBhElPu111gzy/EFktzcv0Jy5m4M1KQ1gNcusYBlzuZLnQnoLt4uAFYr24TNZ2kWIyZ6bAK+RxvZT3pLAnuXM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763074729; c=relaxed/simple; bh=Uz3Trca9ZTpCV9YUoTWtYYxnb6OvGUm9IW08ilnAvp8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hnjhdtcTmGzYgHP++Pd/iB/42Y0qFsMTNBwoAzO6P4BaQlR8WZ9q8t3jePHkeCE1FcMb5U0vIgsDGgnp2gBilRY8Ad72nu8I8cArgwdD6i1dNpk3kxGDDVreK6nNJntU5IAjjVFGZulLgNT3SQMTrdV+ih1XbilFHs5+/7BJHdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vKGVJ7ME; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="vKGVJ7ME" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 199DBC19421; Thu, 13 Nov 2025 22:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763074728; bh=Uz3Trca9ZTpCV9YUoTWtYYxnb6OvGUm9IW08ilnAvp8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=vKGVJ7MEfPbmtScolT3ClHJrTF29bGBGi0Yc6WaCYa+UIRrcc7IIkbqWnFWoAONc/ bkjmA7KeJTe54Wu/kZq8zjhntomogXEDp5/mvCJodCGQ0XulTZVhVisaT+ptOrFc66 HhJCr1VqXubnlmeQToNi8mVFEqEiMJSSKrbwZBAIMmcj807M0JtLUCBsq1clH4RwM1 tywvKX9696NF1v6lEgPGxVOBOifXBifr1z5NkQww8sU5ZnHLyOA4j1CqFWx6Frj+dN Rf+yXMekdbFR4bq5KJ5x7p5ctlh1adSfZGhEAqDtqbwtOY73MlbKCJ9kvjN3+VqAex uufYLFT369Y6w== From: Tamir Duberstein Date: Thu, 13 Nov 2025 17:58:29 -0500 Subject: [PATCH v3 6/6] rust: macros: replace `kernel::c_str!` with C-Strings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251113-core-cstr-cstrings-v3-6-411b34002774@gmail.com> References: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> In-Reply-To: <20251113-core-cstr-cstrings-v3-0-411b34002774@gmail.com> To: Luis Chamberlain , Russ Weight , Danilo Krummrich , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , FUJITA Tomonori Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, netdev@vger.kernel.org, Tamir Duberstein , Greg Kroah-Hartman X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openssh-sha256; t=1763074713; l=1049; i=tamird@gmail.com; h=from:subject:message-id; bh=e0vSwjHslwGd0YOhOzP/8wXiu2qmu3qy9oitm6tlziI=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtYz36g7iDMSkY5K7Ab51ksGX7hJgs MRt+XVZTrIzMVIAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QCPS1JL72zdZj264+0EKa8BtRwJlDwMayoxsHkoQuv2Cxki3YBHiVYw9lQYDoxi1q8H5XRETBHh X70CqYFZzmgk= X-Developer-Key: i=tamird@gmail.com; a=openssh; fpr=SHA256:264rPmnnrb+ERkS7DDS3tuwqcJss/zevJRzoylqMsbc From: Tamir Duberstein C-String literals were added in Rust 1.77. Replace instances of `kernel::c_str!` with C-String literals where possible. Acked-by: Greg Kroah-Hartman Reviewed-by: Alice Ryhl Reviewed-by: Benno Lossin Signed-off-by: Tamir Duberstein --- rust/macros/module.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/macros/module.rs b/rust/macros/module.rs index 5ee54a00c0b6..8cef6cc958b5 100644 --- a/rust/macros/module.rs +++ b/rust/macros/module.rs @@ -228,7 +228,7 @@ pub(crate) fn module(ts: TokenStream) -> TokenStream { type LocalModule =3D {type_}; =20 impl ::kernel::ModuleMetadata for {type_} {{ - const NAME: &'static ::kernel::str::CStr =3D ::kernel::c_s= tr!(\"{name}\"); + const NAME: &'static ::kernel::str::CStr =3D c\"{name}\"; }} =20 // Double nested modules, since then nobody can access the pub= lic items inside. --=20 2.51.2