lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 8 Jan 2022 12:53:26 +0100 From: Lorenzo Bianconi <lorenzo@...nel.org> To: bpf@...r.kernel.org, netdev@...r.kernel.org Cc: lorenzo.bianconi@...hat.com, davem@...emloft.net, kuba@...nel.org, ast@...nel.org, daniel@...earbox.net, shayagr@...zon.com, john.fastabend@...il.com, dsahern@...nel.org, brouer@...hat.com, echaudro@...hat.com, jasowang@...hat.com, alexander.duyck@...il.com, saeed@...nel.org, maciej.fijalkowski@...el.com, magnus.karlsson@...el.com, tirthendu.sarkar@...el.com, toke@...hat.com Subject: [PATCH v21 bpf-next 23/23] xdp: disable XDP_REDIRECT for xdp multi-buff XDP_REDIRECT is not fully supported yet for xdp multi-buff since not all XDP capable drivers can map non-linear xdp_frame in ndo_xdp_xmit so disable it for the moment. Acked-by: Toke Hoiland-Jorgensen <toke@...hat.com> Acked-by: John Fastabend <john.fastabend@...il.com> Acked-by: Jesper Dangaard Brouer <brouer@...hat.com> Signed-off-by: Lorenzo Bianconi <lorenzo@...nel.org> --- net/core/filter.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/core/filter.c b/net/core/filter.c index 2249377b3b1f..e6f6abb54af1 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -4266,6 +4266,13 @@ int xdp_do_redirect(struct net_device *dev, struct xdp_buff *xdp, struct bpf_redirect_info *ri = this_cpu_ptr(&bpf_redirect_info); enum bpf_map_type map_type = ri->map_type; + /* XDP_REDIRECT is not fully supported yet for xdp multi-buff since + * not all XDP capable drivers can map non-linear xdp_frame in + * ndo_xdp_xmit. + */ + if (unlikely(xdp_buff_is_mb(xdp) && map_type != BPF_MAP_TYPE_CPUMAP)) + return -EOPNOTSUPP; + if (map_type == BPF_MAP_TYPE_XSKMAP) return __xdp_do_redirect_xsk(ri, dev, xdp, xdp_prog); -- 2.33.1
Powered by blists - more mailing lists