Re: [RFC PATCH] cmdline: Hide "debug" from /proc/cmdline

Randy Dunlap
2014-04-02T19:07:39Z

On 04/02/2014 12:04 PM, Andrew Morton wrote:
> On Wed, 2 Apr 2014 14:42:19 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
>
>> It has come to our attention that a system running a specific user
>> space init program will not boot if you add "debug" to the kernel
>> command line. What happens is that the user space tool parses the
>> kernel command line, and if it sees "debug" it will spit out so much
>> information that the system fails to boot. This basically renders the
>> "debug" option for the kernel useless.
>>
>> This bug has been reported to the developers of said tool
>> here:
>>
>> https://bugs.freedesktop.org/show_bug.cgi?id=76935
>>
>> The response is:
>>
>> "Generic terms are generic, not the first user owns them."
>>
>> That is, the "debug" statement on the *kernel* command line is not
>> owned by the kernel just because it was the first user of it, and
>> they refuse to fix their bug.
>>
>> Well, my response is, we OWN the kernel command line, and as such, we
>> can keep the users from seeing stuff on it if we so choose. And with
>> that, I propose this patch, which hides "debug" from /proc/cmdline,
>> such that we don't have to worry about tools parsing for it and causing
>> hardship for those trying to debug the kernel.
>>
>
> I had to check the date on this but surprisingly, it's all post
> April 1.
>
> --- a/fs/read_write.c~a
> +++ a/fs/read_write.c
> @@ -513,6 +513,8 @@ SYSCALL_DEFINE3(read, unsigned int, fd,
> struct fd f = fdget_pos(fd);
> ssize_t ret = -EBADF;
>
> + BUG_ON(!strcmp(current->comm, "systemd"));
> +
> if (f.file) {
> loff_t pos = file_pos_read(f.file);
> ret = vfs_read(f.file, buf, count, &pos);
> _

Ack here.

This situation is ridiculous.

--
~Randy