gve: Use size_add() in call to struct_size()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 15 Sep 2023 18:17:49 +0000 (12:17 -0600)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Sep 2023 17:50:33 +0000 (18:50 +0100)
commitd692873cbe861a870cdc9cbfb120eefd113c3dfd
tree10007e840a926d6addbd923438596b8ca329c3f6
parentebdada9de39d6a398bd4ba1007e306b57149083c
gve: Use size_add() in call to struct_size()

If, for any reason, `tx_stats_num + rx_stats_num` wraps around, the
protection that struct_size() adds against potential integer overflows
is defeated. Fix this by hardening call to struct_size() with size_add().

Fixes: 691f4077d560 ("gve: Replace zero-length array with flexible-array member")
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/google/gve/gve_main.c