======================================
| xx__-> [ 329.459153][ C0] ==================================================================
| [ 329.459445][ C0] BUG: KASAN: slab-out-of-bounds in tcp_v6_send_response.isra.0 (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/net/inet_sock.h:411 net/ipv6/tcp_ipv6.c:983)
| [ 329.459727][ C0] Read of size 8 at addr ff110000095d8bd0 by task iperf3/3537
| [ 329.459971][ C0]
[ 329.460057][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 329.460059][ C0] Call Trace:
[ 329.460060][ C0]
[ 329.460062][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120)
[ 329.460067][ C0] print_address_description.constprop.0 (mm/kasan/report.c:378)
[ 329.460071][ C0] print_report (mm/kasan/report.c:482)
[ 329.460073][ C0] ? __virt_addr_valid (./include/linux/rcupdate.h:948 ./include/linux/mmzone.h:2276 arch/x86/mm/physaddr.c:54)
[ 329.460077][ C0] ? __virt_addr_valid (./include/linux/rcupdate.h:974 (discriminator 1) ./include/linux/mmzone.h:2286 (discriminator 1) arch/x86/mm/physaddr.c:54 (discriminator 1))
[ 329.460079][ C0] kasan_report (mm/kasan/report.c:595)
[ 329.460082][ C0] ? tcp_v6_send_response.isra.0 (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/net/inet_sock.h:411 net/ipv6/tcp_ipv6.c:983)
[ 329.460084][ C0] ? tcp_v6_send_response.isra.0 (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/net/inet_sock.h:411 net/ipv6/tcp_ipv6.c:983)
[ 329.460086][ C0] kasan_check_range (mm/kasan/generic.c:186 mm/kasan/generic.c:200)
[ 329.460088][ C0] tcp_v6_send_response.isra.0 (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/net/inet_sock.h:411 net/ipv6/tcp_ipv6.c:983)
[ 329.460090][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4116 (discriminator 3) kernel/rcu/tree.c:4108 (discriminator 3))
[ 329.460094][ C0] ? __xfrm_policy_check2.constprop.0 (net/ipv4/ip_input.c:414 (discriminator 5))
[ 329.460096][ C0] ? clock_was_set (kernel/time/hrtimer.c:950 (discriminator 32768) kernel/time/hrtimer.c:998 (discriminator 32768))
[ 329.460099][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 329.460102][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 329.460104][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4341)
[ 329.460106][ C0] tcp_v6_rcv (net/ipv6/tcp_ipv6.c:1149 net/ipv6/tcp_ipv6.c:1201 net/ipv6/tcp_ipv6.c:1993)
[ 329.460110][ C0] ? tcp_v6_syn_recv_sock (./include/net/sock.h:2479)
[ 329.460112][ C0] ? ipv6_raw_deliver (./include/linux/rcupdate.h:319 (discriminator 2) ./include/linux/rcupdate.h:880 (discriminator 2) net/ipv6/raw.c:207 (discriminator 2))
[ 329.460114][ C0] ? ipv6_raw_deliver (./include/linux/rcupdate.h:882 net/ipv6/raw.c:207)
[ 329.460117][ C0] ip6_protocol_deliver_rcu (net/ipv6/ip6_input.c:479)
[ 329.460120][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 329.460122][ C0] ? process_backlog (./include/linux/local_lock_internal.h:62 (discriminator 2) net/core/dev.c:6726 (discriminator 2))
[ 329.460126][ C0] ip6_input (net/ipv6/ip6_input.c:534 ./include/linux/netfilter.h:429 net/ipv6/ip6_input.c:545)
[ 329.460128][ C0] __netif_receive_skb_one_core (net/core/dev.c:6264)
[ 329.460130][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5908 (discriminator 2))
[ 329.460131][ C0] ? process_backlog (./include/linux/local_lock_internal.h:62 (discriminator 2) net/core/dev.c:6726 (discriminator 2))
[ 329.460133][ C0] ? __netif_receive_skb_list_core (net/core/dev.c:6310)
[ 329.460135][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 329.460137][ C0] process_backlog (net/core/dev.c:6728)
[ 329.460139][ C0] __napi_poll (net/core/dev.c:7787)
[ 329.460141][ C0] net_rx_action (net/core/dev.c:7850 net/core/dev.c:8007)
[ 329.460144][ C0] ? __napi_poll (./include/net/gro.h:507)
[ 329.460146][ C0] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 329.460150][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4341)
[ 329.460152][ C0] handle_softirqs (kernel/softirq.c:645)
[ 329.460156][ C0] ? _local_bh_enable (kernel/softirq.c:428 (discriminator 1))
[ 329.460157][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 329.460159][ C0] ? trace_csd_function_exit (./include/trace/events/csd.h:64 (discriminator 22))
[ 329.460162][ C0] do_softirq (kernel/softirq.c:546 (discriminator 19) kernel/softirq.c:533 (discriminator 19))
[ 329.460164][ C0]
[ 329.460164][ C0]
[ 329.460165][ C0] ? __dev_queue_xmit (./include/linux/rcupdate.h:319 (discriminator 2) ./include/linux/rcupdate.h:920 (discriminator 2) net/core/dev.c:4961 (discriminator 2))
[ 329.460167][ C0] __local_bh_enable_ip (kernel/softirq.c:473)
[ 329.460169][ C0] __dev_queue_xmit (./include/linux/bottom_half.h:33 (discriminator 2) ./include/linux/rcupdate.h:923 (discriminator 2) net/core/dev.c:4961 (discriminator 2))
[ 329.460171][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5254)
[ 329.460173][ C0] ? netdev_core_pick_tx (net/core/dev.c:4784)
[ 329.460175][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5123)
[ 329.460176][ C0] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 329.460178][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 329.460180][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 329.460182][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4341)
[ 329.460183][ C0] ? __asan_memcpy (mm/kasan/shadow.c:106 (discriminator 1))
[ 329.460185][ C0] ? neigh_hh_output (./include/net/neighbour.h:525)
[ 329.460188][ C0] ip6_finish_output (net/ipv6/ip6_output.c:210 net/ipv6/ip6_output.c:221)
[ 329.460190][ C0] ip6_output (./include/linux/netfilter.h:421 net/ipv6/ip6_output.c:248)
[ 329.460192][ C0] ip6_xmit (./include/net/dst.h:470 (discriminator 4) ./include/linux/netfilter.h:429 (discriminator 4) net/ipv6/ip6_output.c:381 (discriminator 4))
[ 329.460196][ C0] ? ip6_autoflowlabel (./arch/x86/include/asm/bitops.h:202 (discriminator 1))
[ 329.460197][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5254)
[ 329.460200][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5908 (discriminator 2))
[ 329.460201][ C0] ? inet6_csk_xmit (./include/linux/rcupdate.h:309 (discriminator 2) ./include/linux/rcupdate.h:849 (discriminator 2) net/ipv6/inet6_connection_sock.c:120 (discriminator 2))
[ 329.460204][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 329.460205][ C0] ? lock_acquire (./include/trace/events/lock.h:23 (discriminator 22) kernel/locking/lockdep.c:5871 (discriminator 22))
[ 329.460207][ C0] inet6_csk_xmit (net/ipv6/inet6_connection_sock.c:123 (discriminator 13))
[ 329.460210][ C0] __tcp_transmit_skb (net/ipv4/tcp_output.c:1716)
[ 329.460215][ C0] ? __tcp_select_window (./arch/x86/include/asm/atomic.h:23)
[ 329.460216][ C0] ? tcp_mtu_probe (./include/net/net_namespace.h:422 (discriminator 1) ./include/net/sock.h:713 (discriminator 1) net/ipv4/tcp_output.c:2697 (discriminator 1))
[ 329.460219][ C0] tcp_write_xmit (net/ipv4/tcp_output.c:1734 net/ipv4/tcp_output.c:3070)
[ 329.460222][ C0] ? tcp_current_mss (net/ipv4/tcp_output.c:2120)
[ 329.460224][ C0] ? tcp_retrans_try_collapse (./arch/x86/include/asm/atomic.h:23)
[ 329.460226][ C0] ? tcp_set_state (net/ipv4/tcp.c:3028)
[ 329.460230][ C0] __tcp_push_pending_frames (net/ipv4/tcp_output.c:3253 (discriminator 1))
[ 329.460232][ C0] __tcp_close (net/ipv4/tcp.c:3220)
[ 329.460234][ C0] tcp_close (net/ipv4/tcp.c:3311)
[ 329.460242][ C0] inet_release (net/ipv4/af_inet.c:442)
[ 329.460244][ C0] ? fcntl_setlk (fs/locks.c:2552)
[ 329.460248][ C0] __sock_release (net/socket.c:735)
[ 329.460250][ C0] sock_close (net/socket.c:1526 (discriminator 1))
[ 329.460252][ C0] __fput (fs/file_table.c:512)
[ 329.460255][ C0] fput_close_sync (fs/file_table.c:617)
[ 329.460257][ C0] ? alloc_file_clone (fs/file_table.c:479)
[ 329.460259][ C0] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:58 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141)
[ 329.460261][ C0] __x64_sys_close (fs/open.c:1560 fs/open.c:1545 fs/open.c:1545)
[ 329.460262][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84)
[ 329.460264][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1489 (discriminator 3) arch/x86/mm/fault.c:1536 (discriminator 3))
[ 329.460267][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)
[ 329.460269][ C0] RIP: 0033:0x7fe804ea1312
[ 329.460272][ C0] Code: 08 0f 85 71 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
All code
========
0: 08 0f or %cl,(%rdi)
2: 85 71 41 test %esi,0x41(%rcx)
5: ff (bad)
6: ff 49 89 decl -0x77(%rcx)
9: fb sti
a: 48 89 f0 mov %rsi,%rax
d: 48 89 d7 mov %rdx,%rdi
10: 48 89 ce mov %rcx,%rsi
13: 4c 89 c2 mov %r8,%rdx
16: 4d 89 ca mov %r9,%r10
19: 4c 8b 44 24 08 mov 0x8(%rsp),%r8
1e: 4c 8b 4c 24 10 mov 0x10(%rsp),%r9
23: 4c 89 5c 24 08 mov %r11,0x8(%rsp)
28: 0f 05 syscall
2a:* c3 ret <-- trapping instruction
2b: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
32: 00 00 00
35: 0f 1f 00 nopl (%rax)
38: f3 0f 1e fa endbr64
3c: 55 push %rbp
3d: bf .byte 0xbf
3e: 01 00 add %eax,(%rax)
Code starting with the faulting instruction
===========================================
0: c3 ret
1: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
8: 00 00 00
b: 0f 1f 00 nopl (%rax)
e: f3 0f 1e fa endbr64
12: 55 push %rbp
13: bf .byte 0xbf
14: 01 00 add %eax,(%rax)
[ 329.460274][ C0] RSP: 002b:00007ffdaecdd7d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
[ 329.460278][ C0] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fe804ea1312
[ 329.460279][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000007
[ 329.460280][ C0] RBP: 00007ffdaecdd800 R08: 0000000000000000 R09: 0000000000000000
[ 329.460281][ C0] R10: 0000000000000000 R11: 0000000000000246 R12: 0000564660b83010
Finger prints:
print_report:kasan_report:kasan_check_range:tcp_v6_rcv:ip6_protocol_deliver_rcu