flow_dissector: fix false-positive __read_overflow2_field() warning

Bounds checking is unhappy that we try to copy both Ethernet
addresses but pass pointer to the first one. Luckily destination
address is the first field so pass the pointer to the entire header,
whatever.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jakub Kicinski 2022-04-06 14:15:21 -07:00 коммит произвёл David S. Miller
Родитель 726e2c5929
Коммит 1b808993e1
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -1032,7 +1032,7 @@ bool __skb_flow_dissect(const struct net *net,
key_eth_addrs = skb_flow_dissector_target(flow_dissector,
FLOW_DISSECTOR_KEY_ETH_ADDRS,
target_container);
memcpy(key_eth_addrs, &eth->h_dest, sizeof(*key_eth_addrs));
memcpy(key_eth_addrs, eth, sizeof(*key_eth_addrs));
}
proto_again: