Re: [PATCH v9] m68k, bpf: Add initial BPF JIT compiler support

From: bot+bpf-ci

Date: Sun Oct 11 2026 - 04:41:56 EST


> m68k, bpf: Add initial BPF JIT compiler support

TL;DR: Nit only: in the m68k JIT's emit_math_call(), the BPF_CLASS checks on
the signed div/mod selection look redundant given is_64, and could be folded
into the switch cases. Not a bug.

> diff --git a/arch/m68k/net/bpf_jit_comp.c b/arch/m68k/net/bpf_jit_comp.c
> new file mode 100644
> index 000000000000..e585cbcd7564
> --- /dev/null
> +++ b/arch/m68k/net/bpf_jit_comp.c

[ ... ]

> +static void emit_math_call(const struct bpf_insn *insn, struct jit_ctx *ctx, bool is_64)
> +{

[ ... ]

> + if (is_64) {
> + switch (op) {
> + case BPF_MUL:
> + func = (void *)jit_mul64;
> + break;
> + case BPF_DIV:
> + func = (void *)jit_div64;
> + break;
> + case BPF_MOD:
> + func = (void *)jit_mod64;
> + break;
> + }
> + if (BPF_CLASS(insn->code) == BPF_ALU64 && op == BPF_DIV && insn->off == 1)
> + func = (void *)jit_sdiv64;
> + if (BPF_CLASS(insn->code) == BPF_ALU64 && op == BPF_MOD && insn->off == 1)
> + func = (void *)jit_smod64;
> + } else {
> + switch (op) {
> + case BPF_MUL:
> + func = (void *)jit_mul32;
> + break;
> + case BPF_DIV:
> + func = (void *)jit_div32;
> + break;
> + case BPF_MOD:
> + func = (void *)jit_mod32;
> + break;
> + }
> + if (BPF_CLASS(insn->code) == BPF_ALU && op == BPF_DIV && insn->off == 1)
> + func = (void *)jit_sdiv32;
> + if (BPF_CLASS(insn->code) == BPF_ALU && op == BPF_MOD && insn->off == 1)
> + func = (void *)jit_smod32;
> + }

This isn't a bug, but since is_64 already encodes the instruction class, are
the BPF_CLASS(insn->code) == BPF_ALU64 and BPF_CLASS(insn->code) == BPF_ALU
tests in these four conditions always true?

Could the signed/unsigned choice be made inside the BPF_DIV and BPF_MOD cases
of the switch instead, for example:

case BPF_DIV:
func = insn->off ? (void *)jit_sdiv64 : (void *)jit_div64;
break;

That would drop the redundant class checks and the second assignment that
overrides the one made in the switch.

[ ... ]


---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

CI run summary: https://github.com/kernel-patches/bpf/actions/runs/38122863281