lkml.org 
[lkml]   [2026]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [RFC v3 07/27] rust: error: impl From<FromBytesWithNulError> for Kernel Error
On Fri, Feb 20, 2026 at 12:49 AM Gary Guo <gary@garyguo.net> wrote:
>
> On 2026-02-11 03:29, alistair23@gmail.com wrote:
> > From: Alistair Francis <alistair.francis@wdc.com>
> >
> > Implement From<FromBytesWithNulError> for the Kernel Error type
> >
> > Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> > ---
> > rust/kernel/error.rs | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/rust/kernel/error.rs b/rust/kernel/error.rs
> > index 258b12afdcba..569d9d032ab3 100644
> > --- a/rust/kernel/error.rs
> > +++ b/rust/kernel/error.rs
> > @@ -12,6 +12,7 @@
> > str::CStr,
> > };
> >
> > +use core::ffi::FromBytesWithNulError;
> > use core::num::NonZeroI32;
> > use core::num::TryFromIntError;
> > use core::str::Utf8Error;
> > @@ -251,6 +252,12 @@ fn from(e: core::convert::Infallible) -> Error {
> > }
> > }
> >
> > +impl From<FromBytesWithNulError> for Error {
> > + fn from(_: FromBytesWithNulError) -> Error {
> > + code::EINVAL
> > + }
> > +}
>
> Are we sure that `FromBytesWithNulError` maps cleanly to the `EINVAL`
> error code?

`FromBytesWithNulError` means "An error indicating that a nul byte was
not in the expected position." [1]

To me that maps with `EINVAL`

1: https://doc.rust-lang.org/std/ffi/enum.FromBytesWithNulError.html

>
> Anyhow, please add `#[inline]` for such simple functions.

I can, just noting that none of the others have `#[inline]`

Alistair

>
> Best,
> Gary
>
> > +
> > /// A [`Result`] with an [`Error`] error type.
> > ///
> > /// To be used as the return type for functions that may fail.

\
 
 \ /
  Last update: 2026-03-13 03:21    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog