svn commit: r359313 - stable/12/sys/dev/pci
Navdeep Parhar
np at FreeBSD.org
Thu Mar 26 00:39:45 UTC 2020
Author: np
Date: Thu Mar 26 00:39:36 2020
New Revision: 359313
URL: https://svnweb.freebsd.org/changeset/base/359313
Log:
MFC r359057:
Remove spurious warning about invalid VPD data.
The warning used to be displayed for valid VPDs about 512B or above in
size. Fix the size check and add a break while here so that the routine
stops if if detects any problem.
Tested with "pciconf -lV"
Reviewed by: kib@, jhb@
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D23679
Modified:
stable/12/sys/dev/pci/pci.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/dev/pci/pci.c
==============================================================================
--- stable/12/sys/dev/pci/pci.c Thu Mar 26 00:31:21 2020 (r359312)
+++ stable/12/sys/dev/pci/pci.c Thu Mar 26 00:39:36 2020 (r359313)
@@ -1105,16 +1105,16 @@ pci_read_vpd(device_t pcib, pcicfgregs *cfg)
break;
}
remain |= byte2 << 8;
- if (remain > (0x7f*4 - vrs.off)) {
- state = -1;
- pci_printf(cfg,
- "invalid VPD data, remain %#x\n",
- remain);
- }
name = byte & 0x7f;
} else {
remain = byte & 0x7;
name = (byte >> 3) & 0xf;
+ }
+ if (vrs.off + remain - vrs.bytesinval > 0x8000) {
+ pci_printf(cfg,
+ "VPD data overflow, remain %#x\n", remain);
+ state = -1;
+ break;
}
switch (name) {
case 0x2: /* String */
More information about the svn-src-stable-12
mailing list