From 8f3ca7f9a8b1df13f06236b8ab2dbed238b65ba4 Mon Sep 17 00:00:00 2001 From: Chengchang Tang Date: Tue, 27 Apr 2021 08:54:22 +0800 Subject: [PATCH] net/tap: check ioctl on restore After restoring the remote states, the return value of ioctl() is not checked. Therefore, users cannot know whether the remote state is restored successfully. This patch add log for restoring failure. Fixes: 4810d3af8343 ("net/tap: restore state of remote device when closing") Cc: stable@dpdk.org Signed-off-by: Chengchang Tang Signed-off-by: Min Hu (Connor) Reviewed-by: Ferruh Yigit --- drivers/net/tap/rte_eth_tap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index 68baa18523..854abf4b30 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -1133,8 +1133,11 @@ tap_dev_close(struct rte_eth_dev *dev) if (internals->remote_if_index) { /* Restore initial remote state */ - ioctl(internals->ioctl_sock, SIOCSIFFLAGS, + int ret = ioctl(internals->ioctl_sock, SIOCSIFFLAGS, &internals->remote_initial_flags); + if (ret) + TAP_LOG(ERR, "restore remote state failed: %d", ret); + } rte_mempool_free(internals->gso_ctx_mp); -- 2.20.1