Ritesh Harjani (IBM) <ritesh.list@xxxxxxxxx> writes: > Mikhail Ukhin <mish.uxin2012@xxxxxxxxx> writes: > >> Fuzzing reports a possible deadlock in jbd2_log_wait_commit. I think I agree with what Jan hinted to me in the call, that how can an unlock order mismatch be a deadlock. But yes, a wrong unlock order can increase the locking times of thread-2 waiting on lock B; for e.g. if a premption happens between unlock of lock A & B by thread-1. So it is always good to fix the unlock order too. >> >> The problem occurs in ext4_ind_migrate due to an incorrect order of >> unlocking of the journal and write semaphores - the order of unlocking >> must be the reverse of the order of locking. >> > > Maybe we should update the subject msg to: > "ext4: "fix i_data_sem unlock order in ext4_ind_migrate()" > > and also should add: > CC: stable@xxxxxxxxxxxxxxx In that case, I am not really sure, if this requires a cc'd stable. So, I will leave this upto Ted. > > > I think this should have been fixed in patch [1], but looks like it > forgot to fix the unlock order. > > [1]: https://lore.kernel.org/all/1364801462-13120-1-git-send-email-dmonakhov@xxxxxxxxxx/ > > >> Found by Linux Verification Center (linuxtesting.org) with syzkaller. It will be good to know what was the test which identified this though? -ritesh