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]
Message-Id: <20170109095523.GA3273@drishya.in.ibm.com>
Date:   Mon, 9 Jan 2017 15:25:23 +0530
From:   Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     linux-kernel@...r.kernel.org, stable@...r.kernel.org,
        Segher Boessenkool <segher@...nel.crashing.org>,
        Michael Ellerman <mpe@...erman.id.au>,
        Joel Stanley <joel@....id.au>
Subject: Re: [PATCH 4.4 54/58] powerpc: Convert cmp to cmpd in idle enter
 sequence

* Greg Kroah-Hartman <gregkh@...uxfoundation.org> [2017-01-06 22:44:39]:

> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Segher Boessenkool <segher@...nel.crashing.org>
> 
> commit 80f23935cadb1c654e81951f5a8b7ceae0acc1b4 upstream.
> 
> PowerPC's "cmp" instruction has four operands. Normally people write
> "cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently
> people forget, and write "cmp" with just three operands.
> 
> With older binutils this is silently accepted as if this was "cmpw",
> while often "cmpd" is wanted. With newer binutils GAS will complain
> about this for 64-bit code. For 32-bit code it still silently assumes
> "cmpw" is what is meant.
> 
> In this instance the code comes directly from ISA v2.07, including the
> cmp, but cmpd is correct. Backport to stable so that new toolchains can
> build old kernels.
> 
> Fixes: 948cf67c4726 ("powerpc: Add NAP mode support on Power7 in HV mode")
> Reviewed-by: Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>
> Signed-off-by: Segher Boessenkool <segher@...nel.crashing.org>
> Signed-off-by: Michael Ellerman <mpe@...erman.id.au>
> Signed-off-by: Joel Stanley <joel@....id.au>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>

Acked-by: Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>

The change from cmp to cmpd is correct. This code will execute
in 64-bit mode only and fix applies to stable as described above.

> 
> 
> ---
>  arch/powerpc/kernel/idle_power7.S |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/arch/powerpc/kernel/idle_power7.S
> +++ b/arch/powerpc/kernel/idle_power7.S
> @@ -44,7 +44,7 @@
>  	std	r0,0(r1);					\
>  	ptesync;						\
>  	ld	r0,0(r1);					\
> -1:	cmp	cr0,r0,r0;					\
> +1:	cmpd	cr0,r0,r0;					\
>  	bne	1b;						\
>  	IDLE_INST;						\
>  	b	.
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ