]> git.baikalelectronics.ru Git - kernel.git/commitdiff
HID: hid-sensor-custom: set fixed size for custom attributes
authorMarcus Folkesson <marcus.folkesson@gmail.com>
Thu, 17 Nov 2022 12:13:26 +0000 (13:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 10:41:04 +0000 (11:41 +0100)
[ Upstream commit 9d013910df22de91333a0acc81d1dbb115bd76f6 ]

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>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hid/hid-sensor-custom.c

index fb827c295842f0e4ebe9e81974c513bef9c6638e..825f011c790137f8ccbd572ebb3e5f331b2c5c0c 100644 (file)
@@ -59,7 +59,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},