diff options
author | Jesper Dangaard Brouer <brouer@redhat.com> | 2017-09-10 09:47:02 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-09-11 14:33:00 -0700 |
commit | 96c5508e3012ed0984ab93821d64ac1ff3279c09 (patch) | |
tree | 89cbc7aab1d9bfad94ccf2b7eff028cc09b36220 /net/nfc | |
parent | 609320c8a22715b74b39796930c3542719f8ab62 (diff) | |
download | linux-96c5508e3012ed0984ab93821d64ac1ff3279c09.tar.bz2 |
xdp: implement xdp_redirect_map for generic XDP
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 <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/nfc')
0 files changed, 0 insertions, 0 deletions