[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMeQTsboqXW-UeL9+E0vztTg_08w3WxvNhx-HqOdNc9yYJ4V+w@mail.gmail.com>
Date: Tue, 29 Mar 2022 11:36:15 +0200
From: Patrik Jakobsson <patrik.r.jakobsson@...il.com>
To: Xiaomeng Tong <xiam0nd.tong@...il.com>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
dri-devel <dri-devel@...ts.freedesktop.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
stable@...r.kernel.org
Subject: Re: [PATCH] gma500: fix an incorrect NULL check on list iterator
On Sun, Mar 27, 2022 at 7:20 AM Xiaomeng Tong <xiam0nd.tong@...il.com> wrote:
>
> The bug is here:
> return crtc;
>
> The list iterator value 'crtc' will *always* be set and non-NULL by
> list_for_each_entry(), so it is incorrect to assume that the iterator
> value will be NULL if the list is empty or no element is found.
>
> To fix the bug, return 'crtc' when found, otherwise return NULL.
>
> Cc: stable@...r.kernel.org
> fixes: 89c78134cc54d ("gma500: Add Poulsbo support")
> Signed-off-by: Xiaomeng Tong <xiam0nd.tong@...il.com>
Thanks for the patch
Applied to drm-misc-next
-Patrik
> ---
> drivers/gpu/drm/gma500/psb_intel_display.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c
> index d5f95212934e..42d1a733e124 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_display.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_display.c
> @@ -535,14 +535,15 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe,
>
> struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
> {
> - struct drm_crtc *crtc = NULL;
> + struct drm_crtc *crtc;
>
> list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
> struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
> +
> if (gma_crtc->pipe == pipe)
> - break;
> + return crtc;
> }
> - return crtc;
> + return NULL;
> }
>
> int gma_connector_clones(struct drm_device *dev, int type_mask)
> --
> 2.17.1
>
Powered by blists - more mailing lists