aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/5585-drm-amd-display-initialize-dc_transfer_func-ctx.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/5585-drm-amd-display-initialize-dc_transfer_func-ctx.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/5585-drm-amd-display-initialize-dc_transfer_func-ctx.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/5585-drm-amd-display-initialize-dc_transfer_func-ctx.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/5585-drm-amd-display-initialize-dc_transfer_func-ctx.patch
new file mode 100644
index 00000000..bc65f2f6
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/5585-drm-amd-display-initialize-dc_transfer_func-ctx.patch
@@ -0,0 +1,47 @@
+From 8930929914d3b1ea34564fa6db967effc25a300a Mon Sep 17 00:00:00 2001
+From: David Francis <David.Francis@amd.com>
+Date: Fri, 21 Sep 2018 14:36:17 -0400
+Subject: [PATCH 5585/5725] drm/amd/display: initialize dc_transfer_func->ctx
+
+[Why]
+dc_transfer_func structs were being passed around with a null
+pointer, waiting for unsuspecting programmers to dereference it.
+
+[How]
+Initialize it
+
+Signed-off-by: David Francis <David.Francis@amd.com>
+Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 1 +
+ drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
+index 2ac848a1..e113439 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
+@@ -106,6 +106,7 @@ static void construct(struct dc_stream_state *stream,
+
+ stream->out_transfer_func = dc_create_transfer_func();
+ stream->out_transfer_func->type = TF_TYPE_BYPASS;
++ stream->out_transfer_func->ctx = stream->ctx;
+ }
+
+ static void destruct(struct dc_stream_state *stream)
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+index 8fb3aef..c60c9b4 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+@@ -44,6 +44,7 @@ static void construct(struct dc_context *ctx, struct dc_plane_state *plane_state
+
+ plane_state->in_transfer_func = dc_create_transfer_func();
+ plane_state->in_transfer_func->type = TF_TYPE_BYPASS;
++ plane_state->in_transfer_func->ctx = ctx;
+ }
+
+ static void destruct(struct dc_plane_state *plane_state)
+--
+2.7.4
+