Re: [PATCH] drm: bridge: it66121: Fix invalid connector dereference
From: Nishanth Menon
Date: Thu Aug 31 2023 - 08:26:01 EST
On 16:35-20230828, Helen Mae Koike Fornazier wrote:
> On Friday, August 25, 2023 08:02 -03, Jai Luthra <j-luthra@xxxxxx> wrote:
>
> > Fix the NULL pointer dereference when no monitor is connected, and the
> > sound card is opened from userspace.
> >
> > Instead return an error as EDID information cannot be provided to
> > the sound framework if there is no connector attached.
> >
> > Fixes: e0fd83dbe924 ("drm: bridge: it66121: Add audio support")
> > Reported-by: Nishanth Menon <nm@xxxxxx>
> > Closes: https://lore.kernel.org/all/20230825105849.crhon42qndxqif4i@gondola/
> > Signed-off-by: Jai Luthra <j-luthra@xxxxxx>
>
> Reviewed-by: Helen Koike <helen.koike@xxxxxxxxxxxxx>
Occurs on today's master: v6.5-8894-gb97d64c72259
https://gist.github.com/nmenon/6c7166171729342ee0be7de90b65c5c6#file-v6-5-8894-gb97d64c72259-L821
My only complaint with the patch is - yes, it does'nt crash, but I see
this spam on my console:
https://gist.github.com/nmenon/6c7166171729342ee0be7de90b65c5c6#file-with-patch-on-top-L236
>
> > ---
> > drivers/gpu/drm/bridge/ite-it66121.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c
> > index 466641c77fe9..d6fa00dea464 100644
> > --- a/drivers/gpu/drm/bridge/ite-it66121.c
> > +++ b/drivers/gpu/drm/bridge/ite-it66121.c
> > @@ -1446,6 +1446,11 @@ static int it66121_audio_get_eld(struct device *dev, void *data,
> > {
> > struct it66121_ctx *ctx = dev_get_drvdata(dev);
> >
> > + if (!ctx->connector) {
> > + dev_dbg(dev, "No connector present, cannot provide EDID data");
> > + return -EINVAL;
> > + }
> > +
> > mutex_lock(&ctx->lock);
> >
> > memcpy(buf, ctx->connector->eld,
> >
> > ---
> > base-commit: 6269320850097903b30be8f07a5c61d9f7592393
> > change-id: 20230825-it66121_edid-6ee98517808b
> >
> > Best regards,
> > --
> > Jai Luthra <j-luthra@xxxxxx>
> >
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D