[PATCH bpf-next v5 1/6] bpf: Introduce load-acquire and store-release instructions

Alexei Starovoitov alexei.starovoitov at gmail.com
Mon Mar 3 16:24:12 PST 2025


On Mon, Mar 3, 2025 at 4:13 PM Peilin Ye <yepeilin at google.com> wrote:
>
>         switch (insn->imm) {
> @@ -7780,6 +7813,24 @@ static int check_atomic(struct bpf_verifier_env *env, struct bpf_insn *insn)
>         case BPF_XCHG:
>         case BPF_CMPXCHG:
>                 return check_atomic_rmw(env, insn);
> +       case BPF_LOAD_ACQ:
> +#ifndef CONFIG_64BIT
> +               if (BPF_SIZE(insn->code) == BPF_DW) {
> +                       verbose(env,
> +                               "64-bit load-acquires are only supported on 64-bit arches\n");
> +                       return -EOPNOTSUPP;
> +               }
> +#endif

Your earlier proposal of:
if (BPF_SIZE(insn->code) == BPF_DW && BITS_PER_LONG != 64) {

was cleaner.
Why did you pick ifndef ?

> +               return check_atomic_load(env, insn);
> +       case BPF_STORE_REL:
> +#ifndef CONFIG_64BIT
> +               if (BPF_SIZE(insn->code) == BPF_DW) {
> +                       verbose(env,
> +                               "64-bit store-releases are only supported on 64-bit arches\n");
> +                       return -EOPNOTSUPP;
> +               }
> +#endif



More information about the linux-arm-kernel mailing list