diff options
author | Philipp Rudo <prudo@linux.vnet.ibm.com> | 2018-04-14 00:36:46 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-14 02:10:28 +0200 |
commit | df6f2801f511b07c08c110fe9f047a34cb40286f (patch) | |
tree | 71949b732c86f7ee9337adc4490b76ffdf292c0d /lib/sha256.c | |
parent | kernel/kexec_file.c: allow archs to set purgatory load address (diff) | |
download | linux-df6f2801f511b07c08c110fe9f047a34cb40286f.tar.xz linux-df6f2801f511b07c08c110fe9f047a34cb40286f.zip |
kernel/kexec_file.c: move purgatories sha256 to common code
The code to verify the new kernels sha digest is applicable for all
architectures. Move it to common code.
One problem is the string.c implementation on x86. Currently sha256
includes x86/boot/string.h which defines memcpy and memset to be gcc
builtins. By moving the sha256 implementation to common code and
changing the include to linux/string.h both functions are no longer
defined. Thus definitions have to be provided in x86/purgatory/string.c
Link: http://lkml.kernel.org/r/20180321112751.22196-12-prudo@linux.vnet.ibm.com
Signed-off-by: Philipp Rudo <prudo@linux.vnet.ibm.com>
Acked-by: Dave Young <dyoung@redhat.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r-- | lib/sha256.c (renamed from arch/x86/purgatory/sha256.c) | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/purgatory/sha256.c b/lib/sha256.c index 548ca675a14a..4400c832e2aa 100644 --- a/arch/x86/purgatory/sha256.c +++ b/lib/sha256.c @@ -16,9 +16,9 @@ */ #include <linux/bitops.h> +#include <linux/sha256.h> +#include <linux/string.h> #include <asm/byteorder.h> -#include "sha256.h" -#include "../boot/string.h" static inline u32 Ch(u32 x, u32 y, u32 z) { |