]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/xe/configfs: Fix pci_dev reference leak
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Tue, 22 Jul 2025 14:10:54 +0000 (16:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:39:13 +0000 (16:39 +0200)
[ Upstream commit 942ac8da6388c25fe62b2792c78715e0ea6e649b ]

We are using pci_get_domain_bus_and_slot() function to verify if
the given config directory name matches any existing PCI device,
but we missed to call matching pci_dev_put() to release reference.

While around, also change error code in case of no device match,
to make it more specific than generic formatting error.

Fixes: 16280ded45fb ("drm/xe: Add configfs to enable survivability mode")
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://lore.kernel.org/r/20250722141059.30707-2-michal.wajdeczko@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 0bdd05c2a82bbf2419415d012fd4f5faeca7f1af)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/xe/xe_configfs.c

index cb9f175c89a1c971f9c65b86cca017befa4e2c3e..9a2b96b111ef5409b2dc8304126532c2c17b08e7 100644 (file)
@@ -133,7 +133,8 @@ static struct config_group *xe_config_make_device_group(struct config_group *gro
 
        pdev = pci_get_domain_bus_and_slot(domain, bus, PCI_DEVFN(slot, function));
        if (!pdev)
-               return ERR_PTR(-EINVAL);
+               return ERR_PTR(-ENODEV);
+       pci_dev_put(pdev);
 
        dev = kzalloc(sizeof(*dev), GFP_KERNEL);
        if (!dev)