public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6.6] drm/amd/display: Add NULL pointer check for kzalloc
@ 2024-11-29  5:39 bin.lan.cn
  2024-11-29 20:03 ` Sasha Levin
  0 siblings, 1 reply; 2+ messages in thread
From: bin.lan.cn @ 2024-11-29  5:39 UTC (permalink / raw)
  To: stable, hersenxs.wu

From: Hersen Wu <hersenxs.wu@amd.com>

[ Upstream commit 8e65a1b7118acf6af96449e1e66b7adbc9396912 ]

[Why & How]
Check return pointer of kzalloc before using it.

Reviewed-by: Alex Hung <alex.hung@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
[ Resolve minor conflicts ]
Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
---
 .../gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c  | 8 ++++++++
 .../gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c  | 8 ++++++++
 drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c     | 3 +++
 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c     | 5 +++++
 drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c   | 5 +++++
 drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c   | 2 ++
 drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c   | 2 ++
 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c     | 5 +++++
 drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c   | 2 ++
 9 files changed, 40 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
index 3271c8c7905d..4e036356b6a8 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
@@ -560,11 +560,19 @@ void dcn3_clk_mgr_construct(
 	dce_clock_read_ss_info(clk_mgr);
 
 	clk_mgr->base.bw_params = kzalloc(sizeof(*clk_mgr->base.bw_params), GFP_KERNEL);
+	if (!clk_mgr->base.bw_params) {
+		BREAK_TO_DEBUGGER();
+		return;
+	}
 
 	/* need physical address of table to give to PMFW */
 	clk_mgr->wm_range_table = dm_helpers_allocate_gpu_mem(clk_mgr->base.ctx,
 			DC_MEM_ALLOC_TYPE_GART, sizeof(WatermarksExternal_t),
 			&clk_mgr->wm_range_table_addr);
+	if (!clk_mgr->wm_range_table) {
+		BREAK_TO_DEBUGGER();
+		return;
+	}
 }
 
 void dcn3_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr)
diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
index 2428a4763b85..1c5ae4d62e37 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
@@ -1022,11 +1022,19 @@ void dcn32_clk_mgr_construct(
 	clk_mgr->smu_present = false;
 
 	clk_mgr->base.bw_params = kzalloc(sizeof(*clk_mgr->base.bw_params), GFP_KERNEL);
+	if (!clk_mgr->base.bw_params) {
+		BREAK_TO_DEBUGGER();
+		return;
+	}
 
 	/* need physical address of table to give to PMFW */
 	clk_mgr->wm_range_table = dm_helpers_allocate_gpu_mem(clk_mgr->base.ctx,
 			DC_MEM_ALLOC_TYPE_GART, sizeof(WatermarksExternal_t),
 			&clk_mgr->wm_range_table_addr);
+	if (!clk_mgr->wm_range_table) {
+		BREAK_TO_DEBUGGER();
+		return;
+	}
 }
 
 void dcn32_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr)
diff --git a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c
index 88c0b24a3249..de83acd12250 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c
@@ -2045,6 +2045,9 @@ bool dcn30_validate_bandwidth(struct dc *dc,
 
 	BW_VAL_TRACE_COUNT();
 
+	if (!pipes)
+		goto validate_fail;
+
 	DC_FP_START();
 	out = dcn30_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, fast_validate, true);
 	DC_FP_END();
diff --git a/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c b/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
index 82de4fe2637f..84e3df49be2f 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
@@ -1308,6 +1308,8 @@ static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
 
 	/* allocate HPO link encoder */
 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
+	if (!hpo_dp_enc31)
+		return NULL; /* out of memory */
 
 	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
 					&hpo_dp_link_enc_regs[inst],
@@ -1764,6 +1766,9 @@ bool dcn31_validate_bandwidth(struct dc *dc,
 
 	BW_VAL_TRACE_COUNT();
 
+	if (!pipes)
+		goto validate_fail;
+
 	DC_FP_START();
 	out = dcn30_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, fast_validate, true);
 	DC_FP_END();
diff --git a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c
index 3e65e683db0a..6e52851bc031 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c
@@ -1381,6 +1381,8 @@ static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
 
 	/* allocate HPO link encoder */
 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
+	if (!hpo_dp_enc31)
+		return NULL; /* out of memory */
 
 	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
 					&hpo_dp_link_enc_regs[inst],
@@ -1741,6 +1743,9 @@ bool dcn314_validate_bandwidth(struct dc *dc,
 
 	BW_VAL_TRACE_COUNT();
 
+	if (!pipes)
+		goto validate_fail;
+
 	if (filter_modes_for_single_channel_workaround(dc, context))
 		goto validate_fail;
 
diff --git a/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c b/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c
index 127487ea3d7d..3f3b555b4523 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c
@@ -1308,6 +1308,8 @@ static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
 
 	/* allocate HPO link encoder */
 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
+	if (!hpo_dp_enc31)
+		return NULL; /* out of memory */
 
 	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
 					&hpo_dp_link_enc_regs[inst],
diff --git a/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c b/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c
index 5fe2c61527df..37b7973fc949 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c
@@ -1305,6 +1305,8 @@ static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
 
 	/* allocate HPO link encoder */
 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
+	if (!hpo_dp_enc31)
+		return NULL; /* out of memory */
 
 	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
 					&hpo_dp_link_enc_regs[inst],
diff --git a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
index f9d601c8c721..4d4ff13a2af8 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
@@ -1299,6 +1299,8 @@ static struct hpo_dp_link_encoder *dcn32_hpo_dp_link_encoder_create(
 
 	/* allocate HPO link encoder */
 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
+	if (!hpo_dp_enc31)
+		return NULL; /* out of memory */
 
 #undef REG_STRUCT
 #define REG_STRUCT hpo_dp_link_enc_regs
@@ -1842,6 +1844,9 @@ bool dcn32_validate_bandwidth(struct dc *dc,
 
 	BW_VAL_TRACE_COUNT();
 
+	if (!pipes)
+		goto validate_fail;
+
 	DC_FP_START();
 	out = dcn32_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, fast_validate);
 	DC_FP_END();
diff --git a/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c b/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
index aa4c64eec7b3..4289cd1643ec 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
@@ -1285,6 +1285,8 @@ static struct hpo_dp_link_encoder *dcn321_hpo_dp_link_encoder_create(
 
 	/* allocate HPO link encoder */
 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
+	if (!hpo_dp_enc31)
+		return NULL; /* out of memory */
 
 #undef REG_STRUCT
 #define REG_STRUCT hpo_dp_link_enc_regs
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 6.6] drm/amd/display: Add NULL pointer check for kzalloc
  2024-11-29  5:39 [PATCH 6.6] drm/amd/display: Add NULL pointer check for kzalloc bin.lan.cn
@ 2024-11-29 20:03 ` Sasha Levin
  0 siblings, 0 replies; 2+ messages in thread
From: Sasha Levin @ 2024-11-29 20:03 UTC (permalink / raw)
  To: stable; +Cc: bin.lan.cn, Sasha Levin

[ Sasha's backport helper bot ]

Hi,

The upstream commit SHA1 provided is correct: 8e65a1b7118acf6af96449e1e66b7adbc9396912

WARNING: Author mismatch between patch and upstream commit:
Backport author: bin.lan.cn@eng.windriver.com
Commit author: Hersen Wu <hersenxs.wu@amd.com>


Status in newer kernel trees:
6.12.y | Present (exact SHA1)
6.11.y | Present (exact SHA1)
6.6.y | Not found

Note: The patch differs from the upstream commit:
---
1:  8e65a1b7118ac ! 1:  a22a302a24281 drm/amd/display: Add NULL pointer check for kzalloc
    @@ Metadata
      ## Commit message ##
         drm/amd/display: Add NULL pointer check for kzalloc
     
    +    [ Upstream commit 8e65a1b7118acf6af96449e1e66b7adbc9396912 ]
    +
         [Why & How]
         Check return pointer of kzalloc before using it.
     
    @@ Commit message
         Acked-by: Wayne Lin <wayne.lin@amd.com>
         Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
         Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    +    [ Resolve minor conflicts ]
    +    Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
     
      ## drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c ##
     @@ drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c: void dcn3_clk_mgr_construct(
    @@ drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c: void dcn32_clk_mgr
      
      void dcn32_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr)
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn30/dcn30_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn30/dcn30_resource.c: bool dcn30_validate_bandwidth(struct dc *dc,
    + ## drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c: bool dcn30_validate_bandwidth(struct dc *dc,
      
      	BW_VAL_TRACE_COUNT();
      
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn30/dcn30_resource.c: bool dcn30_valid
      	out = dcn30_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, fast_validate, true);
      	DC_FP_END();
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
    + ## drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
      
      	/* allocate HPO link encoder */
      	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c: static struct hp
      
      	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
      					&hpo_dp_link_enc_regs[inst],
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c: bool dcn31_validate_bandwidth(struct dc *dc,
    +@@ drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c: bool dcn31_validate_bandwidth(struct dc *dc,
      
      	BW_VAL_TRACE_COUNT();
      
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c: bool dcn31_valid
      	out = dcn30_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, fast_validate, true);
      	DC_FP_END();
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
    + ## drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
      
      	/* allocate HPO link encoder */
      	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c: static struct
      
      	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
      					&hpo_dp_link_enc_regs[inst],
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c: bool dcn314_validate_bandwidth(struct dc *dc,
    +@@ drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c: bool dcn314_validate_bandwidth(struct dc *dc,
      
      	BW_VAL_TRACE_COUNT();
      
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c: bool dcn314_va
      		goto validate_fail;
      
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
    + ## drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
      
      	/* allocate HPO link encoder */
      	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c: static struct
      	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
      					&hpo_dp_link_enc_regs[inst],
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
    + ## drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
      
      	/* allocate HPO link encoder */
      	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c: static struct
      	hpo_dp_link_encoder31_construct(hpo_dp_enc31, ctx, inst,
      					&hpo_dp_link_enc_regs[inst],
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c: static struct hpo_dp_link_encoder *dcn32_hpo_dp_link_encoder_create(
    + ## drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c: static struct hpo_dp_link_encoder *dcn32_hpo_dp_link_encoder_create(
      
      	/* allocate HPO link encoder */
      	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c: static struct hp
      
      #undef REG_STRUCT
      #define REG_STRUCT hpo_dp_link_enc_regs
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c: static bool dml1_validate(struct dc *dc, struct dc_state *context, bool fast_val
    +@@ drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c: bool dcn32_validate_bandwidth(struct dc *dc,
      
      	BW_VAL_TRACE_COUNT();
      
    @@ drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c: static bool dml1
      	out = dcn32_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, fast_validate);
      	DC_FP_END();
     
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c: static struct hpo_dp_link_encoder *dcn321_hpo_dp_link_encoder_create(
    - 
    - 	/* allocate HPO link encoder */
    - 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    -+	if (!hpo_dp_enc31)
    -+		return NULL; /* out of memory */
    - 
    - #undef REG_STRUCT
    - #define REG_STRUCT hpo_dp_link_enc_regs
    -
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
    - 
    - 	/* allocate HPO link encoder */
    - 	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
    -+	if (!hpo_dp_enc31)
    -+		return NULL; /* out of memory */
    - 
    - #undef REG_STRUCT
    - #define REG_STRUCT hpo_dp_link_enc_regs
    -
    - ## drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c ##
    -@@ drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c: static struct hpo_dp_link_encoder *dcn31_hpo_dp_link_encoder_create(
    + ## drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c ##
    +@@ drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c: static struct hpo_dp_link_encoder *dcn321_hpo_dp_link_encoder_create(
      
      	/* allocate HPO link encoder */
      	hpo_dp_enc31 = kzalloc(sizeof(struct dcn31_hpo_dp_link_encoder), GFP_KERNEL);
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.6.y        |  Success    |  Success   |

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-11-29 20:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-29  5:39 [PATCH 6.6] drm/amd/display: Add NULL pointer check for kzalloc bin.lan.cn
2024-11-29 20:03 ` Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox