Messages in this thread |  | | From | "Eads, Gage" <> | Subject | RE: [PATCH 04/20] dlb2: add device ioctl layer and first 4 ioctls | Date | Fri, 17 Jul 2020 18:20:06 +0000 |
| |
> -----Original Message----- > From: Randy Dunlap <rdunlap@infradead.org> > Sent: Sunday, July 12, 2020 9:54 AM > To: Eads, Gage <gage.eads@intel.com>; linux-kernel@vger.kernel.org; > arnd@arndb.de; gregkh@linuxfoundation.org > Cc: Karlsson, Magnus <magnus.karlsson@intel.com>; Topel, Bjorn > <bjorn.topel@intel.com> > Subject: Re: [PATCH 04/20] dlb2: add device ioctl layer and first 4 ioctls > > On 7/12/20 6:43 AM, Gage Eads wrote: > > +int dlb2_ioctl_dispatcher(struct dlb2_dev *dev, > > + unsigned int cmd, > > + unsigned long arg) > > +{ > > + u16 sz = _IOC_SIZE(cmd); > > + > > + if (_IOC_NR(cmd) >= NUM_DLB2_CMD) { > > Does this bounds check need to use array_index_nospec() from > <linux/nospec.h> ? > > > + dev_err(dev->dlb2_device, > > + "[%s()] Unexpected DLB command %d\n", > > + __func__, _IOC_NR(cmd)); > > + return -1; > > + } > > + > > + return dlb2_ioctl_callback_fns[_IOC_NR(cmd)](dev, arg, sz); } > > I don't know if it needs to or not. I just want to make sure that you or > someone has thought about it.
Thanks for catching this -- it does. Per Arnd's suggestion, I'm going to convert this to a switch statement and avoid the index altogether.
Thanks, Gage
> > -- > ~Randy
|  |