Re: [PATCH 2/2] MIPS: kprobes: Massage previous delay slot detection
From: Maciej W. Rozycki
Date: Mon Sep 09 2024 - 18:03:12 EST
On Sun, 8 Sep 2024, Jiaxun Yang wrote:
> Expand the if condition into cascaded ifs to make code
> readable.
Apart from broken formatting what's making original code unreadable?
> Also use sizeof(union mips_instruction) instead of
> sizeof(mips_instruction) to match the code context.
That has to be a separate change.
> 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))) {
Overlong line.
> + if (insn_has_delayslot(prev_insn)) {
> + pr_notice("Kprobes for branch delayslot are not supported\n");
This now overruns 80 columns making code *less* readable.
Maciej