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: Wed, 28 Dec 2022 16:24:44 +0800 From: Heng Qi <hengqi@...ux.alibaba.com> To: Jason Wang <jasowang@...hat.com>, netdev@...r.kernel.org, bpf@...r.kernel.org Cc: "Michael S . Tsirkin" <mst@...hat.com>, Paolo Abeni <pabeni@...hat.com>, Jakub Kicinski <kuba@...nel.org>, John Fastabend <john.fastabend@...il.com>, "David S . Miller" <davem@...emloft.net>, Daniel Borkmann <daniel@...earbox.net>, Alexei Starovoitov <ast@...nel.org>, Eric Dumazet <edumazet@...gle.com>, Xuan Zhuo <xuanzhuo@...ux.alibaba.com> Subject: Re: [PATCH v2 1/9] virtio_net: disable the hole mechanism for xdp 在 2022/12/28 下午2:28, Jason Wang 写道: > > 在 2022/12/27 15:32, Heng Qi 写道: >> >> >> 在 2022/12/27 下午2:30, Jason Wang 写道: >>> >>> 在 2022/12/20 22:14, Heng Qi 写道: >>>> XDP core assumes that the frame_size of xdp_buff and the length of >>>> the frag are PAGE_SIZE. The hole may cause the processing of xdp to >>>> fail, so we disable the hole mechanism when xdp is set. >>>> >>>> Signed-off-by: Heng Qi <hengqi@...ux.alibaba.com> >>>> Reviewed-by: Xuan Zhuo <xuanzhuo@...ux.alibaba.com> >>>> --- >>>> drivers/net/virtio_net.c | 5 ++++- >>>> 1 file changed, 4 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c >>>> index 9cce7dec7366..443aa7b8f0ad 100644 >>>> --- a/drivers/net/virtio_net.c >>>> +++ b/drivers/net/virtio_net.c >>>> @@ -1419,8 +1419,11 @@ static int add_recvbuf_mergeable(struct >>>> virtnet_info *vi, >>>> /* To avoid internal fragmentation, if there is very >>>> likely not >>>> * enough space for another buffer, add the remaining >>>> space to >>>> * the current buffer. >>>> + * XDP core assumes that frame_size of xdp_buff and the >>>> length >>>> + * of the frag are PAGE_SIZE, so we disable the hole >>>> mechanism. >>>> */ >>>> - len += hole; >>>> + if (!headroom) >>>> + len += hole; >>> >>> >>> Is this only a requirement of multi-buffer XDP? If not, it need to >>> be backported to stable. >> >> It applies to single buffer xdp and multi-buffer xdp, but even if >> single buffer xdp has a hole >> mechanism, there will be no problem (limiting mtu and turning off >> GUEST GSO), so there is >> no need to backport it. > > > Let's add this in the changelog. Ok, thanks for your energy. > > With that, > > Acked-by: Jason Wang <jasowang@...hat.com> > > Thanks > > >> >> Thanks. >> >>> >>> Thanks >>> >>> >>>> alloc_frag->offset += hole; >>>> } >>
Powered by blists - more mailing lists