lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 1 May 2019 15:43:58 +0100 From: Jiong Wang <jiong.wang@...ronome.com> To: alexei.starovoitov@...il.com, daniel@...earbox.net Cc: bpf@...r.kernel.org, netdev@...r.kernel.org, oss-drivers@...ronome.com, Jiong Wang <jiong.wang@...ronome.com>, Martin Schwidefsky <schwidefsky@...ibm.com>, Heiko Carstens <heiko.carstens@...ibm.com> Subject: [PATCH v5 bpf-next 13/17] s390: bpf: eliminate zero extension code-gen Cc: Martin Schwidefsky <schwidefsky@...ibm.com> Cc: Heiko Carstens <heiko.carstens@...ibm.com> Signed-off-by: Jiong Wang <jiong.wang@...ronome.com> --- arch/s390/net/bpf_jit_comp.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c index 51dd026..45ee379 100644 --- a/arch/s390/net/bpf_jit_comp.c +++ b/arch/s390/net/bpf_jit_comp.c @@ -299,9 +299,11 @@ static inline void reg_set_seen(struct bpf_jit *jit, u32 b1) #define EMIT_ZERO(b1) \ ({ \ - /* llgfr %dst,%dst (zero extend to 64 bit) */ \ - EMIT4(0xb9160000, b1, b1); \ - REG_SET_SEEN(b1); \ + if (!fp->aux->verifier_zext) { \ + /* llgfr %dst,%dst (zero extend to 64 bit) */ \ + EMIT4(0xb9160000, b1, b1); \ + REG_SET_SEEN(b1); \ + } \ }) /* @@ -515,6 +517,13 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i jit->seen |= SEEN_REG_AX; switch (insn->code) { /* + * BPF_ZEXT + */ + case BPF_ALU | BPF_ZEXT: /* dst = (u32) src + always does zext */ + /* llgfr %dst,%dst (zero extend to 64 bit) */ + EMIT4(0xb9160000, b1, b1); + break; + /* * BPF_MOV */ case BPF_ALU | BPF_MOV | BPF_X: /* dst = (u32) src */ @@ -1282,6 +1291,11 @@ static int bpf_jit_prog(struct bpf_jit *jit, struct bpf_prog *fp) return 0; } +bool bpf_jit_hardware_zext(void) +{ + return false; +} + /* * Compile eBPF program "fp" */ -- 2.7.4
Powered by blists - more mailing lists