hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
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) {