Messages in this thread Patch in this message | | | From | menglong8.dong@gmail ... | Subject | [PATCH v2] csky: kprobe: fix unreachable code in simulate_blz32 | Date | Mon, 11 Jan 2021 19:10:25 -0800 |
| |
From: Menglong Dong <dong.menglong@zte.com.cn>
The type of 'val' is 'unsigned long' in simulate_blz32, so 'val < 0' can't be true.
Cast 'val' to 'long' here to determine branch token or not, as Guo Ren suggested.
Fixes: 33e53ae1ce41 ("csky: Add kprobes supported") Signed-off-by: Menglong Dong <dong.menglong@zte.com.cn> --- v2: - Cast 'val' to 'long'. --- arch/csky/kernel/probes/simulate-insn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/csky/kernel/probes/simulate-insn.c b/arch/csky/kernel/probes/simulate-insn.c index 4e464fed52ec..9ad771c47670 100644 --- a/arch/csky/kernel/probes/simulate-insn.c +++ b/arch/csky/kernel/probes/simulate-insn.c @@ -348,7 +348,7 @@ simulate_blz32(u32 opcode, long addr, struct pt_regs *regs) csky_insn_reg_get_val(regs, tmp, &val); - if (val < 0) { + if ((long)val < 0) { instruction_pointer_set(regs, addr + sign_extend32((opcode & 0xffff0000) >> 15, 15)); } else -- 2.17.1
| |