Re: [PATCH] drm/exynos: vidi: fix a wrong error return

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





2023년 5월 19일 (금) 오후 6:21, Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx>님이 작성:
Hi Inki,

> > > @@ -469,8 +469,6 @@ static int vidi_remove(struct platform_device *pdev)
> > >   if (ctx->raw_edid != (struct edid *)fake_edid_info) {
> > >           kfree(ctx->raw_edid);
> > >           ctx->raw_edid = NULL;
> > > -
> > > -         return -EINVAL;
> >
> > It doesn't look right to me, I think the correct patch should be:
> >
> > -       if (ctx->raw_edid != (struct edid *)fake_edid_info) {
> > -               kfree(ctx->raw_edid);
> > -               ctx->raw_edid = NULL;
> > -
> > -               return -EINVAL;
> > -       }
> > -
> > +       ctx->raw_edid = NULL;
> >
> > because "ctx->raw_edid" points to a non allocated memory in the
> > .data segment and you cannot free it.
> >
> > A follow-up cleanup should be to remove the "const" from
> > fake_edid_info because you are assigning its address to pointers
> > (raw_edid), so that what's the point for having it const? You are
> > just fooling the compiler :)
>
> Thanks for review comment.
>
> "ctx->raw_edid != fake_edid_info" means that the edid sent by the user through
> the ictl system call - vidi_connection_ioctl - is used instead of fake one -
> face_edid_info.
> In this case, ctx->raw_edid object needs to be released because ctx->raw_edid
> object is allocated and the edid object sent by user is copied to the ctx-
> >raw_edid by kmemdup(). :)

yes... yes... I sent you another e-mail after this :)

I didn't check the second email you sent. :)

Thanks,
Inki Dae


Thanks,
Andi

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux