Messages in this thread | | | Subject | Re: [PATCH v6 1/4] lib/pci_iomap.c: fix cleanup bug in pci_iounmap() | From | Philipp Stanner <> | Date | Tue, 06 Feb 2024 10:36:42 +0100 |
| |
On Wed, 2024-01-31 at 15:09 -0600, Bjorn Helgaas wrote: > On Wed, Jan 31, 2024 at 10:00:20AM +0100, Philipp Stanner wrote: > > The #ifdef for the ioport-ranges accidentally also guards > > iounmap(), > > potentially compiling an empty function. This would cause the > > mapping to > > be leaked. > > > > Move the guard so that iounmap() will always be part of the > > function. > > I tweaked the subject and commit log to be more explicit about what > the bug is. Let me know if I got it wrong:
Mostly correct IMO
> > pci_iounmap(): Fix MMIO mapping leak > > The #ifdef ARCH_HAS_GENERIC_IOPORT_MAP accidentally also guards > iounmap(), > which means MMIO mappings are leaked.
nit: I wasn't entirely sure when they are actually leaked, just that they _could_ be leaked. To know for sure we'd need to search who sets ARCH_WANTS_GENERIC_PCI_IOUNMAP without setting ARCH_HAS_GENERIC_IOPORT_MAP.
I think your formulation should be fine, though, since it's definitely a bug.
P.
> > Move the guard so we call iounmap() for MMIO mappings. > > Bjorn >
| |