From: Greg Kroah-Hartman Date: Fri, 6 Dec 2024 13:24:18 +0000 (+0100) Subject: 5.15-stable patches X-Git-Tag: v6.6.64~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ebfe598d5840bdd25525b359c0662d580e37f472;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch drm-sti-avoid-potential-dereference-of-error-pointers.patch --- diff --git a/queue-5.15/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch b/queue-5.15/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch new file mode 100644 index 00000000000..b0505a84ac4 --- /dev/null +++ b/queue-5.15/drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch @@ -0,0 +1,33 @@ +From 4f8dbadef085ab447a01a8d4806a3f629fea05ed Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Fri, 25 Oct 2024 17:14:46 +0200 +Subject: drm/etnaviv: flush shader L1 cache after user commandstream + +From: Lucas Stach + +commit 4f8dbadef085ab447a01a8d4806a3f629fea05ed upstream. + +The shader L1 cache is a writeback cache for shader loads/stores +and thus must be flushed before any BOs backing the shader buffers +are potentially freed. + +Cc: stable@vger.kernel.org +Reviewed-by: Christian Gmeiner +Signed-off-by: Lucas Stach +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c ++++ b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c +@@ -481,7 +481,8 @@ void etnaviv_buffer_queue(struct etnaviv + } else { + CMD_LOAD_STATE(buffer, VIVS_GL_FLUSH_CACHE, + VIVS_GL_FLUSH_CACHE_DEPTH | +- VIVS_GL_FLUSH_CACHE_COLOR); ++ VIVS_GL_FLUSH_CACHE_COLOR | ++ VIVS_GL_FLUSH_CACHE_SHADER_L1); + if (has_blt) { + CMD_LOAD_STATE(buffer, VIVS_BLT_ENABLE, 0x1); + CMD_LOAD_STATE(buffer, VIVS_BLT_SET_COMMAND, 0x1); diff --git a/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch b/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch new file mode 100644 index 00000000000..85b2d81cb76 --- /dev/null +++ b/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch @@ -0,0 +1,36 @@ +From e965e771b069421c233d674c3c8cd8c7f7245f42 Mon Sep 17 00:00:00 2001 +From: Ma Ke +Date: Mon, 9 Sep 2024 14:33:59 +0800 +Subject: drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check + +From: Ma Ke + +commit e965e771b069421c233d674c3c8cd8c7f7245f42 upstream. + +The return value of drm_atomic_get_crtc_state() needs to be +checked. To avoid use of error pointer 'crtc_state' in case +of the failure. + +Cc: stable@vger.kernel.org +Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes") +Signed-off-by: Ma Ke +Acked-by: Alain Volmat +Link: https://patchwork.freedesktop.org/patch/msgid/20240909063359.1197065-1-make24@iscas.ac.cn +Signed-off-by: Alain Volmat +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/sti/sti_gdp.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/sti/sti_gdp.c ++++ b/drivers/gpu/drm/sti/sti_gdp.c +@@ -636,6 +636,9 @@ static int sti_gdp_atomic_check(struct d + + mixer = to_sti_mixer(crtc); + crtc_state = drm_atomic_get_crtc_state(state, crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ + mode = &crtc_state->mode; + dst_x = new_plane_state->crtc_x; + dst_y = new_plane_state->crtc_y; diff --git a/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch b/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch new file mode 100644 index 00000000000..9809291a33e --- /dev/null +++ b/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch @@ -0,0 +1,35 @@ +From c1ab40a1fdfee732c7e6ff2fb8253760293e47e8 Mon Sep 17 00:00:00 2001 +From: Ma Ke +Date: Fri, 13 Sep 2024 17:09:26 +0800 +Subject: drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check + +From: Ma Ke + +commit c1ab40a1fdfee732c7e6ff2fb8253760293e47e8 upstream. + +The return value of drm_atomic_get_crtc_state() needs to be +checked. To avoid use of error pointer 'crtc_state' in case +of the failure. + +Cc: stable@vger.kernel.org +Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes") +Signed-off-by: Ma Ke +Link: https://patchwork.freedesktop.org/patch/msgid/20240913090926.2023716-1-make24@iscas.ac.cn +Signed-off-by: Alain Volmat +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/sti/sti_hqvdp.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/sti/sti_hqvdp.c ++++ b/drivers/gpu/drm/sti/sti_hqvdp.c +@@ -1035,6 +1035,9 @@ static int sti_hqvdp_atomic_check(struct + return 0; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ + mode = &crtc_state->mode; + dst_x = new_plane_state->crtc_x; + dst_y = new_plane_state->crtc_y; diff --git a/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers.patch b/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers.patch new file mode 100644 index 00000000000..c4f0bb1abb6 --- /dev/null +++ b/queue-5.15/drm-sti-avoid-potential-dereference-of-error-pointers.patch @@ -0,0 +1,35 @@ +From 831214f77037de02afc287eae93ce97f218d8c04 Mon Sep 17 00:00:00 2001 +From: Ma Ke +Date: Fri, 13 Sep 2024 17:04:12 +0800 +Subject: drm/sti: avoid potential dereference of error pointers + +From: Ma Ke + +commit 831214f77037de02afc287eae93ce97f218d8c04 upstream. + +The return value of drm_atomic_get_crtc_state() needs to be +checked. To avoid use of error pointer 'crtc_state' in case +of the failure. + +Cc: stable@vger.kernel.org +Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes") +Signed-off-by: Ma Ke +Link: https://patchwork.freedesktop.org/patch/msgid/20240913090412.2022848-1-make24@iscas.ac.cn +Signed-off-by: Alain Volmat +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/sti/sti_cursor.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/sti/sti_cursor.c ++++ b/drivers/gpu/drm/sti/sti_cursor.c +@@ -199,6 +199,9 @@ static int sti_cursor_atomic_check(struc + return 0; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ + mode = &crtc_state->mode; + dst_x = new_plane_state->crtc_x; + dst_y = new_plane_state->crtc_y; diff --git a/queue-5.15/series b/queue-5.15/series index 9ea65cfca23..82aa7623b25 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -393,3 +393,7 @@ pci-rockchip-ep-fix-address-translation-unit-programming.patch nfsd-make-sure-exp-active-before-svc_export_show.patch nfsd-fix-nfs4_openowner-leak-when-concurrent-nfsd4_open-occur.patch btrfs-don-t-bug_on-on-enomem-from-btrfs_lookup_extent_info-in-walk_down_proc.patch +drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_hqvdp_atomic_check.patch +drm-sti-avoid-potential-dereference-of-error-pointers-in-sti_gdp_atomic_check.patch +drm-sti-avoid-potential-dereference-of-error-pointers.patch +drm-etnaviv-flush-shader-l1-cache-after-user-commandstream.patch