From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Borkmann Subject: [PATCH bpf 0/5] Couple of BPF JIT fixes Date: Thu, 14 Dec 2017 21:07:22 +0100 Message-ID: <20171214200727.22230-1-daniel@iogearbox.net> Cc: holzheu@linux.vnet.ibm.com, naveen.n.rao@linux.vnet.ibm.com, davem@davemloft.net, netdev@vger.kernel.org, Daniel Borkmann To: ast@fb.com Return-path: Received: from www62.your-server.de ([213.133.104.62]:32777 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752045AbdLNUHi (ORCPT ); Thu, 14 Dec 2017 15:07:38 -0500 Sender: netdev-owner@vger.kernel.org List-ID: Two fixes that deal with buggy usage of bpf_helper_changes_pkt_data() in the sense that they also reload cached skb data when there's no skb context but xdp one, for example. A fix where skb meta data is reloaded out of the wrong register on helper call, rest is test cases and making sure on verifier side that there's always the guarantee that ctx sits in r1. Thanks! Daniel Borkmann (5): bpf, s390x: do not reload skb pointers in non-skb context bpf, ppc64: do not reload skb pointers in non-skb context bpf: guarantee r1 to be ctx in case of bpf_helper_changes_pkt_data bpf, sparc: fix usage of wrong reg for load_skb_regs after call bpf: add test case for ld_abs and helper changing pkt data arch/powerpc/net/bpf_jit_comp64.c | 6 ++-- arch/s390/net/bpf_jit_comp.c | 11 ++++---- arch/sparc/net/bpf_jit_comp_64.c | 6 ++-- kernel/bpf/verifier.c | 6 ++++ lib/test_bpf.c | 43 +++++++++++++++++++++++++++++ tools/testing/selftests/bpf/test_verifier.c | 24 ++++++++++++++++ 6 files changed, 86 insertions(+), 10 deletions(-) -- 2.9.5