Re: [PATCH v2 net] bonding: prevent out of bound accesses

From
Nikolay Aleksandrov <hidden>
Date
2016-06-30 14:52:07
Reply to
Eric Dumazet, 2016-06-30
On 30/06/16 16:13, Eric Dumazet wrote:
From: Eric Dumazet <redacted>

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 <redacted>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
---
 drivers/net/bonding/bond_3ad.c |   11 +++++++----
 drivers/net/bonding/bond_alb.c |    7 ++-----
 include/net/bonding.h          |    7 ++++++-
 3 files changed, 15 insertions(+), 10 deletions(-)
+CC bonding maintainers

For v2,
Acked-by: Nikolay Aleksandrov <redacted>
Thread (12 messages) 12 messages, 5 authors, last reply 2016-07-01
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help