Thread (7 messages) 7 messages, 4 authors, 2023-05-24

Re: [PATCH] KEYS: Replace all non-returning strlcpy with strscpy

From: "Jarkko Sakkinen" <jarkko@kernel.org>
Date: 2023-05-24 02:49:23
Also in: keyrings, linux-hardening, lkml

On Wed May 24, 2023 at 5:45 AM EEST, Jarkko Sakkinen wrote:
On Sat May 20, 2023 at 12:11 AM EEST, Paul Moore wrote:
quoted
On Thu, May 18, 2023 at 2:01 PM Jarkko Sakkinen [off-list ref] wrote:
quoted
On Thu May 18, 2023 at 7:15 AM EEST, Azeem Shaikh wrote:
quoted
strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().
No return values were used, so direct replacement is safe.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89

Signed-off-by: Azeem Shaikh <redacted>
---
 security/keys/request_key_auth.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/security/keys/request_key_auth.c b/security/keys/request_key_auth.c
index 41e9735006d0..8f33cd170e42 100644
--- a/security/keys/request_key_auth.c
+++ b/security/keys/request_key_auth.c
@@ -178,7 +178,7 @@ struct key *request_key_auth_new(struct key *target, const char *op,
      if (!rka->callout_info)
              goto error_free_rka;
      rka->callout_len = callout_len;
-     strlcpy(rka->op, op, sizeof(rka->op));
+     strscpy(rka->op, op, sizeof(rka->op));

      /* see if the calling process is already servicing the key request of
       * another process */

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Since you maintain this code Jarkko, are you planning to merge this
into your tree or would you prefer the KSPP folks merge it?
I can pick it.
Applied.

BR, Jarkko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help