Hi Dan, > -----Original Message----- > From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Sent: Tuesday, September 24, 2019 4:21 AM > To: Parav Pandit <parav@xxxxxxxxxxxx> > Cc: netdev@xxxxxxxxxxxxxxx; Leon Romanovsky <leon@xxxxxxxxxx>; Eli Cohen > <eli@xxxxxxxxxxxx>; Doug Ledford <dledford@xxxxxxxxxx>; Jason Gunthorpe > <jgg@xxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; kernel-janitors@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] IB/mlx5: add checking for "vf" from do_setvfinfo() > > On Thu, Apr 25, 2019 at 06:15:13AM +0000, Parav Pandit wrote: > > > > > > > -----Original Message----- > > > From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > > Sent: Wednesday, April 24, 2019 9:08 AM > > > To: Parav Pandit <parav@xxxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx > > > Cc: Leon Romanovsky <leon@xxxxxxxxxx>; Eli Cohen <eli@xxxxxxxxxxxx>; > > > Doug Ledford <dledford@xxxxxxxxxx>; Jason Gunthorpe <jgg@xxxxxxxx>; > > > linux-rdma@xxxxxxxxxxxxxxx; kernel-janitors@xxxxxxxxxxxxxxx > > > Subject: Re: [PATCH] IB/mlx5: add checking for "vf" from > > > do_setvfinfo() > > > > > > I think I'm just going to ask netdev for an opinion on this. It > > > could be that we're just reading the code wrong... > > > > > > I'm getting a lot of Smatch warning about buffer underflows. The > > > problem is that Smatch marks everything from nla_data() as unknown > > > and untrusted user data. In do_setvfinfo() we get the "->vf" values > > > from nla_data(). It starts as u32, but all the function pointers in > > > net_device_ops use it as a signed integer. Most of the functions > > > return -EINVAL if "vf" is negative but there are at least 48 which > > > potentially use negative values as an offset into an array. > > > > > > To me making "vf" a u32 throughout seems like a good idea but it's > > > an extensive patch and I'm not really able to test it at all. > > > > I will be try to get you patch early next week for core and in mlx5, > > tested on mlx5 VFs, that possibly you can carry forward? > > Whatever happened with this? > I had internal few patches that Leon and Saeed reviewed, but it needs more rework at core and driver level. I haven't had chance to finish it. > regards, > dan carpenter