On Mon, 8 Jan 2018 22:59:04 +0100, Daniel Borkmann wrote:
quoted
@@ -1453,6 +1457,11 @@ struct bpf_prog *bpf_prog_select_runtime(struct bpf_prog *fp, int *err)
*/
*err = bpf_check_tail_call(fp);
+#ifdef CONFIG_BPF_JIT_ALWAYS_ON
+ if (!fp->jited)
+ *err = -ENOTSUPP;
+#endif
I think programs JITed for offload won't have fp->jited set, but
those are pretty safe from CPU bugs. Should we set fp->jited = 1; in
bpf_prog_offload_compile()? Just throwing "&& !bpf_prog_is_dev_bound()"
in here seems cleaner to me.
FWIW if you have netdevsim compiled and recent iproute2, this will
work to check:
# ip link add type netdevsim
# ip link set netdevsim0 xdpoffload obj ~/xdp/pass.o