Re: [RFC v3 07/27] rust: error: impl From<FromBytesWithNulError> for Kernel Error

From: Alice Ryhl

Date: Fri Mar 13 2026 - 06:40:53 EST


On Fri, Mar 13, 2026 at 3:20 AM Alistair Francis <alistair23@xxxxxxxxx> wrote:
>
> On Fri, Feb 20, 2026 at 12:49 AM Gary Guo <gary@xxxxxxxxxxx> wrote:
> >
> > On 2026-02-11 03:29, alistair23@xxxxxxxxx wrote:
> > > From: Alistair Francis <alistair.francis@xxxxxxx>
> > >
> > > Implement From<FromBytesWithNulError> for the Kernel Error type
> > >
> > > Signed-off-by: Alistair Francis <alistair.francis@xxxxxxx>
> > > ---
> > > 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]`

I think add #[inline] to these could be a nice easy issue for new
contributors. If you want, you can open an issue on our github.
Alice