lkml.org 
[lkml]   [2008]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Remove BKL from sysctl(2)
On 23 Jan 2008 12:09:05 +0100
Andi Kleen <andi@firstfloor.org> wrote:

> Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
> >
> > There are cases that updating the corepath name and dumping a core at the
> > same moment can result in the wrong thing being exec()'d or a file being
> > opened which is a mix of the old and new name and could go anywhere.
> >
> > I see two variants on your patch that work
> >
> > #1 Replace the lock_kernel with a sysctl_update mutex and fix both
> > paths
> > #2 Add locking specifically to the corename path
>
> Doesn't that apply to pretty much all proc_dostring users, not just
> corename?
>
> Some of them might be already broken if their readers don't take BKL.
> Also possibly some of the proc_dointvec for multiple numbers.

Yes - that's why I am wondering if we want a general 'sysctl' mutex or
just to fix the specific case. The corename case is nasty as it is timing
dependant against user activity rather than the less interesting "root
can be silly" type of problem.

If we have a general lock we can then fix the string cases, or even add a
sysctl_string_get() type function.



\
 
 \ /
  Last update: 2008-01-23 12:43    [W:0.046 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site