Messages in this thread | | | Subject | Re: [patch] inotify: fix deadlock found by lockdep | From | Robert Love <> | Date | Mon, 24 Jul 2006 18:08:37 -0400 |
| |
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@linux.intel.com>
Nice catch.
Signed-off-by: Robert Love <rml@novell.com>
Robert Love
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |