net/virtio: fix missing listen FD initialization
Checks
Commit Message
When running in client mode, the listen file descriptor
is not initialized, and so has value 0. At destroy time,
the listen FD is closed if its value is greater than or
equal to zero, which causes STDIN to be closed.
Fixes: 949735312f5e ("net/virtio: move vhost-user specifics to its backend")
Bugzilla ID: 630
Reported-by: Jun W Zhou <junx.w.zhou@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
drivers/net/virtio/virtio_user/vhost_user.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Mon, Feb 1, 2021 at 10:33 AM Maxime Coquelin
<maxime.coquelin@redhat.com> wrote:
>
> When running in client mode, the listen file descriptor
> is not initialized, and so has value 0. At destroy time,
> the listen FD is closed if its value is greater than or
> equal to zero, which causes STDIN to be closed.
>
> Fixes: 949735312f5e ("net/virtio: move vhost-user specifics to its backend")
> Bugzilla ID: 630
We put the Bugzilla ID: tag before Fixes:.
>
> Reported-by: Jun W Zhou <junx.w.zhou@intel.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
> drivers/net/virtio/virtio_user/vhost_user.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/virtio/virtio_user/vhost_user.c b/drivers/net/virtio/virtio_user/vhost_user.c
> index ec2c53c8fb..f8569f6e6f 100644
> --- a/drivers/net/virtio/virtio_user/vhost_user.c
> +++ b/drivers/net/virtio/virtio_user/vhost_user.c
> @@ -831,6 +831,7 @@ vhost_user_setup(struct virtio_user_dev *dev)
> dev->backend_data = data;
>
> data->vhostfd = -1;
> + data->listenfd = -1;
>
> fd = socket(AF_UNIX, SOCK_STREAM, 0);
> if (fd < 0) {
> --
> 2.29.2
>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Tested-by: Zhou, Jun <junx.w.zhou@intel.com>
-----Original Message-----
From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com]
Sent: Monday, February 1, 2021 5:33 PM
To: dev@dpdk.org; Wang, Yinan <yinan.wang@intel.com>; Xia, Chenbo <chenbo.xia@intel.com>; amorenoz@redhat.com; david.marchand@redhat.com; Ling, WeiX <weix.ling@intel.com>; Jiang, YuX <yux.jiang@intel.com>
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>; Zhou, JunX W <junx.w.zhou@intel.com>
Subject: [PATCH] net/virtio: fix missing listen FD initialization
When running in client mode, the listen file descriptor is not initialized, and so has value 0. At destroy time, the listen FD is closed if its value is greater than or equal to zero, which causes STDIN to be closed.
Fixes: 949735312f5e ("net/virtio: move vhost-user specifics to its backend") Bugzilla ID: 630
Reported-by: Jun W Zhou <junx.w.zhou@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
drivers/net/virtio/virtio_user/vhost_user.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/virtio/virtio_user/vhost_user.c b/drivers/net/virtio/virtio_user/vhost_user.c
index ec2c53c8fb..f8569f6e6f 100644
--- a/drivers/net/virtio/virtio_user/vhost_user.c
+++ b/drivers/net/virtio/virtio_user/vhost_user.c
@@ -831,6 +831,7 @@ vhost_user_setup(struct virtio_user_dev *dev)
dev->backend_data = data;
data->vhostfd = -1;
+ data->listenfd = -1;
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if (fd < 0) {
--
2.29.2
On 2/2/2021 9:26 AM, Zhou, JunX W wrote:
> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com]
> Sent: Monday, February 1, 2021 5:33 PM
> To: dev@dpdk.org; Wang, Yinan <yinan.wang@intel.com>; Xia, Chenbo <chenbo.xia@intel.com>; amorenoz@redhat.com; david.marchand@redhat.com; Ling, WeiX <weix.ling@intel.com>; Jiang, YuX <yux.jiang@intel.com>
> Cc: Maxime Coquelin <maxime.coquelin@redhat.com>; Zhou, JunX W <junx.w.zhou@intel.com>
> Subject: [PATCH] net/virtio: fix missing listen FD initialization
>
> When running in client mode, the listen file descriptor is not initialized, and so has value 0. At destroy time, the listen FD is closed if its value is greater than or equal to zero, which causes STDIN to be closed.
>
> Bugzilla ID: 630
> Fixes: 949735312f5e ("net/virtio: move vhost-user specifics to its backend")
>
> Reported-by: Jun W Zhou <junx.w.zhou@intel.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>
> Reviewed-by: David Marchand <david.marchand@redhat.com>
>
> Tested-by: Zhou, Jun <junx.w.zhou@intel.com>
>
Applied to dpdk-next-net/main, thanks.
@@ -831,6 +831,7 @@ vhost_user_setup(struct virtio_user_dev *dev)
dev->backend_data = data;
data->vhostfd = -1;
+ data->listenfd = -1;
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if (fd < 0) {