syzbot


KASAN: use-after-free Read in __sock_recv_timestamp

Status: auto-closed as invalid on 2019/02/22 12:39
First crash: 2150d, last: 2150d

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in __net_timestamp include/linux/skbuff.h:3207 [inline]
BUG: KASAN: use-after-free in __sock_recv_timestamp+0x4ed/0x510 net/socket.c:672
Read of size 8 at addr ffff8801d49985d0 by task syz-executor2/10604

CPU: 0 PID: 10604 Comm: syz-executor2 Not tainted 4.9.102-gc5aceac #32
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
 ffff8801cac9f760 ffffffff81eb3489 ffffea0007526600 ffff8801d49985d0
 0000000000000000 ffff8801d49985d0 00000000000007fe ffff8801cac9f798
 ffffffff815676bb ffff8801d49985d0 0000000000000008 0000000000000000
Call Trace:
 [<ffffffff81eb3489>] __dump_stack lib/dump_stack.c:15 [inline]
 [<ffffffff81eb3489>] dump_stack+0xc1/0x128 lib/dump_stack.c:51
IPVS: set_ctl: invalid protocol: 255 172.20.20.13:20001 sed
 [<ffffffff815676bb>] print_address_description+0x6c/0x234 mm/kasan/report.c:256
 [<ffffffff81567ac5>] kasan_report_error mm/kasan/report.c:355 [inline]
 [<ffffffff81567ac5>] kasan_report.cold.6+0x242/0x2fe mm/kasan/report.c:412
IPVS: set_ctl: invalid protocol: 255 172.20.20.13:20001 sed
 [<ffffffff8153b744>] __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
 [<ffffffff830132bd>] __net_timestamp include/linux/skbuff.h:3207 [inline]
 [<ffffffff830132bd>] __sock_recv_timestamp+0x4ed/0x510 net/socket.c:672
 [<ffffffff8301e104>] sock_recv_timestamp include/net/sock.h:2146 [inline]
 [<ffffffff8301e104>] sock_recv_errqueue+0x164/0x3f0 net/core/sock.c:2638
 [<ffffffff8368cdff>] packet_recvmsg+0x88f/0xf40 net/packet/af_packet.c:3314
 [<ffffffff830154c6>] sock_recvmsg_nosec net/socket.c:737 [inline]
 [<ffffffff830154c6>] sock_recvmsg+0xc6/0x110 net/socket.c:744
 [<ffffffff83017df2>] ___sys_recvmsg+0x242/0x550 net/socket.c:2128
 [<ffffffff8301a0e6>] __sys_recvmsg+0xd6/0x190 net/socket.c:2173
 [<ffffffff8301a1cd>] SYSC_recvmsg net/socket.c:2185 [inline]
 [<ffffffff8301a1cd>] SyS_recvmsg+0x2d/0x50 net/socket.c:2180
 [<ffffffff81006316>] do_syscall_64+0x1a6/0x490 arch/x86/entry/common.c:282
 [<ffffffff839f78d3>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb

Allocated by task 10604:
 save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:57
 save_stack+0x43/0xd0 mm/kasan/kasan.c:505
 set_track mm/kasan/kasan.c:517 [inline]
 kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:609
 kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:547
 slab_post_alloc_hook mm/slab.h:417 [inline]
 slab_alloc_node mm/slub.c:2715 [inline]
 slab_alloc mm/slub.c:2723 [inline]
 __kmalloc_track_caller+0xdc/0x2b0 mm/slub.c:4232
 __kmalloc_reserve.isra.37+0x33/0xc0 net/core/skbuff.c:138
 __alloc_skb+0x11a/0x600 net/core/skbuff.c:231
 alloc_skb include/linux/skbuff.h:919 [inline]
 alloc_skb_with_frags+0xaf/0x520 net/core/skbuff.c:4679
 sock_alloc_send_pskb+0x5a9/0x750 net/core/sock.c:1893
 packet_alloc_skb net/packet/af_packet.c:2817 [inline]
 packet_snd net/packet/af_packet.c:2908 [inline]
 packet_sendmsg+0x1581/0x4470 net/packet/af_packet.c:2985
 sock_sendmsg_nosec net/socket.c:635 [inline]
 sock_sendmsg+0xcc/0x110 net/socket.c:645
 SYSC_sendto+0x21c/0x370 net/socket.c:1670
 SyS_sendto+0x40/0x50 net/socket.c:1638
 do_syscall_64+0x1a6/0x490 arch/x86/entry/common.c:282
 entry_SYSCALL_64_after_swapgs+0x5d/0xdb

Freed by task 10604:
 save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:57
 save_stack+0x43/0xd0 mm/kasan/kasan.c:505
 set_track mm/kasan/kasan.c:517 [inline]
 kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:582
 slab_free_hook mm/slub.c:1355 [inline]
 slab_free_freelist_hook mm/slub.c:1377 [inline]
 slab_free mm/slub.c:2958 [inline]
 kfree+0xfb/0x310 mm/slub.c:3878
 skb_free_head+0x8b/0xb0 net/core/skbuff.c:580
 skb_release_data+0x329/0x400 net/core/skbuff.c:611
 skb_release_all+0x4a/0x60 net/core/skbuff.c:670
 __kfree_skb+0x15/0x20 net/core/skbuff.c:684
 kfree_skb+0xcc/0x340 net/core/skbuff.c:705
 sit_tunnel_xmit+0xfb/0x2590 net/ipv6/sit.c:1033
 __netdev_start_xmit include/linux/netdevice.h:4062 [inline]
 netdev_start_xmit include/linux/netdevice.h:4071 [inline]
 xmit_one net/core/dev.c:2955 [inline]
 dev_hard_start_xmit+0x197/0x8b0 net/core/dev.c:2971
 __dev_queue_xmit+0x19a5/0x2080 net/core/dev.c:3451
 dev_queue_xmit+0x17/0x20 net/core/dev.c:3484
 packet_snd net/packet/af_packet.c:2960 [inline]
 packet_sendmsg+0x1eff/0x4470 net/packet/af_packet.c:2985
 sock_sendmsg_nosec net/socket.c:635 [inline]
 sock_sendmsg+0xcc/0x110 net/socket.c:645
 SYSC_sendto+0x21c/0x370 net/socket.c:1670
 SyS_sendto+0x40/0x50 net/socket.c:1638
 do_syscall_64+0x1a6/0x490 arch/x86/entry/common.c:282
 entry_SYSCALL_64_after_swapgs+0x5d/0xdb

The buggy address belongs to the object at ffff8801d4998500
 which belongs to the cache kmalloc-512 of size 512
The buggy address is located 208 bytes inside of
 512-byte region [ffff8801d4998500, ffff8801d4998700)
The buggy address belongs to the page:
page:ffffea0007526600 count:1 mapcount:0 mapping:          (null) index:0x0 compound_mapcount: 0
flags: 0x8000000000004080(slab|head)
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8801d4998480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8801d4998500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff8801d4998580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                 ^
 ffff8801d4998600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff8801d4998680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/05/24 13:54 https://android.googlesource.com/kernel/common android-4.9 c5aceac71b68 f48c20b8 .config console log report ci-android-49-kasan-gce-root
* Struck through repros no longer work on HEAD.