In the Linux kernel, the following vulnerability has been resolved:
HID: hyperv: avoid struct memcpy overrun warning
A previous patch addressed the fortified memcpy warning for most builds, but I still see this one with gcc-9:
In file included from include/linux/string.h:254, from drivers/hid/hid-hyperv.c:8: In function fortify_memcpy_chk, inlined from mousevsc_on_receive at drivers/hid/hid-hyperv.c:272:3: include/linux/fortify-string.h:583:4: error: call to __write_overflow_field declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning] 583 | __write_overflow_field(p_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My guess is that the WARN_ON() itself is what confuses gcc, so it no longer sees that there is a correct range check. Rework the code in a way that helps readability and avoids the warning.