Messages in this thread | | | Subject | Re: kexec breaks with 5.4 due to memzero_explicit | From | Hans de Goede <> | Date | Mon, 7 Oct 2019 11:10:18 +0200 |
| |
Hi,
On 07-10-2019 10:50, Hans de Goede wrote: > Hi, > > On 07-10-2019 05:09, Arvind Sankar wrote: >> Hi, arch/x86/purgatory/purgatory.ro has an undefined symbol >> memzero_explicit. This has come from commit 906a4bb97f5d ("crypto: >> sha256 - Use get/put_unaligned_be32 to get input, memzero_explicit") >> according to git bisect. > > Hmm, it (obviously) does build for me and using kexec still also works > for me. > > But it seems that you are right and that this should not build, weird.
Ok, I understand now, it seems that the kernel will happily build with undefined symbols in the purgatory and my kexec testing did not hit the sha256 check path (*) so it did not crash. I can reproduce this before my patch:
[hans@shalem linux]$ ld arch/x86/purgatory/purgatory.ro ld: warning: cannot find entry symbol _start; defaulting to 0000000000401000 ld: arch/x86/purgatory/purgatory.ro: in function `sha256_transform': sha256.c:(.text+0x1c0c): undefined reference to `memzero_explicit'
And I can confirm that it is gone after my patch:
[hans@shalem linux]$ ld arch/x86/purgatory/purgatory.ro ld: warning: cannot find entry symbol _start; defaulting to 0000000000401000
Regards,
Hans
*) I tried with a Fedora signed kernel, dunno how to trigger this if that does not trigger it
| |