Re: Coverity: nouveau_dp_irq(): Null pointer dereferences

From: Jani Nikula
Date: Fri Nov 11 2022 - 04:13:33 EST


On Thu, 10 Nov 2022, coverity-bot <keescook@xxxxxxxxxxxx> wrote:
> Hello!
>
> This is an experimental semi-automated report about issues detected by
> Coverity from a scan of next-20221110 as part of the linux-next scan project:
> https://scan.coverity.com/projects/linux-next-weekly-scan
>
> You're getting this email because you were associated with the identified
> lines of code (noted below) that were touched by commits:
>
> Mon Aug 31 19:10:08 2020 -0400
> a0922278f83e ("drm/nouveau/kms/nv50-: Refactor and cleanup DP HPD handling")

Hi Kees, this looks like a good idea, but maybe double check the Cc list
generation? I was Cc'd on four mails today that I thought were
irrelevant to me.

Thanks,
Jani.

>
> Coverity reported the following:
>
> *** CID 1527266: Null pointer dereferences (REVERSE_INULL)
> drivers/gpu/drm/nouveau/nouveau_dp.c:237 in nouveau_dp_irq()
> 231 struct nouveau_encoder *outp = find_encoder(connector, DCB_OUTPUT_DP);
> 232 struct nouveau_drm *drm = nouveau_drm(outp->base.base.dev);
> 233 struct nv50_mstm *mstm;
> 234 u64 hpd = 0;
> 235 int ret;
> 236
> vvv CID 1527266: Null pointer dereferences (REVERSE_INULL)
> vvv Null-checking "outp" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
> 237 if (!outp)
> 238 return;
> 239
> 240 mstm = outp->dp.mstm;
> 241 NV_DEBUG(drm, "service %s\n", connector->name);
> 242
>
> If this is a false positive, please let us know so we can mark it as
> such, or teach the Coverity rules to be smarter. If not, please make
> sure fixes get into linux-next. :) For patches fixing this, please
> include these lines (but double-check the "Fixes" first):
>
> Reported-by: coverity-bot <keescook+coverity-bot@xxxxxxxxxxxx>
> Addresses-Coverity-ID: 1527266 ("Null pointer dereferences")
> Fixes: a0922278f83e ("drm/nouveau/kms/nv50-: Refactor and cleanup DP HPD handling")
>
> Thanks for your attention!

--
Jani Nikula, Intel Open Source Graphics Center