]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/pci/proc.c
misc: rtsx: make various functions static
[mirror_ubuntu-bionic-kernel.git] / drivers / pci / proc.c
index 58a662e3c4a667ee62fbba934cdc84d0ed72fa84..b30e53eb41dfb05f36708df5b94fefaba2e0637c 100644 (file)
@@ -117,6 +117,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
        int size = dev->cfg_size;
        int cnt;
 
+       if (kernel_is_locked_down("Direct PCI access"))
+               return -EPERM;
+
        if (pos >= size)
                return 0;
        if (nbytes >= size)
@@ -196,6 +199,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
 #endif /* HAVE_PCI_MMAP */
        int ret = 0;
 
+       if (kernel_is_locked_down("Direct PCI access"))
+               return -EPERM;
+
        switch (cmd) {
        case PCIIOC_CONTROLLER:
                ret = pci_domain_nr(dev->bus);
@@ -237,7 +243,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
        struct pci_filp_private *fpriv = file->private_data;
        int i, ret, write_combine = 0, res_bit = IORESOURCE_MEM;
 
-       if (!capable(CAP_SYS_RAWIO))
+       if (!capable(CAP_SYS_RAWIO) ||
+           kernel_is_locked_down("Direct PCI access"))
                return -EPERM;
 
        if (fpriv->mmap_state == pci_mmap_io) {