[libvirt PATCH 0/4] PCI VPD: Handle More Edge Cases

Dmitrii Shcherbakov posted 4 patches 2 years, 6 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20211022124545.412352-1-dmitrii.shcherbakov@canonical.com
There is a newer version of this series
src/util/virpcivpd.c  |  37 ++++++--
tests/virpcivpdtest.c | 207 ++++++++++++++++++++++++++++++++++++++++--
2 files changed, 225 insertions(+), 19 deletions(-)
[libvirt PATCH 0/4] PCI VPD: Handle More Edge Cases
Posted by Dmitrii Shcherbakov 2 years, 6 months ago
This patch set improves edge case testing:

* The parser is now more strict about checking boundary conditions when
  parsing fields: an invalid field length is a possibility which is
	now being accounted for;
* The parser will now make sure that RV and RW fields are the last
  in their section by making sure that no more data is left to read
	after those;
* RW field presence was already checked for but there was no test case
  for it. This was prompted by a real-world hardware example where this
	field was not present.

Invalid field values are now skipped instead of halting further parsing
completely. It turns out that some vendors use values like "N/A" if
fields were not populated in VPD-R and 0xFF as placeholders in VPD-W.
While this data is not valid, other data might be and it should be
possible to retrieve it.

Dmitrii Shcherbakov (4):
  PCI VPD: handle additional edge cases
  PCI VPD: Add a test case for the absence of RW
  PCI VPD: Skip fields with invalid values
  PCI VPD: Fix a wrong return code in a test case

 src/util/virpcivpd.c  |  37 ++++++--
 tests/virpcivpdtest.c | 207 ++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 225 insertions(+), 19 deletions(-)

-- 
2.32.0