Re: [PATCH] protect remove_proc_entry

From: Andrew Morton
Date: Wed Jan 04 2006 - 04:20:21 EST


Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Fri, 2005-12-30 at 17:09 -0500, Steven Rostedt wrote:
>
> > Index: linux-2.6.15-rc7/fs/proc/generic.c
> > ===================================================================
> > --- linux-2.6.15-rc7.orig/fs/proc/generic.c 2005-12-30 14:19:39.000000000 -0500
> > +++ linux-2.6.15-rc7/fs/proc/generic.c 2005-12-30 17:05:56.000000000 -0500
> > @@ -693,6 +693,8 @@
> > if (!parent && xlate_proc_name(name, &parent, &fn) != 0)
> > goto out;
> > len = strlen(fn);
> > +
> > + lock_kernel();
> > for (p = &parent->subdir; *p; p=&(*p)->next ) {
> > if (!proc_match(len, fn, *p))
> > continue;
> > @@ -713,6 +715,7 @@
> > }
> > break;
> > }
> > + unlock_kernel();
> > out:
> > return;
> > }
> >
>
> FYI, to make sure that this solves the problem, I'm removing my locking
> in my kernel and using this instead. It usually crashes in a day or
> two, so I can say this works if it makes it three days.
>

I guess the lock_kernel() approach is the way to go. Fixing a race and
de-BKLing procfs are separate exercises...

Did the patch work?
-
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/