Commit 352e6690 authored by Zabelin Nikita's avatar Zabelin Nikita Committed by Patrik Jakobsson
Browse files

drm/gma500: Fix null dereference in hdmi teardown



pci_set_drvdata sets the value of pdev->driver_data to NULL,
after which the driver_data obtained from the same dev is
dereferenced in oaktrail_hdmi_i2c_exit, and the i2c_dev is
extracted from it. To prevent this, swap these calls.

Found by Linux Verification Center (linuxtesting.org) with Svacer.

Fixes: 1b082ccf ("gma500: Add Oaktrail support")
Signed-off-by: default avatarZabelin Nikita <n.zabelin@mt-integration.ru>
Signed-off-by: default avatarPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://lore.kernel.org/r/20250918150703.2562604-1-n.zabelin@mt-integration.ru
parent c7c31f8d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -726,8 +726,8 @@ void oaktrail_hdmi_teardown(struct drm_device *dev)

	if (hdmi_dev) {
		pdev = hdmi_dev->dev;
		pci_set_drvdata(pdev, NULL);
		oaktrail_hdmi_i2c_exit(pdev);
		pci_set_drvdata(pdev, NULL);
		iounmap(hdmi_dev->regs);
		kfree(hdmi_dev);
		pci_dev_put(pdev);