Description
In the Linux kernel, the following vulnerability has been resolved: gpio: amd8111: Fix PCI device reference count leak for_each_pci_dev() is implemented by pci_get_device(). The comment of pci_get_device() says that it will increase the reference count for the returned pci_dev and also decrease the reference count for the input pci_dev @from if it is not NULL. If we break for_each_pci_dev() loop with pdev not NULL, we need to call pci_dev_put() to decrease the reference count. Add the missing pci_dev_put() after the 'out' label. Since pci_dev_put() can handle NULL input parameter, there is no problem for the 'Device not found' branch. For the normal path, add pci_dev_put() in amd_gpio_exit().
Product status
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before 4749c5cc147c9860b96db1e71cc36d1de1bd3f59
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before 71d591ef873f9ebb86cd8d053b3caee785b2de6a
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before b2bc053ebbba57a06fa655db5ea796de2edce445
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before 48bd5d3801f6b67cc144449d434abbd5043a6d37
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before 5ee6413d3dd972930af787b2c0c7aaeb379fa521
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before 4271515f189bd5fe2ec86b4089dab7cb804625d2
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before e364ce04d8f840478b09eee57b614de7cf1e743e
f942a7de047d8c599cc1a9a26293c8c7400450ea (git) before 45fecdb9f658d9c82960c98240bc0770ade19aca
3.6
Any version before 3.6
4.9.336 (semver)
4.14.302 (semver)
4.19.269 (semver)
5.4.227 (semver)
5.10.159 (semver)
5.15.83 (semver)
6.0.13 (semver)
6.1 (original_commit_for_fix)
References
git.kernel.org/...c/4749c5cc147c9860b96db1e71cc36d1de1bd3f59
git.kernel.org/...c/71d591ef873f9ebb86cd8d053b3caee785b2de6a
git.kernel.org/...c/b2bc053ebbba57a06fa655db5ea796de2edce445
git.kernel.org/...c/48bd5d3801f6b67cc144449d434abbd5043a6d37
git.kernel.org/...c/5ee6413d3dd972930af787b2c0c7aaeb379fa521
git.kernel.org/...c/4271515f189bd5fe2ec86b4089dab7cb804625d2
git.kernel.org/...c/e364ce04d8f840478b09eee57b614de7cf1e743e
git.kernel.org/...c/45fecdb9f658d9c82960c98240bc0770ade19aca