tun: Fix xdp_rxq_info's queue_index when detaching
authorYunjian Wang <wangyunjian@huawei.com>
Tue, 20 Feb 2024 03:12:07 +0000 (11:12 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 24 Feb 2024 00:17:41 +0000 (16:17 -0800)
When a queue(tfile) is detached, we only update tfile's queue_index,
but do not update xdp_rxq_info's queue_index. This patch fixes it.

Fixes: 8bf5c4ee1889 ("tun: setup xdp_rxq_info")
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Link: https://lore.kernel.org/r/1708398727-46308-1-git-send-email-wangyunjian@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/tun.c

index 4a4f8c8e79fa12dc84a8c83cefbf964dd40e1aa2..8f95a562b8d0c471c44591629e04809f7faef9b2 100644 (file)
@@ -653,6 +653,7 @@ static void __tun_detach(struct tun_file *tfile, bool clean)
                                   tun->tfiles[tun->numqueues - 1]);
                ntfile = rtnl_dereference(tun->tfiles[index]);
                ntfile->queue_index = index;
+               ntfile->xdp_rxq.queue_index = index;
                rcu_assign_pointer(tun->tfiles[tun->numqueues - 1],
                                   NULL);