On Tue, Feb 07, 2023 at 08:39:49PM +0900, Seunggyun Lee wrote: > When using a pci device through the vfio-pci driver, other software was > also able to access the pci device memory through sysfs. And why is it wrong? > > To prevent this, when mmap is performed through sysfs, a process of > checking whether the device is in use is added. > > Signed-off-by: Seunggyun Lee <sglee97@xxxxxxxxxxxxx> > --- > drivers/pci/mmap.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pci/mmap.c b/drivers/pci/mmap.c > index 4504039056d1..4c9df2e23e03 100644 > --- a/drivers/pci/mmap.c > +++ b/drivers/pci/mmap.c > @@ -25,6 +25,8 @@ int pci_mmap_resource_range(struct pci_dev *pdev, int bar, > { > unsigned long size; > int ret; > + if (pdev->driver) > + return -1; I doubt that it is correct/needed as every call to pci_mmap_resource_range() is guarded by iomem_is_exclusive() check. Also I'm not sure that pdev->driver can be accessed without any lock in this flow. Thanks > > size = ((pci_resource_len(pdev, bar) - 1) >> PAGE_SHIFT) + 1; > if (vma->vm_pgoff + vma_pages(vma) > size) > -- > 2.25.1 >