Re: New warning `nvme nvme0: using unchecked data buffer`

Keith Busch
2025-01-29T19:00:11Z

On Sun, Jan 26, 2025 at 09:37:09AM +0100, Paul Menzel wrote:
> Sorry for not proposing something. Linux 6.13 was released with the warning
> above. As nothing can be done about - it´s unlikely the vendor is going to
> enable it in the firmware on released devices - I propose to decrease the
> log level to info, and rephrase it:
>
> nvme0: Using unchecked data buffer. The passthrough interface was used but
> the device can only use implicit transfer length. Improper use might be
> cause for memory corruption observations. If in doubt contact the hardware
> vendor.
>
> It´s much longer, but helps the user to understand the situation much
> better.

That's quite verbose!

Let's take a step back a moment. This is a transfer mode the Linux nvme
driver has always supported. It was afterall the *only* way for the
first version of the protocol. I don't want to unnecessarily call
attention to hardware vendors who adhere to that version of the
spec; this is more of a notification to the people who think this was
worth making a CVE out of it.

So let's turn down the level from warn to info. Maybe remove the check
from the IO path and just print out device interesting capabilities
during initial enumeration:

nvme0: SGL+ MetaSGL- Etc...