[v2] HID: hid-sensor-custom: set fixed size for custom attributes

Message ID 20221117121326.5621-1-marcus.folkesson@gmail.com
State New
Headers
Series [v2] HID: hid-sensor-custom: set fixed size for custom attributes |

Commit Message

Marcus Folkesson Nov. 17, 2022, 12:13 p.m. UTC
  This is no bugfix (so no Fixes: tag is necessary) as it is
taken care of in hid_sensor_custom_add_attributes().

The motivation for this patch is that:
hid_sensor_custom_field.attr_name and
hid_sensor_custom_field.attrs
has the size of HID_CUSTOM_TOTAL_ATTRS and used in same context.

We compare against HID_CUSTOM_TOTAL_ATTRS when
looping through hid_custom_attrs.

We will silent the smatch error:
hid_sensor_custom_add_attributes() error: buffer overflow
'hid_custom_attrs' 8 <= 10

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
 drivers/hid/hid-sensor-custom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Marcus Folkesson Nov. 17, 2022, 12:15 p.m. UTC | #1
On Thu, Nov 17, 2022 at 01:13:26PM +0100, Marcus Folkesson wrote:
> This is no bugfix (so no Fixes: tag is necessary) as it is
> taken care of in hid_sensor_custom_add_attributes().
> 
> The motivation for this patch is that:
> hid_sensor_custom_field.attr_name and
> hid_sensor_custom_field.attrs
> has the size of HID_CUSTOM_TOTAL_ATTRS and used in same context.
> 
> We compare against HID_CUSTOM_TOTAL_ATTRS when
> looping through hid_custom_attrs.
> 
> We will silent the smatch error:
> hid_sensor_custom_add_attributes() error: buffer overflow
> 'hid_custom_attrs' 8 <= 10
> 
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---

v2:
    - add acked-by tag

>  drivers/hid/hid-sensor-custom.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/hid-sensor-custom.c b/drivers/hid/hid-sensor-custom.c
> index 32c2306e240d..602465ad2745 100644
> --- a/drivers/hid/hid-sensor-custom.c
> +++ b/drivers/hid/hid-sensor-custom.c
> @@ -62,7 +62,7 @@ struct hid_sensor_sample {
>  	u32 raw_len;
>  } __packed;
>  
> -static struct attribute hid_custom_attrs[] = {
> +static struct attribute hid_custom_attrs[HID_CUSTOM_TOTAL_ATTRS] = {
>  	{.name = "name", .mode = S_IRUGO},
>  	{.name = "units", .mode = S_IRUGO},
>  	{.name = "unit-expo", .mode = S_IRUGO},
> -- 
> 2.38.1
>
  
Jiri Kosina Nov. 21, 2022, 9:14 p.m. UTC | #2
On Thu, 17 Nov 2022, Marcus Folkesson wrote:

> This is no bugfix (so no Fixes: tag is necessary) as it is
> taken care of in hid_sensor_custom_add_attributes().
> 
> The motivation for this patch is that:
> hid_sensor_custom_field.attr_name and
> hid_sensor_custom_field.attrs
> has the size of HID_CUSTOM_TOTAL_ATTRS and used in same context.
> 
> We compare against HID_CUSTOM_TOTAL_ATTRS when
> looping through hid_custom_attrs.
> 
> We will silent the smatch error:
> hid_sensor_custom_add_attributes() error: buffer overflow
> 'hid_custom_attrs' 8 <= 10
> 
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Applied to hid.git#for-6.2/sensor. Thanks,
  

Patch

diff --git a/drivers/hid/hid-sensor-custom.c b/drivers/hid/hid-sensor-custom.c
index 32c2306e240d..602465ad2745 100644
--- a/drivers/hid/hid-sensor-custom.c
+++ b/drivers/hid/hid-sensor-custom.c
@@ -62,7 +62,7 @@  struct hid_sensor_sample {
 	u32 raw_len;
 } __packed;
 
-static struct attribute hid_custom_attrs[] = {
+static struct attribute hid_custom_attrs[HID_CUSTOM_TOTAL_ATTRS] = {
 	{.name = "name", .mode = S_IRUGO},
 	{.name = "units", .mode = S_IRUGO},
 	{.name = "unit-expo", .mode = S_IRUGO},