lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20160524091552.wmquryos2itoi767@c203.arch.suse.de> Date: Tue, 24 May 2016 11:15:52 +0200 From: Johannes Thumshirn <jthumshirn@...e.de> To: Keith Busch <keith.busch@...el.com>, Jens Axboe <axboe@...com> Cc: linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] NVMe: Only release requested regions On Tue, May 10, 2016 at 03:14:28PM +0200, Johannes Thumshirn wrote: > The NVMe driver only requests the PCIe device's memory regions but releases > all possible regions (including eventual I/O regions). This leads to a stale > warning entry in dmesg about freeing non existent resources. > > Signed-off-by: Johannes Thumshirn <jthumshirn@...e.de> > --- > drivers/nvme/host/pci.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c > index eec73fe..6f5ad07 100644 > --- a/drivers/nvme/host/pci.c > +++ b/drivers/nvme/host/pci.c > @@ -1759,9 +1759,14 @@ static int nvme_pci_enable(struct nvme_dev *dev) > > static void nvme_dev_unmap(struct nvme_dev *dev) > { > + struct pci_dev *pdev = to_pci_dev(dev->dev); > + int bars; > + > if (dev->bar) > iounmap(dev->bar); > - pci_release_regions(to_pci_dev(dev->dev)); > + > + bars = pci_select_bars(pdev, IORESOURCE_MEM); > + pci_release_selected_regions(pdev, bars); > } > > static void nvme_pci_disable(struct nvme_dev *dev) > @@ -1998,7 +2003,7 @@ static int nvme_dev_map(struct nvme_dev *dev) > > return 0; > release: > - pci_release_regions(pdev); > + pci_release_selected_regions(pdev, bars); > return -ENODEV; > } > > -- > 1.8.5.6 > Keith, Jens, any opinions? As I've probably missed v4.7, is it possible to get it for v4.8? Or should I take on the PCI helper functions Christoph suggested first? Johannes -- Johannes Thumshirn Storage jthumshirn@...e.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
Powered by blists - more mailing lists