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

From: Thorsten Blum

Date: Sat Feb 28 2026 - 04:45:40 EST


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@xxxxxxxxx>
---
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@xxxxxxxxx>
GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4