> -----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?