:: commit fbc5b77f6df94fbc8fe8ee60280600845cb4e979

Mintsuki <mintsuki@protonmail.com> — 2026-01-12 00:12

parents: be4bd11312

multiboot2: Fix SMBIOS tag size to include table data length

diff --git a/common/protos/multiboot2.c b/common/protos/multiboot2.c
index 3ec533fd..64a59b4c 100644
--- a/common/protos/multiboot2.c
+++ b/common/protos/multiboot2.c
@@ -783,7 +783,7 @@ skip_modeset:;
             struct multiboot_tag_smbios *tag = (struct multiboot_tag_smbios *)(mb2_info + info_idx);
 
             tag->type = MULTIBOOT_TAG_TYPE_SMBIOS;
-            tag->size = sizeof(struct multiboot_tag_smbios);
+            tag->size = sizeof(struct multiboot_tag_smbios) + smbios_entry_32->length;
 
             tag->major = smbios_entry_32->major_version;
             tag->minor = smbios_entry_32->minor_version;
@@ -798,7 +798,7 @@ skip_modeset:;
             struct multiboot_tag_smbios *tag = (struct multiboot_tag_smbios *)(mb2_info + info_idx);
 
             tag->type = MULTIBOOT_TAG_TYPE_SMBIOS;
-            tag->size = sizeof(struct multiboot_tag_smbios);
+            tag->size = sizeof(struct multiboot_tag_smbios) + smbios_entry_64->length;
 
             tag->major = smbios_entry_64->major_version;
             tag->minor = smbios_entry_64->minor_version;
tab: 248 wrap: offon