]> git.ipfire.org Git - thirdparty/kernel/stable.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>
Sat, 7 Jan 2023 11:07:17 +0000 (12:07 +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 3a84aaf1418b45c725531903b41e29ae4ce62236..683bfcb419269c54f30b1fc51cfecf7a775a5d82 100644 (file)
@@ -67,7 +67,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},