sched/core: Fix buffer overflow in cgroup2 property cpu.max
authorKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Wed, 6 Mar 2019 17:11:42 +0000 (20:11 +0300)
committerIngo Molnar <mingo@kernel.org>
Tue, 19 Mar 2019 11:06:15 +0000 (12:06 +0100)
Add limit into sscanf format string for on-stack buffer.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: 0d5936344f30 ("sched: Implement interface for cgroup unified hierarchy")
Link: https://lkml.kernel.org/r/155189230232.2620.13120481613524200065.stgit@buzz
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/core.c

index 6b2c055564b5795cec7ae7f329b2247375b9bd29..b7a4afdc33cba680fe5b1b869be6e5e1389cd64d 100644 (file)
@@ -6943,7 +6943,7 @@ static int __maybe_unused cpu_period_quota_parse(char *buf,
 {
        char tok[21];   /* U64_MAX */
 
-       if (!sscanf(buf, "%s %llu", tok, periodp))
+       if (sscanf(buf, "%20s %llu", tok, periodp) < 1)
                return -EINVAL;
 
        *periodp *= NSEC_PER_USEC;