In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Fix PCI device refcount leak in dmardevscope_init()
foreachpcidev() is implemented by pcigetdevice(). The comment of pcigetdevice() says that it will increase the reference count for the returned pcidev and also decrease the reference count for the input pci_dev @from if it is not NULL.
If we break foreachpcidev() loop with pdev not NULL, we need to call pcidevput() to decrease the reference count. Add the missing pcidev_put() for the error path to avoid reference count leak.
{ "vanir_signatures": [ { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@71c4a621985fc051ab86d3a86c749069a993fcb2", "target": { "file": "drivers/iommu/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-16430662", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@876d7bfb89273997056220029ff12b1c2cc4691d", "target": { "file": "drivers/iommu/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 496.0, "function_hash": "27928295777397717071011646902360598685" }, "id": "CVE-2022-49002-19c3772a", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@71c4a621985fc051ab86d3a86c749069a993fcb2", "target": { "file": "drivers/iommu/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 546.0, "function_hash": "121692972374701905696313835245996574942" }, "id": "CVE-2022-49002-237f282d", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d47bc9d7bcdbb9adc9703513d964b514fee5b0bf", "target": { "file": "drivers/iommu/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-26eb2b5e", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bdb613ef179ad4bb9d56a2533e9b30e434f1dfb7", "target": { "file": "drivers/iommu/intel/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-2942f979", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@876d7bfb89273997056220029ff12b1c2cc4691d", "target": { "file": "drivers/iommu/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-3125d734", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a5c65cd56aed027f8a97fda8b691caaeb66d115e", "target": { "file": "drivers/iommu/intel/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 496.0, "function_hash": "27928295777397717071011646902360598685" }, "id": "CVE-2022-49002-45123970", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbdd83bd2fd67142b03ce9dbdd1eab322ff7321f", "target": { "file": "drivers/iommu/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 496.0, "function_hash": "27928295777397717071011646902360598685" }, "id": "CVE-2022-49002-5600e60a", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a5c65cd56aed027f8a97fda8b691caaeb66d115e", "target": { "file": "drivers/iommu/intel/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-66bdf3e5", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bdb613ef179ad4bb9d56a2533e9b30e434f1dfb7", "target": { "file": "drivers/iommu/intel/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 496.0, "function_hash": "27928295777397717071011646902360598685" }, "id": "CVE-2022-49002-77e2364a", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2a8f7b90681472948de172dbbf5a54cd342870aa", "target": { "file": "drivers/iommu/intel/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-796a54b8", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2a8f7b90681472948de172dbbf5a54cd342870aa", "target": { "file": "drivers/iommu/intel/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 496.0, "function_hash": "27928295777397717071011646902360598685" }, "id": "CVE-2022-49002-7e20cbdf", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bedbbd782ebbe7287231fea862c158d4f08a9e3", "target": { "file": "drivers/iommu/intel/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-a3c9e27e", "deprecated": false, "signature_type": "Line", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bedbbd782ebbe7287231fea862c158d4f08a9e3", "target": { "file": "drivers/iommu/intel/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 496.0, "function_hash": "27928295777397717071011646902360598685" }, "id": "CVE-2022-49002-dfa9a896", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d47bc9d7bcdbb9adc9703513d964b514fee5b0bf", "target": { "file": "drivers/iommu/dmar.c", "function": "dmar_dev_scope_init" }, "digest": { "length": 546.0, "function_hash": "121692972374701905696313835245996574942" }, "id": "CVE-2022-49002-f1bfa233", "deprecated": false, "signature_type": "Function", "signature_version": "v1" }, { "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbdd83bd2fd67142b03ce9dbdd1eab322ff7321f", "target": { "file": "drivers/iommu/dmar.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "55459830961452065510814923741790686482", "201026777925361995158069550733202595655", "198572286615100183806648404170537840623", "175777030599097206191557069035042761664" ] }, "id": "CVE-2022-49002-fb421eb1", "deprecated": false, "signature_type": "Line", "signature_version": "v1" } ] }