Re: [PATCH v13 01/16] PCI: Let pci_mmap_page_range() take resource address
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2016-06-18 12:18:00
Also in:
linux-pci, lkml, sparclinux
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2016-06-18 12:18:00
Also in:
linux-pci, lkml, sparclinux
On Fri, Jun 17, 2016 at 07:24:46PM -0700, Yinghai Lu wrote:
In 8c05cd08a7 ("PCI: fix offset check for sysfs mmapped files"), try
to check exposed value with resource start/end in proc mmap path.
| start = vma->vm_pgoff;
| size = ((pci_resource_len(pdev, resno) - 1) >> PAGE_SHIFT) + 1;
| pci_start = (mmap_api == PCI_MMAP_PROCFS) ?
| pci_resource_start(pdev, resno) >> PAGE_SHIFT : 0;
| if (start >= pci_start && start < pci_start + size &&
| start + nr <= pci_start + size)
That breaks sparc that exposed value is BAR value, and need to be offseted
to resource address.I asked this same question of the v12 patch, but I don't think you answered it: I'm not quite sure what you're saying here. Are you saying that sparc is currently broken, and this patch fixes it? If so, what exactly is broken? Can you give a small example of an mmap that is currently broken?