kernel_optimize_test/kernel/events
peterz@infradead.org 2cded5a3cc perf: Break deadlock involving exec_update_mutex
[ Upstream commit 78af4dc949daaa37b3fcd5f348f373085b4e858f ]

Syzbot reported a lock inversion involving perf. The sore point being
perf holding exec_update_mutex() for a very long time, specifically
across a whole bunch of filesystem ops in pmu::event_init() (uprobes)
and anon_inode_getfile().

This then inverts against procfs code trying to take
exec_update_mutex.

Move the permission checks later, such that we need to hold the mutex
over less code.

Reported-by: syzbot+db9cdf3dd1f64252c6ef@syzkaller.appspotmail.com
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-09 13:46:24 +01:00
..
callchain.c uaccess: add force_uaccess_{begin,end} helpers 2020-08-12 10:57:59 -07:00
core.c perf: Break deadlock involving exec_update_mutex 2021-01-09 13:46:24 +01:00
hw_breakpoint.c powerpc/watchpoint: Don't allow concurrent perf and ptrace events 2020-05-19 00:14:45 +10:00
internal.h perf: Optimize get_recursion_context() 2020-11-09 18:12:34 +01:00
Makefile
ring_buffer.c perf: Reduce stack usage of perf_output_begin() 2020-11-09 18:12:33 +01:00
uprobes.c task_work: cleanup notification modes 2020-10-17 15:05:30 -06:00