diff mbox series

hwmon: (peci/cputemp) Fix off-by-one in coretemp_label allocation

Message ID 20230202021825.21486-1-zev@bewilderbeest.net
State New
Headers show
Series hwmon: (peci/cputemp) Fix off-by-one in coretemp_label allocation | expand

Commit Message

Zev Weiss Feb. 2, 2023, 2:18 a.m. UTC
The find_last_bit() call produces the index of the highest-numbered
core in core_mask; because cores are numbered from zero, the number of
elements we need to allocate is one more than that.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Cc: stable@kernel.org # v5.18
Fixes: bf3608f338e9 ("hwmon: peci: Add cputemp driver")
---
 drivers/hwmon/peci/cputemp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Winiarska, Iwona Feb. 3, 2023, 12:01 a.m. UTC | #1
On Wed, 2023-02-01 at 18:18 -0800, Zev Weiss wrote:
> The find_last_bit() call produces the index of the highest-numbered
> core in core_mask; because cores are numbered from zero, the number of
> elements we need to allocate is one more than that.
> 
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> Cc: stable@kernel.org # v5.18
> Fixes: bf3608f338e9 ("hwmon: peci: Add cputemp driver")

Thanks for catching it.

Reviewed-by: Iwona Winiarska <iwona.winiarska@intel.com>

> ---
>  drivers/hwmon/peci/cputemp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/peci/cputemp.c b/drivers/hwmon/peci/cputemp.c
> index ec9851daf2e8..f13cc4170f58 100644
> --- a/drivers/hwmon/peci/cputemp.c
> +++ b/drivers/hwmon/peci/cputemp.c
> @@ -431,7 +431,7 @@ static int create_temp_label(struct peci_cputemp *priv)
>         unsigned long core_max = find_last_bit(priv->core_mask,
> CORE_NUMS_MAX);
>         int i;
>  
> -       priv->coretemp_label = devm_kzalloc(priv->dev, core_max * sizeof(char
> *), GFP_KERNEL);
> +       priv->coretemp_label = devm_kzalloc(priv->dev, (core_max + 1) *
> sizeof(char *), GFP_KERNEL);
>         if (!priv->coretemp_label)
>                 return -ENOMEM;
>
Guenter Roeck Feb. 3, 2023, 3:27 p.m. UTC | #2
On Wed, Feb 01, 2023 at 06:18:25PM -0800, Zev Weiss wrote:
> The find_last_bit() call produces the index of the highest-numbered
> core in core_mask; because cores are numbered from zero, the number of
> elements we need to allocate is one more than that.
> 
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> Cc: stable@kernel.org # v5.18
> Fixes: bf3608f338e9 ("hwmon: peci: Add cputemp driver")
> Reviewed-by: Iwona Winiarska <iwona.winiarska@intel.com>

Applied.

Thanks,
Guenter

> ---
>  drivers/hwmon/peci/cputemp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/peci/cputemp.c b/drivers/hwmon/peci/cputemp.c
> index ec9851daf2e8..f13cc4170f58 100644
> --- a/drivers/hwmon/peci/cputemp.c
> +++ b/drivers/hwmon/peci/cputemp.c
> @@ -431,7 +431,7 @@ static int create_temp_label(struct peci_cputemp *priv)
>  	unsigned long core_max = find_last_bit(priv->core_mask, CORE_NUMS_MAX);
>  	int i;
>  
> -	priv->coretemp_label = devm_kzalloc(priv->dev, core_max * sizeof(char *), GFP_KERNEL);
> +	priv->coretemp_label = devm_kzalloc(priv->dev, (core_max + 1) * sizeof(char *), GFP_KERNEL);
>  	if (!priv->coretemp_label)
>  		return -ENOMEM;
>
diff mbox series

Patch

diff --git a/drivers/hwmon/peci/cputemp.c b/drivers/hwmon/peci/cputemp.c
index ec9851daf2e8..f13cc4170f58 100644
--- a/drivers/hwmon/peci/cputemp.c
+++ b/drivers/hwmon/peci/cputemp.c
@@ -431,7 +431,7 @@  static int create_temp_label(struct peci_cputemp *priv)
 	unsigned long core_max = find_last_bit(priv->core_mask, CORE_NUMS_MAX);
 	int i;
 
-	priv->coretemp_label = devm_kzalloc(priv->dev, core_max * sizeof(char *), GFP_KERNEL);
+	priv->coretemp_label = devm_kzalloc(priv->dev, (core_max + 1) * sizeof(char *), GFP_KERNEL);
 	if (!priv->coretemp_label)
 		return -ENOMEM;