[PATCH rdma-next v8] RDMA: Change capability fields in ib_device_attr from int to u32

Erni Sri Satya Vennela ernis at linux.microsoft.com
Thu Jul 2 22:59:07 PDT 2026


On Thu, Jul 02, 2026 at 11:59:30AM +0300, Andy Shevchenko wrote:
> On Wed, Jul 01, 2026 at 11:03:43PM -0700, Erni Sri Satya Vennela wrote:
> > On Fri, Jun 19, 2026 at 01:30:39PM -0700, Erni Sri Satya Vennela wrote:
> > > The capability counter fields in struct ib_device_attr are declared
> > > as signed int, but these values are inherently non-negative. Drivers
> > > maintain their cached caps as u32 and assign them directly into these
> > > int fields; if a cap exceeds INT_MAX the implicit narrowing yields a
> > > negative value visible to the IB core.
> > > 
> > > Change the signed int capability fields to u32 to match the
> > > underlying nature of the data. Also update consumers across the IB
> > > core, ULPs, NVMe-oF target, RDS, and NFS/RDMA so the new u32 values
> > > are not forced back through signed int or u8 via min()/min_t() or
> > > narrowing local variables.
> > 
> > Just a friendly follow-up on this patch. The Sashiko review mentioned a
> > low-priority item, and I'd appreciate any guidance on whether the change
> > is needed.
> 
> As I read this it needs to be fixed, the problem is that there is
> a potential of a weird case (not sure they are IRL) when somebody can use
> INT_MIN (in representation of signed number) to actually mean 0x80000000
> size.
> 
> > https://sashiko.dev/#/patchset/20260619203107.606359-1-ernis%40linux.microsoft.com
> 
> -- 
> With Best Regards,
> Andy Shevchenko
> 
Thankyou for the confirmation, Andy.
I'll add this change in the next version.

- Vennela



More information about the Linux-nvme mailing list