Message ID | 45cfb718190f86817a7662e58499a08f30521404.1438250937.git.daniel@iogearbox.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 7/30/15 3:42 AM, Daniel Borkmann wrote: > As JITs start to perform optimizations whether to clear A and X on eBPF > programs in the prologue, we should actually assign a program type to the > native eBPF test cases. It doesn't really matter which program type, as > these instructions don't go through the verifier, but it needs to be a > type != BPF_PROG_TYPE_UNSPEC. This reflects eBPF programs loaded via bpf(2) > system call (!= type unspec) vs. classic BPF to eBPF migrations (== type > unspec). > > Signed-off-by: Daniel Borkmann<daniel@iogearbox.net> > Cc: Michael Holzheu<holzheu@linux.vnet.ibm.com> Acked-by: Alexei Starovoitov <ast@plumgrid.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/lib/test_bpf.c b/lib/test_bpf.c index 8b5e66f..3afddf2 100644 --- a/lib/test_bpf.c +++ b/lib/test_bpf.c @@ -4613,6 +4613,8 @@ static struct bpf_prog *generate_filter(int which, int *err) } fp->len = flen; + /* Type doesn't really matter here as long as it's not unspec. */ + fp->type = BPF_PROG_TYPE_SOCKET_FILTER; memcpy(fp->insnsi, fptr, fp->len * sizeof(struct bpf_insn)); bpf_prog_select_runtime(fp);
As JITs start to perform optimizations whether to clear A and X on eBPF programs in the prologue, we should actually assign a program type to the native eBPF test cases. It doesn't really matter which program type, as these instructions don't go through the verifier, but it needs to be a type != BPF_PROG_TYPE_UNSPEC. This reflects eBPF programs loaded via bpf(2) system call (!= type unspec) vs. classic BPF to eBPF migrations (== type unspec). Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com> --- lib/test_bpf.c | 2 ++ 1 file changed, 2 insertions(+)