lkml.org 
[lkml]   [2018]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] kdump, proc/vmcore: fix building without CONFIG_ARCH_HAS_MEM_ENCRYPT
On Wed, Oct 10, 2018 at 04:32:45PM +0200, Arnd Bergmann wrote:
> We get a link failure when calling copy_oldmem_page_encrypted()
> when the compiler fails to do constant-propagation of the
> sme_active() result into read_from_oldmem:
>
> fs/proc/vmcore.o: In function `read_from_oldmem.part.0':
> vmcore.c:(.text+0xb7): undefined reference to `copy_oldmem_page_encrypted'
>
> Adding an IS_ENABLED() check means the compiler will always
> know when it cannot be enabled.
>
> Fixes: 992b649a3f01 ("kdump, proc/vmcore: Enable kdumping encrypted memory with SME enabled")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> There may be a better way of doing this, not sure what kinds
> of assumptions we want to make here.
> ---
> fs/proc/vmcore.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
> index d469ce9d8c0c..92e1e520a52d 100644
> --- a/fs/proc/vmcore.c
> +++ b/fs/proc/vmcore.c
> @@ -123,7 +123,9 @@ static ssize_t read_from_oldmem(char *buf, size_t count,
> if (pfn_is_ram(pfn) == 0)
> memset(buf, 0, nr_bytes);
> else {
> - if (encrypted)
> + if (IS_ENABLED(CONFIG_X86_64) &&
> + IS_ENABLED(CONFIG_ARCH_HAS_MEM_ENCRYPT) &&
> + encrypted)
> tmp = copy_oldmem_page_encrypted(pfn, buf,
> nr_bytes,
> offset,
> --

Doesn't that fix it?

https://git.kernel.org/tip/cf089611f4c446285046fcd426d90c18f37d2905

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)

\
 
 \ /
  Last update: 2018-10-10 16:40    [W:0.046 / U:0.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site