================================================================== BUG: KASAN: slab-out-of-bounds in do_csum+0x44/0x254 arch/arm64/lib/csum.c:39 Read of size 4294966928 at addr ffff00013900e970 by task syz-executor.2/25280 CPU: 0 PID: 25280 Comm: syz-executor.2 Not tainted 6.4.0-rc3-syzkaller-geb0f1697d729 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023 Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:233 show_stack+0x2c/0x44 arch/arm64/kernel/stacktrace.c:240 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:351 [inline] print_report+0x174/0x514 mm/kasan/report.c:462 kasan_report+0xd4/0x130 mm/kasan/report.c:572 kasan_check_range+0x264/0x2a4 mm/kasan/generic.c:187 __kasan_check_read+0x20/0x30 mm/kasan/shadow.c:31 do_csum+0x44/0x254 arch/arm64/lib/csum.c:39 csum_partial+0x30/0x58 lib/checksum.c:128 gso_make_checksum include/linux/skbuff.h:4918 [inline] __udp_gso_segment+0xaf4/0x1bc4 net/ipv4/udp_offload.c:332 udp6_ufo_fragment+0x540/0xca0 net/ipv6/udp_offload.c:47 ipv6_gso_segment+0x5cc/0x1760 net/ipv6/ip6_offload.c:119 skb_mac_gso_segment+0x2b4/0x5b0 net/core/gro.c:141 __skb_gso_segment+0x250/0x3d0 net/core/dev.c:3401 skb_gso_segment include/linux/netdevice.h:4859 [inline] validate_xmit_skb+0x364/0xdbc net/core/dev.c:3659 validate_xmit_skb_list+0x94/0x130 net/core/dev.c:3709 sch_direct_xmit+0xe8/0x548 net/sched/sch_generic.c:327 __dev_xmit_skb net/core/dev.c:3805 [inline] __dev_queue_xmit+0x147c/0x3318 net/core/dev.c:4210 dev_queue_xmit include/linux/netdevice.h:3085 [inline] packet_xmit+0x6c/0x318 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3081 [inline] packet_sendmsg+0x376c/0x4c98 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:724 [inline] sock_sendmsg net/socket.c:747 [inline] __sys_sendto+0x3b4/0x538 net/socket.c:2144 __do_sys_sendto net/socket.c:2156 [inline] __se_sys_sendto net/socket.c:2152 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2152 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 Allocated by task 25280: kasan_save_stack mm/kasan/common.c:45 [inline] kasan_set_track+0x4c/0x7c mm/kasan/common.c:52 kasan_save_alloc_info+0x24/0x30 mm/kasan/generic.c:510 ____kasan_kmalloc mm/kasan/common.c:374 [inline] __kasan_kmalloc+0xac/0xc4 mm/kasan/common.c:383 kasan_kmalloc include/linux/kasan.h:196 [inline] __do_kmalloc_node mm/slab_common.c:966 [inline] __kmalloc_node_track_caller+0xd0/0x1c0 mm/slab_common.c:986 kmalloc_reserve+0x120/0x240 net/core/skbuff.c:585 __alloc_skb+0x1c8/0x3d8 net/core/skbuff.c:654 skb_segment+0xa80/0x32f0 net/core/skbuff.c:4516 __udp_gso_segment+0x5d0/0x1bc4 net/ipv4/udp_offload.c:290 udp6_ufo_fragment+0x540/0xca0 net/ipv6/udp_offload.c:47 ipv6_gso_segment+0x5cc/0x1760 net/ipv6/ip6_offload.c:119 skb_mac_gso_segment+0x2b4/0x5b0 net/core/gro.c:141 __skb_gso_segment+0x250/0x3d0 net/core/dev.c:3401 skb_gso_segment include/linux/netdevice.h:4859 [inline] validate_xmit_skb+0x364/0xdbc net/core/dev.c:3659 validate_xmit_skb_list+0x94/0x130 net/core/dev.c:3709 sch_direct_xmit+0xe8/0x548 net/sched/sch_generic.c:327 __dev_xmit_skb net/core/dev.c:3805 [inline] __dev_queue_xmit+0x147c/0x3318 net/core/dev.c:4210 dev_queue_xmit include/linux/netdevice.h:3085 [inline] packet_xmit+0x6c/0x318 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3081 [inline] packet_sendmsg+0x376c/0x4c98 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:724 [inline] sock_sendmsg net/socket.c:747 [inline] __sys_sendto+0x3b4/0x538 net/socket.c:2144 __do_sys_sendto net/socket.c:2156 [inline] __se_sys_sendto net/socket.c:2152 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2152 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 Last potentially related work creation: kasan_save_stack+0x40/0x6c mm/kasan/common.c:45 __kasan_record_aux_stack+0xcc/0xe8 mm/kasan/generic.c:491 kasan_record_aux_stack_noalloc+0x14/0x20 mm/kasan/generic.c:501 kvfree_call_rcu+0xa8/0x688 kernel/rcu/tree.c:3332 neigh_destroy+0x474/0x6b4 net/core/neighbour.c:910 neigh_release include/net/neighbour.h:447 [inline] neigh_cleanup_and_release+0x138/0x37c net/core/neighbour.c:103 neigh_periodic_work+0x488/0xae0 net/core/neighbour.c:994 process_one_work+0x788/0x12d4 kernel/workqueue.c:2405 worker_thread+0x8e0/0xfe8 kernel/workqueue.c:2552 kthread+0x288/0x310 kernel/kthread.c:379 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:853 The buggy address belongs to the object at ffff00013900e800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 368 bytes inside of allocated 1024-byte region [ffff00013900e800, ffff00013900ec00) The buggy address belongs to the physical page: page:000000005516120e refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x179008 head:000000005516120e order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff) page_type: 0xffffffff() raw: 05ffc00000010200 ffff0000c0002780 dead000000000100 dead000000000122 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff00013900eb00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff00013900eb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff00013900ec00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff00013900ec80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff00013900ed00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== ================================================================================ UBSAN: shift-out-of-bounds in arch/arm64/lib/csum.c:116:15 shift exponent 3008 is too large for 64-bit type 'u64' (aka 'unsigned long long') CPU: 0 PID: 25280 Comm: syz-executor.2 Tainted: G B 6.4.0-rc3-syzkaller-geb0f1697d729 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023 Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:233 show_stack+0x2c/0x44 arch/arm64/kernel/stacktrace.c:240 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 dump_stack+0x1c/0x28 lib/dump_stack.c:113 ubsan_epilogue lib/ubsan.c:217 [inline] __ubsan_handle_shift_out_of_bounds+0x2f4/0x36c lib/ubsan.c:387 do_csum+0x238/0x254 arch/arm64/lib/csum.c:116 csum_partial+0x30/0x58 lib/checksum.c:128 gso_make_checksum include/linux/skbuff.h:4918 [inline] __udp_gso_segment+0xaf4/0x1bc4 net/ipv4/udp_offload.c:332 udp6_ufo_fragment+0x540/0xca0 net/ipv6/udp_offload.c:47 ipv6_gso_segment+0x5cc/0x1760 net/ipv6/ip6_offload.c:119 skb_mac_gso_segment+0x2b4/0x5b0 net/core/gro.c:141 __skb_gso_segment+0x250/0x3d0 net/core/dev.c:3401 skb_gso_segment include/linux/netdevice.h:4859 [inline] validate_xmit_skb+0x364/0xdbc net/core/dev.c:3659 validate_xmit_skb_list+0x94/0x130 net/core/dev.c:3709 sch_direct_xmit+0xe8/0x548 net/sched/sch_generic.c:327 __dev_xmit_skb net/core/dev.c:3805 [inline] __dev_queue_xmit+0x147c/0x3318 net/core/dev.c:4210 dev_queue_xmit include/linux/netdevice.h:3085 [inline] packet_xmit+0x6c/0x318 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3081 [inline] packet_sendmsg+0x376c/0x4c98 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:724 [inline] sock_sendmsg net/socket.c:747 [inline] __sys_sendto+0x3b4/0x538 net/socket.c:2144 __do_sys_sendto net/socket.c:2156 [inline] __se_sys_sendto net/socket.c:2152 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2152 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 ================================================================================ ================================================================================ UBSAN: shift-out-of-bounds in arch/arm64/lib/csum.c:116:25 shift exponent 3008 is too large for 64-bit type 'u64' (aka 'unsigned long long') CPU: 0 PID: 25280 Comm: syz-executor.2 Tainted: G B 6.4.0-rc3-syzkaller-geb0f1697d729 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023 Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:233 show_stack+0x2c/0x44 arch/arm64/kernel/stacktrace.c:240 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 dump_stack+0x1c/0x28 lib/dump_stack.c:113 ubsan_epilogue lib/ubsan.c:217 [inline] __ubsan_handle_shift_out_of_bounds+0x2f4/0x36c lib/ubsan.c:387 do_csum+0x250/0x254 arch/arm64/lib/csum.c:116 csum_partial+0x30/0x58 lib/checksum.c:128 gso_make_checksum include/linux/skbuff.h:4918 [inline] __udp_gso_segment+0xaf4/0x1bc4 net/ipv4/udp_offload.c:332 udp6_ufo_fragment+0x540/0xca0 net/ipv6/udp_offload.c:47 ipv6_gso_segment+0x5cc/0x1760 net/ipv6/ip6_offload.c:119 skb_mac_gso_segment+0x2b4/0x5b0 net/core/gro.c:141 __skb_gso_segment+0x250/0x3d0 net/core/dev.c:3401 skb_gso_segment include/linux/netdevice.h:4859 [inline] validate_xmit_skb+0x364/0xdbc net/core/dev.c:3659 validate_xmit_skb_list+0x94/0x130 net/core/dev.c:3709 sch_direct_xmit+0xe8/0x548 net/sched/sch_generic.c:327 __dev_xmit_skb net/core/dev.c:3805 [inline] __dev_queue_xmit+0x147c/0x3318 net/core/dev.c:4210 dev_queue_xmit include/linux/netdevice.h:3085 [inline] packet_xmit+0x6c/0x318 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3081 [inline] packet_sendmsg+0x376c/0x4c98 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:724 [inline] sock_sendmsg net/socket.c:747 [inline] __sys_sendto+0x3b4/0x538 net/socket.c:2144 __do_sys_sendto net/socket.c:2156 [inline] __se_sys_sendto net/socket.c:2152 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2152 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 ================================================================================ skb len=9070 headroom=178 headlen=198 tailroom=0 mac=(178,14) net=(192,176) trans=368 shinfo(txflags=0 nr_frags=3 gso(size=7321 type=131074 segs=0)) csum(0x0 ip_summed=0 complete_sw=0 valid=0 level=0) hash(0x0 sw=0 l4=0) proto=0x86dd pkttype=0 iif=0 dev name=erspan0 feat=0x0000000000006869 sk family=17 type=3 proto=0 skb linear: 00000000: 0c 2c ff f5 7b 01 6d 27 63 bd 56 37 86 dd 39 8d skb linear: 00000010: 53 75 03 e5 2b 02 59 1f 11 1e e6 16 d5 c0 18 43 skb linear: 00000020: 74 a7 ff e4 ec 55 e0 65 47 86 a7 01 00 93 5b a5 skb linear: 00000030: 14 d4 08 08 ef a0 11 10 16 01 84 2f d0 8d 49 a4 skb linear: 00000040: 7e ff 71 bc 41 31 fe 4c 1f 99 bf 00 a9 00 00 00 skb linear: 00000050: 08 d1 84 3e 77 0a fd 6e 9e f5 83 7d bd 00 00 00 skb linear: 00000060: 00 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb linear: 00000070: 00 00 00 00 00 00 11 00 00 00 05 00 00 00 01 00 skb linear: 00000080: 00 06 89 7b 42 8e 75 eb 00 00 00 00 00 00 00 00 skb linear: 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb linear: 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb linear: 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb linear: 000000c0: 00 00 00 00 00 00 skb frag: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb frag: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb frag: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb frag: 00000030: 65 72 73 70 61 6e 30 00 00 00 00 00 00 00 00 00 skb frag: 00000040: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb frag: 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 skb frag: 00000060: 00 00 00 00 00 00 00 00 00 00 ------------[ cut here ]------------ erspan0: caps=(0x0000000000006869, 0x0000000000000000) WARNING: CPU: 0 PID: 25280 at net/core/dev.c:3230 skb_warn_bad_offload+0x160/0x194 net/core/dev.c:3228 Modules linked in: CPU: 0 PID: 25280 Comm: syz-executor.2 Tainted: G B 6.4.0-rc3-syzkaller-geb0f1697d729 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : skb_warn_bad_offload+0x160/0x194 net/core/dev.c:3228 lr : skb_warn_bad_offload+0x160/0x194 net/core/dev.c:3228 sp : ffff800022a67280 x29: ffff800022a67280 x28: dfff800000000000 x27: ffff0001302ba000 x26: 0000000000000020 x25: 1fffe00019064a88 x24: ffff8000146f7e00 x23: dfff800000000000 x22: ffff0000c83253d8 x21: ffff0001302ba000 x20: ffff0001302ba000 x19: ffff0001302ba0f0 x18: 0000000000000000 x17: 0000000000000000 x16: ffff8000124340b0 x15: 0000000000000203 x14: 0000000000000000 x13: fffffffffffdbae8 x12: 0000000000000001 x11: 0000000000040000 x10: 000000000003ffff x9 : 9a665911a5b31500 x8 : 9a665911a5b31500 x7 : fffffffffffdbae8 x6 : fffffffffffdba98 x5 : ffff800022a66b78 x4 : ffff800015f786d0 x3 : ffff80000aa946e4 x2 : 0000000000000001 x1 : 0000000000000201 x0 : 0000000000000000 Call trace: skb_warn_bad_offload+0x160/0x194 net/core/dev.c:3228 __skb_gso_segment+0x2f8/0x3d0 net/core/dev.c:3404 skb_gso_segment include/linux/netdevice.h:4859 [inline] validate_xmit_skb+0x364/0xdbc net/core/dev.c:3659 validate_xmit_skb_list+0x94/0x130 net/core/dev.c:3709 sch_direct_xmit+0xe8/0x548 net/sched/sch_generic.c:327 __dev_xmit_skb net/core/dev.c:3805 [inline] __dev_queue_xmit+0x147c/0x3318 net/core/dev.c:4210 dev_queue_xmit include/linux/netdevice.h:3085 [inline] packet_xmit+0x6c/0x318 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3081 [inline] packet_sendmsg+0x376c/0x4c98 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:724 [inline] sock_sendmsg net/socket.c:747 [inline] __sys_sendto+0x3b4/0x538 net/socket.c:2144 __do_sys_sendto net/socket.c:2156 [inline] __se_sys_sendto net/socket.c:2152 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2152 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 irq event stamp: 506 hardirqs last enabled at (506): [] __exit_to_kernel_mode arch/arm64/kernel/entry-common.c:84 [inline] hardirqs last enabled at (506): [] exit_to_kernel_mode+0xdc/0x10c arch/arm64/kernel/entry-common.c:94 hardirqs last disabled at (505): [] __el1_irq arch/arm64/kernel/entry-common.c:468 [inline] hardirqs last disabled at (505): [] el1_interrupt+0x24/0x68 arch/arm64/kernel/entry-common.c:486 softirqs last enabled at (466): [] local_bh_enable+0x10/0x34 include/linux/bottom_half.h:32 softirqs last disabled at (492): [] local_bh_disable+0x10/0x34 include/linux/bottom_half.h:19 ---[ end trace 0000000000000000 ]---