Eric Dumazet
f87fda00b6
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>
2016-07-01 06:06:09 -04:00
..
2015-04-11 22:28:27 -04:00
2016-04-22 15:02:21 +02:00
2015-02-20 17:35:14 -05:00
2015-09-21 16:03:04 -07:00
2016-06-15 12:17:23 +02:00
2016-06-01 17:54:19 -07:00
2016-05-04 01:48:16 +02:00
2016-02-11 03:54:14 -05:00
2016-05-01 21:06:10 -04:00
2016-06-23 12:02:36 -04:00
2016-04-13 10:41:10 +02:00
2016-05-20 11:23:49 -07:00
2016-02-11 03:54:14 -05:00
2015-09-17 13:20:05 +02:00
2016-04-11 15:34:40 -04:00
2016-02-08 10:30:42 -05:00
2015-12-08 21:55:49 -05:00
2015-03-04 00:23:23 -05:00
2015-06-28 16:55:44 -07:00
2016-02-09 04:45:49 -05:00
2015-07-27 01:05:24 -07:00
2016-07-01 06:06:09 -04:00
2015-11-18 16:17:38 -05:00
2016-05-12 11:16:40 +02:00
2015-09-30 13:16:44 +02:00
2016-03-13 15:01:00 -04:00
2016-04-19 20:09:25 -04:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2016-06-09 23:41:03 -07:00
2015-03-06 21:50:02 -05:00
2016-04-15 12:57:29 -04:00
2015-09-17 17:18:37 -07:00
2016-05-11 19:36:28 -04:00
2016-02-16 20:21:48 -05:00
2016-03-11 15:14:26 -05:00
2015-10-08 04:27:02 -07:00
2016-04-25 16:20:09 -04:00
2015-09-23 15:33:15 -07:00
2015-09-09 14:19:50 -07:00
2016-03-10 16:24:02 -05:00
2016-03-20 13:44:34 -04:00
2016-05-20 18:03:16 -04:00
2016-04-28 17:03:38 -04:00
2016-04-25 16:45:53 -04:00
2016-04-26 12:00:49 -04:00
2016-02-18 11:42:19 -05:00
2016-04-21 15:35:44 -04:00
2016-06-15 22:15:21 -07:00
2015-08-31 15:17:17 -07:00
2016-05-10 12:25:04 -04:00
2016-03-14 12:19:46 -04:00
2016-04-27 22:48:25 -04:00
2016-01-04 20:40:41 +01:00
2015-03-23 22:12:09 -04:00
2015-12-15 23:25:20 -05:00
2016-03-22 15:45:44 -04:00
2016-04-04 22:11:20 -04:00
2016-05-20 18:03:17 -04:00
2016-02-18 11:35:51 -05:00
2016-01-15 15:07:23 -05:00
2016-02-16 20:42:54 -05:00
2016-04-04 22:11:20 -04:00
2015-12-18 14:43:38 -05:00
2015-10-20 06:08:27 -07:00
2015-12-16 00:14:12 -05:00
2016-03-13 23:55:13 -04:00
2015-11-15 17:12:37 -05:00
2016-04-11 15:56:20 -04:00
2016-05-29 22:24:21 -07:00
2016-02-18 11:31:36 -05:00
2016-05-20 18:03:16 -04:00
2016-06-06 09:47:25 +09:00
2016-06-30 09:02:48 -04:00
2016-05-03 16:08:14 -04:00
2016-01-29 17:13:43 +01:00
2016-03-10 14:42:03 -05:00
2016-05-11 19:31:40 -04:00
2015-05-11 10:50:17 -04:00
2016-02-21 22:00:28 -05:00
2016-05-12 11:16:55 +02:00
2016-04-13 10:41:08 +02:00
2015-10-23 06:26:42 -07:00
2015-12-01 15:07:59 -05:00
2015-08-10 13:46:21 -07:00
2015-12-14 12:48:58 +01:00
2016-05-16 13:46:23 -04:00
2015-12-08 22:02:33 -05:00
2016-04-23 20:13:24 -04:00
2016-03-23 22:09:58 -04:00
2016-06-07 16:59:53 -07:00
2016-05-24 14:49:14 -07:00
2016-04-07 16:53:30 -04:00
2016-02-11 03:54:14 -05:00
2016-04-04 22:11:19 -04:00
2016-04-23 18:51:33 -04:00
2016-05-02 22:27:06 -04:00
2016-06-07 16:59:53 -07:00
2016-02-08 10:30:42 -05:00
2016-04-28 11:49:45 -04:00
2016-01-19 14:44:23 -05:00
2016-05-20 18:05:32 -04:00
2016-05-17 13:58:49 -04:00
2015-03-12 22:58:12 -04:00
2016-05-11 19:31:40 -04:00
2015-07-09 15:12:20 -07:00
2016-05-03 16:08:14 -04:00
2015-10-26 22:24:22 -07:00
2016-05-09 15:59:24 -04:00
2016-04-27 22:48:25 -04:00
2016-05-04 00:52:29 -04:00
2016-04-27 22:48:23 -04:00