Re: [PATCH] Fix inconsistent lock state in inotify

From: Eric Paris
Date: Wed Apr 15 2009 - 15:32:19 EST


On Wed, 2009-04-15 at 12:25 -0700, Andrew Morton wrote:
> On Wed, 15 Apr 2009 13:59:29 +0200
> Luca Tettamanti <kronos.it@xxxxxxxxx> wrote:
>
> > >> +++ b/fs/notify/inotify/inotify_user.c
> > >> @@ -220,7 +220,7 @@ static struct inotify_kernel_event * kernel_event(s32 wd, u32 mask, u32 cookie,
> > >> rem = 0;
> > >> }
> > >>
> > >> - kevent->name = kmalloc(len + rem, GFP_KERNEL);
> > >> + kevent->name = kmalloc(len + rem, GFP_NOFS);
> > >> if (unlikely(!kevent->name)) {
> > >> kmem_cache_free(event_cachep, kevent);
> > >> return NULL;
> > >
> > > Thanks.
> > >
> > > This is in fact a false positive and we plan to fix it via lockdep
> > > annotation.
> >
> > Well, I trust you on the "false positive", but a few line before there this:
> >
> > kevent = kmem_cache_alloc(event_cachep, GFP_NOFS);
> >
> > so can kmem_cache_alloc also use GFP_KERNEL?
>
> Yes, it looks that way.
>
> umm, I think I'll merge your original patch as a reminder-to-self.
> If the problem doesn't get fixed in a better way for 2.6.30 then I
> might end up going with the GFP_NOFS approach.
>
> But it's bad to weaken the memory allocation mode just to plug a lockdep
> warning.

I swear, I'm fighting with my machines trying to get one to work so I
can test my lockdep fix today (and found a separate oddity/bug in the
process)

-Eric

--
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/