Commit 6df515c2 authored by Sean Anderson's avatar Sean Anderson Committed by Zheng Qixing
Browse files

drm: zynqmp_kms: Unplug DRM device before removal

mainline inclusion
from mainline-v6.13-rc1
commit 2e07c88914fc5289c21820b1aa94f058feb38197
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBEAE5
CVE: CVE-2024-56538

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2e07c88914fc5289c21820b1aa94f058feb38197

--------------------------------

Prevent userspace accesses to the DRM device from causing
use-after-frees by unplugging the device before we remove it. This
causes any further userspace accesses to result in an error without
further calls into this driver's internals.

Fixes: d76271d2 ("drm: xlnx: DRM/KMS driver for Xilinx ZynqMP DisplayPort Subsystem")
Closes: https://lore.kernel.org/dri-devel/4d8f4c9b-2efb-4774-9a37-2f257f79b2c9@linux.dev/


Signed-off-by: default avatarSean Anderson <sean.anderson@linux.dev>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240809193600.3360015-2-sean.anderson@linux.dev



Conflicts:
	drivers/gpu/drm/xlnx/zynqmp_kms.c
[The conflict is due to the commit 074ef0ce ("drm: xlnx:
zynqmp_dpsub: Move all DRM init and cleanup to zynqmp_kms.c")
not being merged.]
Signed-off-by: default avatarZheng Qixing <zhengqixing@huawei.com>
parent d51fb86c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -264,7 +264,7 @@ static int zynqmp_dpsub_remove(struct platform_device *pdev)
	struct zynqmp_dpsub *dpsub = platform_get_drvdata(pdev);
	struct drm_device *drm = &dpsub->drm;

	drm_dev_unregister(drm);
	drm_dev_unplug(drm);
	drm_atomic_helper_shutdown(drm);
	drm_kms_helper_poll_fini(drm);