[dpdk-dev,v2] net/virtio-user: fix segfault as features change
Checks
Commit Message
Since commit 59fe5e17d930 ("vhost: propagate set features handling error"),
vhost does not allow to set different features without reset.
The virito-user driver fails to reset the device in below commit.
To fix, we send the reset message as stopping the device.
Fixes: c12a26ee209e ("net/virtio-user: fix not properly reset device")
Reported-by: Lei Yao <lei.a.yao@intel.com>
Reported-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
---
v2: Correct commit reference number format.
drivers/net/virtio/virtio_user/virtio_user_dev.c | 5 +++++
1 file changed, 5 insertions(+)
Comments
On Tue, Jan 23, 2018 at 09:52:43AM +0000, Jianfeng Tan wrote:
> Since commit 59fe5e17d930 ("vhost: propagate set features handling error"),
> vhost does not allow to set different features without reset.
>
> The virito-user driver fails to reset the device in below commit.
>
> To fix, we send the reset message as stopping the device.
>
> Fixes: c12a26ee209e ("net/virtio-user: fix not properly reset device")
>
> Reported-by: Lei Yao <lei.a.yao@intel.com>
> Reported-by: Tiwei Bie <tiwei.bie@intel.com>
> Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Applied to dpdk-next-virtio.
Thanks.
--yliu
@@ -142,6 +142,11 @@ int virtio_user_stop_device(struct virtio_user_dev *dev)
for (i = 0; i < dev->max_queue_pairs; ++i)
dev->ops->enable_qp(dev, i, 0);
+ if (dev->ops->send_request(dev, VHOST_USER_RESET_OWNER, NULL) < 0) {
+ PMD_DRV_LOG(INFO, "Failed to reset the device\n");
+ return -1;
+ }
+
return 0;
}