Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/nouveau: fix nvkm_device leak on aperture removal failure

When aperture_remove_conflicting_pci_devices() fails during probe, the
error path returns directly without unwinding the nvkm_device that was
just allocated by nvkm_device_pci_new(). This leaks both the device
wrapper and the pci_enable_device() reference taken inside it.

Jump to the existing fail_nvkm label so nvkm_device_del() runs and
balances both. The leak was introduced when the intermediate
nvkm_device_del() between detection and aperture removal was dropped
in favor of creating the pci device once.

Fixes: c0bfe34330b5 ("drm/nouveau: create pci device once")
Cc: stable@vger.kernel.org
Signed-off-by: David Carlier <devnexen@gmail.com>
Link: https://patch.msgid.link/20260411062938.22925-1-devnexen@gmail.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>

authored by

David Carlier and committed by
Danilo Krummrich
6597ff1d d33db956

+1 -1
+1 -1
drivers/gpu/drm/nouveau/nouveau_drm.c
··· 874 874 /* Remove conflicting drivers (vesafb, efifb etc). */ 875 875 ret = aperture_remove_conflicting_pci_devices(pdev, driver_pci.name); 876 876 if (ret) 877 - return ret; 877 + goto fail_nvkm; 878 878 879 879 pci_set_master(pdev); 880 880