[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180612100256.21300-1-bjorn.topel@gmail.com>
Date: Tue, 12 Jun 2018 12:02:56 +0200
From: Björn Töpel <bjorn.topel@...il.com>
To: magnus.karlsson@...el.com, magnus.karlsson@...il.com, ast@...com,
daniel@...earbox.net, netdev@...r.kernel.org
Cc: Björn Töpel <bjorn.topel@...el.com>,
qi.z.zhang@...el.com
Subject: [PATCH bpf] xsk: re-add queue id check for XDP_SKB path
From: Björn Töpel <bjorn.topel@...el.com>
Commit 173d3adb6f43 ("xsk: add zero-copy support for Rx") introduced a
regression on the XDP_SKB receive path, when the queue id checks were
removed. Now, they are back again.
Fixes: 173d3adb6f43 ("xsk: add zero-copy support for Rx")
Reported-by: Qi Zhang <qi.z.zhang@...el.com>
Signed-off-by: Björn Töpel <bjorn.topel@...el.com>
---
net/xdp/xsk.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
index 36919a254ba3..3b3410ada097 100644
--- a/net/xdp/xsk.c
+++ b/net/xdp/xsk.c
@@ -118,6 +118,9 @@ int xsk_generic_rcv(struct xdp_sock *xs, struct xdp_buff *xdp)
u64 addr;
int err;
+ if (xs->dev != xdp->rxq->dev || xs->queue_id != xdp->rxq->queue_index)
+ return -EINVAL;
+
if (!xskq_peek_addr(xs->umem->fq, &addr) ||
len > xs->umem->chunk_size_nohr) {
xs->rx_dropped++;
--
2.14.1
Powered by blists - more mailing lists