hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/net/xdp/xsk.c
....@@ -667,6 +667,7 @@
667667 struct sock *sk = sock->sk;
668668 struct xdp_sock *xs = xdp_sk(sk);
669669 struct net_device *dev;
670
+ int bound_dev_if;
670671 u32 flags, qid;
671672 int err = 0;
672673
....@@ -680,6 +681,10 @@
680681 XDP_USE_NEED_WAKEUP))
681682 return -EINVAL;
682683
684
+ bound_dev_if = READ_ONCE(sk->sk_bound_dev_if);
685
+ if (bound_dev_if && bound_dev_if != sxdp->sxdp_ifindex)
686
+ return -EINVAL;
687
+
683688 rtnl_lock();
684689 mutex_lock(&xs->mutex);
685690 if (xs->state != XSK_READY) {