> On Sep 28, 2020, at 1:55 AM, Feng Tang <feng.tang@xxxxxxxxx> wrote: > > Hi Nick, > > 0day has found some kernel decomprssion failure case since 5.9-rc1 (X86_32 > build), and it could be related with ZSTD code, though initially we bisected > to some other commits. > > The error messages are: > > early console in setup code > Wrong EFI loader signature. > early console in extract_kernel > input_data: 0x046f50b4 > input_len: 0x01ebbeb6 > output: 0x01000000 > output_len: 0x04fc535c > kernel_total_size: 0x055f5000 > needed_size: 0x055f5000 > > Decompressing Linux... > > ZSTD-compressed data is corrupt > > This could be reproduced by compiling the kernel with attached config, > and use QEMU to boot it. > > We suspect it could be related with the kernel size, as we only see > it on big kernel, and some more info are: > > * If we remove a lot of kernel config to build a much smaller kernel, > it will boot fine > > * If we change the zstd algorithm from zstd22 to zstd19, the kernel will > boot fine with below patch > > diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile > index 3962f59..8fe71ba 100644 > --- a/arch/x86/boot/compressed/Makefile > +++ b/arch/x86/boot/compressed/Makefile > @@ -147,7 +147,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y) FORCE > $(obj)/vmlinux.bin.zst: $(vmlinux.bin.all-y) FORCE > - $(call if_changed,zstd22) > + $(call if_changed,zstd) > > > Please let me know if you need more info, and sorry for the late report > as we just tracked down to this point. Thanks for the report, I will look into it today. Best, Nick > Thanks, > Feng > > > > <zstd_x86_32.config>