]> www.infradead.org Git - users/hch/misc.git/commitdiff
riscv: kprobes: Remove duplication of RVC_EXTRACT_C2_RS1_REG
authorNam Cao <namcao@linutronix.de>
Sun, 11 May 2025 21:17:59 +0000 (23:17 +0200)
committerPaul Walmsley <pjw@kernel.org>
Wed, 17 Sep 2025 00:46:44 +0000 (18:46 -0600)
Use RVC_EXTRACT_C2_RS1_REG, instead of reimplementing it in
simulate_c_jr_jalr().

Signed-off-by: Nam Cao <namcao@linutronix.de>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/linux-riscv/d56955cd683411c6d2f63d13c78e0572462a3269.1747215274.git.namcao@linutronix.de/
Signed-off-by: Paul Walmsley <pjw@kernel.org>
arch/riscv/kernel/probes/simulate-insn.c

index 5defbde4dd50da7ffc336e9f89f687de018504d1..f5d64613dab5a8c7c303e74142dbcad74c18924e 100644 (file)
@@ -188,7 +188,7 @@ static bool __kprobes simulate_c_jr_jalr(u32 opcode, unsigned long addr, struct
 
        unsigned long jump_addr;
 
-       u32 rs1 = (opcode >> 7) & 0x1f;
+       u32 rs1 = RVC_EXTRACT_C2_RS1_REG(opcode);
 
        if (rs1 == 0) /* C.JR is only valid when rs1 != x0 */
                return false;