powerpc/mm/hash64: Fix might_have_hea() check

Michael Ellerman patch-notifications at ellerman.id.au
Wed Oct 19 13:17:34 AEDT 2016


On Tue, 2016-11-10 at 10:15:04 UTC, Michael Ellerman wrote:
> In commit 2b4e3ad8f579 ("powerpc/mm/hash64: Don't test for machine type
> to detect HEA special case") we changed the logic in might_have_hea()
> to check FW_FEATURE_SPLPAR rather than machine_is(pseries).
> 
> However the check was incorrectly negated, leading to crashes on
> machines with HEA adapters, such as:
> 
>   mm: Hashing failure ! EA=0xd000080080004040 access=0x800000000000000e current=NetworkManager
>       trap=0x300 vsid=0x13d349c ssize=1 base psize=2 psize 2 pte=0xc0003cc033e701ae
>   Unable to handle kernel paging request for data at address 0xd000080080004040
>   Call Trace:
>     .ehea_create_cq+0x148/0x340 [ehea] (unreliable)
>     .ehea_up+0x258/0x1200 [ehea]
>     .ehea_open+0x44/0x1a0 [ehea]
>     ...
> 
> Fix it by removing the negation.
> 
> Fixes: 2b4e3ad8f579 ("powerpc/mm/hash64: Don't test for machine type to detect HEA special case")
> Cc: stable at vger.kernel.org # v4.8+
> Reported-by: Denis Kirjanov <kda at linux-powerpc.org>
> Reported-by: Jan Stancek <jstancek at redhat.com>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

Applied to powerpc next.

https://git.kernel.org/powerpc/c/08bf75ba852ef8304a84b6a030466b

cheers


More information about the Linuxppc-dev mailing list