Files
linux/include/linux
Eric Dumazet 083b78a9ed ip: fix ip_mc_may_pull() return value
ip_mc_may_pull() must return 0 if there is a problem, not an errno.

syzbot reported :

BUG: KASAN: use-after-free in br_ip4_multicast_igmp3_report net/bridge/br_multicast.c:947 [inline]
BUG: KASAN: use-after-free in br_multicast_ipv4_rcv net/bridge/br_multicast.c:1631 [inline]
BUG: KASAN: use-after-free in br_multicast_rcv+0x3cd8/0x4440 net/bridge/br_multicast.c:1741
Read of size 4 at addr ffff88820a4084ee by task syz-executor.2/11183

CPU: 1 PID: 11183 Comm: syz-executor.2 Not tainted 5.0.0+ #14
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x172/0x1f0 lib/dump_stack.c:113
 print_address_description.cold+0x7c/0x20d mm/kasan/report.c:187
 kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317
 __asan_report_load4_noabort+0x14/0x20 mm/kasan/generic_report.c:131
 br_ip4_multicast_igmp3_report net/bridge/br_multicast.c:947 [inline]
 br_multicast_ipv4_rcv net/bridge/br_multicast.c:1631 [inline]
 br_multicast_rcv+0x3cd8/0x4440 net/bridge/br_multicast.c:1741
 br_handle_frame_finish+0xa3a/0x14c0 net/bridge/br_input.c:108
 br_nf_hook_thresh+0x2ec/0x380 net/bridge/br_netfilter_hooks.c:1005
 br_nf_pre_routing_finish+0x8e2/0x1750 net/bridge/br_netfilter_hooks.c:410
 NF_HOOK include/linux/netfilter.h:289 [inline]
 NF_HOOK include/linux/netfilter.h:283 [inline]
 br_nf_pre_routing+0x7e7/0x13a0 net/bridge/br_netfilter_hooks.c:506
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0xbf/0x1f0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 br_handle_frame+0x95b/0x1450 net/bridge/br_input.c:305
 __netif_receive_skb_core+0xa96/0x3040 net/core/dev.c:4902
 __netif_receive_skb_one_core+0xa8/0x1a0 net/core/dev.c:4971
 __netif_receive_skb+0x2c/0x1c0 net/core/dev.c:5083
 netif_receive_skb_internal+0x117/0x660 net/core/dev.c:5186
 netif_receive_skb+0x6e/0x5a0 net/core/dev.c:5261

Fixes: ba5ea61462 ("bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-03-09 19:52:47 -08:00
..
2018-11-14 10:56:33 -08:00
2018-12-11 09:57:47 -08:00
2018-10-16 11:13:50 +02:00
2018-11-12 10:33:49 +01:00
2019-02-28 09:16:12 +01:00
2019-02-08 22:39:01 -08:00
2018-05-26 09:16:44 +02:00
2018-06-15 18:10:01 -03:00
2019-03-06 10:46:29 -08:00
2018-11-26 18:41:21 -05:00
2018-12-07 22:26:38 -07:00
2019-01-24 11:11:45 -07:00
2018-11-07 13:44:59 -07:00
2018-11-07 13:44:59 -07:00
2018-12-18 17:50:47 +01:00
2019-02-01 20:55:38 +01:00
2019-02-27 17:22:50 +01:00
2019-02-01 20:55:38 +01:00
2018-09-06 15:12:24 -06:00
2018-06-15 18:10:01 -03:00
2018-08-22 10:52:48 -07:00
2018-12-03 17:40:18 +01:00
2018-11-13 21:55:24 +01:00
2018-07-12 10:04:29 -04:00
2019-02-27 17:22:50 +01:00
2018-12-19 10:42:08 +01:00
2018-07-27 09:57:23 +10:00
2018-12-28 12:11:52 -08:00
2018-06-28 20:32:51 +09:00
2018-10-21 10:46:33 -04:00
2018-12-07 12:59:08 -08:00
2019-03-09 19:52:47 -08:00
2018-11-07 13:42:32 -07:00
2018-11-19 19:03:46 -07:00
2018-06-22 13:43:27 +09:00
2018-04-11 10:28:38 -07:00
2018-12-06 13:57:03 +01:00
2018-07-12 21:35:28 +02:00
2018-11-30 13:29:04 +00:00
2018-04-12 09:41:19 -07:00
2018-06-07 17:34:35 -07:00
2019-01-04 13:13:48 -08:00
2019-02-13 22:00:16 -08:00
2019-01-04 13:13:48 -08:00
2018-06-07 17:34:39 -07:00
2018-10-17 13:56:58 -07:00
2018-08-22 10:52:45 -07:00
2018-12-13 09:58:57 +01:00
2018-12-06 15:45:46 +01:00
2019-02-08 15:02:49 -08:00
2018-07-10 17:22:35 +02:00
2018-06-07 17:34:36 -07:00
2018-10-21 10:46:39 -04:00
2018-09-18 17:52:15 -05:00
2018-07-19 11:34:23 +01:00
2018-10-26 16:26:35 -07:00
2019-03-03 21:47:57 -08:00
2018-07-21 10:43:12 -05:00
2018-10-08 22:53:10 +11:00
2018-08-22 10:52:46 -07:00
2018-05-31 00:13:56 +08:00
2018-12-03 17:11:02 -08:00
2018-07-20 01:11:45 +02:00
2018-08-02 17:33:06 -04:00
2018-05-11 17:28:45 -07:00
2019-01-07 16:38:26 +01:00
2018-09-25 20:17:35 -07:00
2018-12-21 11:50:02 -05:00
2018-06-07 17:34:35 -07:00
2018-07-07 17:25:23 +02:00
2018-07-03 09:20:44 +02:00
2019-02-03 11:17:31 -08:00
2018-08-16 12:14:42 -07:00
2018-06-20 11:35:56 +02:00
2018-09-29 22:47:49 -04:00
2018-10-11 09:16:44 -07:00
2018-12-10 10:17:45 +01:00
2018-09-25 20:33:24 +02:00
2019-01-11 18:05:40 -08:00
2018-09-11 14:11:51 +02:00
2018-12-22 12:15:29 +01:00
2018-05-14 09:51:34 -04:00