* [PATCH v2 01/10] drm/panic: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 02/10] rust: auxiliary: " Tamir Duberstein
` (9 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
drivers/gpu/drm/drm_panic_qr.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_panic_qr.rs b/drivers/gpu/drm/drm_panic_qr.rs
index 6b59d19ab631..fea062cc0383 100644
--- a/drivers/gpu/drm/drm_panic_qr.rs
+++ b/drivers/gpu/drm/drm_panic_qr.rs
@@ -948,7 +948,7 @@ fn draw_all(&mut self, data: impl Iterator<Item = u8>) {
// nul-terminated string.
let url_cstr: &CStr = unsafe { CStr::from_char_ptr(url) };
let segments = &[
- &Segment::Binary(url_cstr.as_bytes()),
+ &Segment::Binary(url_cstr.to_bytes()),
&Segment::Numeric(&data_slice[0..data_len]),
];
match EncodedMsg::new(segments, tmp_slice) {
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 02/10] rust: auxiliary: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 01/10] drm/panic: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 03/10] rust: configfs: " Tamir Duberstein
` (8 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/auxiliary.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/rust/kernel/auxiliary.rs b/rust/kernel/auxiliary.rs
index d2cfe1eeefb6..89d961407adb 100644
--- a/rust/kernel/auxiliary.rs
+++ b/rust/kernel/auxiliary.rs
@@ -111,8 +111,8 @@ macro_rules! module_auxiliary_driver {
impl DeviceId {
/// Create a new [`DeviceId`] from name.
pub const fn new(modname: &'static CStr, name: &'static CStr) -> Self {
- let name = name.as_bytes_with_nul();
- let modname = modname.as_bytes_with_nul();
+ let name = name.to_bytes_with_nul();
+ let modname = modname.to_bytes_with_nul();
// TODO: Replace with `bindings::auxiliary_device_id::default()` once stabilized for
// `const`.
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 03/10] rust: configfs: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 01/10] drm/panic: " Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 02/10] rust: auxiliary: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-08-08 9:46 ` Andreas Hindborg
2025-07-19 22:42 ` [PATCH v2 04/10] rust: cpufreq: " Tamir Duberstein
` (7 subsequent siblings)
10 siblings, 1 reply; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Also avoid `Deref<Target=BStr> for CStr` as that impl doesn't exist on
`core::ffi::CStr`.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/configfs.rs | 4 ++--
samples/rust/rust_configfs.rs | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/rust/kernel/configfs.rs b/rust/kernel/configfs.rs
index 2736b798cdc6..9fb5ef825e41 100644
--- a/rust/kernel/configfs.rs
+++ b/rust/kernel/configfs.rs
@@ -263,7 +263,7 @@ pub fn new(
try_pin_init!(Self {
group <- pin_init::init_zeroed().chain(|v: &mut Opaque<bindings::config_group>| {
let place = v.get();
- let name = name.as_bytes_with_nul().as_ptr();
+ let name = name.to_bytes_with_nul().as_ptr();
// SAFETY: It is safe to initialize a group once it has been zeroed.
unsafe {
bindings::config_group_init_type_name(place, name.cast(), item_type.as_ptr())
@@ -613,7 +613,7 @@ impl<const ID: u64, O, Data> Attribute<ID, O, Data>
pub const fn new(name: &'static CStr) -> Self {
Self {
attribute: Opaque::new(bindings::configfs_attribute {
- ca_name: name.as_char_ptr(),
+ ca_name: crate::str::as_char_ptr_in_const_context(name),
ca_owner: core::ptr::null_mut(),
ca_mode: 0o660,
show: Some(Self::show),
diff --git a/samples/rust/rust_configfs.rs b/samples/rust/rust_configfs.rs
index af04bfa35cb2..5005453f874d 100644
--- a/samples/rust/rust_configfs.rs
+++ b/samples/rust/rust_configfs.rs
@@ -94,7 +94,7 @@ impl configfs::AttributeOperations<0> for Configuration {
fn show(container: &Configuration, page: &mut [u8; PAGE_SIZE]) -> Result<usize> {
pr_info!("Show message\n");
- let data = container.message;
+ let data = container.message.to_bytes();
page[0..data.len()].copy_from_slice(data);
Ok(data.len())
}
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v2 03/10] rust: configfs: use `core::ffi::CStr` method names
2025-07-19 22:42 ` [PATCH v2 03/10] rust: configfs: " Tamir Duberstein
@ 2025-08-08 9:46 ` Andreas Hindborg
0 siblings, 0 replies; 16+ messages in thread
From: Andreas Hindborg @ 2025-08-08 9:46 UTC (permalink / raw)
To: Tamir Duberstein, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Miguel Ojeda,
Alex Gaynor, Boqun Feng, Gary Guo, Björn Roy Baron,
Benno Lossin, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Greg Kroah-Hartman, Dave Ertman, Ira Weiny, Leon Romanovsky,
Breno Leitao, Rafael J. Wysocki, Viresh Kumar, Luis Chamberlain,
Russ Weight, Brendan Higgins, David Gow, Rae Moar,
FUJITA Tomonori, Rob Herring, Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
"Tamir Duberstein" <tamird@gmail.com> writes:
> Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
> avoid methods that only exist on the latter.
>
> Also avoid `Deref<Target=BStr> for CStr` as that impl doesn't exist on
> `core::ffi::CStr`.
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1075
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
> Reviewed-by: Benno Lossin <lossin@kernel.org>
> Acked-by: Danilo Krummrich <dakr@kernel.org>
> Signed-off-by: Tamir Duberstein <tamird@gmail.com>
Acked-by: Andreas Hindborg <a.hindborg@kernel.org>
Best regards,
Andreas Hindborg
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 04/10] rust: cpufreq: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (2 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 03/10] rust: configfs: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-21 7:35 ` Viresh Kumar
2025-07-19 22:42 ` [PATCH v2 05/10] rust: drm: " Tamir Duberstein
` (6 subsequent siblings)
10 siblings, 1 reply; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/cpufreq.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/kernel/cpufreq.rs b/rust/kernel/cpufreq.rs
index e8d231971276..71d601f7c261 100644
--- a/rust/kernel/cpufreq.rs
+++ b/rust/kernel/cpufreq.rs
@@ -1018,7 +1018,7 @@ impl<T: Driver> Registration<T> {
};
const fn copy_name(name: &'static CStr) -> [c_char; CPUFREQ_NAME_LEN] {
- let src = name.as_bytes_with_nul();
+ let src = name.to_bytes_with_nul();
let mut dst = [0; CPUFREQ_NAME_LEN];
build_assert!(src.len() <= CPUFREQ_NAME_LEN);
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v2 04/10] rust: cpufreq: use `core::ffi::CStr` method names
2025-07-19 22:42 ` [PATCH v2 04/10] rust: cpufreq: " Tamir Duberstein
@ 2025-07-21 7:35 ` Viresh Kumar
0 siblings, 0 replies; 16+ messages in thread
From: Viresh Kumar @ 2025-07-21 7:35 UTC (permalink / raw)
To: Tamir Duberstein
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Luis Chamberlain, Russ Weight, Brendan Higgins, David Gow,
Rae Moar, FUJITA Tomonori, Rob Herring, Saravana Kannan,
dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree
On 19-07-25, 18:42, Tamir Duberstein wrote:
> Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
> avoid methods that only exist on the latter.
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1075
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
> Reviewed-by: Benno Lossin <lossin@kernel.org>
> Acked-by: Danilo Krummrich <dakr@kernel.org>
> Signed-off-by: Tamir Duberstein <tamird@gmail.com>
> ---
> rust/kernel/cpufreq.rs | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/rust/kernel/cpufreq.rs b/rust/kernel/cpufreq.rs
> index e8d231971276..71d601f7c261 100644
> --- a/rust/kernel/cpufreq.rs
> +++ b/rust/kernel/cpufreq.rs
> @@ -1018,7 +1018,7 @@ impl<T: Driver> Registration<T> {
> };
>
> const fn copy_name(name: &'static CStr) -> [c_char; CPUFREQ_NAME_LEN] {
> - let src = name.as_bytes_with_nul();
> + let src = name.to_bytes_with_nul();
> let mut dst = [0; CPUFREQ_NAME_LEN];
>
> build_assert!(src.len() <= CPUFREQ_NAME_LEN);
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 05/10] rust: drm: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (3 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 04/10] rust: cpufreq: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 06/10] rust: firmware: " Tamir Duberstein
` (5 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/drm/device.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/rust/kernel/drm/device.rs b/rust/kernel/drm/device.rs
index e598c4274f29..439cb1b747e1 100644
--- a/rust/kernel/drm/device.rs
+++ b/rust/kernel/drm/device.rs
@@ -83,8 +83,8 @@ impl<T: drm::Driver> Device<T> {
major: T::INFO.major,
minor: T::INFO.minor,
patchlevel: T::INFO.patchlevel,
- name: T::INFO.name.as_char_ptr().cast_mut(),
- desc: T::INFO.desc.as_char_ptr().cast_mut(),
+ name: crate::str::as_char_ptr_in_const_context(T::INFO.name).cast_mut(),
+ desc: crate::str::as_char_ptr_in_const_context(T::INFO.desc).cast_mut(),
driver_features: drm::driver::FEAT_GEM,
ioctls: T::IOCTLS.as_ptr(),
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 06/10] rust: firmware: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (4 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 05/10] rust: drm: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 07/10] rust: kunit: " Tamir Duberstein
` (4 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/firmware.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/kernel/firmware.rs b/rust/kernel/firmware.rs
index be684e860ed2..ca00aa2b4d85 100644
--- a/rust/kernel/firmware.rs
+++ b/rust/kernel/firmware.rs
@@ -291,7 +291,7 @@ const fn push_module_name(self) -> Self {
let module_name = this.module_name;
if !this.module_name.is_empty() {
- this = this.push_internal(module_name.as_bytes_with_nul());
+ this = this.push_internal(module_name.to_bytes_with_nul());
if N != 0 {
// Re-use the space taken by the NULL terminator and swap it with the '.' separator.
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 07/10] rust: kunit: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (5 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 06/10] rust: firmware: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 08/10] rust: miscdevice: " Tamir Duberstein
` (3 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/kunit.rs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/rust/kernel/kunit.rs b/rust/kernel/kunit.rs
index 099a61bbb8f4..3fd33c0c5ecc 100644
--- a/rust/kernel/kunit.rs
+++ b/rust/kernel/kunit.rs
@@ -102,12 +102,12 @@ unsafe impl Sync for Location {}
unsafe impl Sync for UnaryAssert {}
static LOCATION: Location = Location($crate::bindings::kunit_loc {
- file: FILE.as_char_ptr(),
+ file: $crate::str::as_char_ptr_in_const_context(FILE),
line: LINE,
});
static ASSERTION: UnaryAssert = UnaryAssert($crate::bindings::kunit_unary_assert {
assert: $crate::bindings::kunit_assert {},
- condition: CONDITION.as_char_ptr(),
+ condition: $crate::str::as_char_ptr_in_const_context(CONDITION),
expected_true: true,
});
@@ -202,7 +202,7 @@ pub const fn kunit_case(
) -> kernel::bindings::kunit_case {
kernel::bindings::kunit_case {
run_case: Some(run_case),
- name: name.as_char_ptr(),
+ name: kernel::str::as_char_ptr_in_const_context(name),
attr: kernel::bindings::kunit_attributes {
speed: kernel::bindings::kunit_speed_KUNIT_SPEED_NORMAL,
},
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 08/10] rust: miscdevice: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (6 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 07/10] rust: kunit: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 09/10] rust: net: " Tamir Duberstein
` (2 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/miscdevice.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/kernel/miscdevice.rs b/rust/kernel/miscdevice.rs
index ad51ffc549b8..585cfbcb8a2f 100644
--- a/rust/kernel/miscdevice.rs
+++ b/rust/kernel/miscdevice.rs
@@ -35,7 +35,7 @@ pub const fn into_raw<T: MiscDevice>(self) -> bindings::miscdevice {
// SAFETY: All zeros is valid for this C type.
let mut result: bindings::miscdevice = unsafe { MaybeUninit::zeroed().assume_init() };
result.minor = bindings::MISC_DYNAMIC_MINOR as ffi::c_int;
- result.name = self.name.as_char_ptr();
+ result.name = crate::str::as_char_ptr_in_const_context(self.name);
result.fops = MiscdeviceVTable::<T>::build();
result
}
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 09/10] rust: net: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (7 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 08/10] rust: miscdevice: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-19 22:42 ` [PATCH v2 10/10] rust: of: " Tamir Duberstein
2025-07-21 20:20 ` [PATCH v2 00/10] rust: " Miguel Ojeda
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/net/phy.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/kernel/net/phy.rs b/rust/kernel/net/phy.rs
index 65ac4d59ad77..c420e5ecab4b 100644
--- a/rust/kernel/net/phy.rs
+++ b/rust/kernel/net/phy.rs
@@ -505,7 +505,7 @@ unsafe impl Sync for DriverVTable {}
pub const fn create_phy_driver<T: Driver>() -> DriverVTable {
// INVARIANT: All the fields of `struct phy_driver` are initialized properly.
DriverVTable(Opaque::new(bindings::phy_driver {
- name: T::NAME.as_char_ptr().cast_mut(),
+ name: crate::str::as_char_ptr_in_const_context(T::NAME).cast_mut(),
flags: T::FLAGS,
phy_id: T::PHY_DEVICE_ID.id,
phy_id_mask: T::PHY_DEVICE_ID.mask_as_int(),
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 10/10] rust: of: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (8 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 09/10] rust: net: " Tamir Duberstein
@ 2025-07-19 22:42 ` Tamir Duberstein
2025-07-21 20:20 ` [PATCH v2 00/10] rust: " Miguel Ojeda
10 siblings, 0 replies; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-19 22:42 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan
Cc: dri-devel, linux-kernel, rust-for-linux, linux-pm,
linux-kselftest, kunit-dev, netdev, devicetree, Tamir Duberstein
Prepare for `core::ffi::CStr` taking the place of `kernel::str::CStr` by
avoid methods that only exist on the latter.
Link: https://github.com/Rust-for-Linux/linux/issues/1075
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/of.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/kernel/of.rs b/rust/kernel/of.rs
index 40d1bd13682c..5cf50979c1e8 100644
--- a/rust/kernel/of.rs
+++ b/rust/kernel/of.rs
@@ -29,7 +29,7 @@ fn index(&self) -> usize {
impl DeviceId {
/// Create a new device id from an OF 'compatible' string.
pub const fn new(compatible: &'static CStr) -> Self {
- let src = compatible.as_bytes_with_nul();
+ let src = compatible.to_bytes_with_nul();
// Replace with `bindings::of_device_id::default()` once stabilized for `const`.
// SAFETY: FFI type is valid to be zero-initialized.
let mut of: bindings::of_device_id = unsafe { core::mem::zeroed() };
--
2.50.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v2 00/10] rust: use `core::ffi::CStr` method names
2025-07-19 22:42 [PATCH v2 00/10] rust: use `core::ffi::CStr` method names Tamir Duberstein
` (9 preceding siblings ...)
2025-07-19 22:42 ` [PATCH v2 10/10] rust: of: " Tamir Duberstein
@ 2025-07-21 20:20 ` Miguel Ojeda
2025-07-21 20:31 ` Tamir Duberstein
10 siblings, 1 reply; 16+ messages in thread
From: Miguel Ojeda @ 2025-07-21 20:20 UTC (permalink / raw)
To: Tamir Duberstein
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan, dri-devel, linux-kernel, rust-for-linux,
linux-pm, linux-kselftest, kunit-dev, netdev, devicetree
On Sun, Jul 20, 2025 at 12:42 AM Tamir Duberstein <tamird@gmail.com> wrote:
>
> Subsystem maintainers: I would appreciate your `Acked-by`s so that this
> can be taken through Miguel's tree (where the other series must go).
Did you apply this with `b4`? I think you picked Danilo's Acked-by,
which was for a subset, for other patches too. I can remove it when I
apply it.
(Greg's Acked-by may also have been just for his bits back in the
previous series, but in his case he didn't say anything explicitly)
Cheers,
Miguel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 00/10] rust: use `core::ffi::CStr` method names
2025-07-21 20:20 ` [PATCH v2 00/10] rust: " Miguel Ojeda
@ 2025-07-21 20:31 ` Tamir Duberstein
2025-07-21 20:49 ` Miguel Ojeda
0 siblings, 1 reply; 16+ messages in thread
From: Tamir Duberstein @ 2025-07-21 20:31 UTC (permalink / raw)
To: Miguel Ojeda
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan, dri-devel, linux-kernel, rust-for-linux,
linux-pm, linux-kselftest, kunit-dev, netdev, devicetree
On Mon, Jul 21, 2025 at 4:20 PM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Sun, Jul 20, 2025 at 12:42 AM Tamir Duberstein <tamird@gmail.com> wrote:
> >
> > Subsystem maintainers: I would appreciate your `Acked-by`s so that this
> > can be taken through Miguel's tree (where the other series must go).
>
> Did you apply this with `b4`? I think you picked Danilo's Acked-by,
> which was for a subset, for other patches too. I can remove it when I
> apply it.
Yes, please do. I did indeed use b4 - and Alice also let me know that
this was not correct. Sorry about that! Same is true for 2a, I'll
reply to that email as well.
> (Greg's Acked-by may also have been just for his bits back in the
> previous series, but in his case he didn't say anything explicitly)
I believe it was for everything, as he didn't specify otherwise.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 00/10] rust: use `core::ffi::CStr` method names
2025-07-21 20:31 ` Tamir Duberstein
@ 2025-07-21 20:49 ` Miguel Ojeda
0 siblings, 0 replies; 16+ messages in thread
From: Miguel Ojeda @ 2025-07-21 20:49 UTC (permalink / raw)
To: Tamir Duberstein
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman, Dave Ertman,
Ira Weiny, Leon Romanovsky, Breno Leitao, Rafael J. Wysocki,
Viresh Kumar, Luis Chamberlain, Russ Weight, Brendan Higgins,
David Gow, Rae Moar, FUJITA Tomonori, Rob Herring,
Saravana Kannan, dri-devel, linux-kernel, rust-for-linux,
linux-pm, linux-kselftest, kunit-dev, netdev, devicetree
On Mon, Jul 21, 2025 at 10:31 PM Tamir Duberstein <tamird@gmail.com> wrote:
>
> Yes, please do. I did indeed use b4 - and Alice also let me know that
> this was not correct. Sorry about that! Same is true for 2a, I'll
> reply to that email as well.
Sounds good, thanks for confirming!
> I believe it was for everything, as he didn't specify otherwise.
Sometimes maintainers may mean it only for the things they actually
maintain, especially for big series where it may be obvious -- in
Greg's case, it is harder to assess since the series is small and he
is a top maintainer anyway.
Cheers,
Miguel
^ permalink raw reply [flat|nested] 16+ messages in thread