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  linux-cve-announce  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]
Message-ID: <20161008131603.GA7021@home.goodmis.org>
Date:   Sat, 8 Oct 2016 09:16:04 -0400
From:   Steven Rostedt <rostedt@...dmis.org>
To:     Tony Luck <tony.luck@...il.com>
Cc:     Joe Perches <joe@...ches.com>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        Jiri Kosina <jikos@...nel.org>,
        Colin Ian King <colin.king@...onical.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [GIT PULL] trivial for 4.9

On Fri, Oct 07, 2016 at 04:09:51PM -0700, Tony Luck wrote:
> On Fri, Oct 7, 2016 at 4:01 PM, Tony Luck <tony.luck@...il.com> wrote:
> > What if there isn't a "next printk" call for hours, or days?
> >
> > That poor little message without a "\n" will sit in the kernel buffers,
> > and the user who might want to see the message can't, until some
> > unrelated thing happens to print something.
> 
> Retracted ... I'm sure that at some point in the past it happened like
> that ... but
> I just retested on 4.8 and the first message (with no "\n") showed up on the
> serial port just fine without some other message to push it out. When the
> next message came along, a "\n" was auto-inserted.
> 

No there was a small window in time that it did just that. And it caused me a
day of debugging. My ftrace self tests at boot up do something like:

printk("testing X....");

if (test(X))
	printk(" PASSED\n");
else
	printk(" FAILED\n");


And with this new change, the "testing X..." never appeared, but it caused the
system to crash, It confused me because it crashed right after a:

testing Y.... PASSED

came out.

Thus I was debugging why Y failed caused the system crash even though it
reported a passing statement. The sad part was that my bug came in after this
updated to printk. So in bisecting I didn't notice. But what I did notice in
bisecting, was test X, and I tried that, and sure enough it crashed. Then
that's where I started looking at changes in printk.

I made a minor stink about it, and we converted the behavior back to where
kernel writes to printk would always go to the console.

-- Steve

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ