]> git.baikalelectronics.ru Git - kernel.git/commit
sched/debug: Fix memory corruption caused by multiple small reads of flags
authorColin Ian King <colin.king@canonical.com>
Thu, 29 Oct 2020 15:11:03 +0000 (15:11 +0000)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 10 Nov 2020 17:38:49 +0000 (18:38 +0100)
commitf156f4b5fe165f9ecae369dc603f02bd048a8f9a
treee3a18d575d44955453501aa05b0dee98184162c5
parentd211c9d9e5caf09d4015a9272e569eca4962858c
sched/debug: Fix memory corruption caused by multiple small reads of flags

Reading /proc/sys/kernel/sched_domain/cpu*/domain0/flags mutliple times
with small reads causes oopses with slub corruption issues because the kfree is
free'ing an offset from a previous allocation. Fix this by adding in a new
pointer 'buf' for the allocation and kfree and use the temporary pointer tmp
to handle memory copies of the buf offsets.

Fixes: 742a6e63c93d ("sched/debug: Output SD flag names rather than their values")
Reported-by: Jeff Bastian <jbastian@redhat.com>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20201029151103.373410-1-colin.king@canonical.com
kernel/sched/debug.c