Message ID | 1566563687-29760-1-git-send-email-eranbe@mellanox.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net-next] net/mlx5: Fix return code in case of hyperv wrong size read | expand |
From: Eran Ben Elisha <eranbe@mellanox.com> Date: Fri, 23 Aug 2019 15:34:47 +0300 > Return code value could be non deterministic in case of wrong size read. > With this patch, if such error occurs, set rc to be -EIO. > > In addition, mlx5_hv_config_common() supports reading of > HV_CONFIG_BLOCK_SIZE_MAX bytes only, fix to early return error with > bad input. > > Fixes: 913d14e86657 ("net/mlx5: Add wrappers for HyperV PCIe operations") > Reported-by: Leon Romanovsky <leon@kernel.org> > Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com> Applied, thank you.
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv.c index cf08d02703fb..583dc7e2aca8 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv.c @@ -12,7 +12,7 @@ static int mlx5_hv_config_common(struct mlx5_core_dev *dev, void *buf, int len, int bytes_returned; int block_id; - if (offset % HV_CONFIG_BLOCK_SIZE_MAX || len % HV_CONFIG_BLOCK_SIZE_MAX) + if (offset % HV_CONFIG_BLOCK_SIZE_MAX || len != HV_CONFIG_BLOCK_SIZE_MAX) return -EINVAL; block_id = offset / HV_CONFIG_BLOCK_SIZE_MAX; @@ -25,8 +25,8 @@ static int mlx5_hv_config_common(struct mlx5_core_dev *dev, void *buf, int len, HV_CONFIG_BLOCK_SIZE_MAX, block_id); /* Make sure len bytes were read successfully */ - if (read) - rc |= !(len == bytes_returned); + if (read && !rc && len != bytes_returned) + rc = -EIO; if (rc) { mlx5_core_err(dev, "Failed to %s hv config, err = %d, len = %d, offset = %d\n",
Return code value could be non deterministic in case of wrong size read. With this patch, if such error occurs, set rc to be -EIO. In addition, mlx5_hv_config_common() supports reading of HV_CONFIG_BLOCK_SIZE_MAX bytes only, fix to early return error with bad input. Fixes: 913d14e86657 ("net/mlx5: Add wrappers for HyperV PCIe operations") Reported-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com> --- drivers/net/ethernet/mellanox/mlx5/core/lib/hv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)