On Fri, Jun 07, 2019 at 08:09:27AM -0700, Doug Anderson wrote: > Hi, > > On Sun, Feb 3, 2019 at 5:50 AM Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > > > > 3.16.63-rc1 review patch. If anyone has any objections, please let me know. > > > > ------------------ > > > > From: Nadav Amit <namit@xxxxxxxxxx> > > > > commit 89dd34caf73e28018c58cd193751e41b1f8bdc56 upstream. > > > > The use of ALIGN() in uvc_alloc_entity() is incorrect, since the size of > > (entity->pads) is not a power of two. As a stop-gap, until a better > > solution is adapted, use roundup() instead. > > > > Found by a static assertion. Compile-tested only. > > > > Fixes: 4ffc2d89f38a ("uvcvideo: Register subdevices for each entity") > > > > Signed-off-by: Nadav Amit <namit@xxxxxxxxxx> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> > > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > > --- > > drivers/media/usb/uvc/uvc_driver.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > --- a/drivers/media/usb/uvc/uvc_driver.c > > +++ b/drivers/media/usb/uvc/uvc_driver.c > > @@ -826,7 +826,7 @@ static struct uvc_entity *uvc_alloc_enti > > unsigned int size; > > unsigned int i; > > > > - extra_size = ALIGN(extra_size, sizeof(*entity->pads)); > > + extra_size = roundup(extra_size, sizeof(*entity->pads)); > > num_inputs = (type & UVC_TERM_OUTPUT) ? num_pads : num_pads - 1; > > size = sizeof(*entity) + extra_size + sizeof(*entity->pads) * num_pads > > + num_inputs; > > Funny that this commit made its way to 3.16 but didn't make its way to > 4.19 (at least checking 4.19.43). I haven't seen any actual crashes > caused by the lack of this commit but it seems like the kind of thing > we probably want picked back to other stable kernels too. Good idea, now queued up. greg k-h