Commit 02014090 authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by David S. Miller

net: spider_net: Use size_add() in call to struct_size()

If, for any reason, the open-coded arithmetic causes a wraparound,
the protection that `struct_size()` adds against potential integer
overflows is defeated. Fix this by hardening call to `struct_size()`
with `size_add()`.

Fixes: 3f1071ec ("net: spider_net: Use struct_size() helper")
Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarGeoff Levand <geoff@infradead.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2506a917
...@@ -2332,7 +2332,7 @@ spider_net_alloc_card(void) ...@@ -2332,7 +2332,7 @@ spider_net_alloc_card(void)
struct spider_net_card *card; struct spider_net_card *card;
netdev = alloc_etherdev(struct_size(card, darray, netdev = alloc_etherdev(struct_size(card, darray,
tx_descriptors + rx_descriptors)); size_add(tx_descriptors, rx_descriptors)));
if (!netdev) if (!netdev)
return NULL; return NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment