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]
Date:	Tue, 21 Jul 2009 09:11:44 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Krzysztof Oledzki <olel@....pl>
cc:	Greg KH <gregkh@...e.de>, linux-kernel@...r.kernel.org,
	Andrew Morton <akpm@...ux-foundation.org>, stable@...nel.org,
	lwn@....net
Subject: Re: Linux 2.6.27.27



On Tue, 21 Jul 2009, Krzysztof Oledzki wrote:
> 
> OK, there are three kernels, exactly as you requested:
> 
> http://noc.axelspringer.pl/no-strict-overflow-vs-wrapv/vmlinux-fno-strict-overflow.bz2 (Hangs)
> http://noc.axelspringer.pl/no-strict-overflow-vs-wrapv/vmlinux-fwrapv.bz2 (OK)
> http://noc.axelspringer.pl/no-strict-overflow-vs-wrapv/vmlinux-fnone.bz2 (OK)

Perfect.

And interestingly, the "fno-strict-overflow" kernel is actually much 
closer to the "fnone" kernel than to the "fwrapv" one. I have some silly 
scripts based on 'objdump -d' plus a lot of stupid sed scripting to remove 
the trivial differences due to instruction addresses, and then doing a 
'diff -u' between the munged disassembly of the kernels gives me:

  [torvalds@...alem fno-strict-overflow]$ wc -l fnone-to-fno-strict-overflow fwrapv-to-fno-strict-overflow 
    39309 fnone-to-fno-strict-overflow
    91423 fwrapv-to-fno-strict-overflow
   130732 total

ie the diff from the kernel with no flags is less than twice the size of 
the diff from fwrapv.

Still - it's almost 40kB of diffs of disassembly, so I'm not going to 
guarantee that I can make any sense of it and find the compiler problem in 
it. But I'll try. And send you test-patches to see if I can pinpoint the 
code that causes the problem.

> Kernels are identical and are compiled from the same config, on the same
> server with gcc-4.2.4, binutils-2.19. There is no ccache installed and the
> kernels are not patched with any additonal patches - just vanilla
> linux-2.6.27.27.

Thank you.

> Screenshot from the hanging kernel (-fno-strict-overflow):
>  http://noc.axelspringer.pl/no-strict-overflow-vs-wrapv/2.6.27.27-hang.png
> 
> Dmesg from a bootable kernel:
>  http://noc.axelspringer.pl/no-strict-overflow-vs-wrapv/dmesg

Great. This is all about as perfect as could be asked for. Now it's just a 
question of trying to find the right code generation difference...

			Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ