diff options
-rw-r--r-- | net/xdp/xsk.c | 3 |
1 files changed, 3 insertions, 0 deletions
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) | |||
118 | u64 addr; | 118 | u64 addr; |
119 | int err; | 119 | int err; |
120 | 120 | ||
121 | if (xs->dev != xdp->rxq->dev || xs->queue_id != xdp->rxq->queue_index) | ||
122 | return -EINVAL; | ||
123 | |||
121 | if (!xskq_peek_addr(xs->umem->fq, &addr) || | 124 | if (!xskq_peek_addr(xs->umem->fq, &addr) || |
122 | len > xs->umem->chunk_size_nohr) { | 125 | len > xs->umem->chunk_size_nohr) { |
123 | xs->rx_dropped++; | 126 | xs->rx_dropped++; |