Messages in this thread Patch in this message | | | Subject | Re: kexec breaks with 5.4 due to memzero_explicit | From | Hans de Goede <> | Date | Mon, 7 Oct 2019 10:50:27 +0200 |
| |
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.
Thank you for reporting this. I've attached a patch which should fix this, I'm also sending this the regular way, so that the x86 maintainers can pick it up.
Can you please give this a try and let us know if it fixes things for you?
Regards,
Hans From d371dbdef635b57d993bda428a9eb6b929f4472d Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdegoede@redhat.com> Date: Mon, 7 Oct 2019 10:43:00 +0200 Subject: [PATCH] x86/boot: Provide memzero_explicit
The purgatory code now uses the shared lib/crypto/sha256.c sha256 implementation. This needs memzero_explicit, implement this.
Reported-by: Arvind Sankar <nivedita@alum.mit.edu> Fixes: 906a4bb97f5d ("crypto: sha256 - Use get/put_unaligned_be32 to get input, memzero_explicit") Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- arch/x86/boot/compressed/string.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/arch/x86/boot/compressed/string.c b/arch/x86/boot/compressed/string.c index 81fc1eaa3229..511332e279fe 100644 --- a/arch/x86/boot/compressed/string.c +++ b/arch/x86/boot/compressed/string.c @@ -50,6 +50,11 @@ void *memset(void *s, int c, size_t n) return s; } +void memzero_explicit(void *s, size_t count) +{ + memset(s, 0, count); +} + void *memmove(void *dest, const void *src, size_t n) { unsigned char *d = dest; -- 2.23.0
| |