Commit a94c2481 authored by Ben Hutchings's avatar Ben Hutchings Committed by Jesse Barnes

PCI: Restrict VPD read permission to root

Some PCI devices will lock up if we attempt to read from VPD addresses
beyond some device-dependent limit.  Until we can identify these
devices and adjust the file size accordingly, only let root read VPD
through sysfs to prevent a DoS by normal users.
Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent 543cf4cb
...@@ -738,7 +738,7 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev) ...@@ -738,7 +738,7 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)
pdev->vpd->attr = attr; pdev->vpd->attr = attr;
attr->size = pdev->vpd->ops->get_size(pdev); attr->size = pdev->vpd->ops->get_size(pdev);
attr->attr.name = "vpd"; attr->attr.name = "vpd";
attr->attr.mode = S_IRUGO | S_IWUSR; attr->attr.mode = S_IRUSR | S_IWUSR;
attr->read = pci_read_vpd; attr->read = pci_read_vpd;
attr->write = pci_write_vpd; attr->write = pci_write_vpd;
retval = sysfs_create_bin_file(&pdev->dev.kobj, attr); retval = sysfs_create_bin_file(&pdev->dev.kobj, attr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment