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

Greg KH
2014-04-02T22:16:28Z

On Wed, Apr 02, 2014 at 12:04:40PM -0700, 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);
> _

Sure, bring a box up and the first user that logs in you will crash the
machine? That's going to be fun to explain to users.

Unless Linux doesn't care about local users anymore.

I understand the sediment, but really people...