On 12/14/2011 12:45 PM, Paul H. Hargrove wrote:
> Here is a portion of proc_bus_pci_read() from my
> /usr/src/linux-2.4.21-60.EL/drivers/pci/proc.c:
> /*
> * Normal users can read only the standardized portion of the
> * configuration space as several chips lock up when trying to
> read
> * undefined locations (think of Intel PIIX4 as a typical
> example).
> */
> if (capable(CAP_SYS_ADMIN))
> size = PCI_CFG_SPACE_SIZE;
> else if (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS)
> size = 128;
> else
> size = 64;
>
> I find that this exact code is still present in linux-2.6.39. So, the
> kernel behavior has not changed in this respect and I suspect
> therefore that more recent libpci is simply masking the short read.
Now that I think of it, this situation seems to imply that running the
code in topology-libpci.c as root on a system w/ a Intel PIIX4
controller could lock-up ones machine. Thoughts?
-Paul
--
Paul H. Hargrove PHHargrove_at_[hidden]
Future Technologies Group
HPC Research Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
|