diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0542-drm-amd-display-initialize-dc_transfer_func-ctx.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0542-drm-amd-display-initialize-dc_transfer_func-ctx.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0542-drm-amd-display-initialize-dc_transfer_func-ctx.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0542-drm-amd-display-initialize-dc_transfer_func-ctx.patch new file mode 100644 index 00000000..d9b96f70 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0542-drm-amd-display-initialize-dc_transfer_func-ctx.patch @@ -0,0 +1,47 @@ +From 28edf513e5e1bec0868b9d422b1f6552f13fa681 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 0542/2940] 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 2ac848a106ba..e113439aaa86 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 8fb3aefd195c..c60c9b4c3075 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.17.1 + |