[PATCH] keys: Remove return variable and length check to simplify user_read

Thorsten Blum thorsten.blum at linux.dev
Sat Feb 28 09:44:46 UTC 2026


In user_read(), remove the unnecessary return variable 'ret' and return
->datalen directly. Drop the redundant 'buflen > 0' check and use min()
to determine the number of bytes to copy.  No functional changes.

Signed-off-by: Thorsten Blum <thorsten.blum at linux.dev>
---
 security/keys/user_defined.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/security/keys/user_defined.c b/security/keys/user_defined.c
index 6f88b507f927..b53e063272c2 100644
--- a/security/keys/user_defined.c
+++ b/security/keys/user_defined.c
@@ -171,20 +171,14 @@ EXPORT_SYMBOL_GPL(user_describe);
 long user_read(const struct key *key, char *buffer, size_t buflen)
 {
 	const struct user_key_payload *upayload;
-	long ret;
 
 	upayload = user_key_payload_locked(key);
-	ret = upayload->datalen;
 
 	/* we can return the data as is */
-	if (buffer && buflen > 0) {
-		if (buflen > upayload->datalen)
-			buflen = upayload->datalen;
+	if (buffer)
+		memcpy(buffer, upayload->data, min(buflen, upayload->datalen));
 
-		memcpy(buffer, upayload->data, buflen);
-	}
-
-	return ret;
+	return upayload->datalen;
 }
 
 EXPORT_SYMBOL_GPL(user_read);
-- 
Thorsten Blum <thorsten.blum at linux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6  9D84 7336 78FD 8DFE EAD4




More information about the Linux-security-module-archive mailing list