1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 07:59:00 +00:00
Dmitrii Shcherbakov 600f580d62 PCI VPD: Skip fields with invalid values
While invalid values need to be ignored when presenting VPD data to the
user, it would be good to attempt to parse a valid portion of the VPD
instead of marking it invalid as a whole.

Based on a mailing list discussion, the set of accepted characters is
extended to the set of printable ASCII characters.

https://listman.redhat.com/archives/libvir-list/2021-October/msg01043.html

The particular example encountered on real hardware was multi-faceted:

* "N/A" strings present in read-only fields. This would not be a useful
  valid value for a field (especially if a unique serial number is
  expected), however, it was decided to delegate handling of those kinds
  of values to higher-level software;
* "4W/1W PCIeG2x4" - looks like some vendors use even more printable
  characters in the ASCII range than we currently allow. Since the
  PCI/PCIe VPD specs mention alphanumeric characters without specifying
  the full character set, it looks like this is ambiguous for vendors
  and they tend to use printable ASCII characters;
* 0xFF bytes present in VPD-W field values. Those bytes do not map to
  printable ASCII code points and were probably used by the vendor as
  placeholders. Ignoring the whole VPD because of that would be too
  strict.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
2021-11-02 13:43:23 +00:00
..
2021-07-15 14:50:48 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-10-21 17:34:04 +01:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-10-21 17:34:04 +01:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2020-11-27 16:28:31 +01:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-17 14:28:00 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00
2021-09-09 18:06:13 +02:00