net/mlx5: fix existing file removal
There is no guarantee that the file won't be removed by external user/application between the stat() and remove() syscalls, remove() will fail if the file no longer exists. Fixes: f8b9a3bad467 ("net/mlx5: install a socket to exchange a file descriptor") Cc: stable@dpdk.org Signed-off-by: Xueming Li <xuemingl@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
This commit is contained in:
parent
a170a30d22
commit
be939f60f4
@ -33,7 +33,6 @@ mlx5_socket_init(struct rte_eth_dev *dev)
|
||||
};
|
||||
int ret;
|
||||
int flags;
|
||||
struct stat file_stat;
|
||||
|
||||
/*
|
||||
* Initialise the socket to communicate with the secondary
|
||||
@ -59,9 +58,7 @@ mlx5_socket_init(struct rte_eth_dev *dev)
|
||||
}
|
||||
snprintf(sun.sun_path, sizeof(sun.sun_path), "/var/tmp/%s_%d",
|
||||
MLX5_DRIVER_NAME, priv->primary_socket);
|
||||
ret = stat(sun.sun_path, &file_stat);
|
||||
if (!ret)
|
||||
claim_zero(remove(sun.sun_path));
|
||||
remove(sun.sun_path);
|
||||
ret = bind(priv->primary_socket, (const struct sockaddr *)&sun,
|
||||
sizeof(sun));
|
||||
if (ret < 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user