[PATCH 2/2] MIPS: kprobes: Massage previous delay slot detection

From: Jiaxun Yang
Date: Sun Sep 08 2024 - 06:50:08 EST


Expand the if condition into cascaded ifs to make code
readable.

Also use sizeof(union mips_instruction) instead of
sizeof(mips_instruction) to match the code context.

Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
---
arch/mips/kernel/kprobes.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/mips/kernel/kprobes.c b/arch/mips/kernel/kprobes.c
index dc39f5b3fb83..96139adefad2 100644
--- a/arch/mips/kernel/kprobes.c
+++ b/arch/mips/kernel/kprobes.c
@@ -89,12 +89,12 @@ int arch_prepare_kprobe(struct kprobe *p)
goto out;
}

- if (copy_from_kernel_nofault(&prev_insn, p->addr - 1,
- sizeof(mips_instruction)) == 0 &&
- insn_has_delayslot(prev_insn)) {
- pr_notice("Kprobes for branch delayslot are not supported\n");
- ret = -EINVAL;
- goto out;
+ if (!copy_from_kernel_nofault(&prev_insn, p->addr - 1, sizeof(union mips_instruction))) {
+ if (insn_has_delayslot(prev_insn)) {
+ pr_notice("Kprobes for branch delayslot are not supported\n");
+ ret = -EINVAL;
+ goto out;
+ }
}

if (__insn_is_compact_branch(insn)) {

--
2.46.0