mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
HID: hyperv: make pointer arithmetics understandable for FORTIFY_SOURCE
Commit83df7b5fa6("HID: hyperv: add KUnit coverage for device info bounds") introduced this piece of code report = ((u8 *)&info->hid_descriptor) + info->hid_descriptor.bLength; memset(report, 0x42, 4); to populate the report, making use of the fact that the report &info->hid_descriptor points to a struct hid_descriptor (which is a fixed-size struct). GCC's FORTIFY_SOURCE infer the object size from that specific struct field rather than the outer dynamically allocated info buffer. As a result, writing past sizeof(struct hid_descriptor) triggers the __write_overflow_field warning. Calculate the pointer offset using info directly, so the compiler evaluates the memory bounds against the allocated flexible layout of struct synthhid_device_info instead of the nested struct. Fixes:83df7b5fa6("HID: hyperv: add KUnit coverage for device info bounds") Reported-by: Jürgen Groß <jgross@suse.com> Tested-by: Jürgen Groß <jgross@suse.com> Acked-by: Benjamin Tissoires <bentiss@kernel.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
parent
445fcd33c5
commit
d0ad81b2b5
1 changed files with 2 additions and 2 deletions
Loading…
Add table
Add a link
Reference in a new issue