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] [day] [month] [year] [list]
Date:   Fri, 10 Mar 2017 12:18:58 -0600
From:   Josh Poimboeuf <jpoimboe@...hat.com>
To:     Paul Menzel <pmenzel@...gen.mpg.de>
Cc:     Steven Rostedt <rostedt@...dmis.org>,
        Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: Kernel panic on Lenovo X60 with tracing enabled

On Fri, Mar 10, 2017 at 09:53:29AM +0100, Paul Menzel wrote:
> Dear Josh,
> 
> 
> On 03/10/17 00:04, Josh Poimboeuf wrote:
> > On Thu, Mar 09, 2017 at 09:43:47PM +0100, Paul Menzel wrote:
> > > On 2017-03-09 17:29, Steven Rostedt wrote:
> > > > On Thu, 9 Mar 2017 10:16:02 -0600 Josh Poimboeuf wrote:
> > > > 
> > > > > On Thu, Mar 09, 2017 at 09:36:30AM -0500, Steven Rostedt wrote:
> > > > > > On Thu, 9 Mar 2017 13:12:28 +0100 Paul Menzel wrote:
> > > 
> > > > > > > Hopefully, I am contacting the right people for my issue.
> > > > > > > 
> > > > > > > Suspending a system with Linux 4.9.13 with tracing enabled, it fails
> > > > > > > with the screen still enabled, and the LED blinking. Attaching a serial
> > > > > > > console to the dock, shows the messages below.
> > > > > > 
> > > > > > I'm betting this is a compiler bug, as that bug that printed is the
> > > > > > internal ftrace check for it. (note the bug is only in x86-32 not
> > > > > > x86-64)
> > > > > > 
> > > > > > Funny, we are just talking about this bug in another thread, but with a
> > > > > > different symptom.
> > > > > > 
> > > > > > Josh, did you say this goes away if you disable optimize for size or
> > > > > > does it need to be enabled?
> > > > > 
> > > > > Yeah, assuming it's the same problem, then this is caused by
> > > > > CONFIG_CC_OPTIMIZE_FOR_SIZE.  It would be fixed by changing it to
> > > > > CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE.
> > > > 
> > > > Paul, do you have CONFIG_CC_OPTIMIZE_FOR_SIZE enabled? Can you set it
> > > > to PERFORMANCE and see if the problem goes away?
> > > 
> > > As far as I can see, the Debian Linux kernel is built with
> > > `CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y`.
> > > 
> > > So it might be a different problem?
> > 
> > Is it a stock Debian kernel?  If so, do you have a link where it can be
> > downloaded?
> 
> Sure, hopefully [3] works for you.
> 
> ```
> dpkg -x linux-image-4.9.0-0.bpo.2-686-pae-unsigned_4.9.13-1~bpo8+1_i386.deb
> target-directory

Thanks, that helped.  One of the functions on the stack trace has the
buggy prologue:

acpi_pm_device_sleep_wake:
  c138048c:	57                   	push   %edi
  c138048d:	8d 7c 24 08          	lea    0x8(%esp),%edi
  c1380491:	83 e4 f8             	and    $0xfffffff8,%esp
  c1380494:	ff 77 fc             	pushl  -0x4(%edi)
  c1380497:	55                   	push   %ebp
  c1380498:	89 e5                	mov    %esp,%ebp
  c138049a:	57                   	push   %edi
  c138049b:	56                   	push   %esi
  c138049c:	53                   	push   %ebx
  c138049d:	83 ec 0c             	sub    $0xc,%esp
  c13804a0:	e8 e7 bf 21 00       	call   0xc159c48c (mcount)

And the config file indeed has CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y.

I found the root cause after a little digging.  drivers/acpi/Makefile is
setting '-Os' manually:

  ccflags-y                       := -Os

That line predates git history, so I don't know why it's there, but I'd
guess we can probably remove it.  I'll submit a fix for it along with
the other -maccumulate-outoing-args related patch I was going to do.

-- 
Josh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ