[PATCH] parport: replace kmalloc + strcpy with kstrdup in parse_data

Thorsten Blum
2026-04-04T23:45:25Z

Replace kmalloc() followed by strcpy() with a single call to kstrdup()
to simplify parse_data().

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
drivers/parport/probe.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/parport/probe.c b/drivers/parport/probe.c
index 5d1b9aacb130..bf9d81c0abaf 100644
--- a/drivers/parport/probe.c
+++ b/drivers/parport/probe.c
@@ -52,7 +52,7 @@ static void pretty_print(struct parport *port, int device)

static void parse_data(struct parport *port, int device, char *str)
{
- char *txt = kmalloc(strlen(str)+1, GFP_KERNEL);
+ char *txt = kstrdup(str, GFP_KERNEL);
char *p = txt, *q;
int guessed_class = PARPORT_CLASS_UNSPEC;
struct parport_device_info *info = &port->probe_info[device + 1];
@@ -61,7 +61,6 @@ static void parse_data(struct parport *port, int device, char *str)
pr_warn("%s probe: memory squeeze\n", port->name);
return;
}
- strcpy(txt, str);
while (p) {
char *sep;
q = strchr(p, ';');