Michal Suchanek 7671d9
From 22b89ba178dd0a66a26699ead014a3e73ff8e044 Mon Sep 17 00:00:00 2001
Michal Suchanek 7671d9
From: Sandipan Das <sandipan@linux.ibm.com>
Michal Suchanek 7671d9
Date: Thu, 4 Feb 2021 13:37:44 +0530
Michal Suchanek 7671d9
Subject: [PATCH] powerpc/sstep: Fix darn emulation
Michal Suchanek 7671d9
Michal Suchanek 7671d9
References: bsc#1156395
Michal Suchanek 7671d9
Patch-mainline: v5.12-rc1
Michal Suchanek 7671d9
Git-commit: 22b89ba178dd0a66a26699ead014a3e73ff8e044
Michal Suchanek 7671d9
Michal Suchanek 7671d9
Commit 8813ff49607e ("powerpc/sstep: Check instruction validity
Michal Suchanek 7671d9
against ISA version before emulation") introduced a proper way to skip
Michal Suchanek 7671d9
unknown instructions. This makes sure that the same is used for the
Michal Suchanek 7671d9
darn instruction when the range selection bits have a reserved value.
Michal Suchanek 7671d9
Michal Suchanek 7671d9
Fixes: a23987ef267a ("powerpc: sstep: Add support for darn instruction")
Michal Suchanek 7671d9
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
Michal Suchanek 7671d9
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek 7671d9
Link: https://lore.kernel.org/r/20210204080744.135785-2-sandipan@linux.ibm.com
Michal Suchanek 7671d9
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek 7671d9
---
Michal Suchanek 7671d9
 arch/powerpc/lib/sstep.c | 2 +-
Michal Suchanek 7671d9
 1 file changed, 1 insertion(+), 1 deletion(-)
Michal Suchanek 7671d9
Michal Suchanek 7671d9
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
Michal Suchanek 7671d9
index 11f14b209d7f..683f7c20f74b 100644
Michal Suchanek 7671d9
--- a/arch/powerpc/lib/sstep.c
Michal Suchanek 7671d9
+++ b/arch/powerpc/lib/sstep.c
Michal Suchanek 7671d9
@@ -1916,7 +1916,7 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
Michal Suchanek 7671d9
 				goto compute_done;
Michal Suchanek 7671d9
 			}
Michal Suchanek 7671d9
 
Michal Suchanek 7671d9
-			return -1;
Michal Suchanek 7671d9
+			goto unknown_opcode;
Michal Suchanek 7671d9
 #ifdef __powerpc64__
Michal Suchanek 7671d9
 		case 777:	/* modsd */
Michal Suchanek 7671d9
 			if (!cpu_has_feature(CPU_FTR_ARCH_300))
Michal Suchanek 7671d9
-- 
Michal Suchanek 7671d9
2.26.2
Michal Suchanek 7671d9