On 10/11/2018 07:32, H. Peter Anvin wrote: >> >> Unfortunately there are many major distros shipping boot loaders which >> write crap data past the end of setup_header. >> > > Yes. We know that and it is resolved by: > > a) the length field in setup_header; > b) the "sentinel" field which catches legacy non-compliant bootloaders. Doesn't help for boot loaders reading struct setup_header from the kernel image and then writing e.g. 512 bytes back to the setup_header location. The sentinel is cleared and the length field just isn't taken into account. And this is what happened. > >>> >>> This field thus belongs in struct boot_params, not struct setup_header. >> >> Okay, I can change that. Hoping that all boot loaders really write >> zeroes to that field in case they don't know it. >> > > This is what we added the sentinel field for: bootloaders which don't zero > unknown fields (read: Grub) will trigger the sentinel, and we wipe most of > this structure. Unfortunately the sentinel seems to be cleared by said broken grub. Juergen