Re: [SMATCH] Can also be NULL false positive
Dan Carpenter <[email protected]> Wed, 8 Apr 2026 09:47:14 +0300
| Newsgroups | org.kernel.vger.smatch |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Apr 07, 2026 at 11:16:45AM -0500, Ethan Tidmore wrote:
> Hi Dan,
>
> Smatch gives these two warnings:
>
> drivers/gpu/drm/i915/display/intel_crtc.c:333 __intel_crtc_init() warn: 'primary' can also be NULL
> drivers/gpu/drm/i915/display/intel_crtc.c:348 __intel_crtc_init() warn: 'plane' can also be NULL
>
> if (DISPLAY_VER(display) >= 9)
> primary = skl_universal_plane_create(display, pipe, PLANE_1);
> else
> primary = intel_primary_plane_create(display, pipe);
> if (IS_ERR(primary)) {
> ret = PTR_ERR(primary);
> goto fail;
> }
> crtc->plane_ids_mask |= BIT(primary->id);
>
> and
>
> if (DISPLAY_VER(display) >= 9)
> plane = skl_universal_plane_create(display, pipe, PLANE_2 + sprite);
> else
> plane = intel_sprite_plane_create(display, pipe, sprite);
> if (IS_ERR(plane)) {
> ret = PTR_ERR(plane);
> goto fail;
> }
> crtc->plane_ids_mask |= BIT(plane->id);
>
> But, this is a false positive because skl_universal_plane_create() and
> intel_sprite_plane_create() never return NULL and always error pointers.
I don't see that warning on my builds.
One thing that I see is that intel_primary_plane_create() can return NULL
if CONFIG_I915 is disabled. But I can't see how we would build that
file without CONFIG_I915. I wondered if it might be a CONFIG_COMPILE_TEST
thing, but I don't see that possibility.
Do you have the cross function DB built?
regards,
dan carpenter