net/virtio-user: fix return value of tap offload sets not checked

Message ID 1576458195-27980-1-git-send-email-wangyunjian@huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Maxime Coquelin
Headers
Series net/virtio-user: fix return value of tap offload sets not checked |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/travis-robot warning Travis build: failed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation fail apply issues

Commit Message

Yunjian Wang Dec. 16, 2019, 1:03 a.m. UTC
  The function vhost_kernel_tap_set_offload() could return errors,
the return value need to be checked.

Fixes: 1db4d2330bc8 ("net/virtio-user: check negotiated features before set")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
---
 drivers/net/virtio/virtio_user/vhost_kernel_tap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Tiwei Bie Dec. 16, 2019, 5:51 a.m. UTC | #1
On Mon, Dec 16, 2019 at 09:03:15AM +0800, Yunjian Wang wrote:
> The function vhost_kernel_tap_set_offload() could return errors,
> the return value need to be checked.
> 
> Fixes: 1db4d2330bc8 ("net/virtio-user: check negotiated features before set")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> ---
>  drivers/net/virtio/virtio_user/vhost_kernel_tap.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/virtio/virtio_user/vhost_kernel_tap.c b/drivers/net/virtio/virtio_user/vhost_kernel_tap.c
> index 76bf754..f77d227 100644
> --- a/drivers/net/virtio/virtio_user/vhost_kernel_tap.c
> +++ b/drivers/net/virtio/virtio_user/vhost_kernel_tap.c
> @@ -131,7 +131,8 @@
>  		goto error;
>  	}
>  
> -	vhost_kernel_tap_set_offload(tapfd, features);
> +	if (vhost_kernel_tap_set_offload(tapfd, features) < 0)
> +		goto error;

It's not necessary to fail in this case. At least, there
is no need to fail when error is -ENOTSUP.

>  
>  	memset(&ifr, 0, sizeof(ifr));
>  	ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;
> -- 
> 1.8.3.1
> 
>
  

Patch

diff --git a/drivers/net/virtio/virtio_user/vhost_kernel_tap.c b/drivers/net/virtio/virtio_user/vhost_kernel_tap.c
index 76bf754..f77d227 100644
--- a/drivers/net/virtio/virtio_user/vhost_kernel_tap.c
+++ b/drivers/net/virtio/virtio_user/vhost_kernel_tap.c
@@ -131,7 +131,8 @@ 
 		goto error;
 	}
 
-	vhost_kernel_tap_set_offload(tapfd, features);
+	if (vhost_kernel_tap_set_offload(tapfd, features) < 0)
+		goto error;
 
 	memset(&ifr, 0, sizeof(ifr));
 	ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;