OSDN Git Service

x86/sev: Fix noinstr for vc_ghcb_invalidate()
authorPeter Zijlstra <peterz@infradead.org>
Thu, 24 Jun 2021 09:41:09 +0000 (11:41 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 15 Sep 2021 13:51:47 +0000 (15:51 +0200)
vmlinux.o: warning: objtool: __sev_put_ghcb()+0x88: call to __memset() leaves .noinstr.text section
vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0x39: call to __memset() leaves .noinstr.text section

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210624095148.250770465@infradead.org
arch/x86/kernel/sev-shared.c

index 9f90f46..34f20e0 100644 (file)
@@ -64,7 +64,7 @@ static bool sev_es_negotiate_protocol(void)
 static __always_inline void vc_ghcb_invalidate(struct ghcb *ghcb)
 {
        ghcb->save.sw_exit_code = 0;
-       memset(ghcb->save.valid_bitmap, 0, sizeof(ghcb->save.valid_bitmap));
+       __builtin_memset(ghcb->save.valid_bitmap, 0, sizeof(ghcb->save.valid_bitmap));
 }
 
 static bool vc_decoding_needed(unsigned long exit_code)