diff options
| author | Olivier Certner <olce@FreeBSD.org> | 2025-03-03 09:16:14 +0000 |
|---|---|---|
| committer | Olivier Certner <olce@FreeBSD.org> | 2025-03-07 16:42:46 +0000 |
| commit | f6cbd6b6d2ccd672e4807128ce0d07db333d4335 (patch) | |
| tree | 5b0d7c722a425b5e40cf2bcb729192d40bf67931 /sys/dev/smbios | |
| parent | 3907feff7ab732b918ba3f5993e7a6718fffea14 (diff) | |
Diffstat (limited to 'sys/dev/smbios')
| -rw-r--r-- | sys/dev/smbios/smbios.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index 9e942335e985..733384b3614e 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -141,14 +141,13 @@ smbios_identify (driver_t *driver, device_t parent) } } if (length != map_size) { - u_int8_t major, minor; - - major = eps->major_version; - minor = eps->minor_version; - - /* SMBIOS v2.1 implementation might use 0x1e. */ - if (length == 0x1e && major == 2 && minor == 1) - length = 0x1f; + /* + * SMBIOS v2.1 implementations might use 0x1e because the + * standard was then erroneous. + */ + if (length == 0x1e && map_size == sizeof(*eps) && + eps->major_version == 2 && eps->minor_version == 1) + length = map_size; else goto unmap_return; } |
