From: Jesper Dangaard Brouer <bro...@redhat.com> Date: Sun, 10 Sep 2017 09:47:02 +0200
> Using bpf_redirect_map is allowed for generic XDP programs, but the > appropriate map lookup was never performed in xdp_do_generic_redirect(). > > Instead the map-index is directly used as the ifindex. For the > xdp_redirect_map sample in SKB-mode '-S', this resulted in trying > sending on ifindex 0 which isn't valid, resulting in getting SKB > packets dropped. Thus, the reported performance numbers are wrong in > commit 24251c264798 ("samples/bpf: add option for native and skb mode > for redirect apps") for the 'xdp_redirect_map -S' case. > > Before commit 109980b894e9 ("bpf: don't select potentially stale > ri->map from buggy xdp progs") it could crash the kernel. Like this > commit also check that the map_owner owner is correct before > dereferencing the map pointer. But make sure that this API misusage > can be caught by a tracepoint. Thus, allowing userspace via > tracepoints to detect misbehaving bpf_progs. > > Fixes: 6103aa96ec07 ("net: implement XDP_REDIRECT for xdp generic") > Fixes: 24251c264798 ("samples/bpf: add option for native and skb mode for > redirect apps") > Signed-off-by: Jesper Dangaard Brouer <bro...@redhat.com> Applied, thanks Jesper.