From c232a80d95849b8e776ae6b738585eacbfdc3612 Mon Sep 17 00:00:00 2001 From: Shaun Tancheff Date: Sat, 30 Nov 2019 12:14:56 -0600 Subject: [PATCH] LU-13039 quota: Ensure local buffer is null terminated Found via KASAN, copy_from_user may not set null terminator. Signed-off-by: Shaun Tancheff Change-Id: I20de911c2b2d50a1715a27e3edfe65442eaa2be6 Reviewed-on: https://review.whamcloud.com/36899 Reviewed-by: Arshad Hussain Reviewed-by: Sergey Cheremencev Reviewed-by: Ben Evans Reviewed-by: Petros Koutoupis Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/quota/qsd_lib.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lustre/quota/qsd_lib.c b/lustre/quota/qsd_lib.c index da1c7c8..c535f90 100644 --- a/lustre/quota/qsd_lib.c +++ b/lustre/quota/qsd_lib.c @@ -168,6 +168,7 @@ static ssize_t qsd_enabled_seq_write(struct file *file, if (copy_from_user(valstr, buffer, count)) GOTO(out, count = -EFAULT); + valstr[sizeof(valstr) - 1] = 0; if (strchr(valstr, 'u')) enabled |= BIT(USRQUOTA); if (strchr(valstr, 'g')) -- 1.8.3.1