syzbot


KASAN: slab-out-of-bounds Read in __xfrm6_tunnel_spi_lookup

Status: upstream: reported C repro on 2020/07/13 22:04
Reported-by: syzbot+ea9832f8ae588deb0205@syzkaller.appspotmail.com
First crash: 807d, last: 800d

Cause bisection: the cause commit could be any of (bisect log):
  08622869ed3f ip6_vti: support IP6IP6 tunnel processing with .cb_handler
  e6ce64570f24 ip_vti: support IPIP6 tunnel processing
  2ab110cbb0c0 ip6_vti: support IP6IP tunnel processing
  87e66b9682d7 ip_vti: support IPIP tunnel processing with .cb_handler
  86afc7031826 tunnel6: add tunnel6_input_afinfo for ipip and ipv6 tunnels
  d5a7a5057387 ipcomp: assign if_id to child tunnel from parent tunnel
  6df2db5d37ba tunnel4: add cb_handler to struct xfrm_tunnel
  d7b360c2869f xfrm: interface: support IP6IP6 and IP6IP tunnels processing with .cb_handler
  1475ee0ac9a1 xfrm: add is_ipip to struct xfrm_input_afinfo
  da9bbf0598c9 xfrm: interface: support IPIP and IPIP6 tunnels processing with .cb_handler
  2d4c7986dbc6 Merge remote-tracking branch 'origin/testing'
  428d2459cceb xfrm: introduce oseq-may-wrap flag
  bdf0acad6dce Merge remote-tracking branch 'ipsec-next/master'
Patch testing requests:
Created Duration User Patch Repo Result
2022/09/19 21:29 10m linux-next report log
2022/09/19 18:29 10m linux-next report log
2022/09/19 14:29 10m linux-next report log

Sample crash report:
IPVS: ftp: loaded support on port[0] = 21
==================================================================
BUG: KASAN: slab-out-of-bounds in __xfrm6_tunnel_spi_lookup+0x3a9/0x3b0 net/ipv6/xfrm6_tunnel.c:79
Read of size 8 at addr ffff888094e43628 by task syz-executor155/6833
CPU: 1 PID: 6833 Comm: syz-executor155 Not tainted 5.8.0-rc5-next-20200714-syzkaller #0
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+0x18f/0x20d lib/dump_stack.c:118
 print_address_description.constprop.0.cold+0xae/0x497 mm/kasan/report.c:383
 __kasan_report mm/kasan/report.c:513 [inline]
 kasan_report.cold+0x1f/0x37 mm/kasan/report.c:530
 __xfrm6_tunnel_spi_lookup+0x3a9/0x3b0 net/ipv6/xfrm6_tunnel.c:79
 xfrm6_tunnel_spi_lookup+0x8a/0x1d0 net/ipv6/xfrm6_tunnel.c:95
 xfrmi6_rcv_tunnel+0xb9/0x100 net/xfrm/xfrm_interface.c:810
 tunnel46_rcv+0xef/0x2b0 net/ipv6/tunnel6.c:193
 ip6_protocol_deliver_rcu+0x2e8/0x1670 net/ipv6/ip6_input.c:433
 ip6_input_finish+0x7f/0x160 net/ipv6/ip6_input.c:474
 NF_HOOK include/linux/netfilter.h:307 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 ip6_input+0x9c/0xd0 net/ipv6/ip6_input.c:483
 dst_input include/net/dst.h:449 [inline]
 ip6_rcv_finish net/ipv6/ip6_input.c:76 [inline]
 NF_HOOK include/linux/netfilter.h:307 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 ipv6_rcv+0x28e/0x3c0 net/ipv6/ip6_input.c:307
 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5287
 __netif_receive_skb+0x27/0x1c0 net/core/dev.c:5401
 netif_receive_skb_internal net/core/dev.c:5503 [inline]
 netif_receive_skb+0x159/0x990 net/core/dev.c:5562
 tun_rx_batched.isra.0+0x460/0x720 drivers/net/tun.c:1518
 tun_get_user+0x23b2/0x35b0 drivers/net/tun.c:1972
 tun_chr_write_iter+0xba/0x151 drivers/net/tun.c:2001
 call_write_iter include/linux/fs.h:1879 [inline]
 new_sync_write+0x422/0x650 fs/read_write.c:515
 vfs_write+0x59d/0x6b0 fs/read_write.c:595
 ksys_write+0x12d/0x250 fs/read_write.c:648
 do_syscall_64+0x60/0xe0 arch/x86/entry/common.c:384
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x401650
Code: Bad RIP value.
RSP: 002b:00007fffa8ce24f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fffa8ce2500 RCX: 0000000000401650
RDX: 000000000000004a RSI: 0000000020000340 RDI: 00000000000000f0
RBP: 00007fffa8ce2510 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000003
R13: 00007fffa8ce2508 R14: 0000000000000000 R15: 0000000000000000
Allocated by task 6833:
 kasan_save_stack+0x1b/0x40 mm/kasan/common.c:48
 kasan_set_track mm/kasan/common.c:56 [inline]
 __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:461
 kmalloc_node include/linux/slab.h:577 [inline]
 kvmalloc_node+0x61/0xf0 mm/util.c:574
 kvmalloc include/linux/mm.h:760 [inline]
 kvzalloc include/linux/mm.h:768 [inline]
 netif_alloc_netdev_queues net/core/dev.c:9378 [inline]
 alloc_netdev_mqs+0x6eb/0xdc0 net/core/dev.c:9993
 ip6gre_init_net+0x1e3/0x610 net/ipv6/ip6_gre.c:1569
 ops_init+0xaf/0x470 net/core/net_namespace.c:151
 setup_net+0x2d8/0x850 net/core/net_namespace.c:341
 copy_net_ns+0x2cf/0x5e0 net/core/net_namespace.c:482
 create_new_namespaces+0x3f6/0xb10 kernel/nsproxy.c:110
 unshare_nsproxy_namespaces+0xbd/0x1f0 kernel/nsproxy.c:231
 ksys_unshare+0x445/0x8e0 kernel/fork.c:2927
 __do_sys_unshare kernel/fork.c:2995 [inline]
 __se_sys_unshare kernel/fork.c:2993 [inline]
 __x64_sys_unshare+0x2d/0x40 kernel/fork.c:2993
 do_syscall_64+0x60/0xe0 arch/x86/entry/common.c:384
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
The buggy address belongs to the object at ffff888094e43400
 which belongs to the cache kmalloc-512 of size 512
The buggy address is located 40 bytes to the right of
 512-byte region [ffff888094e43400, ffff888094e43600)
The buggy address belongs to the page:
page:000000001d3e0bbb refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x94e43
flags: 0xfffe0000000200(slab)
raw: 00fffe0000000200 ffffea000289b448 ffffea00028d4b48 ffff8880aa000600
raw: 0000000000000000 ffff888094e43000 0000000100000004 0000000000000000
page dumped because: kasan: bad access detected
Memory state around the buggy address:
 ffff888094e43500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff888094e43580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff888094e43600: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
                                  ^
 ffff888094e43680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff888094e43700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================

Crashes (197):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-linux-next-kasan-gce-root 2020/07/14 20:53 linux-next 5fb3d6042387 609fb517 .config log report syz C
ci-upstream-linux-next-kasan-gce-root 2020/07/13 14:19 linux-next be978f8feb1d f90ec899 .config log report syz C
ci-upstream-linux-next-kasan-gce-root 2020/07/13 14:00 linux-next be978f8feb1d f90ec899 .config log report syz C
ci-upstream-linux-next-kasan-gce-root 2020/07/20 12:22 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/20 10:59 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/20 08:52 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 23:38 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 22:28 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 18:42 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 17:39 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 14:54 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 14:26 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 12:46 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 10:03 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 08:45 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 05:52 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 04:22 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 02:10 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/19 01:09 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 22:15 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 21:09 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 18:07 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 16:58 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 15:58 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 13:59 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 12:50 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 09:22 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 06:01 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 02:28 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/18 01:10 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 22:23 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 19:33 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 19:05 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 17:18 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 15:41 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 14:17 linux-next 4c43049f19a2 9c812472 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 12:56 linux-next 4c43049f19a2 54b3c45e .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 11:42 linux-next 4c43049f19a2 54b3c45e .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 08:57 linux-next 4c43049f19a2 54b3c45e .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 03:26 linux-next 4c43049f19a2 54b3c45e .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 01:55 linux-next 4c43049f19a2 54b3c45e .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/17 00:47 linux-next 4c43049f19a2 54b3c45e .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 21:32 linux-next 4c43049f19a2 f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 18:33 linux-next 4c43049f19a2 f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 15:47 linux-next 4c43049f19a2 f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 11:25 linux-next ca0e494af5ed f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 10:29 linux-next ca0e494af5ed f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 08:39 linux-next ca0e494af5ed f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 06:58 linux-next ca0e494af5ed f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 04:49 linux-next ca0e494af5ed f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/16 03:18 linux-next ca0e494af5ed f3bec699 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/07/13 10:56 linux-next be978f8feb1d f90ec899 .config log report
* Struck through repros no longer work on HEAD.