Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys

On Apr 28, 2013, at 4:32 PM, Michael van Elst <> 

> On Sun, Apr 28, 2013 at 01:50:37PM +0200, J. Hannken-Illjes wrote:
>>> The locking order hasn't been changed, but the faulty tryenter has been
>>> replaced with an enter.
>> Sure -- and that is the problem.  The locking order was wrong and you
>> removed the hack/workaround without fixing the lock order.
> I now release the mnt_unmounting lock before aquiring the mountlist_lock.
> This opens a race condition for a concurrent umount that I prevent by
> raising the nest counter. With this change I can no longer provoke
> the deadlock.
> The only difference should now be that vfs_hooks_unmount() is called
> outside the unmounting lock. But since it is operating on an already
> detached mountpoint (if it is used at all) before it is destroyed,
> that should be harmless.
> What do you think?

Unfortunately this also opens a race for do_sys_sync to succeed with
vfs_busy() and call ffs_sync() with mp->mnt_data == NULL -> BOMB.

J. Hannken-Illjes - - TU Braunschweig 

Home | Main Index | Thread Index | Old Index