From: "Danilo Krummrich" <dakr@kernel.org>
To: "John Hubbard" <jhubbard@nvidia.com>
Cc: Alexandre Courbot <acourbot@nvidia.com>,
Alice Ryhl <aliceryhl@google.com>,
Simona Vetter <simona@ffwll.ch>,
Alistair Popple <apopple@nvidia.com>,
Joel Fernandes <joelagnelf@nvidia.com>,
Eliot Courtney <ecourtney@nvidia.com>,
nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v2 09/10] gpu: nova-core: simplify str_from_null_terminated
Date: Sat, 03 Jan 2026 11:14:55 +0100 [thread overview]
Message-ID: <DFEVITW4O9DW.P4ITE1PWIDY6@kernel.org> (raw)
In-Reply-To: <9c153278-c334-4649-8f73-ec5676ad25b0@nvidia.com>
On Sat Jan 3, 2026 at 4:37 AM CET, John Hubbard wrote:
> On 12/15/25 8:27 PM, Alexandre Courbot wrote:
>> The core library's `CStr` has a `from_bytes_until_nul` method that we
>> can leverage to simplify this function.
>>
>> Reviewed-by: Lyude Paul <lyude@redhat.com>
>> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
>> ---
>> drivers/gpu/nova-core/util.rs | 9 ++-------
>> 1 file changed, 2 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/nova-core/util.rs b/drivers/gpu/nova-core/util.rs
>> index 8b2a4b99c55b..2cccbce78c14 100644
>> --- a/drivers/gpu/nova-core/util.rs
>> +++ b/drivers/gpu/nova-core/util.rs
>> @@ -2,15 +2,10 @@
>>
>> /// Converts a null-terminated byte slice to a string, or `None` if the array does not
>> /// contains any null byte or contains invalid characters.
>> -///
>> -/// Contrary to [`core::ffi::CStr::from_bytes_with_nul`], the null byte can be anywhere in the
>> -/// slice, and not only in the last position.
>> pub(crate) fn str_from_null_terminated(bytes: &[u8]) -> Option<&str> {
>> use core::ffi::CStr;
>>
>> - bytes
>> - .iter()
>> - .position(|&b| b == 0)
>> - .and_then(|null_pos| CStr::from_bytes_with_nul(&bytes[..=null_pos]).ok())
>> + CStr::from_bytes_until_nul(bytes)
>> + .ok()
>
> I guess I should have reviewed this patch, before creating my version of this.
> I went so far as to delete this file entirely, see if you prefer that, it's
> otherwise the same core idea, but with more cleanup. [1]
>
> [1] https://lore.kernel.org/20260103013438.247759-1-jhubbard@nvidia.com
Yes, let's remove str_from_null_terminated() entirely.
>> .and_then(|cstr| cstr.to_str().ok())
Additionally, why do we return an Option here? While an error can only ever happen if
the given slice does not contain any NULL byte, I don't see why we discard the
error code.
WARNING: multiple messages have this Message-ID (diff)
From: "Danilo Krummrich" <dakr@kernel.org>
To: "John Hubbard" <jhubbard@nvidia.com>
Cc: "Alexandre Courbot" <acourbot@nvidia.com>,
"Alice Ryhl" <aliceryhl@google.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Alistair Popple" <apopple@nvidia.com>,
"Joel Fernandes" <joelagnelf@nvidia.com>,
"Timur Tabi" <ttabi@nvidia.com>, "Edwin Peer" <epeer@nvidia.com>,
"Eliot Courtney" <ecourtney@nvidia.com>,
<nouveau@lists.freedesktop.org>,
<dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
<rust-for-linux@vger.kernel.org>, "Lyude Paul" <lyude@redhat.com>
Subject: Re: [PATCH v2 09/10] gpu: nova-core: simplify str_from_null_terminated
Date: Sat, 03 Jan 2026 11:14:55 +0100 [thread overview]
Message-ID: <DFEVITW4O9DW.P4ITE1PWIDY6@kernel.org> (raw)
In-Reply-To: <9c153278-c334-4649-8f73-ec5676ad25b0@nvidia.com>
On Sat Jan 3, 2026 at 4:37 AM CET, John Hubbard wrote:
> On 12/15/25 8:27 PM, Alexandre Courbot wrote:
>> The core library's `CStr` has a `from_bytes_until_nul` method that we
>> can leverage to simplify this function.
>>
>> Reviewed-by: Lyude Paul <lyude@redhat.com>
>> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
>> ---
>> drivers/gpu/nova-core/util.rs | 9 ++-------
>> 1 file changed, 2 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/nova-core/util.rs b/drivers/gpu/nova-core/util.rs
>> index 8b2a4b99c55b..2cccbce78c14 100644
>> --- a/drivers/gpu/nova-core/util.rs
>> +++ b/drivers/gpu/nova-core/util.rs
>> @@ -2,15 +2,10 @@
>>
>> /// Converts a null-terminated byte slice to a string, or `None` if the array does not
>> /// contains any null byte or contains invalid characters.
>> -///
>> -/// Contrary to [`core::ffi::CStr::from_bytes_with_nul`], the null byte can be anywhere in the
>> -/// slice, and not only in the last position.
>> pub(crate) fn str_from_null_terminated(bytes: &[u8]) -> Option<&str> {
>> use core::ffi::CStr;
>>
>> - bytes
>> - .iter()
>> - .position(|&b| b == 0)
>> - .and_then(|null_pos| CStr::from_bytes_with_nul(&bytes[..=null_pos]).ok())
>> + CStr::from_bytes_until_nul(bytes)
>> + .ok()
>
> I guess I should have reviewed this patch, before creating my version of this.
> I went so far as to delete this file entirely, see if you prefer that, it's
> otherwise the same core idea, but with more cleanup. [1]
>
> [1] https://lore.kernel.org/20260103013438.247759-1-jhubbard@nvidia.com
Yes, let's remove str_from_null_terminated() entirely.
>> .and_then(|cstr| cstr.to_str().ok())
Additionally, why do we return an Option here? While an error can only ever happen if
the given slice does not contain any NULL byte, I don't see why we discard the
error code.
next prev parent reply other threads:[~2026-01-03 10:15 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-16 4:27 [PATCH v2 00/10] gpu: nova-core: miscellaneous improvements Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2025-12-16 4:27 ` [PATCH v2 01/10] gpu: nova-core: gsp: warn if data remains after processing a message Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 15:33 ` Gary Guo
2026-01-19 15:33 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 02/10] gpu: nova-core: gsp: remove unnecessary Display impls Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 15:41 ` Gary Guo
2026-01-19 15:41 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 03/10] gpu: nova-core: gsp: simplify sequencer opcode parsing Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 16:11 ` Gary Guo
2026-01-19 16:11 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 04/10] gpu: nova-core: gsp: remove unneeded sequencer trait Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 16:12 ` Gary Guo
2026-01-19 16:12 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 05/10] gpu: nova-core: gsp: derive `Debug` on more sequencer types Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 16:12 ` Gary Guo
2026-01-19 16:12 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 06/10] gpu: nova-core: gsp: derive Zeroable for GspStaticConfigInfo Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 16:16 ` Gary Guo
2026-01-19 16:16 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 07/10] gpu: nova-core: firmware: fwsec: do not require bound device when unneeded Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 15:50 ` Danilo Krummrich
2026-01-19 15:50 ` Danilo Krummrich
2025-12-16 4:27 ` [PATCH v2 08/10] gpu: nova-core: use core library's CStr instead of kernel one Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 16:17 ` Gary Guo
2026-01-19 16:17 ` Gary Guo
2025-12-16 4:27 ` [PATCH v2 09/10] gpu: nova-core: simplify str_from_null_terminated Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-03 3:37 ` John Hubbard
2026-01-03 3:37 ` John Hubbard
2026-01-03 10:14 ` Danilo Krummrich [this message]
2026-01-03 10:14 ` Danilo Krummrich
2026-01-14 13:43 ` Alexandre Courbot
2026-01-14 13:43 ` Alexandre Courbot
2025-12-16 4:27 ` [PATCH v2 10/10] gpu: nova-core: gsp: use available device reference Alexandre Courbot
2025-12-16 4:27 ` Alexandre Courbot
2026-01-19 16:18 ` Gary Guo
2026-01-19 16:18 ` Gary Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DFEVITW4O9DW.P4ITE1PWIDY6@kernel.org \
--to=dakr@kernel.org \
--cc=acourbot@nvidia.com \
--cc=aliceryhl@google.com \
--cc=apopple@nvidia.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=ecourtney@nvidia.com \
--cc=jhubbard@nvidia.com \
--cc=joelagnelf@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nouveau@lists.freedesktop.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=simona@ffwll.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.