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:   Thu, 19 Oct 2017 09:51:04 -0700
From:   Andrei Vagin <avagin@...tuozzo.com>
To:     Josh Poimboeuf <jpoimboe@...hat.com>
Cc:     Ingo Molnar <mingo@...nel.org>, linux-kernel@...r.kernel.org,
        torvalds@...ux-foundation.org, peterz@...radead.org, hpa@...or.com,
        tglx@...utronix.de
Subject: Re: [2/2] x86/unwind: Make CONFIG_UNWINDER_ORC=y the default in
 kconfig for 64-bit

Hi,

We run CRIU tests for tip/auto-latest regularly, and a few days ago our
test job started to detect this warning in a kernel log:

[   44.235786] WARNING: can't dereference iret registers at ffff8801c5f17fe0 for ip ffffffff95f0d94b

What does it mean? How critical is it?

Our test job fails if it detects any warning in a kernel log. Maybe we
need to investigate reasons of this warning and try to eliminate it?

Here are logs:
https://travis-ci.org/avagin/linux/jobs/289676634

Thanks,
Andrei

On Fri, Oct 13, 2017 at 03:02:01PM -0500, Josh Poimboeuf wrote:
> The ORC unwinder has been stable in testing so far.  Give it much wider
> testing by making it the default in kconfig for x86_64.  It's not yet
> supported for 32-bit, so leave frame pointers as the default there.
> 
> Suggested-by: Ingo Molnar <mingo@...nel.org>
> Signed-off-by: Josh Poimboeuf <jpoimboe@...hat.com>
> ---
>  arch/x86/Kconfig.debug | 33 +++++++++++++++++----------------
>  1 file changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index f274dbb87c26..a4ff214fb760 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -358,27 +358,13 @@ config PUNIT_ATOM_DEBUG
>  
>  choice
>  	prompt "Choose kernel unwinder"
> -	default UNWINDER_FRAME_POINTER
> +	default UNWINDER_ORC if X86_64
> +	default UNWINDER_FRAME_POINTER if X86_32
>  	---help---
>  	  This determines which method will be used for unwinding kernel stack
>  	  traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
>  	  livepatch, lockdep, and more.
>  
> -config UNWINDER_FRAME_POINTER
> -	bool "Frame pointer unwinder"
> -	select FRAME_POINTER
> -	---help---
> -	  This option enables the frame pointer unwinder for unwinding kernel
> -	  stack traces.
> -
> -	  The unwinder itself is fast and it uses less RAM than the ORC
> -	  unwinder, but the kernel text size will grow by ~3% and the kernel's
> -	  overall performance will degrade by roughly 5-10%.
> -
> -	  This option is recommended if you want to use the livepatch
> -	  consistency model, as this is currently the only way to get a
> -	  reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
> -
>  config UNWINDER_ORC
>  	bool "ORC unwinder"
>  	depends on X86_64
> @@ -395,6 +381,21 @@ config UNWINDER_ORC
>  	  Enabling this option will increase the kernel's runtime memory usage
>  	  by roughly 2-4MB, depending on your kernel config.
>  
> +config UNWINDER_FRAME_POINTER
> +	bool "Frame pointer unwinder"
> +	select FRAME_POINTER
> +	---help---
> +	  This option enables the frame pointer unwinder for unwinding kernel
> +	  stack traces.
> +
> +	  The unwinder itself is fast and it uses less RAM than the ORC
> +	  unwinder, but the kernel text size will grow by ~3% and the kernel's
> +	  overall performance will degrade by roughly 5-10%.
> +
> +	  This option is recommended if you want to use the livepatch
> +	  consistency model, as this is currently the only way to get a
> +	  reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
> +
>  config UNWINDER_GUESS
>  	bool "Guess unwinder"
>  	depends on EXPERT

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ