git: 7dffa9db4516 - stable/14 - smbios: Print an error on unexpected entry point length on identify
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Apr 2025 13:40:54 UTC
The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7dffa9db45169e5e54d6fa6024733a5e6740a5a2 commit 7dffa9db45169e5e54d6fa6024733a5e6740a5a2 Author: Olivier Certner <olce@FreeBSD.org> AuthorDate: 2025-03-03 10:12:33 +0000 Commit: Olivier Certner <olce@FreeBSD.org> CommitDate: 2025-04-08 13:38:24 +0000 smbios: Print an error on unexpected entry point length on identify This helps figuring out quickly why no SMBIOS device appears in this case. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation (cherry picked from commit fdf08ac1e9f9baac4fcf4af8f3bf7a34d3ea0009) --- sys/dev/smbios/smbios.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index f2c1dffad033..4a5305ea80c0 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -87,7 +87,7 @@ smbios_identify (driver_t *driver, device_t parent) device_t child; vm_paddr_t addr = 0; size_t map_size = sizeof(*eps); - int length; + uint8_t length; if (!device_is_alive(parent)) return; @@ -149,8 +149,13 @@ smbios_identify (driver_t *driver, device_t parent) if (length == 0x1e && map_size == sizeof(*eps) && eps->major_version == 2 && eps->minor_version == 1) length = map_size; - else + else { + printf("smbios: %s-bit Entry Point: Invalid length: " + "Got %hhu, expected %zu\n", + map_size == sizeof(*eps3) ? "64" : "32", + length, map_size); goto unmap_return; + } } child = BUS_ADD_CHILD(parent, 5, "smbios", -1);