Re: [PATCH] Fix inconsistent lock state in inotify

From: Andrew Morton
Date: Wed Apr 15 2009 - 16:34:38 EST


On Wed, 15 Apr 2009 15:31:35 -0400
Eric Paris <eparis@xxxxxxxxxx> wrote:

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

heh, thanks. No rush, it's a tiny problem. Some time this week or
next would be OK.

I get all paranoid about things falling through cracks.
--
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/