[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251220125728.76631-3-thorsten.blum@linux.dev>
Date: Sat, 20 Dec 2025 13:57:30 +0100
From: Thorsten Blum <thorsten.blum@...ux.dev>
To: Jens Axboe <axboe@...nel.dk>
Cc: Thorsten Blum <thorsten.blum@...ux.dev>,
linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH RESEND] block: Replace deprecated strcpy in devt_from_devname
Use strnlen() and sizeof(s) instead of hard-coding 31 bytes.
strcpy() is deprecated [1] and uses an additional strlen() internally;
use memcpy() directly since we already know the length of 'name' and
that it is guaranteed to be NUL-terminated.
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
Signed-off-by: Thorsten Blum <thorsten.blum@...ux.dev>
---
block/early-lookup.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/block/early-lookup.c b/block/early-lookup.c
index 3fb57f7d2b12..5c30a0cc85a0 100644
--- a/block/early-lookup.c
+++ b/block/early-lookup.c
@@ -155,10 +155,11 @@ static int __init devt_from_devname(const char *name, dev_t *devt)
int part;
char s[32];
char *p;
+ size_t name_len = strnlen(name, sizeof(s));
- if (strlen(name) > 31)
+ if (name_len == sizeof(s))
return -EINVAL;
- strcpy(s, name);
+ memcpy(s, name, name_len + 1);
for (p = s; *p; p++) {
if (*p == '/')
*p = '!';
--
Thorsten Blum <thorsten.blum@...ux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
Powered by blists - more mailing lists