Prevent KMSAN from complaining about buffers filled by cpacf_trng()
being uninitialized.

Tested-by: Alexander Gordeev <agord...@linux.ibm.com>
Reviewed-by: Alexander Potapenko <gli...@google.com>
Acked-by: Heiko Carstens <h...@linux.ibm.com>
Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com>
---
 arch/s390/include/asm/cpacf.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/s390/include/asm/cpacf.h b/arch/s390/include/asm/cpacf.h
index c786538e397c..dae8843b164f 100644
--- a/arch/s390/include/asm/cpacf.h
+++ b/arch/s390/include/asm/cpacf.h
@@ -12,6 +12,7 @@
 #define _ASM_S390_CPACF_H
 
 #include <asm/facility.h>
+#include <linux/kmsan-checks.h>
 
 /*
  * Instruction opcodes for the CPACF instructions
@@ -542,6 +543,8 @@ static inline void cpacf_trng(u8 *ucbuf, unsigned long 
ucbuf_len,
                : [ucbuf] "+&d" (u.pair), [cbuf] "+&d" (c.pair)
                : [fc] "K" (CPACF_PRNO_TRNG), [opc] "i" (CPACF_PRNO)
                : "cc", "memory", "0");
+       kmsan_unpoison_memory(ucbuf, ucbuf_len);
+       kmsan_unpoison_memory(cbuf, cbuf_len);
 }
 
 /**
-- 
2.45.1


Reply via email to