From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Borkmann Subject: Re: [PATCH bpf-next 07/13] bpf, s390x: remove obsolete exception handling from div/mod Date: Mon, 29 Jan 2018 16:52:59 +0100 Message-ID: References: <20180126223348.11250-1-daniel@iogearbox.net> <20180126223348.11250-8-daniel@iogearbox.net> <20180129153357.7e2cc0c8@TP-holzheu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: ast@kernel.org, netdev@vger.kernel.org To: Michael Holzheu Return-path: Received: from www62.your-server.de ([213.133.104.62]:47032 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751256AbeA2PxE (ORCPT ); Mon, 29 Jan 2018 10:53:04 -0500 In-Reply-To: <20180129153357.7e2cc0c8@TP-holzheu> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 01/29/2018 03:33 PM, Michael Holzheu wrote: > Am Fri, 26 Jan 2018 23:33:42 +0100 > schrieb Daniel Borkmann : > >> Since we've changed div/mod exception handling for src_reg in >> eBPF verifier itself, > > Maybe add the commit that introduced that to the patch description? I couldn't add it here since it was all part of the same series and thus didn't have a stable commit id for future reference yet. Maybe I should have just put the commit subject in this case; will do next time. >> remove the leftovers from s390x JIT. >> >> Signed-off-by: Daniel Borkmann >> Cc: Michael Holzheu >> --- >> arch/s390/net/bpf_jit_comp.c | 10 ---------- >> 1 file changed, 10 deletions(-) >> >> diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c >> index e501887..78a19c9 100644 >> --- a/arch/s390/net/bpf_jit_comp.c >> +++ b/arch/s390/net/bpf_jit_comp.c >> @@ -610,11 +610,6 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i >> { >> int rc_reg = BPF_OP(insn->code) == BPF_DIV ? REG_W1 : REG_W0; >> >> - jit->seen |= SEEN_RET0; >> - /* ltr %src,%src (if src == 0 goto fail) */ >> - EMIT2(0x1200, src_reg, src_reg); >> - /* jz */ >> - EMIT4_PCREL(0xa7840000, jit->ret0_ip - jit->prg); >> /* lhi %w0,0 */ >> EMIT4_IMM(0xa7080000, REG_W0, 0); >> /* lr %w1,%dst */ >> @@ -630,11 +625,6 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i >> { >> int rc_reg = BPF_OP(insn->code) == BPF_DIV ? REG_W1 : REG_W0; >> >> - jit->seen |= SEEN_RET0; >> - /* ltgr %src,%src (if src == 0 goto fail) */ >> - EMIT4(0xb9020000, src_reg, src_reg); >> - /* jz */ >> - EMIT4_PCREL(0xa7840000, jit->ret0_ip - jit->prg); >> /* lghi %w0,0 */ >> EMIT4_IMM(0xa7090000, REG_W0, 0); >> /* lgr %w1,%dst */ > > If the check is done in the verifier now, this looks good to me. > > Reviewed-by: Michael Holzheu Thanks for the review, Michael!