mvneta driver disallow XDP program on hardware buffer management
authorSven Auhagen <sven.auhagen@voleatech.de>
Sat, 25 Jan 2020 08:07:03 +0000 (08:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jan 2020 09:58:20 +0000 (10:58 +0100)
Recently XDP Support was added to the mvneta driver
for software buffer management only.
It is still possible to attach an XDP program if
hardware buffer management is used.
It is not doing anything at that point.

The patch disallows attaching XDP programs to mvneta
if hardware buffer management is used.

I am sorry about that. It is my first submission and I am having
some troubles with the format of my emails.

v4 -> v5:
- Remove extra tabs

v3 -> v4:
- Please ignore v3 I accidentally submitted
  my other patch with git-send-mail and v4 is correct

v2 -> v3:
- My mailserver corrupted the patch
  resubmission with git-send-email

v1 -> v2:
- Fixing the patches indentation

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvneta.c

index 0449d4b28ade92fde456d4f7d5700b74793ce85c..2dfbfdff45a8f9756a22eb7a744f2f6db70b71bc 100644 (file)
@@ -4226,6 +4226,12 @@ static int mvneta_xdp_setup(struct net_device *dev, struct bpf_prog *prog,
                return -EOPNOTSUPP;
        }
 
+       if (pp->bm_priv) {
+               NL_SET_ERR_MSG_MOD(extack,
+                                  "Hardware Buffer Management not supported on XDP");
+               return -EOPNOTSUPP;
+       }
+
        need_update = !!pp->xdp_prog != !!prog;
        if (running && need_update)
                mvneta_stop(dev);