On Fri, Sep 23, 2022 at 10:42:38PM -0500, Gustavo A. R. Silva wrote: > On Fri, Sep 23, 2022 at 08:07:41PM -0700, Kees Cook wrote: > > To work around a misbehavior of the compiler's ability to see into > > composite flexible array structs (as detailed in the coming memcpy() > > hardening series[1]), split the memcpy() of the header and the payload > > so no false positive run-time overflow warning will be generated. As it > > turns out, this appears to actually reduce the text size: Er, actually, I can't read/math. ;) It _does_ grow the text size. (That's 2_3_ not 22 at the start of the text size...) On examination, it appears to unroll the already inlined memcpy further. > > > > $ size drivers/hv/vmbus_drv.o.before drivers/hv/vmbus_drv.o > > text data bss dec hex filename > > 22968 5239 232 28439 6f17 drivers/hv/vmbus_drv.o.before > > 23032 5239 232 28503 6f57 drivers/hv/vmbus_drv.o ^ -Kees -- Kees Cook