Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "Katya Orlova" <e.orlova@ispras.ru>,
	"Raphaël Gallais-Pou" <raphael.gallais-pou@foss.st.com>,
	"Sasha Levin" <sashal@kernel.org>,
	yannick.fertre@foss.st.com, philippe.cornu@foss.st.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, airlied@gmail.com, daniel@ffwll.ch,
	mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com,
	dri-devel@lists.freedesktop.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH AUTOSEL 6.10 112/197] drm/stm: Avoid use-after-free issues with crtc and plane
Date: Wed, 25 Sep 2024 07:52:11 -0400	[thread overview]
Message-ID: <20240925115823.1303019-112-sashal@kernel.org> (raw)
In-Reply-To: <20240925115823.1303019-1-sashal@kernel.org>

From: Katya Orlova <e.orlova@ispras.ru>

[ Upstream commit 19dd9780b7ac673be95bf6fd6892a184c9db611f ]

ltdc_load() calls functions drm_crtc_init_with_planes(),
drm_universal_plane_init() and drm_encoder_init(). These functions
should not be called with parameters allocated with devm_kzalloc()
to avoid use-after-free issues [1].

Use allocations managed by the DRM framework.

Found by Linux Verification Center (linuxtesting.org).

[1]
https://lore.kernel.org/lkml/u366i76e3qhh3ra5oxrtngjtm2u5lterkekcz6y2jkndhuxzli@diujon4h7qwb/

Signed-off-by: Katya Orlova <e.orlova@ispras.ru>
Acked-by: Raphaël Gallais-Pou <raphael.gallais-pou@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240216125040.8968-1-e.orlova@ispras.ru
Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/stm/drv.c  |  3 +-
 drivers/gpu/drm/stm/ltdc.c | 73 ++++++++++----------------------------
 2 files changed, 20 insertions(+), 56 deletions(-)

diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index e8523abef27a5..152bec2c02385 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -25,6 +25,7 @@
 #include <drm/drm_module.h>
 #include <drm/drm_probe_helper.h>
 #include <drm/drm_vblank.h>
+#include <drm/drm_managed.h>
 
 #include "ltdc.h"
 
@@ -75,7 +76,7 @@ static int drv_load(struct drm_device *ddev)
 
 	DRM_DEBUG("%s\n", __func__);
 
-	ldev = devm_kzalloc(ddev->dev, sizeof(*ldev), GFP_KERNEL);
+	ldev = drmm_kzalloc(ddev, sizeof(*ldev), GFP_KERNEL);
 	if (!ldev)
 		return -ENOMEM;
 
diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 5576fdae49623..eeaabb4e10d3e 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -36,6 +36,7 @@
 #include <drm/drm_probe_helper.h>
 #include <drm/drm_simple_kms_helper.h>
 #include <drm/drm_vblank.h>
+#include <drm/drm_managed.h>
 
 #include <video/videomode.h>
 
@@ -1199,7 +1200,6 @@ static void ltdc_crtc_atomic_print_state(struct drm_printer *p,
 }
 
 static const struct drm_crtc_funcs ltdc_crtc_funcs = {
-	.destroy = drm_crtc_cleanup,
 	.set_config = drm_atomic_helper_set_config,
 	.page_flip = drm_atomic_helper_page_flip,
 	.reset = drm_atomic_helper_crtc_reset,
@@ -1212,7 +1212,6 @@ static const struct drm_crtc_funcs ltdc_crtc_funcs = {
 };
 
 static const struct drm_crtc_funcs ltdc_crtc_with_crc_support_funcs = {
-	.destroy = drm_crtc_cleanup,
 	.set_config = drm_atomic_helper_set_config,
 	.page_flip = drm_atomic_helper_page_flip,
 	.reset = drm_atomic_helper_crtc_reset,
@@ -1545,7 +1544,6 @@ static void ltdc_plane_atomic_print_state(struct drm_printer *p,
 static const struct drm_plane_funcs ltdc_plane_funcs = {
 	.update_plane = drm_atomic_helper_update_plane,
 	.disable_plane = drm_atomic_helper_disable_plane,
-	.destroy = drm_plane_cleanup,
 	.reset = drm_atomic_helper_plane_reset,
 	.atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
 	.atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
@@ -1572,7 +1570,6 @@ static struct drm_plane *ltdc_plane_create(struct drm_device *ddev,
 	const u64 *modifiers = ltdc_format_modifiers;
 	u32 lofs = index * LAY_OFS;
 	u32 val;
-	int ret;
 
 	/* Allocate the biggest size according to supported color formats */
 	formats = devm_kzalloc(dev, (ldev->caps.pix_fmt_nb +
@@ -1613,14 +1610,10 @@ static struct drm_plane *ltdc_plane_create(struct drm_device *ddev,
 		}
 	}
 
-	plane = devm_kzalloc(dev, sizeof(*plane), GFP_KERNEL);
-	if (!plane)
-		return NULL;
-
-	ret = drm_universal_plane_init(ddev, plane, possible_crtcs,
-				       &ltdc_plane_funcs, formats, nb_fmt,
-				       modifiers, type, NULL);
-	if (ret < 0)
+	plane = drmm_universal_plane_alloc(ddev, struct drm_plane, dev,
+					   possible_crtcs, &ltdc_plane_funcs, formats,
+					   nb_fmt, modifiers, type, NULL);
+	if (IS_ERR(plane))
 		return NULL;
 
 	if (ldev->caps.ycbcr_input) {
@@ -1643,15 +1636,6 @@ static struct drm_plane *ltdc_plane_create(struct drm_device *ddev,
 	return plane;
 }
 
-static void ltdc_plane_destroy_all(struct drm_device *ddev)
-{
-	struct drm_plane *plane, *plane_temp;
-
-	list_for_each_entry_safe(plane, plane_temp,
-				 &ddev->mode_config.plane_list, head)
-		drm_plane_cleanup(plane);
-}
-
 static int ltdc_crtc_init(struct drm_device *ddev, struct drm_crtc *crtc)
 {
 	struct ltdc_device *ldev = ddev->dev_private;
@@ -1677,14 +1661,14 @@ static int ltdc_crtc_init(struct drm_device *ddev, struct drm_crtc *crtc)
 
 	/* Init CRTC according to its hardware features */
 	if (ldev->caps.crc)
-		ret = drm_crtc_init_with_planes(ddev, crtc, primary, NULL,
-						&ltdc_crtc_with_crc_support_funcs, NULL);
+		ret = drmm_crtc_init_with_planes(ddev, crtc, primary, NULL,
+						 &ltdc_crtc_with_crc_support_funcs, NULL);
 	else
-		ret = drm_crtc_init_with_planes(ddev, crtc, primary, NULL,
-						&ltdc_crtc_funcs, NULL);
+		ret = drmm_crtc_init_with_planes(ddev, crtc, primary, NULL,
+						 &ltdc_crtc_funcs, NULL);
 	if (ret) {
 		DRM_ERROR("Can not initialize CRTC\n");
-		goto cleanup;
+		return ret;
 	}
 
 	drm_crtc_helper_add(crtc, &ltdc_crtc_helper_funcs);
@@ -1698,9 +1682,8 @@ static int ltdc_crtc_init(struct drm_device *ddev, struct drm_crtc *crtc)
 	for (i = 1; i < ldev->caps.nb_layers; i++) {
 		overlay = ltdc_plane_create(ddev, DRM_PLANE_TYPE_OVERLAY, i);
 		if (!overlay) {
-			ret = -ENOMEM;
 			DRM_ERROR("Can not create overlay plane %d\n", i);
-			goto cleanup;
+			return -ENOMEM;
 		}
 		if (ldev->caps.dynamic_zorder)
 			drm_plane_create_zpos_property(overlay, i, 0, ldev->caps.nb_layers - 1);
@@ -1713,10 +1696,6 @@ static int ltdc_crtc_init(struct drm_device *ddev, struct drm_crtc *crtc)
 	}
 
 	return 0;
-
-cleanup:
-	ltdc_plane_destroy_all(ddev);
-	return ret;
 }
 
 static void ltdc_encoder_disable(struct drm_encoder *encoder)
@@ -1776,23 +1755,19 @@ static int ltdc_encoder_init(struct drm_device *ddev, struct drm_bridge *bridge)
 	struct drm_encoder *encoder;
 	int ret;
 
-	encoder = devm_kzalloc(ddev->dev, sizeof(*encoder), GFP_KERNEL);
-	if (!encoder)
-		return -ENOMEM;
+	encoder = drmm_simple_encoder_alloc(ddev, struct drm_encoder, dev,
+					    DRM_MODE_ENCODER_DPI);
+	if (IS_ERR(encoder))
+		return PTR_ERR(encoder);
 
 	encoder->possible_crtcs = CRTC_MASK;
 	encoder->possible_clones = 0;	/* No cloning support */
 
-	drm_simple_encoder_init(ddev, encoder, DRM_MODE_ENCODER_DPI);
-
 	drm_encoder_helper_add(encoder, &ltdc_encoder_helper_funcs);
 
 	ret = drm_bridge_attach(encoder, bridge, NULL, 0);
-	if (ret) {
-		if (ret != -EPROBE_DEFER)
-			drm_encoder_cleanup(encoder);
+	if (ret)
 		return ret;
-	}
 
 	DRM_DEBUG_DRIVER("Bridge encoder:%d created\n", encoder->base.id);
 
@@ -1962,8 +1937,7 @@ int ltdc_load(struct drm_device *ddev)
 			goto err;
 
 		if (panel) {
-			bridge = drm_panel_bridge_add_typed(panel,
-							    DRM_MODE_CONNECTOR_DPI);
+			bridge = drmm_panel_bridge_add(ddev, panel);
 			if (IS_ERR(bridge)) {
 				DRM_ERROR("panel-bridge endpoint %d\n", i);
 				ret = PTR_ERR(bridge);
@@ -2045,7 +2019,7 @@ int ltdc_load(struct drm_device *ddev)
 		}
 	}
 
-	crtc = devm_kzalloc(dev, sizeof(*crtc), GFP_KERNEL);
+	crtc = drmm_kzalloc(ddev, sizeof(*crtc), GFP_KERNEL);
 	if (!crtc) {
 		DRM_ERROR("Failed to allocate crtc\n");
 		ret = -ENOMEM;
@@ -2072,9 +2046,6 @@ int ltdc_load(struct drm_device *ddev)
 
 	return 0;
 err:
-	for (i = 0; i < nb_endpoints; i++)
-		drm_of_panel_bridge_remove(ddev->dev->of_node, 0, i);
-
 	clk_disable_unprepare(ldev->pixel_clk);
 
 	return ret;
@@ -2082,16 +2053,8 @@ int ltdc_load(struct drm_device *ddev)
 
 void ltdc_unload(struct drm_device *ddev)
 {
-	struct device *dev = ddev->dev;
-	int nb_endpoints, i;
-
 	DRM_DEBUG_DRIVER("\n");
 
-	nb_endpoints = of_graph_get_endpoint_count(dev->of_node);
-
-	for (i = 0; i < nb_endpoints; i++)
-		drm_of_panel_bridge_remove(ddev->dev->of_node, 0, i);
-
 	pm_runtime_disable(ddev->dev);
 }
 
-- 
2.43.0


  parent reply	other threads:[~2024-09-25 12:03 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-25 11:50 [PATCH AUTOSEL 6.10 001/197] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 002/197] wifi: rtw89: avoid to add interface to list twice when SER Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 003/197] wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 004/197] crypto: x86/sha256 - Add parentheses around macros' single arguments Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 005/197] crypto: octeontx - Fix authenc setkey Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 006/197] crypto: octeontx2 " Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 007/197] ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 008/197] wifi: iwlwifi: mvm: Fix a race in scan abort flow Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 009/197] wifi: iwlwifi: mvm: drop wrong STA selection in TX Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 010/197] wifi: cfg80211: Set correct chandef when starting CAC Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 011/197] net/xen-netback: prevent UAF in xenvif_flush_hash() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 012/197] net: hisilicon: hip04: fix OF node leak in probe() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 013/197] net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 014/197] net: hisilicon: hns_mdio: fix OF node leak in probe() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 015/197] ACPI: PAD: fix crash in exit_round_robin() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 016/197] ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 017/197] ACPICA: Fix memory leak if acpi_ps_get_next_field() fails Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 018/197] fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 019/197] e1000e: avoid failing the system during pm_suspend Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 020/197] ACPI: resource: Skip IRQ override on Asus Vivobook Go E1404GAB Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 021/197] wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 022/197] net: sched: consistently use rcu_replace_pointer() in taprio_change() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 023/197] Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0489:0xe122 Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 024/197] Bluetooth: btrtl: Set msft ext address filter quirk for RTL8852B Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 025/197] ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18 Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 026/197] ACPI: CPPC: Add support for setting EPP register in FFH Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 027/197] blk_iocost: fix more out of bound shifts Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 028/197] nvme-pci: qdepth 1 quirk Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 029/197] wifi: ath12k: fix array out-of-bound access in SoC stats Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 030/197] wifi: ath11k: " Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 031/197] wifi: rtw88: select WANT_DEV_COREDUMP Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 032/197] l2tp: don't use tunnel socket sk_user_data in ppp procfs output Sasha Levin
2024-09-25 14:12   ` James Chapman
2024-10-06  0:30     ` Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 033/197] ACPI: EC: Do not release locks during operation region accesses Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 034/197] ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 035/197] tipc: guard against string buffer overrun Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 036/197] net: mvpp2: Increase size of queue_name buffer Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 037/197] bnxt_en: Extend maximum length of version string by 1 byte Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 038/197] ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR) Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 039/197] wifi: rtw89: correct base HT rate mask for firmware Sasha Levin
2024-09-25 11:50 ` [PATCH AUTOSEL 6.10 040/197] netfilter: nf_tables: don't initialize registers in nft_do_chain() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 041/197] ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 042/197] nvme-keyring: restrict match length for version '1' identifiers Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 043/197] nvme-tcp: sanitize TLS key handling Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 044/197] nvme-tcp: check for invalidated or revoked key Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 045/197] net: atlantic: Avoid warning about potential string truncation Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 046/197] crypto: simd - Do not call crypto_alloc_tfm during registration Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 047/197] netpoll: Ensure clean state on setup failures Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 048/197] tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 049/197] wifi: iwlwifi: mvm: use correct key iteration Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 050/197] wifi: iwlwifi: allow only CN mcc from WRDD Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 051/197] wifi: iwlwifi: mvm: avoid NULL pointer dereference Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 052/197] wifi: mac80211: fix RCU list iterations Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 053/197] ACPICA: iasl: handle empty connection_node Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 054/197] proc: add config & param to block forcing mem writes Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 055/197] drivers/perf: arm_spe: Use perf_allow_kernel() for permissions Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 056/197] can: netlink: avoid call to do_set_data_bittiming callback with stale can_priv::ctrlmode Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 057/197] netdev-genl: Set extack and fix error on napi-get Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 058/197] block: fix integer overflow in BLKSECDISCARD Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 059/197] arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 060/197] net: phy: Check for read errors in SIOCGMIIREG Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 061/197] wifi: rtw89: avoid reading out of bounds when loading TX power FW elements Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 062/197] x86/bugs: Add missing NO_SSB flag Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 063/197] x86/bugs: Fix handling when SRSO mitigation is disabled Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 064/197] net: napi: Prevent overflow of napi_defer_hard_irqs Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 065/197] crypto: hisilicon - fix missed error branch Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 066/197] crypto: hisilicon/qm - reset device before enabling it Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 067/197] wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 068/197] wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 069/197] net: tls: wait for async completion on last message Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 070/197] wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 071/197] netfs: Cancel dirty folios that have no storage destination Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 072/197] nfp: Use IRQF_NO_AUTOEN flag in request_irq() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 073/197] ALSA: usb-audio: Add input value sanity checks for standard types Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 074/197] x86/ioapic: Handle allocation failures gracefully Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 075/197] x86/apic: Remove logical destination mode for 64-bit Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 076/197] ALSA: usb-audio: Support multiple control interfaces Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 077/197] ALSA: usb-audio: Define macros for quirk table entries Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 078/197] ALSA: usb-audio: Replace complex quirk lines with macros Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 079/197] ALSA: usb-audio: Add quirk for RME Digiface USB Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 080/197] ALSA: usb-audio: Add mixer " Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 081/197] ALSA: usb-audio: Add logitech Audio profile quirk Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 082/197] ASoC: codecs: wsa883x: Handle reading version failure Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 083/197] ALSA: control: Take power_ref lock primarily Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 084/197] tools/x86/kcpuid: Protect against faulty "max subleaf" values Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 085/197] x86/pkeys: Add PKRU as a parameter in signal handling functions Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 086/197] x86/pkeys: Restore altstack access in sigreturn() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 087/197] x86/kexec: Add EFI config table identity mapping for kexec kernel Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 088/197] x86/mm/ident_map: Use gbpages only where full GB page should be mapped Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 089/197] ALSA: asihpi: Fix potential OOB array access Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 090/197] ALSA: hdsp: Break infinite MIDI input flush loop Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 091/197] tools/nolibc: powerpc: limit stack-protector workaround to GCC Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 092/197] selftests/nolibc: avoid passing NULL to printf("%s") Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 093/197] ASoC: soc-pcm: Indicate warning if dpcm_playback/capture were used for availability limition Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 094/197] x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 095/197] ASoC: Intel: boards: always check the result of acpi_dev_get_first_match_dev() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 096/197] rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 097/197] hwmon: (nct6775) add G15CF to ASUS WMI monitoring list Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 098/197] fbdev: efifb: Register sysfs groups through driver core Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 099/197] fbdev: pxafb: Fix possible use after free in pxafb_task() Sasha Levin
2024-09-25 11:51 ` [PATCH AUTOSEL 6.10 100/197] pmdomain: core: Don't hold the genpd-lock when calling dev_pm_domain_set() Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 101/197] coredump: Standartize and fix logging Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 102/197] rcuscale: Provide clear error when async specified without primitives Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 103/197] iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 104/197] iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 105/197] power: reset: brcmstb: Do not go into infinite loop if reset fails Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 106/197] iommu/arm-smmu-v3: Match Stall behaviour for S2 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 107/197] iommu/vt-d: Always reserve a domain ID for identity setup Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 108/197] iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 109/197] iommu/vt-d: Unconditionally flush device TLB for pasid table updates Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 110/197] iommu/arm-smmu-v3: Do not use devm for the cd table allocations Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 111/197] cgroup: Disallow mounting v1 hierarchies without controller implementation Sasha Levin
2024-09-25 11:52 ` Sasha Levin [this message]
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 113/197] drm/amd/display: Pass non-null to dcn20_validate_apply_pipe_split_flags Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 114/197] drm/amd/display: Check null pointers before using them Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 115/197] drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 116/197] drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 117/197] drm/amd/display: Add null check for head_pipe in dcn201_acquire_free_pipe_for_layer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 118/197] drm/amd/display: Add null check for head_pipe in dcn32_acquire_idle_pipe_for_head_pipe_in_layer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 119/197] drm/amd/display: Add NULL check for clk_mgr and clk_mgr->funcs in dcn30_init_hw Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 120/197] drm/amd/display: Add NULL check for clk_mgr in dcn32_init_hw Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 121/197] drm/xe/hdcp: Check GSC structure validity Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 122/197] drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 123/197] drm/amd/display: Use gpuvm_min_page_size_kbytes for DML2 surfaces Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 124/197] ata: pata_serverworks: Do not use the term blacklist Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 125/197] ata: sata_sil: Rename sil_blacklist to sil_quirks Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 126/197] scsi: smartpqi: Add new controller PCI IDs Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 127/197] HID: Ignore battery for all ELAN I2C-HID devices Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 128/197] drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream' Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 129/197] drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 130/197] drm/amd/display: Add NULL check for function pointer in dcn32_set_output_transfer_func Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 131/197] drm/amd/display: Check null pointers before using dc->clk_mgr Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 132/197] drm/amd/display: Add null check for 'afb' in amdgpu_dm_plane_handle_cursor_update (v2) Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 133/197] drm/amd/display: fix double free issue during amdgpu module unload Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 134/197] drm/amdgpu: add list empty check to avoid null pointer issue Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 135/197] jfs: UBSAN: shift-out-of-bounds in dbFindBits Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 136/197] jfs: Fix uaf in dbFreeBits Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 137/197] jfs: check if leafidx greater than num leaves per dmap tree Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 138/197] scsi: smartpqi: correct stream detection Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 139/197] scsi: smartpqi: add new controller PCI IDs Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 140/197] drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 141/197] jfs: Fix uninit-value access of new_ea in ea_buffer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 142/197] drm/amdgpu: add raven1 gfxoff quirk Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 143/197] drm/amdgpu: enable gfxoff quirk on HP 705G4 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 144/197] drm/amdkfd: Fix resource leak in criu restore queue Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 145/197] HID: multitouch: Add support for Thinkpad X12 Gen 2 Kbd Portfolio Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 146/197] platform/x86: touchscreen_dmi: add nanote-next quirk Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 147/197] platform/x86/amd: pmf: Add quirk for TUF Gaming A14 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 148/197] drm/stm: ltdc: reset plane transparency after plane disable Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 149/197] drm/amd/display: Check null-initialized variables Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 150/197] drm/amd/display: Check phantom_stream before it is used Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 151/197] drm/amd/display: Check stream before comparing them Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 152/197] drm/amd/display: Check link_res->hpo_dp_link_enc before using it Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 153/197] drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 154/197] drm/amd/display: Fix index out of bounds in " Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 155/197] drm/amd/display: Fix index out of bounds in DCN30 color transformation Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 156/197] drm/amdgpu/gfx9: properly handle error ints on all pipes Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 157/197] drm/amd/display: Avoid overflow assignment in link_dp_cts Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 158/197] drm/amd/display: Initialize get_bytes_per_element's default to 1 Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 159/197] drm/printer: Allow NULL data in devcoredump printer Sasha Levin
2024-09-25 11:52 ` [PATCH AUTOSEL 6.10 160/197] perf,x86: avoid missing caller address in stack traces captured in uprobe Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 161/197] scsi: aacraid: Rearrange order of struct aac_srb_unit Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 162/197] scsi: lpfc: Validate hdwq pointers before dereferencing in reset/errata paths Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 163/197] scsi: lpfc: Fix unsolicited FLOGI kref imbalance when in direct attached topology Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 164/197] scsi: lpfc: Update PRLO handling " Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 165/197] drm/amdgpu: fix unchecked return value warning for amdgpu_gfx Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 166/197] drm/amdgpu: fix unchecked return value warning for amdgpu_atombios Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 167/197] perf: Fix event_function_call() locking Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 168/197] scsi: NCR5380: Initialize buffer for MSG IN and STATUS transfers Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 169/197] drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 170/197] drm/amdgpu: Block MMR_READ IOCTL in reset Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 171/197] drm/amdgpu/gfx9: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 172/197] drm/amdgpu/gfx11: enter safe mode before touching CP_INT_CNTL Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 173/197] drm/xe: Use topology to determine page fault queue size Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 174/197] drm/amd/pm: ensure the fw_info is not null before using it Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 175/197] drm/amdkfd: Check int source id for utcl2 poison event Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 176/197] drm/xe: Drop warn on xe_guc_pc_gucrc_disable in guc pc fini Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 177/197] of/irq: Refer to actual buffer size in of_irq_parse_one() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 178/197] powerpc/pseries: Use correct data types from pseries_hp_errorlog struct Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 179/197] ovl: fsync after metadata copy-up Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 180/197] drm/amdgpu/gfx11: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 181/197] drm/amdgpu/gfx10: " Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 182/197] platform/x86: lenovo-ymc: Ignore the 0x0 state Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 183/197] tools/hv: Add memory allocation check in hv_fcopy_start Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 184/197] HID: i2c-hid: ensure various commands do not interfere with each other Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 185/197] ksmbd: add refcnt to ksmbd_conn struct Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 186/197] platform/mellanox: mlxbf-pmc: fix lockdep warning Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 187/197] platform/x86: x86-android-tablets: Adjust Xiaomi Pad 2 bottom bezel touch buttons LED Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 188/197] ext4: don't set SB_RDONLY after filesystem errors Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 189/197] bpf: Make the pointer returned by iter next method valid Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 190/197] iomap: fix iomap_dio_zero() for fs bs > system page size Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 191/197] ext4: ext4_search_dir should return a proper error Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 192/197] ext4: avoid use-after-free in ext4_ext_show_leaf() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 193/197] ext4: fix i_data_sem unlock order in ext4_ind_migrate() Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 194/197] bpftool: Fix undefined behavior caused by shifting into the sign bit Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 195/197] iomap: handle a post-direct I/O invalidate race in iomap_write_delalloc_release Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 196/197] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) Sasha Levin
2024-09-25 11:53 ` [PATCH AUTOSEL 6.10 197/197] bpf: Fix a sdiv overflow issue 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=20240925115823.1303019-112-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=airlied@gmail.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=e.orlova@ispras.ru \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mripard@kernel.org \
    --cc=philippe.cornu@foss.st.com \
    --cc=raphael.gallais-pou@foss.st.com \
    --cc=stable@vger.kernel.org \
    --cc=tzimmermann@suse.de \
    --cc=yannick.fertre@foss.st.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