================================================================== BUG: KASAN: slab-out-of-bounds in pfkey_msg2xfrm_state net/key/af_key.c:1227 [inline] BUG: KASAN: slab-out-of-bounds in pfkey_add+0x1481/0x3230 net/key/af_key.c:1506 Read of size 5632 at addr ffff8801c816ac98 by task syz-executor1/11307 CPU: 0 PID: 11307 Comm: syz-executor1 Not tainted 4.9.108-gb7d377b #1 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ffff880196adf6d0 ffffffff81eb3e29 ffffea0007205a80 ffff8801c816ac98 0000000000000000 ffff8801c816ae80 ffff8801c816ac80 ffff880196adf708 ffffffff81567a89 ffff8801c816ac98 0000000000001600 0000000000000000 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x128 lib/dump_stack.c:51 [] print_address_description+0x6c/0x234 mm/kasan/report.c:256 [] kasan_report_error mm/kasan/report.c:355 [inline] [] kasan_report.cold.6+0x242/0x2fe mm/kasan/report.c:412 [] check_memory_region_inline mm/kasan/kasan.c:318 [inline] [] check_memory_region+0x14f/0x1b0 mm/kasan/kasan.c:325 [] memcpy+0x23/0x50 mm/kasan/kasan.c:360 [] pfkey_msg2xfrm_state net/key/af_key.c:1227 [inline] [] pfkey_add+0x1481/0x3230 net/key/af_key.c:1506 [] pfkey_process+0x671/0x740 net/key/af_key.c:2834 [] pfkey_sendmsg+0x346/0xae0 net/key/af_key.c:3678 [] sock_sendmsg_nosec net/socket.c:635 [inline] [] sock_sendmsg+0xcc/0x110 net/socket.c:645 [] ___sys_sendmsg+0x6fc/0x840 net/socket.c:1969 [] __sys_sendmsg+0xd9/0x190 net/socket.c:2003 [] C_SYSC_sendmsg net/compat.c:736 [inline] [] compat_SyS_sendmsg+0x2a/0x40 net/compat.c:734 [] do_syscall_32_irqs_on arch/x86/entry/common.c:325 [inline] [] do_fast_syscall_32+0x2f7/0x870 arch/x86/entry/common.c:387 [] entry_SYSENTER_compat+0x90/0xa2 arch/x86/entry/entry_64_compat.S:137 Allocated by task 11307: 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] pfkey_sendmsg+0xfe/0xae0 net/key/af_key.c:3665 sock_sendmsg_nosec net/socket.c:635 [inline] sock_sendmsg+0xcc/0x110 net/socket.c:645 ___sys_sendmsg+0x6fc/0x840 net/socket.c:1969 __sys_sendmsg+0xd9/0x190 net/socket.c:2003 C_SYSC_sendmsg net/compat.c:736 [inline] compat_SyS_sendmsg+0x2a/0x40 net/compat.c:734 do_syscall_32_irqs_on arch/x86/entry/common.c:325 [inline] do_fast_syscall_32+0x2f7/0x870 arch/x86/entry/common.c:387 entry_SYSENTER_compat+0x90/0xa2 arch/x86/entry/entry_64_compat.S:137 Freed by task 9877: 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 tun_net_xmit+0x736/0x1180 drivers/net/tun.c:934 __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 sch_direct_xmit+0x2bc/0x590 net/sched/sch_generic.c:182 __dev_xmit_skb net/core/dev.c:3151 [inline] __dev_queue_xmit+0x1742/0x2080 net/core/dev.c:3419 dev_queue_xmit+0x17/0x20 net/core/dev.c:3484 neigh_hh_output include/net/neighbour.h:468 [inline] dst_neigh_output include/net/dst.h:468 [inline] ip6_finish_output2+0x10e3/0x1d00 net/ipv6/ip6_output.c:119 ip6_finish_output+0x3b8/0x760 net/ipv6/ip6_output.c:145 NF_HOOK_COND include/linux/netfilter.h:246 [inline] ip6_output+0x1f3/0x6e0 net/ipv6/ip6_output.c:162 dst_output include/net/dst.h:507 [inline] ip6_local_out+0x9b/0x180 net/ipv6/output_core.c:176 ip6_send_skb+0xa1/0x340 net/ipv6/ip6_output.c:1751 udp_v6_send_skb+0x4f1/0xe70 net/ipv6/udp.c:974 udpv6_sendmsg+0x1ebb/0x2430 net/ipv6/udp.c:1246 inet_sendmsg+0x203/0x4d0 net/ipv4/af_inet.c:770 sock_sendmsg_nosec net/socket.c:635 [inline] sock_sendmsg+0xcc/0x110 net/socket.c:645 ___sys_sendmsg+0x47a/0x840 net/socket.c:1969 __sys_sendmmsg+0x23c/0x3d0 net/socket.c:2052 C_SYSC_sendmmsg net/compat.c:742 [inline] compat_SyS_sendmmsg+0x32/0x40 net/compat.c:739 do_syscall_32_irqs_on arch/x86/entry/common.c:325 [inline] do_fast_syscall_32+0x2f7/0x870 arch/x86/entry/common.c:387 entry_SYSENTER_compat+0x90/0xa2 arch/x86/entry/entry_64_compat.S:137 The buggy address belongs to the object at ffff8801c816ac80 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 24 bytes inside of 512-byte region [ffff8801c816ac80, ffff8801c816ae80) The buggy address belongs to the page: page:ffffea0007205a80 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: ffff8801c816ad80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff8801c816ae00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff8801c816ae80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff8801c816af00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8801c816af80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== IPVS: set_ctl: invalid protocol: 0 172.20.20.187:20004 wlc