Re: [PATCH net resend] virtio_net: reject XDP programs using header adjustment

2017-01-25 Thread David Miller
From: Jakub Kicinski 
Date: Wed, 25 Jan 2017 14:56:36 -0800

> commit 17bedab27231 ("bpf: xdp: Allow head adjustment in XDP prog")
> added a new XDP helper to prepend and remove data from a frame.
> Make virtio_net reject programs making use of this helper until
> proper support is added.
> 
> Signed-off-by: Jakub Kicinski 
> Acked-by: John Fastabend 

Applied.


Re: [PATCH net resend] virtio_net: reject XDP programs using header adjustment

2017-01-25 Thread Michael S. Tsirkin
On Wed, Jan 25, 2017 at 02:56:36PM -0800, Jakub Kicinski wrote:
> commit 17bedab27231 ("bpf: xdp: Allow head adjustment in XDP prog")
> added a new XDP helper to prepend and remove data from a frame.
> Make virtio_net reject programs making use of this helper until
> proper support is added.
> 
> Signed-off-by: Jakub Kicinski 
> Acked-by: John Fastabend 

Acked-by: Michael S. Tsirkin 

> ---
>  drivers/net/virtio_net.c | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index f9bf94887ff1..a2aac4fd8e42 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -1710,6 +1710,11 @@ static int virtnet_xdp_set(struct net_device *dev, 
> struct bpf_prog *prog)
>   u16 xdp_qp = 0, curr_qp;
>   int i, err;
>  
> + if (prog && prog->xdp_adjust_head) {
> + netdev_warn(dev, "Does not support bpf_xdp_adjust_head()\n");
> + return -EOPNOTSUPP;
> + }
> +
>   if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO4) ||
>   virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO6) ||
>   virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_ECN) ||
> -- 
> 2.11.0


Re: [PATCH net resend] virtio_net: reject XDP programs using header adjustment

2017-01-25 Thread Jason Wang



On 2017年01月26日 06:56, Jakub Kicinski wrote:

commit 17bedab27231 ("bpf: xdp: Allow head adjustment in XDP prog")
added a new XDP helper to prepend and remove data from a frame.
Make virtio_net reject programs making use of this helper until
proper support is added.

Signed-off-by: Jakub Kicinski 
Acked-by: John Fastabend 
---
  drivers/net/virtio_net.c | 5 +
  1 file changed, 5 insertions(+)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index f9bf94887ff1..a2aac4fd8e42 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1710,6 +1710,11 @@ static int virtnet_xdp_set(struct net_device *dev, 
struct bpf_prog *prog)
u16 xdp_qp = 0, curr_qp;
int i, err;
  
+	if (prog && prog->xdp_adjust_head) {

+   netdev_warn(dev, "Does not support bpf_xdp_adjust_head()\n");
+   return -EOPNOTSUPP;
+   }
+
if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO4) ||
virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO6) ||
virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_ECN) ||


Acked-by: Jason Wang