[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1153778917.2808.14.camel@betsy.boston.ximian.com>
Date: Mon, 24 Jul 2006 18:08:37 -0400
From: Robert Love <rml@...ell.com>
To: Arjan van de Ven <arjan@...ux.intel.com>
Cc: Reuben Farrelly <reuben-lkml@...b.net>,
Ingo Molnar <mingo@...e.hu>,
John McCutchan <john@...nmccutchan.com>,
Andrew Morton <akpm@...l.org>,
Linux Kernel <linux-kernel@...r.kernel.org>, rml@...ian.com,
viro@...iv.linux.org.uk
Subject: Re: [patch] inotify: fix deadlock found by lockdep
On Mon, 2006-07-24 at 19:21 +0200, Arjan van de Ven wrote:
> inotify_dev_queue_event schedules a kernel_event which does a
> kmem_cache_alloc( , GFP_KERNEL) which may try to shrink slabs, including
> the inode cache .. which then takes iprune_mutex.
>
> And voila, there is an AB, a BC, a CD relationship (even a direct BCD),
> and also now a DA relationship -> a circular type AB-BA deadlock but
> involving 4 locks.
>
> The solution is simple: kernel_event() is NOT allowed to use GFP_KERNEL,
> but must use GFP_NOFS to not cause recursion into the VFS.
>
> Signed-off-by: Arjan van de Ven <arjan@...ux.intel.com>
Nice catch.
Signed-off-by: Robert Love <rml@...ell.com>
Robert Love
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists