> On Mon, 2006-06-05 at 13:00 -0400, [email protected] wrote:
> > Using the -lockdep patch that Ingo had a few days ago, plus Stefan Richter's
> > two patches for ieee1394 (which fixed the *first* locking issue I hit)....
>
> > [ 219.535000] quotaon/1374 is trying to release lock (&inode->i_mutex) at:
> > [ 219.535000] [<c0382ba2>] mutex_unlock+0xd/0xf
> > [ 219.535000] but the next lock to release is:
> > [ 219.535000] (&s->s_dquot.dqonoff_mutex){--..}, at: [<c0382a09>] mutex_lock+0xd/0xf
>
>
> ok the quota code is playing fun games with unlock order..
>
>
>
> The quota code nests 3 mutexes but releases them in a totally different
> order; mark this as such in the code.
Yes, it does. It was hard enough to get it to *lock* everything in
the right order and thus avoid all those nasty lock inversion problems so
unlocking is sometimes a bit arbitrary :)..
> Signed-off-by: Arjan van de Ven <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
> ---
> fs/dquot.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6.17-rc5-mm3/fs/dquot.c
> ===================================================================
> --- linux-2.6.17-rc5-mm3.orig/fs/dquot.c
> +++ linux-2.6.17-rc5-mm3/fs/dquot.c
> @@ -1475,7 +1475,7 @@ static int vfs_quota_on_inode(struct ino
> goto out_file_init;
> }
> mutex_unlock(&dqopt->dqio_mutex);
> - mutex_unlock(&inode->i_mutex);
> + mutex_unlock_non_nested(&inode->i_mutex);
> set_enable_flags(dqopt, type);
>
> add_dquot_ref(sb, type);
>
--
Jan Kara <[email protected]>
SuSE CR Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]