diff mbox series

hwmon: (amd_energy) fix allocation of hwmon_channel_info config

Message ID 20210107144707.6927-1-darcari@redhat.com
State Accepted
Commit 84e261553e6f919bf0b4d65244599ab2b41f1da5
Headers show
Series hwmon: (amd_energy) fix allocation of hwmon_channel_info config | expand

Commit Message

David Arcari Jan. 7, 2021, 2:47 p.m. UTC
hwmon, specifically hwmon_num_channel_attrs, expects the config
array in the hwmon_channel_info structure to be terminated by
a zero entry.  amd_energy does not honor this convention.  As
result, a KASAN warning is possible.  Fix this by adding an
additional entry and setting it to zero.

Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters")

Signed-off-by: David Arcari <darcari@redhat.com>
Cc: Naveen Krishna Chatradhi <nchatrad@amd.com>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org
---
 drivers/hwmon/amd_energy.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Chatradhi, Naveen Krishna Jan. 8, 2021, 5:49 a.m. UTC | #1
[AMD Official Use Only - Approved for External Use]

Hi David,

Thank you for noticing and submitting a fix. You may use
Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>


Regards,
Naveenk

-----Original Message-----
From: David Arcari <darcari@redhat.com> 

Sent: Thursday, January 7, 2021 8:17 PM
To: linux-hwmon@vger.kernel.org
Cc: David Arcari <darcari@redhat.com>; Chatradhi, Naveen Krishna <NaveenKrishna.Chatradhi@amd.com>; Jean Delvare <jdelvare@suse.com>; Guenter Roeck <linux@roeck-us.net>; linux-kernel@vger.kernel.org; stable@vger.kernel.org
Subject: [PATCH] hwmon: (amd_energy) fix allocation of hwmon_channel_info config

[CAUTION: External Email]

hwmon, specifically hwmon_num_channel_attrs, expects the config array in the hwmon_channel_info structure to be terminated by a zero entry.  amd_energy does not honor this convention.  As result, a KASAN warning is possible.  Fix this by adding an additional entry and setting it to zero.

Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters")

Signed-off-by: David Arcari <darcari@redhat.com>

Cc: Naveen Krishna Chatradhi <nchatrad@amd.com>
[naveenk:] Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org
---
 drivers/hwmon/amd_energy.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c index 9b306448b7a0..822c2e74b98d 100644
--- a/drivers/hwmon/amd_energy.c
+++ b/drivers/hwmon/amd_energy.c
@@ -222,7 +222,7 @@ static int amd_create_sensor(struct device *dev,
         */
        cpus = num_present_cpus() / num_siblings;

-       s_config = devm_kcalloc(dev, cpus + sockets,
+       s_config = devm_kcalloc(dev, cpus + sockets + 1,
                                sizeof(u32), GFP_KERNEL);
        if (!s_config)
                return -ENOMEM;
@@ -254,6 +254,7 @@ static int amd_create_sensor(struct device *dev,
                        scnprintf(label_l[i], 10, "Esocket%u", (i - cpus));
        }

+       s_config[i] = 0;
        return 0;
 }

--
2.18.1
Guenter Roeck Jan. 8, 2021, 6:17 a.m. UTC | #2
On 1/7/21 9:49 PM, Chatradhi, Naveen Krishna wrote:
> [AMD Official Use Only - Approved for External Use]

> 

> Hi David,

> 

> Thank you for noticing and submitting a fix. You may use

> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>

> 


No, because you are not in the approval path (you did not send the patch
to me). Reviewed-by: or Acked-by: would be more appropriate.

Genter

> Regards,

> Naveenk

> 

> -----Original Message-----

> From: David Arcari <darcari@redhat.com> 

> Sent: Thursday, January 7, 2021 8:17 PM

> To: linux-hwmon@vger.kernel.org

> Cc: David Arcari <darcari@redhat.com>; Chatradhi, Naveen Krishna <NaveenKrishna.Chatradhi@amd.com>; Jean Delvare <jdelvare@suse.com>; Guenter Roeck <linux@roeck-us.net>; linux-kernel@vger.kernel.org; stable@vger.kernel.org

> Subject: [PATCH] hwmon: (amd_energy) fix allocation of hwmon_channel_info config

> 

> [CAUTION: External Email]

> 

> hwmon, specifically hwmon_num_channel_attrs, expects the config array in the hwmon_channel_info structure to be terminated by a zero entry.  amd_energy does not honor this convention.  As result, a KASAN warning is possible.  Fix this by adding an additional entry and setting it to zero.

> 

> Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters")

> 

> Signed-off-by: David Arcari <darcari@redhat.com>

> Cc: Naveen Krishna Chatradhi <nchatrad@amd.com>

> [naveenk:] Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>

> Cc: Jean Delvare <jdelvare@suse.com>

> Cc: Guenter Roeck <linux@roeck-us.net>

> Cc: linux-kernel@vger.kernel.org

> Cc: stable@vger.kernel.org

> ---

>  drivers/hwmon/amd_energy.c | 3 ++-

>  1 file changed, 2 insertions(+), 1 deletion(-)

> 

> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c index 9b306448b7a0..822c2e74b98d 100644

> --- a/drivers/hwmon/amd_energy.c

> +++ b/drivers/hwmon/amd_energy.c

> @@ -222,7 +222,7 @@ static int amd_create_sensor(struct device *dev,

>          */

>         cpus = num_present_cpus() / num_siblings;

> 

> -       s_config = devm_kcalloc(dev, cpus + sockets,

> +       s_config = devm_kcalloc(dev, cpus + sockets + 1,

>                                 sizeof(u32), GFP_KERNEL);

>         if (!s_config)

>                 return -ENOMEM;

> @@ -254,6 +254,7 @@ static int amd_create_sensor(struct device *dev,

>                         scnprintf(label_l[i], 10, "Esocket%u", (i - cpus));

>         }

> 

> +       s_config[i] = 0;

>         return 0;

>  }

> 

> --

> 2.18.1

>
Chatradhi, Naveen Krishna Jan. 8, 2021, 6:19 a.m. UTC | #3
[AMD Official Use Only - Approved for External Use]

Hi Guenter,

>> No, because you are not in the approval path (you did not send the patch to me). Reviewed-by: or Acked-by: would be more appropriate.


Got it, my mistake, please use 
Acked-by: Naveen Krishna Chatradhi <nchatrad@amd.com>


Regards,
Naveenk

-----Original Message-----
From: Guenter Roeck <groeck7@gmail.com> On Behalf Of Guenter Roeck

Sent: Friday, January 8, 2021 11:47 AM
To: Chatradhi, Naveen Krishna <NaveenKrishna.Chatradhi@amd.com>; David Arcari <darcari@redhat.com>; linux-hwmon@vger.kernel.org
Cc: Jean Delvare <jdelvare@suse.com>; linux-kernel@vger.kernel.org; stable@vger.kernel.org
Subject: Re: [PATCH] hwmon: (amd_energy) fix allocation of hwmon_channel_info config

[CAUTION: External Email]

On 1/7/21 9:49 PM, Chatradhi, Naveen Krishna wrote:
> [AMD Official Use Only - Approved for External Use]

>

> Hi David,

>

> Thank you for noticing and submitting a fix. You may use

> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>

>


No, because you are not in the approval path (you did not send the patch to me). Reviewed-by: or Acked-by: would be more appropriate.

Genter

> Regards,

> Naveenk

>

> -----Original Message-----

> From: David Arcari <darcari@redhat.com>

> Sent: Thursday, January 7, 2021 8:17 PM

> To: linux-hwmon@vger.kernel.org

> Cc: David Arcari <darcari@redhat.com>; Chatradhi, Naveen Krishna 

> <NaveenKrishna.Chatradhi@amd.com>; Jean Delvare <jdelvare@suse.com>; 

> Guenter Roeck <linux@roeck-us.net>; linux-kernel@vger.kernel.org; 

> stable@vger.kernel.org

> Subject: [PATCH] hwmon: (amd_energy) fix allocation of 

> hwmon_channel_info config

>

> [CAUTION: External Email]

>

> hwmon, specifically hwmon_num_channel_attrs, expects the config array in the hwmon_channel_info structure to be terminated by a zero entry.  amd_energy does not honor this convention.  As result, a KASAN warning is possible.  Fix this by adding an additional entry and setting it to zero.

>

> Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy 

> counters")

>

> Signed-off-by: David Arcari <darcari@redhat.com>

> Cc: Naveen Krishna Chatradhi <nchatrad@amd.com> [naveenk:] 

> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>

> Cc: Jean Delvare <jdelvare@suse.com>

> Cc: Guenter Roeck <linux@roeck-us.net>

> Cc: linux-kernel@vger.kernel.org

> Cc: stable@vger.kernel.org

> ---

>  drivers/hwmon/amd_energy.c | 3 ++-

>  1 file changed, 2 insertions(+), 1 deletion(-)

>

> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c 

> index 9b306448b7a0..822c2e74b98d 100644

> --- a/drivers/hwmon/amd_energy.c

> +++ b/drivers/hwmon/amd_energy.c

> @@ -222,7 +222,7 @@ static int amd_create_sensor(struct device *dev,

>          */

>         cpus = num_present_cpus() / num_siblings;

>

> -       s_config = devm_kcalloc(dev, cpus + sockets,

> +       s_config = devm_kcalloc(dev, cpus + sockets + 1,

>                                 sizeof(u32), GFP_KERNEL);

>         if (!s_config)

>                 return -ENOMEM;

> @@ -254,6 +254,7 @@ static int amd_create_sensor(struct device *dev,

>                         scnprintf(label_l[i], 10, "Esocket%u", (i - cpus));

>         }

>

> +       s_config[i] = 0;

>         return 0;

>  }

>

> --

> 2.18.1

>
Guenter Roeck Jan. 8, 2021, 3:32 p.m. UTC | #4
On Thu, Jan 07, 2021 at 09:47:07AM -0500, David Arcari wrote:
> hwmon, specifically hwmon_num_channel_attrs, expects the config

> array in the hwmon_channel_info structure to be terminated by

> a zero entry.  amd_energy does not honor this convention.  As

> result, a KASAN warning is possible.  Fix this by adding an

> additional entry and setting it to zero.

> 

> Fixes: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters")

> 

> Signed-off-by: David Arcari <darcari@redhat.com>

> Cc: Naveen Krishna Chatradhi <nchatrad@amd.com>

> Cc: Jean Delvare <jdelvare@suse.com>

> Cc: Guenter Roeck <linux@roeck-us.net>

> Cc: linux-kernel@vger.kernel.org

> Cc: stable@vger.kernel.org

> Signed-off-by: David Arcari <darcari@redhat.com>

> Acked-by: Naveen Krishna Chatradhi <nchatrad@amd.com>


Applied.

Thanks,
Guenter
diff mbox series

Patch

diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
index 9b306448b7a0..822c2e74b98d 100644
--- a/drivers/hwmon/amd_energy.c
+++ b/drivers/hwmon/amd_energy.c
@@ -222,7 +222,7 @@  static int amd_create_sensor(struct device *dev,
 	 */
 	cpus = num_present_cpus() / num_siblings;
 
-	s_config = devm_kcalloc(dev, cpus + sockets,
+	s_config = devm_kcalloc(dev, cpus + sockets + 1,
 				sizeof(u32), GFP_KERNEL);
 	if (!s_config)
 		return -ENOMEM;
@@ -254,6 +254,7 @@  static int amd_create_sensor(struct device *dev,
 			scnprintf(label_l[i], 10, "Esocket%u", (i - cpus));
 	}
 
+	s_config[i] = 0;
 	return 0;
 }