[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1797620e544e77cad9a8cc86d9145e1046d84e6b.camel@redhat.com>
Date: Tue, 06 Feb 2024 10:36:42 +0100
From: Philipp Stanner <pstanner@...hat.com>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>, Arnd Bergmann <arnd@...db.de>,
Johannes Berg <johannes@...solutions.net>, Randy Dunlap
<rdunlap@...radead.org>, NeilBrown <neilb@...e.de>, John Sanpe
<sanpeqf@...il.com>, Kent Overstreet <kent.overstreet@...il.com>, Niklas
Schnelle <schnelle@...ux.ibm.com>, Dave Jiang <dave.jiang@...el.com>,
Uladzislau Koshchanka <koshchanka@...il.com>, "Masami Hiramatsu (Google)"
<mhiramat@...nel.org>, David Gow <davidgow@...gle.com>, Kees Cook
<keescook@...omium.org>, Rae Moar <rmoar@...gle.com>, Geert Uytterhoeven
<geert@...ux-m68k.org>, "wuqiang.matt" <wuqiang.matt@...edance.com>, Yury
Norov <yury.norov@...il.com>, Jason Baron <jbaron@...mai.com>, Thomas
Gleixner <tglx@...utronix.de>, Marco Elver <elver@...gle.com>, Andrew
Morton <akpm@...ux-foundation.org>, Ben Dooks <ben.dooks@...ethink.co.uk>,
dakr@...hat.com, linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
linux-arch@...r.kernel.org, stable@...r.kernel.org, Arnd Bergmann
<arnd@...nel.org>
Subject: Re: [PATCH v6 1/4] lib/pci_iomap.c: fix cleanup bug in pci_iounmap()
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
>
Powered by blists - more mailing lists