diff mbox series

powerpc/64s: Prevent fallthrough to hash TLB flush when using radix

Message ID 20230217011434.115554-1-bgray@linux.ibm.com (mailing list archive)
State Accepted
Commit 4302abc628fc0dc08e5855f21bbfaed407a72bc3
Headers show
Series powerpc/64s: Prevent fallthrough to hash TLB flush when using radix | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 24 jobs.

Commit Message

Benjamin Gray Feb. 17, 2023, 1:14 a.m. UTC
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()")
Suggested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>

---

Bug report:
https://lore.kernel.org/linuxppc-dev/20230216005535.6bff7aa6@yea/
---
 arch/powerpc/include/asm/book3s/64/tlbflush.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


base-commit: 0bfb97203f5f300777624a2ad6f8f84aea3e8658
--
2.39.1

Comments

Michael Ellerman Feb. 20, 2023, 3:41 a.m. UTC | #1
On Fri, 17 Feb 2023 12:14:34 +1100, Benjamin Gray wrote:
> 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.
> 
> 
> [...]

Applied to powerpc/fixes.

[1/1] powerpc/64s: Prevent fallthrough to hash TLB flush when using radix
      https://git.kernel.org/powerpc/c/4302abc628fc0dc08e5855f21bbfaed407a72bc3

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush.h b/arch/powerpc/include/asm/book3s/64/tlbflush.h
index d5cd16270c5d..2bbc0fcce04a 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush.h
@@ -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