From: Menglong Dong <dong.menglong@xxxxxxxxxx> The type of 'val' is 'unsigned long' in simulate_blz32, so 'val < 0' can't be true. When 'csky_insn_reg_get_val' fails, 'false' will be returned. We can directly use its return value here. Fixes: 33e53ae1ce41 ("csky: Add kprobes supported") Signed-off-by: Menglong Dong <dong.menglong@xxxxxxxxxx> --- arch/csky/kernel/probes/simulate-insn.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/csky/kernel/probes/simulate-insn.c b/arch/csky/kernel/probes/simulate-insn.c index 4e464fed52ec..b09ddcbcfa18 100644 --- a/arch/csky/kernel/probes/simulate-insn.c +++ b/arch/csky/kernel/probes/simulate-insn.c @@ -346,9 +346,7 @@ simulate_blz32(u32 opcode, long addr, struct pt_regs *regs) unsigned long tmp = opcode & 0x1f; unsigned long val; - csky_insn_reg_get_val(regs, tmp, &val); - - if (val < 0) { + if (!csky_insn_reg_get_val(regs, tmp, &val)) { instruction_pointer_set(regs, addr + sign_extend32((opcode & 0xffff0000) >> 15, 15)); } else -- 2.17.1