Messages in this thread | | | From | Desmond Cheong Zhi Xi <> | Subject | [PATCH v3 0/2] fcntl: fix potential deadlocks | Date | Wed, 7 Jul 2021 15:43:59 +0800 |
| |
Hi,
Sorry for the delay between v1 and v2, there was an unrelated issue with Syzbot testing.
Syzbot reports a possible irq lock inversion dependency: https://syzkaller.appspot.com/bug?id=923cfc6c6348963f99886a0176ef11dcc429547b
While investigating this error, I discovered that multiple similar lock inversion scenarios can occur. Hence, this series addresses potential deadlocks for two classes of locks, one in each patch:
1. Fix potential deadlocks for &fown_struct.lock
2. Fix potential deadlock for &fasync_struct.fa_lock
v2 -> v3: - Removed WARN_ON_ONCE, keeping elaboration for why read_lock_irq is safe to use in the commit message. As suggested by Greg KH.
v1 -> v2: - Added WARN_ON_ONCE(irqs_disabled()) before calls to read_lock_irq, and added elaboration in the commit message. As suggested by Jeff Layton.
Best wishes, Desmond
Desmond Cheong Zhi Xi (2): fcntl: fix potential deadlocks for &fown_struct.lock fcntl: fix potential deadlock for &fasync_struct.fa_lock
fs/fcntl.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)
-- 2.25.1
| |