Patch "drm/i915: Fix NULL ptr deref by checking new_crtc_state" has been added to the 6.3-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/i915: Fix NULL ptr deref by checking new_crtc_state

to the 6.3-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-i915-fix-null-ptr-deref-by-checking-new_crtc_sta.patch
and it can be found in the queue-6.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9c40f3f4f16bc863bfb9e2e68227c0f773e08180
Author: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx>
Date:   Fri May 5 11:22:12 2023 +0300

    drm/i915: Fix NULL ptr deref by checking new_crtc_state
    
    [ Upstream commit a41d985902c153c31c616fe183cf2ee331e95ecb ]
    
    intel_atomic_get_new_crtc_state can return NULL, unless crtc state wasn't
    obtained previously with intel_atomic_get_crtc_state, so we must check it
    for NULLness here, just as in many other places, where we can't guarantee
    that intel_atomic_get_crtc_state was called.
    We are currently getting NULL ptr deref because of that, so this fix was
    confirmed to help.
    
    Fixes: 74a75dc90869 ("drm/i915/display: move plane prepare/cleanup to intel_atomic_plane.c")
    Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@xxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230505082212.27089-1-stanislav.lisovskiy@xxxxxxxxx
    (cherry picked from commit 1d5b09f8daf859247a1ea65b0d732a24d88980d8)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
index 1409bcfb6fd3d..9afba39613f37 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
@@ -1026,7 +1026,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
 	int ret;
 
 	if (old_obj) {
-		const struct intel_crtc_state *crtc_state =
+		const struct intel_crtc_state *new_crtc_state =
 			intel_atomic_get_new_crtc_state(state,
 							to_intel_crtc(old_plane_state->hw.crtc));
 
@@ -1041,7 +1041,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
 		 * This should only fail upon a hung GPU, in which case we
 		 * can safely continue.
 		 */
-		if (intel_crtc_needs_modeset(crtc_state)) {
+		if (new_crtc_state && intel_crtc_needs_modeset(new_crtc_state)) {
 			ret = i915_sw_fence_await_reservation(&state->commit_ready,
 							      old_obj->base.resv,
 							      false, 0,



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux