| From c0e89bef04f28fb21ebb1e5454de2a19913f11ab Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 26 Jan 2022 16:28:23 +0200 |
| Subject: net/mlx5e: Remove overzealous validations in netlink EEPROM query |
| |
| From: Gal Pressman <gal@nvidia.com> |
| |
| [ Upstream commit 970adfb76095fa719778d70a6b86030d2feb88dd ] |
| |
| Unlike the legacy EEPROM callbacks, when using the netlink EEPROM query |
| (get_module_eeprom_by_page) the driver should not try to validate the |
| query parameters, but just perform the read requested by the userspace. |
| |
| Recent discussion in the mailing list: |
| https://lore.kernel.org/netdev/20220120093051.70845141@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net/ |
| |
| Signed-off-by: Gal Pressman <gal@nvidia.com> |
| Reviewed-by: Ido Schimmel <idosch@nvidia.com> |
| Reviewed-by: Maxim Mikityanskiy <maximmi@nvidia.com> |
| Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| .../net/ethernet/mellanox/mlx5/core/port.c | 23 ------------------- |
| 1 file changed, 23 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/mellanox/mlx5/core/port.c b/drivers/net/ethernet/mellanox/mlx5/core/port.c |
| index 7b16a1188aab..fd79860de723 100644 |
| --- a/drivers/net/ethernet/mellanox/mlx5/core/port.c |
| +++ b/drivers/net/ethernet/mellanox/mlx5/core/port.c |
| @@ -433,35 +433,12 @@ int mlx5_query_module_eeprom_by_page(struct mlx5_core_dev *dev, |
| struct mlx5_module_eeprom_query_params *params, |
| u8 *data) |
| { |
| - u8 module_id; |
| int err; |
| |
| err = mlx5_query_module_num(dev, ¶ms->module_number); |
| if (err) |
| return err; |
| |
| - err = mlx5_query_module_id(dev, params->module_number, &module_id); |
| - if (err) |
| - return err; |
| - |
| - switch (module_id) { |
| - case MLX5_MODULE_ID_SFP: |
| - if (params->page > 0) |
| - return -EINVAL; |
| - break; |
| - case MLX5_MODULE_ID_QSFP: |
| - case MLX5_MODULE_ID_QSFP28: |
| - case MLX5_MODULE_ID_QSFP_PLUS: |
| - if (params->page > 3) |
| - return -EINVAL; |
| - break; |
| - case MLX5_MODULE_ID_DSFP: |
| - break; |
| - default: |
| - mlx5_core_err(dev, "Module ID not recognized: 0x%x\n", module_id); |
| - return -EINVAL; |
| - } |
| - |
| if (params->i2c_address != MLX5_I2C_ADDR_HIGH && |
| params->i2c_address != MLX5_I2C_ADDR_LOW) { |
| mlx5_core_err(dev, "I2C address not recognized: 0x%x\n", params->i2c_address); |
| -- |
| 2.35.1 |
| |