Skip to content

Commit f5507ae

Browse files
tobluxAlexander Gordeev
authored andcommitted
s390/debug: Replace kmalloc() + copy_from_user() with memdup_user_nul()
Replace kmalloc() followed by copy_from_user() with memdup_user_nul() to improve and simplify debug_get_user_string(). Remove the manual NUL-termination. No functional changes intended. Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
1 parent 11aa54b commit f5507ae

1 file changed

Lines changed: 3 additions & 9 deletions

File tree

arch/s390/kernel/debug.c

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1416,18 +1416,12 @@ static inline char *debug_get_user_string(const char __user *user_buf,
14161416
{
14171417
char *buffer;
14181418

1419-
buffer = kmalloc(user_len + 1, GFP_KERNEL);
1420-
if (!buffer)
1421-
return ERR_PTR(-ENOMEM);
1422-
if (copy_from_user(buffer, user_buf, user_len) != 0) {
1423-
kfree(buffer);
1424-
return ERR_PTR(-EFAULT);
1425-
}
1419+
buffer = memdup_user_nul(user_buf, user_len);
1420+
if (IS_ERR(buffer))
1421+
return buffer;
14261422
/* got the string, now strip linefeed. */
14271423
if (buffer[user_len - 1] == '\n')
14281424
buffer[user_len - 1] = 0;
1429-
else
1430-
buffer[user_len] = 0;
14311425
return buffer;
14321426
}
14331427

0 commit comments

Comments
 (0)