lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 845/879] gma500: fix an incorrect NULL check on list iterator
    Date
    From: Xiaomeng Tong <xiam0nd.tong@gmail.com>

    commit bdef417d84536715145f6dc9cc3275c46f26295a upstream.

    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@vger.kernel.org
    fixes: 89c78134cc54d ("gma500: Add Poulsbo support")
    Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
    Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220327052028.2013-1-xiam0nd.tong@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/gpu/drm/gma500/psb_intel_display.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    --- 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_devi

    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)

    \
     
     \ /
      Last update: 2022-06-08 03:36    [W:3.795 / U:0.852 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site