David Marchand
db4092276a
bus/pci: fix leak with multiple bus scan
The addition of the bus_info field did not account for the fact that the PCI bus can be scanned multiple times (like for device hotplug and other uses in SPDK). Indeed, during pci_scan_one() for devices that were already registered, the pci_common_set() overwrites the bus_info field, leaking the previously allocated memory. Since the bus_info content is fixed for a PCI device, we can simply skip allocation if dev->bus_info is already set. Fixes: 8f4de2dba9b9 ("bus/pci: fill bus specific information") Reported-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%