Re: [PATCHv2] media: videobuf2: Return error after allocation failure

From: Souptick Joarder
Date: Mon Mar 11 2019 - 11:31:25 EST


On Mon, Mar 11, 2019 at 9:00 PM Hans Verkuil <hverkuil@xxxxxxxxx> wrote:
>
> On 3/1/19 4:04 AM, Souptick Joarder wrote:
> > On Mon, Feb 11, 2019 at 7:42 AM Souptick Joarder <jrdr.linux@xxxxxxxxx> wrote:
> >>
> >> On Mon, Feb 4, 2019 at 8:27 PM Souptick Joarder <jrdr.linux@xxxxxxxxx> wrote:
> >>>
> >>> There is no point to continuing assignment after memory allocation
> >>> failed, rather throw error immediately.
> >>>
> >>> Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>
> >>
> >> Any comment on this patch ?
> >
> > If no further comment, can we get this patch in queue for 5.1 ?
>
> 5.1 was too late, but it will certainly go into 5.2.

Thanks.
>
> Regards,
>
> Hans
>
> >>
> >>> ---
> >>> v1 -> v2:
> >>> Corrected typo in change log.
> >>>
> >>> drivers/media/common/videobuf2/videobuf2-vmalloc.c | 8 ++++----
> >>> 1 file changed, 4 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/drivers/media/common/videobuf2/videobuf2-vmalloc.c b/drivers/media/common/videobuf2/videobuf2-vmalloc.c
> >>> index 6dfbd5b..d3f71e2 100644
> >>> --- a/drivers/media/common/videobuf2/videobuf2-vmalloc.c
> >>> +++ b/drivers/media/common/videobuf2/videobuf2-vmalloc.c
> >>> @@ -46,16 +46,16 @@ static void *vb2_vmalloc_alloc(struct device *dev, unsigned long attrs,
> >>>
> >>> buf->size = size;
> >>> buf->vaddr = vmalloc_user(buf->size);
> >>> - buf->dma_dir = dma_dir;
> >>> - buf->handler.refcount = &buf->refcount;
> >>> - buf->handler.put = vb2_vmalloc_put;
> >>> - buf->handler.arg = buf;
> >>>
> >>> if (!buf->vaddr) {
> >>> pr_debug("vmalloc of size %ld failed\n", buf->size);
> >>> kfree(buf);
> >>> return ERR_PTR(-ENOMEM);
> >>> }
> >>> + buf->dma_dir = dma_dir;
> >>> + buf->handler.refcount = &buf->refcount;
> >>> + buf->handler.put = vb2_vmalloc_put;
> >>> + buf->handler.arg = buf;
> >>>
> >>> refcount_set(&buf->refcount, 1);
> >>> return buf;
> >>> --
> >>> 1.9.1
> >>>
>