[PATCH 4/4] dmi: dmicheck: check reserved bits in type 15 & type 17

Alex Hung alex.hung at canonical.com
Fri May 12 02:06:22 UTC 2017


Bits[2:7] of Log Status (offset 0xb) in type 15 and Bits[4:7]
of Attributes (offset 0x1b) and Bit[31] of Extended Size (offset
0x1c) in type 17 should be reserved.

Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
 src/dmi/dmicheck/dmicheck.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
index c7fb11b..dccf33b 100644
--- a/src/dmi/dmicheck/dmicheck.c
+++ b/src/dmi/dmicheck/dmicheck.c
@@ -1417,6 +1417,7 @@ static void dmicheck_entry(fwts_framework *fw,
 					"0x%8.8" PRIx32 ", field '%s', offset 0x%2.2x",
 					val, table, addr, "Access Method", 0x0a);
 			}
+			dmi_reserved_bits_check(fw, table, addr, "Log Status", hdr, sizeof(uint8_t), 0xb, 2, 7);
 			if (hdr->length < 0x17)
 				break;
 			val = hdr->data[0x14];
@@ -1489,6 +1490,10 @@ static void dmicheck_entry(fwts_framework *fw,
 			dmi_str_check(fw, table, addr, "Serial Number", hdr, 0x18);
 			dmi_str_check(fw, table, addr, "Asset Tag", hdr, 0x19);
 			dmi_str_check(fw, table, addr, "Part Number", hdr, 0x1a);
+			if (hdr->length < 0x20)
+				break;
+			dmi_reserved_bits_check(fw, table, addr, "Attributes", hdr, sizeof(uint8_t), 0x1b, 4, 7);
+			dmi_reserved_bits_check(fw, table, addr, "Extended Size", hdr, sizeof(uint32_t), 0x1c, 31, 31);
 			break;
 
 		case 18: /* 7.19 */
-- 
2.7.4




More information about the fwts-devel mailing list