net/mlx5: fix unlimited scan in switch info detection

Message ID 1595332952-7035-1-git-send-email-michaelba@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: fix unlimited scan in switch info detection |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Michael Baum July 21, 2020, 12:02 p.m. UTC
  In mlx5_sysfs_switch_info function, the driver gets switch information
associated with network interface.

The driver writes the port name into buffer and translates it.
However, when it writes the name, it does not limit writing to the
buffer size.

Limit writing to the size of the buffer.

Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
Cc: stable@dpdk.org

Signed-off-by: Michael Baum <michaelba@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Raslan Darawsheh July 22, 2020, 3:30 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Michael Baum
> Sent: Tuesday, July 21, 2020 3:03 PM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/mlx5: fix unlimited scan in switch info
> detection
> 
> In mlx5_sysfs_switch_info function, the driver gets switch information
> associated with network interface.
> 
> The driver writes the port name into buffer and translates it.
> However, when it writes the name, it does not limit writing to the
> buffer size.
> 
> Limit writing to the size of the buffer.
> 
> Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Michael Baum <michaelba@mellanox.com>
> Acked-by: Matan Azrad <matan@mellanox.com>
> ---
>  drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> index 1735157..3d3dd2e 100644
> --- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> @@ -1067,7 +1067,7 @@ struct ethtool_link_settings {
> 
>  	file = fopen(phys_port_name, "rb");
>  	if (file != NULL) {
> -		ret = fscanf(file, "%s", port_name);
> +		ret = fscanf(file, "%" RTE_STR(IF_NAMESIZE) "s",
> port_name);
>  		fclose(file);
>  		if (ret == 1)
>  			mlx5_translate_port_name(port_name, &data);
> --
> 1.8.3.1

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 1735157..3d3dd2e 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -1067,7 +1067,7 @@  struct ethtool_link_settings {
 
 	file = fopen(phys_port_name, "rb");
 	if (file != NULL) {
-		ret = fscanf(file, "%s", port_name);
+		ret = fscanf(file, "%" RTE_STR(IF_NAMESIZE) "s", port_name);
 		fclose(file);
 		if (ret == 1)
 			mlx5_translate_port_name(port_name, &data);