diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2023-09-19 12:09:08 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-09-21 14:22:00 -0700 |
commit | 90f426d35e01f7d19ede5f331c013f7d81ce670b (patch) | |
tree | 42ce95ee1b16d96d63a88015f0dd0f8bda88ca76 | |
parent | 738476a079bd238a65c09c63e7437832d96b08e8 (diff) |
s390/bpf: Implement unconditional byte swap
Implement the cpuv4 unconditional byte swap, which is encoded as
BPF_ALU64 | BPF_END | BPF_FROM_LE. Since s390x is big-endian, it's
the same as the existing BPF_ALU | BPF_END | BPF_FROM_LE.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Link: https://lore.kernel.org/r/20230919101336.2223655-7-iii@linux.ibm.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
-rw-r--r-- | arch/s390/net/bpf_jit_comp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c index 957f5cbba4d8..77362dc9229b 100644 --- a/arch/s390/net/bpf_jit_comp.c +++ b/arch/s390/net/bpf_jit_comp.c @@ -1253,6 +1253,7 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, } break; case BPF_ALU | BPF_END | BPF_FROM_LE: + case BPF_ALU64 | BPF_END | BPF_FROM_LE: switch (imm) { case 16: /* dst = (u16) cpu_to_le16(dst) */ /* lrvr %dst,%dst */ |