All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] security: keys: Use kvfree_sensitive in a few places
@ 2020-09-11 11:44 ` Alex Dewar
  0 siblings, 0 replies; 16+ messages in thread
From: Alex Dewar @ 2020-09-11 11:44 UTC (permalink / raw)
  Cc: Alex Dewar, David Howells, Jarkko Sakkinen, James Morris,
	Serge E. Hallyn, keyrings, linux-security-module, linux-kernel

In big_key.c, there are a few places where memzero_explicit + kvfree is
used. It is better to use kvfree_sensitive instead, which is more
readable and also prevents the compiler from eliding the call to
memzero_explicit. Fix this.

Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
---
 security/keys/big_key.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/security/keys/big_key.c b/security/keys/big_key.c
index 691347dea3c1..d17e5f09eeb8 100644
--- a/security/keys/big_key.c
+++ b/security/keys/big_key.c
@@ -121,8 +121,7 @@ int big_key_preparse(struct key_preparsed_payload *prep)
 		*path = file->f_path;
 		path_get(path);
 		fput(file);
-		memzero_explicit(buf, enclen);
-		kvfree(buf);
+		kvfree_sensitive(buf, enclen);
 	} else {
 		/* Just store the data in a buffer */
 		void *data = kmalloc(datalen, GFP_KERNEL);
@@ -140,8 +139,7 @@ int big_key_preparse(struct key_preparsed_payload *prep)
 err_enckey:
 	kfree_sensitive(enckey);
 error:
-	memzero_explicit(buf, enclen);
-	kvfree(buf);
+	kvfree_sensitive(buf, enclen);
 	return ret;
 }
 
@@ -273,8 +271,7 @@ long big_key_read(const struct key *key, char *buffer, size_t buflen)
 err_fput:
 		fput(file);
 error:
-		memzero_explicit(buf, enclen);
-		kvfree(buf);
+		kvfree_sensitive(buf, enclen);
 	} else {
 		ret = datalen;
 		memcpy(buffer, key->payload.data[big_key_data], datalen);
-- 
2.28.0

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

end of thread, other threads:[~2020-09-14 18:05 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-11 11:44 [PATCH] security: keys: Use kvfree_sensitive in a few places Alex Dewar
2020-09-11 11:44 ` Alex Dewar
2020-09-11 15:04 ` James Bottomley
2020-09-11 15:04   ` James Bottomley
2020-09-11 16:00   ` Alex Dewar
2020-09-11 16:00     ` Alex Dewar
2020-09-11 16:03     ` Alex Dewar
2020-09-11 16:03       ` Alex Dewar
2020-09-11 16:06     ` [PATCH v2] " Alex Dewar
2020-09-11 16:06       ` Alex Dewar
2020-09-11 16:05 ` [PATCH] " Denis Efremov
2020-09-11 16:05   ` Denis Efremov
2020-09-11 16:09   ` Alex Dewar
2020-09-11 16:09     ` Alex Dewar
2020-09-14 18:05   ` Jarkko Sakkinen
2020-09-14 18:05     ` Jarkko Sakkinen

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.