lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 21 May 2020 14:31:17 +0200
From:   Petr Mladek <pmladek@...e.com>
To:     Andrew Morton <akpm@...ux-foundation.org>
Cc:     Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
        Joe Perches <joe@...ches.com>,
        Chenggang Wang <wangchenggang@...o.com>,
        linux-kernel@...r.kernel.org, Steven Rostedt <rostedt@...dmis.org>
Subject: Re: [RFC PATCH 2/2] init: Allow multi-line output of kernel command
 line

On Wed 2020-05-20 21:40:07, Andrew Morton wrote:
> On Thu, 21 May 2020 13:36:28 +0900 Sergey Senozhatsky <sergey.senozhatsky@...il.com> wrote:
> 
> > On (20/05/20 18:00), Andrew Morton wrote:
> > [..]
> > > I'm wondering if we shold add a kernel puts() (putsk()?  yuk) which can
> > > puts() a string of any length.
> > > 
> > > I'm counting around 150 instances of printk("%s", ...) and pr_foo("%s",
> > > ...) which could perhaps be converted, thus saving an argument.
> > 
> > Can you point me at some examples?
> > 
> 
> ./arch/powerpc/kernel/udbg.c:           printk("%s", s);
> ./arch/powerpc/xmon/nonstdio.c:         printk("%s", xmon_outbuf);
> ./arch/um/os-Linux/drivers/ethertap_user.c:             printk("%s", output);
> ./arch/um/os-Linux/drivers/ethertap_user.c:             printk("%s", output);
> ./arch/um/os-Linux/drivers/tuntap_user.c:                       printk("%s", out
> 
> etc.
> 
> My point is, if we created a length-unlimited puts() function for printing the
> kernel command line, it could be reused in such places, resulting in a
> smaller kernel.

Interesting idea. Well, such a generic function would need to be safe
and do not modify the original string. We would need to implement
printk() variant that would support strigs limited by size instead
of the trailing '\0'. I am not sure if it is worth it.

Best Regards,
Petr

Powered by blists - more mailing lists