diff options
author | peterz@infradead.org <peterz@infradead.org> | 2020-08-28 14:37:20 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2020-12-09 17:08:57 +0100 |
commit | 78af4dc949daaa37b3fcd5f348f373085b4e858f (patch) | |
tree | fc680c63d7cb4156603b7896d963ac2b272012f1 /kernel/events/ring_buffer.c | |
parent | e6e4f42eb773c1da869af4bad544c26c89cd01ab (diff) | |
download | linux-78af4dc949daaa37b3fcd5f348f373085b4e858f.tar.bz2 |
perf: Break deadlock involving exec_update_mutex
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>
Diffstat (limited to 'kernel/events/ring_buffer.c')
0 files changed, 0 insertions, 0 deletions