• Hamza Mahfooz's avatar
    drm/amd/display: perform a bounds check before filling dirty rectangles · af22d6a8
    Hamza Mahfooz authored
    Currently, it is possible for us to access memory that we shouldn't.
    Since, we acquire (possibly dangling) pointers to dirty rectangles
    before doing a bounds check to make sure we can actually accommodate the
    number of dirty rectangles userspace has requested to fill. This issue
    is especially evident if a compositor requests both MPO and damage clips
    at the same time, in which case I have observed a soft-hang. So, to
    avoid this issue, perform the bounds check before filling a single dirty
    rectangle and WARN() about it, if it is ever attempted in
    fill_dc_dirty_rect().
    
    Cc: stable@vger.kernel.org # 6.1+
    Fixes: 30ebe415 ("drm/amd/display: add FB_DAMAGE_CLIPS support")
    Reviewed-by: default avatarLeo Li <sunpeng.li@amd.com>
    Signed-off-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    af22d6a8
amdgpu_dm.c 316 KB