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

From: Borislav Petkov
Date: Wed Apr 02 2014 - 15:05:47 EST


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@xxxxxxxxxxx> 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!

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
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/