Re: [PATCH] deadlock when swapping to FAT

From: Mikulas Patocka
Date: Sat Mar 14 2009 - 21:54:54 EST




On Fri, 13 Mar 2009, OGAWA Hirofumi wrote:

> Mikulas Patocka <mpatocka@xxxxxxxxxx> writes:
>
> > swapon will deadlock when an attempt to swap to a file on FAT filesystem
> > is made. swapon holds i_mutex and FAT bmap is attempting to take it again.
> >
> > This bug was introduced somewhere between 2.6.27 and 2.6.28.
> >
> > No other filesystem is taking i_mutex in bmap, so I removed it as well.
> >
> > Note that there are many other cases where bmap can race with truncate in
> > almost all the filesystems. They don't impose an immediate threat because
> > bmap can be only called by root. These problems should be solved in a
> > generic way, not in individual filesystems.
>
> Thanks. This was fixed recently with a bit different way.
> --
> OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>

Note that the same race condition is happening in all the other
filesystems. Maybe move that i_alloc_sem up to ->bmap method caller?

Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/