]> git.droids-corp.org - dpdk.git/commitdiff
net/tap: check ioctl on restore
authorChengchang Tang <tangchengchang@huawei.com>
Tue, 27 Apr 2021 00:54:22 +0000 (08:54 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 29 Apr 2021 13:34:39 +0000 (15:34 +0200)
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 <tangchengchang@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/tap/rte_eth_tap.c

index 68baa18523af59fec2bdfa28ea27f4c2c88962fc..854abf4b30f2bb6a39be5fd79bf3095c7615fef1 100644 (file)
@@ -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);