On Mon, Dec 06, 2021 at 10:32:17PM -0800, Kees Cook wrote: > When building under -Warray-bounds, the compiler is especially > conservative when faced with casts from a smaller object to a larger > object. While this has found many real bugs, there are some cases that > are currently false positives (like here). With this as one of the last > few instances of the warning in the kernel before -Warray-bounds can be > enabled globally, rearrange the functions so that there is a header-only > version of hvs_send_data(). Silences this warning: > > net/vmw_vsock/hyperv_transport.c: In function 'hvs_shutdown_lock_held.constprop': > net/vmw_vsock/hyperv_transport.c:231:32: warning: array subscript 'struct hvs_send_buf[0]' is partly outside array bounds of 'struct vmpipe_proto_header[1]' [-Warray-bounds] > 231 | send_buf->hdr.pkt_type = 1; > | ~~~~~~~~~~~~~~~~~~~~~~~^~~ > net/vmw_vsock/hyperv_transport.c:465:36: note: while referencing 'hdr' > 465 | struct vmpipe_proto_header hdr; > | ^~~ > > This change results in no executable instruction differences. > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Wei Liu <wei.liu@xxxxxxxxxx>