powerpc/64s: Prevent fallthrough to hash TLB flush when using radix
authorBenjamin Gray <bgray@linux.ibm.com>
Fri, 17 Feb 2023 01:14:34 +0000 (12:14 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 17 Feb 2023 01:30:56 +0000 (12:30 +1100)
In the fix reconnecting hash__tlb_flush() to tlb_flush() the
void return on radix__tlb_flush() was not restored and subsequently
falls through to the restored hash__tlb_flush().

Guard hash__tlb_flush() under an else to prevent this.

Fixes: 1665c027afb2 ("powerpc/64s: Reconnect tlb_flush() to hash__tlb_flush()")
Reported-by: "Erhard F." <erhard_f@mailbox.org>
Suggested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230217011434.115554-1-bgray@linux.ibm.com
arch/powerpc/include/asm/book3s/64/tlbflush.h

index d5cd16270c5d5791b4d30bb3950f53aabe5b0cb1..2bbc0fcce04a36004ed31c4a5ce4f7ec92d2b84f 100644 (file)
@@ -97,8 +97,8 @@ static inline void tlb_flush(struct mmu_gather *tlb)
 {
        if (radix_enabled())
                radix__tlb_flush(tlb);
-
-       return hash__tlb_flush(tlb);
+       else
+               hash__tlb_flush(tlb);
 }
 
 #ifdef CONFIG_SMP