In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: pci-epf-test: Fix double free that causes kernel to oops Fix a kernel oops found while testing the stm32pcie Endpoint driver with handling of PERST# deassertion: During EP initialization, pciepftestallocspace() allocates all BARs, which are further freed if epcsetbar() fails (for instance, due to no free inbound window). However, when pciepcsetbar() fails, the error path: pciepcsetbar() -> pciepffreespace() does not clear the previous assignment to epftest->reg[bar]. Then, if the host reboots, the PERST# deassertion restarts the BAR allocation sequence with the same allocation failure (no free inbound window), creating a double free situation since epftest->reg[bar] was deallocated and is still non-NULL. Thus, make sure that pciepfallocspace() and pciepffreespace() invocations are symmetric, and as such, set epf_test->reg[bar] to NULL when memory is freed. [kwilczynski: commit log]