kernel/net/xdp/xsk.c
.. .. @@ -667,6 +667,7 @@ 667 667 struct sock *sk = sock->sk; 668 668 struct xdp_sock *xs = xdp_sk(sk); 669 669 struct net_device *dev; 670 + int bound_dev_if;670 671 u32 flags, qid; 671 672 int err = 0; 672 673 .. .. @@ -680,6 +681,10 @@ 680 681 XDP_USE_NEED_WAKEUP)) 681 682 return -EINVAL; 682 683 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 +683 688 rtnl_lock(); 684 689 mutex_lock(&xs->mutex); 685 690 if (xs->state != XSK_READY) {