public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Hersen Wu <hersenxs.wu@amd.com>,
	Harry Wentland <harry.wentland@amd.com>,
	Tom Chung <chiahsuan.chung@amd.com>,
	Daniel Wheeler <daniel.wheeler@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>,
	sunpeng.li@amd.com, Rodrigo.Siqueira@amd.com,
	christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@gmail.com,
	daniel@ffwll.ch, alex.hung@amd.com, hamza.mahfooz@amd.com,
	roman.li@amd.com, mario.limonciello@amd.com, Wayne.Lin@amd.com,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH AUTOSEL 6.10 011/121] drm/amd/display: Add NULL pointer and OVERRUN check within amdgpu_dm irq register
Date: Wed, 31 Jul 2024 19:59:09 -0400	[thread overview]
Message-ID: <20240801000834.3930818-11-sashal@kernel.org> (raw)
In-Reply-To: <20240801000834.3930818-1-sashal@kernel.org>

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

[ Upstream commit 6e41709eb1d9207d88e46026baf9cc850206b374 ]

[WHY]
Coverity reports OVERRUN issues within amdgpu_dm
interrupt registers. Do not check index value before
access array. Do not check NULL pointer.

[HOW]
Add index value check for array. Add check for
pointer from amdgpu_dm_irq_register_interrupt.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 169 +++++++++++++-----
 1 file changed, 128 insertions(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 3cdcadd41be1a..e9aac7f7cfdce 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3561,7 +3561,7 @@ static void handle_hpd_rx_irq(void *param)
 	mutex_unlock(&aconnector->hpd_lock);
 }
 
-static void register_hpd_handlers(struct amdgpu_device *adev)
+static int register_hpd_handlers(struct amdgpu_device *adev)
 {
 	struct drm_device *dev = adev_to_drm(adev);
 	struct drm_connector *connector;
@@ -3573,11 +3573,17 @@ static void register_hpd_handlers(struct amdgpu_device *adev)
 	int_params.current_polarity = INTERRUPT_POLARITY_DEFAULT;
 
 	if (dc_is_dmub_outbox_supported(adev->dm.dc)) {
-		if (!register_dmub_notify_callback(adev, DMUB_NOTIFICATION_HPD, dmub_hpd_callback, true))
+		if (!register_dmub_notify_callback(adev, DMUB_NOTIFICATION_HPD,
+			dmub_hpd_callback, true)) {
 			DRM_ERROR("amdgpu: fail to register dmub hpd callback");
+			return -EINVAL;
+		}
 
-		if (!register_dmub_notify_callback(adev, DMUB_NOTIFICATION_HPD_IRQ, dmub_hpd_callback, true))
+		if (!register_dmub_notify_callback(adev, DMUB_NOTIFICATION_HPD_IRQ,
+			dmub_hpd_callback, true)) {
 			DRM_ERROR("amdgpu: fail to register dmub hpd callback");
+			return -EINVAL;
+		}
 	}
 
 	list_for_each_entry(connector,
@@ -3593,9 +3599,16 @@ static void register_hpd_handlers(struct amdgpu_device *adev)
 			int_params.int_context = INTERRUPT_LOW_IRQ_CONTEXT;
 			int_params.irq_source = dc_link->irq_source_hpd;
 
-			amdgpu_dm_irq_register_interrupt(adev, &int_params,
-					handle_hpd_irq,
-					(void *) aconnector);
+			if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+				int_params.irq_source  < DC_IRQ_SOURCE_HPD1 ||
+				int_params.irq_source  > DC_IRQ_SOURCE_HPD6) {
+				DRM_ERROR("Failed to register hpd irq!\n");
+				return -EINVAL;
+			}
+
+			if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+				handle_hpd_irq, (void *) aconnector))
+				return -ENOMEM;
 		}
 
 		if (dc_link->irq_source_hpd_rx != DC_IRQ_SOURCE_INVALID) {
@@ -3604,11 +3617,19 @@ static void register_hpd_handlers(struct amdgpu_device *adev)
 			int_params.int_context = INTERRUPT_LOW_IRQ_CONTEXT;
 			int_params.irq_source =	dc_link->irq_source_hpd_rx;
 
-			amdgpu_dm_irq_register_interrupt(adev, &int_params,
-					handle_hpd_rx_irq,
-					(void *) aconnector);
+			if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+				int_params.irq_source  < DC_IRQ_SOURCE_HPD1RX ||
+				int_params.irq_source  > DC_IRQ_SOURCE_HPD6RX) {
+				DRM_ERROR("Failed to register hpd rx irq!\n");
+				return -EINVAL;
+			}
+
+			if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+				handle_hpd_rx_irq, (void *) aconnector))
+				return -ENOMEM;
 		}
 	}
+	return 0;
 }
 
 #if defined(CONFIG_DRM_AMD_DC_SI)
@@ -3649,13 +3670,21 @@ static int dce60_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i + 1, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_VBLANK1 ||
+			int_params.irq_source  > DC_IRQ_SOURCE_VBLANK6) {
+			DRM_ERROR("Failed to register vblank irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.vblank_params[int_params.irq_source - DC_IRQ_SOURCE_VBLANK1];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_crtc_high_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_crtc_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* Use GRPH_PFLIP interrupt */
@@ -3671,14 +3700,21 @@ static int dce60_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_PFLIP_FIRST ||
+			int_params.irq_source  > DC_IRQ_SOURCE_PFLIP_LAST) {
+			DRM_ERROR("Failed to register pflip irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.pflip_params[int_params.irq_source - DC_IRQ_SOURCE_PFLIP_FIRST];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_pflip_high_irq, c_irq_params);
-
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_pflip_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* HPD */
@@ -3689,9 +3725,9 @@ static int dce60_register_irq_handlers(struct amdgpu_device *adev)
 		return r;
 	}
 
-	register_hpd_handlers(adev);
+	r = register_hpd_handlers(adev);
 
-	return 0;
+	return r;
 }
 #endif
 
@@ -3735,13 +3771,21 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_VBLANK1 ||
+			int_params.irq_source  > DC_IRQ_SOURCE_VBLANK6) {
+			DRM_ERROR("Failed to register vblank irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.vblank_params[int_params.irq_source - DC_IRQ_SOURCE_VBLANK1];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_crtc_high_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_crtc_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* Use VUPDATE interrupt */
@@ -3756,13 +3800,21 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_VUPDATE1 ||
+			int_params.irq_source  > DC_IRQ_SOURCE_VUPDATE6) {
+			DRM_ERROR("Failed to register vupdate irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.vupdate_params[int_params.irq_source - DC_IRQ_SOURCE_VUPDATE1];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_vupdate_high_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_vupdate_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* Use GRPH_PFLIP interrupt */
@@ -3778,14 +3830,21 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_PFLIP_FIRST ||
+			int_params.irq_source  > DC_IRQ_SOURCE_PFLIP_LAST) {
+			DRM_ERROR("Failed to register pflip irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.pflip_params[int_params.irq_source - DC_IRQ_SOURCE_PFLIP_FIRST];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_pflip_high_irq, c_irq_params);
-
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_pflip_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* HPD */
@@ -3796,9 +3855,9 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
 		return r;
 	}
 
-	register_hpd_handlers(adev);
+	r = register_hpd_handlers(adev);
 
-	return 0;
+	return r;
 }
 
 /* Register IRQ sources and initialize IRQ callbacks */
@@ -3850,13 +3909,21 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_VBLANK1 ||
+			int_params.irq_source  > DC_IRQ_SOURCE_VBLANK6) {
+			DRM_ERROR("Failed to register vblank irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.vblank_params[int_params.irq_source - DC_IRQ_SOURCE_VBLANK1];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(
-			adev, &int_params, dm_crtc_high_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_crtc_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* Use otg vertical line interrupt */
@@ -3874,9 +3941,11 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, vrtl_int_srcid[i], 0);
 
-		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID) {
-			DRM_ERROR("Failed to register vline0 irq %d!\n", vrtl_int_srcid[i]);
-			break;
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source < DC_IRQ_SOURCE_DC1_VLINE0 ||
+			int_params.irq_source > DC_IRQ_SOURCE_DC6_VLINE0) {
+			DRM_ERROR("Failed to register vline0 irq!\n");
+			return -EINVAL;
 		}
 
 		c_irq_params = &adev->dm.vline0_params[int_params.irq_source
@@ -3885,8 +3954,10 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_dcn_vertical_interrupt0_high_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_dcn_vertical_interrupt0_high_irq,
+			c_irq_params))
+			return -ENOMEM;
 	}
 #endif
 
@@ -3909,13 +3980,21 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_VUPDATE1 ||
+			int_params.irq_source  > DC_IRQ_SOURCE_VUPDATE6) {
+			DRM_ERROR("Failed to register vupdate irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.vupdate_params[int_params.irq_source - DC_IRQ_SOURCE_VUPDATE1];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_vupdate_high_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_vupdate_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* Use GRPH_PFLIP interrupt */
@@ -3932,14 +4011,21 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
 		int_params.irq_source =
 			dc_interrupt_to_irq_source(dc, i, 0);
 
+		if (int_params.irq_source == DC_IRQ_SOURCE_INVALID ||
+			int_params.irq_source  < DC_IRQ_SOURCE_PFLIP_FIRST ||
+			int_params.irq_source  > DC_IRQ_SOURCE_PFLIP_LAST) {
+			DRM_ERROR("Failed to register pflip irq!\n");
+			return -EINVAL;
+		}
+
 		c_irq_params = &adev->dm.pflip_params[int_params.irq_source - DC_IRQ_SOURCE_PFLIP_FIRST];
 
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_pflip_high_irq, c_irq_params);
-
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_pflip_high_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	/* HPD */
@@ -3950,9 +4036,9 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
 		return r;
 	}
 
-	register_hpd_handlers(adev);
+	r = register_hpd_handlers(adev);
 
-	return 0;
+	return r;
 }
 /* Register Outbox IRQ sources and initialize IRQ callbacks */
 static int register_outbox_irq_handlers(struct amdgpu_device *adev)
@@ -3983,8 +4069,9 @@ static int register_outbox_irq_handlers(struct amdgpu_device *adev)
 		c_irq_params->adev = adev;
 		c_irq_params->irq_src = int_params.irq_source;
 
-		amdgpu_dm_irq_register_interrupt(adev, &int_params,
-				dm_dmub_outbox1_low_irq, c_irq_params);
+		if (!amdgpu_dm_irq_register_interrupt(adev, &int_params,
+			dm_dmub_outbox1_low_irq, c_irq_params))
+			return -ENOMEM;
 	}
 
 	return 0;
-- 
2.43.0


  parent reply	other threads:[~2024-08-01  0:09 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-31 23:58 [PATCH AUTOSEL 6.10 001/121] drm/amd/display: Enable RCO for PHYSYMCLK in DCN35 Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 002/121] drm/amd/display: Assign linear_pitch_alignment even for VM Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 003/121] drm/amdgpu: fix overflowed array index read warning Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 004/121] drm/amdgpu/pm: Check the return value of smum_send_msg_to_smc Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 005/121] drm/amd/pm: fix warning using uninitialized value of max_vid_step Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 006/121] drm/amd/pm: Fix negative array index read Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 007/121] drm/amd/pm: fix the Out-of-bounds read warning Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 008/121] drm/amdgpu: fix uninitialized scalar variable warning Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 009/121] drm/amd/display: Ensure array index tg_inst won't be -1 Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 010/121] drm/amd/display: Check gpio_id before used as array index Sasha Levin
2024-07-31 23:59 ` Sasha Levin [this message]
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 012/121] drm/amd/display: Stop amdgpu_dm initialize when stream nums greater than 6 Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 013/121] drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 014/121] drm/amd/display: Fix incorrect size calculation for loop Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 015/121] drm/amd/display: Check index for aux_rd_interval before using Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 016/121] drm/amd/display: Add missing NULL pointer check within dpcd_extend_address_range Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 017/121] drm/amd/display: Add array index check for hdcp ddc access Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 018/121] drm/amd/display: Check num_valid_sets before accessing reader_wm_sets[] Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 019/121] drm/amd/display: Skip updating link encoder for unknown eng_id Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 020/121] drm/amd/display: Check msg_id before processing transcation Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 021/121] drm/amd/display: Release state memory if amdgpu_dm_create_color_properties fail Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 022/121] drm/amd/display: Check link_index before accessing dc->links[] Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 023/121] drm/amd/display: Add otg_master NULL check within resource_log_pipe_topology_update Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 024/121] drm/amd/display: Fix Coverity INTERGER_OVERFLOW within construct_integrated_info Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 025/121] drm/amd/display: Fix Coverity INTEGER_OVERFLOW within dal_gpio_service_create Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 026/121] drm/amd/display: Release clck_src memory if clk_src_construct fails Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 027/121] drm/amd/display: Spinlock before reading event Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 028/121] drm/amd/display: Fix Coverity INTEGER_OVERFLOW within decide_fallback_link_setting_max_bw_policy Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 029/121] drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 030/121] drm/amd/display: Fix index may exceed array range within fpu_update_bw_bounding_box Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 031/121] drm/amd/amdgpu: Check tbo resource pointer Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 032/121] drm/amdgpu: Fix out-of-bounds write warning Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 033/121] drm/amdkfd: Check debug trap enable before write dbg_ev_file Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 034/121] drm/amdgpu: Fix out-of-bounds read of df_v1_7_channel_number Sasha Levin
2024-08-27 12:22   ` Pavel Machek
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 035/121] drm/amdgpu: fix ucode out-of-bounds read warning Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 036/121] drm/amdgpu: fix mc_data " Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 037/121] drm/amdkfd: Reconcile the definition and use of oem_id in struct kfd_topology_device Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 038/121] wifi: ath12k: initialize 'ret' in ath12k_qmi_load_file_target_mem() Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 039/121] wifi: ath11k: initialize 'ret' in ath11k_qmi_load_file_target_mem() Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 040/121] wifi: ath12k: initialize 'ret' in ath12k_dp_rxdma_ring_sel_config_wcn7850() Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 041/121] drm/amdgpu/pm: Check input value for CUSTOM profile mode setting on legacy SOCs Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 042/121] drm/amdgpu/pm: Check input value for power profile setting on smu11, smu13 and smu14 Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 043/121] drm/amdgpu/vcn: remove irq disabling in vcn 5 suspend Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 044/121] drm/amdgpu: Fix the warning division or modulo by zero Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 045/121] drm/amdgpu: fix dereference after null check Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 046/121] drm/amdgpu: fix the waring dereferencing hive Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 047/121] drm/amdgpu: the warning dereferencing obj for nbio_v7_4 Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 048/121] drm/amd/display: Fix pipe addition logic in calc_blocks_to_ungate DCN35 Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 049/121] drm/amdgpu: update type of buf size to u32 for eeprom functions Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 050/121] drm/xe/mmio: move mmio_fini over to devm Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 051/121] drm/xe: reset mmio mappings with devm Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 052/121] wifi: iwlwifi: fw: avoid bad FW config on RXQ DMA failure Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 053/121] drm/xe: Fix xe_pm_runtime_get_if_active return Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 054/121] cpufreq: scmi: Avoid overflow of target_freq in fast switch Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 055/121] bpf, net: Use DEV_STAT_INC() Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 056/121] PCI: al: Check IORESOURCE_BUS existence during probe Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 057/121] remoteproc: mediatek: Zero out only remaining bytes of IPI buffer Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 058/121] wifi: iwlwifi: mvm: use only beacon BSS load for active links Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 059/121] hwspinlock: Introduce hwspin_lock_bust() Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 060/121] soc: qcom: smem: Add qcom_smem_bust_hwspin_lock_by_host() Sasha Levin
2024-07-31 23:59 ` [PATCH AUTOSEL 6.10 061/121] remoteproc: qcom_q6v5_pas: Add hwspinlock bust on stop Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 062/121] gpiolib: cdev: Add INIT_KFIFO() for linereq events Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 063/121] pwm: xilinx: Fix u32 overflow issue in 32-bit width PWM mode Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 064/121] drm/amdgu: fix Unintentional integer overflow for mall size Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 065/121] smack: tcp: ipv4, fix incorrect labeling Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 066/121] drm/bridge: tc358767: Check if fully initialized before signalling HPD event via IRQ Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 067/121] drm/xe: Check valid domain is passed in xe_force_wake_ref Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 068/121] pinctrl: renesas: rzg2l: Validate power registers for SD and ETH Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 069/121] thermal: trip: Use READ_ONCE() for lockless access to trip properties Sasha Levin
2024-08-01 10:23   ` Rafael J. Wysocki
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 070/121] EDAC/amd64: Check return value of amd_smn_read() Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 071/121] hwmon: (k10temp) " Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 072/121] wifi: cfg80211: make hash table duplicates more survivable Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 073/121] driver: iio: add missing checks on iio_info's callback access Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 074/121] drm/amd/display: added NULL check at start of dc_validate_stream Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 075/121] drm/amd/display: Correct the defined value for AMDGPU_DMUB_NOTIFICATION_MAX Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 076/121] drm/amd/display: Remove register from DCN35 DMCUB diagnostic collection Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 077/121] drm/amd/display: use preferred link settings for dp signal only Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 078/121] drm/amd/display: Disable DMCUB timeout for DCN35 Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 079/121] drm/amd/display: Avoid overflow from uint32_t to uint8_t Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 080/121] drm/amd/display: Check BIOS images before it is used Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 081/121] drm/amd/display: Skip wbscl_set_scaler_filter if filter is null Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 082/121] io_uring/io-wq: make io_wq_work flags atomic Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 083/121] fou: remove warn in gue_gro_receive on unsupported protocol Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 084/121] ALSA: vmaster: Return error for invalid input values Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 085/121] ALSA: control: Apply sanity check of input values for user elements Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 086/121] wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he() Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 087/121] wifi: ath12k: fix firmware crash due to invalid peer nss Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 088/121] drm/amd/display: Check UnboundedRequestEnabled's value Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 089/121] x86/alternatives: Make FineIBT mode Kconfig selectable Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 090/121] ELF: fix kernel.randomize_va_space double read Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 091/121] accel/habanalabs/gaudi2: unsecure edma max outstanding register Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 092/121] x86/kmsan: Fix hook for unaligned accesses Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 093/121] iommu: sun50i: allocate page tables from below 4 GiB Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 094/121] udf: Avoid excessive partition lengths Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 095/121] riscv: mm: Take memory hotplug read-lock during kernel page table dump Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 096/121] usb: uas: set host status byte on data completion error Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 097/121] drm/amdgpu: Fix register access violation Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 098/121] drm/amd/display: Run DC_LOG_DC after checking link->link_enc Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 099/121] drm/amd/display: Check HDCP returned status Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 100/121] drm/amd/display: Validate function returns Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 101/121] drm/amdgpu: add missing error handling in function amdgpu_gmc_flush_gpu_tlb_pasid Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 102/121] powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas() Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 103/121] drm/amd/display: Check denominator pbn_div before used Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 104/121] drm/amd/display: Check denominator crb_pipes " Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 105/121] phy: zynqmp: Take the phy mutex in xlate Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 106/121] cgroup: Protect css->cgroup write under css_set_lock Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 107/121] um: line: always fill *error_out in setup_one_line() Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 108/121] devres: Initialize an uninitialized struct member Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 109/121] wifi: iwlwifi: mvm: don't send an ROC command with max_delay = 0 Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 110/121] pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 111/121] virtio_ring: fix KMSAN error for premapped mode Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 112/121] wifi: rtw88: usb: schedule rx work after everything is set up Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 113/121] scsi: pm80xx: Set phy->enable_completion only when we wait for it Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 114/121] block: factor out a blk_write_zeroes_limit helper Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 115/121] hwmon: (lm95234) Fix underflows seen when writing limit attributes Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 116/121] hwmon: (nct6775-core) " Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 117/121] hwmon: (w83627ehf) " Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 118/121] libbpf: Add NULL checks to bpf_object__{prev_map,next_map} Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 119/121] wifi: mac80211_hwsim: fix warning Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 120/121] wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() Sasha Levin
2024-08-01  0:00 ` [PATCH AUTOSEL 6.10 121/121] i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240801000834.3930818-11-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=Rodrigo.Siqueira@amd.com \
    --cc=Wayne.Lin@amd.com \
    --cc=Xinhui.Pan@amd.com \
    --cc=airlied@gmail.com \
    --cc=alex.hung@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=chiahsuan.chung@amd.com \
    --cc=christian.koenig@amd.com \
    --cc=daniel.wheeler@amd.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hamza.mahfooz@amd.com \
    --cc=harry.wentland@amd.com \
    --cc=hersenxs.wu@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=roman.li@amd.com \
    --cc=stable@vger.kernel.org \
    --cc=sunpeng.li@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox