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 <mlelstv%serpens.de@localhost>
wrote:
> 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?
<snip>
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 - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
(Germany)
Home |
Main Index |
Thread Index |
Old Index