All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 5.4 regression fix] x86/boot: Provide memzero_explicit
@ 2019-10-07 13:47 Hans de Goede
  2019-10-07 14:00 ` Ingo Molnar
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Hans de Goede @ 2019-10-07 13:47 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, H . Peter Anvin
  Cc: Hans de Goede, Herbert Xu, Ard Biesheuvel, linux-crypto, x86,
	linux-kernel, Arvind Sankar

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>
---
Changes in v2:
- Add barrier_data() call after the memset, making the function really
  explicit. Using barrier_data() works fine in the purgatory (build)
  environment.
---
 arch/x86/boot/compressed/string.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/x86/boot/compressed/string.c b/arch/x86/boot/compressed/string.c
index 81fc1eaa3229..654a7164a702 100644
--- a/arch/x86/boot/compressed/string.c
+++ b/arch/x86/boot/compressed/string.c
@@ -50,6 +50,12 @@ void *memset(void *s, int c, size_t n)
 	return s;
 }
 
+void memzero_explicit(void *s, size_t count)
+{
+	memset(s, 0, count);
+	barrier_data(s);
+}
+
 void *memmove(void *dest, const void *src, size_t n)
 {
 	unsigned char *d = dest;
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-10-10  6:56 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-07 13:47 [PATCH v2 5.4 regression fix] x86/boot: Provide memzero_explicit Hans de Goede
2019-10-07 14:00 ` Ingo Molnar
2019-10-07 14:11   ` Hans de Goede
2019-10-07 14:22     ` Ingo Molnar
2019-10-07 14:29       ` Hans de Goede
2019-10-07 14:46         ` Ingo Molnar
2019-10-07 15:20           ` Arvind Sankar
2019-10-07 15:40             ` Ingo Molnar
2019-10-07 18:42               ` Arvind Sankar
2019-10-07 19:36                 ` Hans de Goede
2019-10-07 22:00                   ` [PATCH] lib/string: make memzero_explicit inline instead of external Arvind Sankar
2019-10-08 11:33                     ` [tip: x86/urgent] lib/string: Make memzero_explicit() " tip-bot2 for Arvind Sankar
2019-10-08 11:33                     ` tip-bot2 for Arvind Sankar
2019-10-10  2:52                     ` [PATCH] lib/string: make memzero_explicit " Dave Young
2019-10-10  2:52                       ` Dave Young
2019-10-10  6:56                       ` Dave Young
2019-10-10  6:56                         ` Dave Young
2019-10-07 14:49 ` [tip: x86/urgent] x86/boot: Provide memzero_explicit() tip-bot2 for Hans de Goede
2019-10-07 14:49 ` tip-bot2 for Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.