Re: [PATCH v2] eth: fbnic: Avoid garbage value in fbnic_mac_get_sensor_asic()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 30, 2024 at 09:42:43AM +0800, Su Hui wrote:
> 'fw_cmpl' is uninitialized which makes 'sensor' and '*val' to be stored
> garbage value. Remove the whole body of fbnic_mac_get_sensor_asic() and
> return -EOPNOTSUPP to fix this problem.
> 
> Fixes: d85ebade02e8 ("eth: fbnic: Add hardware monitoring support via HWMON interface")
> Signed-off-by: Su Hui <suhui@xxxxxxxxxxxx>
> Suggested-by: Jakub Kicinski <kuba@xxxxxxxxxx>
> ---
>  drivers/net/ethernet/meta/fbnic/fbnic_mac.c | 18 +-----------------
>  1 file changed, 1 insertion(+), 17 deletions(-)
> 
> diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_mac.c b/drivers/net/ethernet/meta/fbnic/fbnic_mac.c
> index 80b82ff12c4d..dd28c0f4c4b0 100644
> --- a/drivers/net/ethernet/meta/fbnic/fbnic_mac.c
> +++ b/drivers/net/ethernet/meta/fbnic/fbnic_mac.c
> @@ -688,23 +688,7 @@ fbnic_mac_get_eth_mac_stats(struct fbnic_dev *fbd, bool reset,
>  
>  static int fbnic_mac_get_sensor_asic(struct fbnic_dev *fbd, int id, long *val)
>  {
> -	struct fbnic_fw_completion fw_cmpl;
Probably it should be:
*fw_cmpl = fbd->cmpl_data
but it is also never initialized.

> -	s32 *sensor;
> -
> -	switch (id) {
> -	case FBNIC_SENSOR_TEMP:
> -		sensor = &fw_cmpl.tsene.millidegrees;
> -		break;
> -	case FBNIC_SENSOR_VOLTAGE:
> -		sensor = &fw_cmpl.tsene.millivolts;
> -		break;
> -	default:
> -		return -EINVAL;
> -	}
> -
> -	*val = *sensor;
> -
> -	return 0;
> +	return -EOPNOTSUPP;

It is more like removing broken functionality than fixing (maybe whole
commit should be reverted). Anyway returning not support is also fine.

Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx>

>  }
>  
>  static const struct fbnic_mac fbnic_mac_asic = {
> -- 
> 2.30.2




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux