diff options
author | Eric Dumazet <edumazet@google.com> | 2016-06-30 17:13:41 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-01 13:06:09 +0300 |
commit | f87fda00b6ed232a817c655b8d179b48bde8fdbe (patch) | |
tree | 827bdb6430626891773dcd950e609e3e14743854 /include/net/datalink.h | |
parent | 3d8c4530e50dc030efcec575aa69483439fc6fda (diff) | |
download | linux-f87fda00b6ed232a817c655b8d179b48bde8fdbe.tar.xz |
bonding: prevent out of bound accesses
ether_addr_equal_64bits() requires some care about its arguments,
namely that 8 bytes might be read, even if last 2 byte values are not
used.
KASan detected a violation with null_mac_addr and lacpdu_mcast_addr
in bond_3ad.c
Same problem with mac_bcast[] and mac_v6_allmcast[] in bond_alb.c :
Although the 8-byte alignment was there, KASan would detect out
of bound accesses.
Fixes: 815117adaf5b ("bonding: use ether_addr_equal_unaligned for bond addr compare")
Fixes: bb54e58929f3 ("bonding: Verify RX LACPDU has proper dest mac-addr")
Fixes: 885a136c52a8 ("bonding: use compare_ether_addr_64bits() in ALB")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Acked-by: Dmitry Vyukov <dvyukov@google.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Acked-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/datalink.h')
0 files changed, 0 insertions, 0 deletions