QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
536 stars 48 forks source link

Replace bus/slot/function with full PCI paths #8681

Open DemiMarie opened 11 months ago

DemiMarie commented 11 months ago

How to file a helpful issue

The problem you're addressing (if any)

PCI devices are currently assigned via bus/slot/function, which is not a stable identifier.

The solution you'd like

Use PCI paths instead, which are much more likely to be stable.

The value to a user, and who that user might be

Users will be less likely to have problems with PCI device renumbering.

jamke commented 11 months ago

We had several discussions on this topic:

https://github.com/QubesOS/qubes-issues/issues/7792 https://github.com/QubesOS/qubes-issues/issues/7883

marmarek commented 11 months ago

Use PCI paths instead, which are much more likely to be stable.

Please be more specific what exactly you mean. sysfs path of the device? Can you give a specific example (that can be used as a device identifier, so meets qrexec service argument allowed character set)?

DemiMarie commented 11 months ago

Use PCI paths instead, which are much more likely to be stable.

Please be more specific what exactly you mean. sysfs path of the device?

Physical path to the device, as defined by the sequence of PCI switches that must be traversed. I think this corresponds to sysfs path.

Can you give a specific example (that can be used as a device identifier, so meets qrexec service argument allowed character set)?

One can turn the sysfs path into an identifier by escaping.