Re: [PATCH v2] PCI: Remove sysfs resource mmap warning

From: Bjorn Helgaas
Date: Mon Dec 04 2017 - 17:33:19 EST


On Thu, Nov 30, 2017 at 10:35:57AM -0600, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>
> When a process uses sysfs and tries to mmap more space than is available in
> a PCI BAR, we emit a warning and a backtrace. The mmap fails anyway, so
> the backtrace is mainly for debugging. But in general we don't emit kernel
> messages when syscalls return failure.
>
> The similar procfs mmap path simply fails the mmap with no warning. Remove
> the sysfs warning.
>
> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

Applied to pci/resource for v4.16.

> ---
> drivers/pci/pci-sysfs.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
> index 06c7f0b85cd2..ccc0e28c6678 100644
> --- a/drivers/pci/pci-sysfs.c
> +++ b/drivers/pci/pci-sysfs.c
> @@ -1216,14 +1216,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
> if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
> return -EINVAL;
>
> - if (!pci_mmap_fits(pdev, bar, vma, PCI_MMAP_SYSFS)) {
> - WARN(1, "process \"%s\" tried to map 0x%08lx bytes at page 0x%08lx on %s BAR %d (start 0x%16Lx, size 0x%16Lx)\n",
> - current->comm, vma->vm_end-vma->vm_start, vma->vm_pgoff,
> - pci_name(pdev), bar,
> - (u64)pci_resource_start(pdev, bar),
> - (u64)pci_resource_len(pdev, bar));
> + if (!pci_mmap_fits(pdev, bar, vma, PCI_MMAP_SYSFS))
> return -EINVAL;
> - }
> +
> mmap_type = res->flags & IORESOURCE_MEM ? pci_mmap_mem : pci_mmap_io;
>
> return pci_mmap_resource_range(pdev, bar, vma, mmap_type, write_combine);
>