Re: [PATCH v10 13/21] media: uvcvideo: Use control names from framework

From: Ricardo Ribalda
Date: Fri Sep 03 2021 - 06:34:01 EST


Hi Mauro

On Fri, 3 Sept 2021 at 12:11, Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote:
>
> Em Fri, 18 Jun 2021 14:29:15 +0200
> Ricardo Ribalda <ribalda@xxxxxxxxxxxx> escreveu:
>
> > diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
> > index 9cdd30eff495..28ccaa8b9e42 100644
> > --- a/drivers/media/usb/uvc/uvc_v4l2.c
> > +++ b/drivers/media/usb/uvc/uvc_v4l2.c
> > @@ -40,7 +40,13 @@ static int uvc_ioctl_ctrl_map(struct uvc_video_chain *chain,
> > return -ENOMEM;
> >
> > map->id = xmap->id;
> > - memcpy(map->name, xmap->name, sizeof(map->name));
> > + /* Non standard control id. */
> > + if (v4l2_ctrl_get_name(map->id) == NULL) {
> > + map->name = kmemdup(xmap->name, sizeof(xmap->name),
> > + GFP_KERNEL);
>
> Where are you de-allocating it at driver removal/unbind?

It is also in this patch:

@@ -2462,6 +2448,7 @@ static void uvc_ctrl_cleanup_mappings(struct
uvc_device *dev,
list_for_each_entry_safe(mapping, nm, &ctrl->info.mappings, list) {
list_del(&mapping->list);
kfree(mapping->menu_info);
+ kfree(mapping->name);
kfree(mapping);
}
}

If there is a standard name mapping->name will be NULL, but kfree
checks for that.

Thanks


>
>
> Thanks,
> Mauro



--
Ricardo Ribalda