Invalid Multiboot 2 info from GRUB 2
Posted: Fri Nov 27, 2020 8:12 pm
Hello. I'm trying to parse Multiboot 2 info tags from GRUB 2. However, I only can parse the first one. Then memory looks strange.
What it parsed successfully:
The corresponding memory (20 bytes from 0 to 19) is:
The first 8 bytes is header, the following 12 bytes is the tag.
However, next 8 bytes from 20 to 27 look strange:
Four bytes for tag type, four bytes for tag size, according to paragraph 3.6.2 of the spec.
Here we have tag type 133 232 0 0 = 0x85e80000 = 2246574080 which is impossible (there are only 21 types).
Also we have tag size 0 0 0 1 = 1 which is also impossible (too small, must be at least 8 bytes).
Can you help me to investigate the situation?
What it parsed successfully:
Code: Select all
Multiboot 2 info
size: 864
reserved1: 0
Multiboot 2 tag
type: 21 (image load base phys addr)
size: 12
load base addr: 4194304
Code: Select all
96 3 0 0 0 0 0 0 21 0 0 0 12 0 0 0 0 0 64 0
However, next 8 bytes from 20 to 27 look strange:
Code: Select all
0 0 232 133 1 0 0 0
Here we have tag type 133 232 0 0 = 0x85e80000 = 2246574080 which is impossible (there are only 21 types).
Also we have tag size 0 0 0 1 = 1 which is also impossible (too small, must be at least 8 bytes).
Can you help me to investigate the situation?