Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3e62e35 authored by Xiao Guangrong's avatar Xiao Guangrong Committed by Ingo Molnar
Browse files

perf_counter: Fix buffer overflow in perf_copy_attr()



If we pass a big size data over perf_counter_open() syscall,
the kernel will copy this data to a small buffer, it will
cause kernel crash.

This bug makes the kernel unsafe and non-root local user can
trigger it.

Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
Acked-by: default avatarPaul Mackerras <paulus@samba.org>
Cc: <stable@kernel.org>
LKML-Reference: <4AAF37D4.5010706@cn.fujitsu.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 74fca6a4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4171,6 +4171,7 @@ static int perf_copy_attr(struct perf_counter_attr __user *uattr,
			if (val)
				goto err_size;
		}
		size = sizeof(*attr);
	}

	ret = copy_from_user(attr, uattr, size);