Re: [PATCH 01/11] sysctl: Separate the binary sysctl logic into it's own file.

From: Eric W. Biederman
Date: Fri Nov 06 2009 - 08:58:57 EST


Arnd Bergmann <arnd@xxxxxxxx> writes:

> On Friday 06 November 2009, Eric W. Biederman wrote:
>> The primary proc path already doesn't need the lock_kernel(). My next
>> patch winds up killing the entire binary path and rebuilding on top of
>> /proc/sys. Which removes that lock_kernel().
>>
>> Which I think elegantly solves all of the sysctl BKL lock issues.
>
> Yes, that sounds like an excellent plan, but I'm not completely sure
> if the lack of the BKL in the procfs case is intentional. As a
> particular case that I stumbled over, 'core_pattern' is read
> with the BKL held to protect against sysctl changing it, but
> it is changed with proc_dostring without the BKL.

Then that is a bug. The bottom line is sys_sysctl never gets used
in practice, making the proc interface normative.

> Most uses of intvec or string seem to be racy and probably need
> a proper serialization method anyway.

That sounds familiar. Of course in practice the changes are rare
enough and are of static variables that don't get reallocated
that I would be surprised if the lack of lacking ever causes
more more than temporary strange behavior.

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/