diff options
| author | Krzysztof Wilczyński <kwilczynski@kernel.org> | 2026-08-14 07:05:20 +0000 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2026-10-07 16:09:59 -0500 |
| commit | 337bdf853101a0ee66eadf668f0fef21f8276b52 (patch) | |
| tree | 262535335b16cd8aebb4630a63e77de8a6183a28 /tools/perf/scripts/python/flamegraph.py | |
| parent | 36f9bd09920ed71c1b79db397170412b2de22319 (diff) | |
PCI/sysfs: Decouple acpi_index from the optional device name element
The "_DSM for Naming a PCI or PCI Express Device Under Operating Systems"
(PCI Firmware r3.3, sec 4.6.7) returns a package of two elements:
1) Instance number (mandatory Integer)
2) String name (optional String, null string if not populated)
These are exposed as sysfs 'acpi_index' and 'label'. Previously, if
the name was malformed, reads of 'acpi_index' failed unnecessarily.
Validate each element only for the attribute that exports it. So
"acpi_index" now depends on the instance number alone, and "label" reads
fail with -EIO when the name element is neither a string nor a buffer. The
package elements pointer is read only after the object type has been
checked.
On platforms with a valid instance number and a malformed name element the
"acpi_index" attribute starts returning data. Because udev derives the
onboard interface name from "acpi_index", an interface on such a platform
may be renamed once, on the first boot after this change. That is the
attribute assuming the value the firmware always provided.
Link: https://github.com/pciutils/pciutils/issues/175
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20260814070522.2327975-3-kwilczynski@kernel.org
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
