======================================
| xx__-> [ 9.572907][ C1] ==================================================================
| [ 9.573203][ C1] BUG: KASAN: slab-out-of-bounds in tcp_v6_send_response (./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)
| [ 9.573444][ C1] Read of size 8 at addr ff1100000d868570 by task rst_ipv6/169
| [ 9.573673][ C1]
[ 9.573756][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 9.573758][ C1] Call Trace:
[ 9.573760][ C1]
[ 9.573761][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120)
[ 9.573767][ C1] print_address_description.constprop.0 (mm/kasan/report.c:378)
[ 9.573772][ C1] print_report (mm/kasan/report.c:482)
[ 9.573773][ C1] ? __virt_addr_valid (./include/linux/rcupdate.h:948 ./include/linux/mmzone.h:2276 arch/x86/mm/physaddr.c:54)
[ 9.573777][ C1] ? __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))
[ 9.573779][ C1] kasan_report (mm/kasan/report.c:595)
[ 9.573783][ C1] ? tcp_v6_send_response (./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)
[ 9.573784][ C1] ? tcp_v6_send_response (./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)
[ 9.573787][ C1] kasan_check_range (mm/kasan/generic.c:186 mm/kasan/generic.c:200)
[ 9.573789][ C1] tcp_v6_send_response (./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)
[ 9.573792][ C1] ? tcp_v6_send_synack (./include/net/inet_sock.h:338 (discriminator 1))
[ 9.573793][ C1] ? lock_acquire.part.0 (./include/linux/kasan.h:402 (discriminator 1) kernel/locking/lockdep.c:5882 (discriminator 1))
[ 9.573796][ C1] ? mark_usage (kernel/locking/lockdep.c:4690)
[ 9.573798][ C1] ? tcp_ao_established_key (net/ipv4/tcp_ao.c:222 (discriminator 6))
[ 9.573801][ C1] ? tcp_ao_prepare_reset (net/ipv4/tcp_ao.c:855)
[ 9.573804][ C1] tcp_v6_send_reset (net/ipv6/tcp_ipv6.c:1131 (discriminator 1))
[ 9.573806][ C1] ? trace_fib6_table_lookup (./include/trace/events/fib6.h:13 (discriminator 22))
[ 9.573809][ C1] ? tcp_v6_timewait_ack (net/ipv6/tcp_ipv6.c:1195)
[ 9.573810][ C1] ? reacquire_held_locks (kernel/locking/lockdep.c:5401)
[ 9.573812][ C1] ? __local_bh_enable_ip (kernel/softirq.c:478)
[ 9.573816][ C1] ? __asan_memcpy (mm/kasan/shadow.c:106 (discriminator 1))
[ 9.573818][ C1] tcp_v6_rcv (net/ipv6/tcp_ipv6.c:1996)
[ 9.573821][ C1] ? tcp_v6_syn_recv_sock (./include/net/sock.h:1128 (discriminator 2))
[ 9.573822][ C1] ? ipv6_raw_deliver (./include/linux/rcupdate.h:319 (discriminator 2) ./include/linux/rcupdate.h:880 (discriminator 2) net/ipv6/raw.c:207 (discriminator 2))
[ 9.573825][ C1] ? ipv6_raw_deliver (./include/linux/rcupdate.h:882 net/ipv6/raw.c:207)
[ 9.573827][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5254)
[ 9.573829][ C1] ip6_protocol_deliver_rcu (net/ipv6/ip6_input.c:479)
[ 9.573833][ C1] ip6_input_finish (net/ipv6/ip6_input.c:534)
[ 9.573835][ C1] ip6_input (./include/linux/netfilter.h:325 ./include/linux/netfilter.h:319 net/ipv6/ip6_input.c:545)
[ 9.573837][ C1] ? ip6_input_finish (net/ipv6/ip6_input.c:527 (discriminator 46))
[ 9.573839][ C1] ? ip6_rcv_core (./include/linux/skbuff.h:3432 net/ipv6/ip6_input.c:332)
[ 9.573841][ C1] ipv6_rcv (./include/net/dst.h:480 (discriminator 4) net/ipv6/ip6_input.c:119 (discriminator 4) ./include/linux/netfilter.h:325 (discriminator 4) ./include/linux/netfilter.h:319 (discriminator 4) net/ipv6/ip6_input.c:351 (discriminator 4))
[ 9.573843][ C1] ? ip6_rcv_core (net/ipv6/ip6_input.c:211 (discriminator 96))
[ 9.573845][ C1] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4116 (discriminator 3) kernel/rcu/tree.c:4108 (discriminator 3))
[ 9.573849][ C1] ? mark_usage (kernel/locking/lockdep.c:4690)
[ 9.573850][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5254)
[ 9.573852][ C1] ? trace_raw_output_rcu_invoke_kfree_bulk_callback (./include/trace/events/rcu.h:655)
[ 9.573854][ C1] ? process_backlog (./include/linux/local_lock_internal.h:62 (discriminator 2) net/core/dev.c:6726 (discriminator 2))
[ 9.573858][ C1] __netif_receive_skb_one_core (net/core/dev.c:6264)
[ 9.573860][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5908 (discriminator 2))
[ 9.573861][ C1] ? process_backlog (./include/linux/local_lock_internal.h:62 (discriminator 2) net/core/dev.c:6726 (discriminator 2))
[ 9.573863][ C1] ? __netif_receive_skb_list_core (net/core/dev.c:6310)
[ 9.573865][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 9.573868][ C1] process_backlog (net/core/dev.c:6728)
[ 9.573870][ C1] __napi_poll (net/core/dev.c:7787)
[ 9.573873][ C1] net_rx_action (net/core/dev.c:7850 net/core/dev.c:8007)
[ 9.573875][ C1] ? __napi_poll (./include/net/gro.h:507)
[ 9.573877][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 9.573880][ C1] ? clockevents_program_event (kernel/time/clockevents.c:372)
[ 9.573883][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 9.573885][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 9.573886][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4341)
[ 9.573888][ C1] handle_softirqs (kernel/softirq.c:645)
[ 9.573890][ C1] ? _local_bh_enable (kernel/softirq.c:428 (discriminator 1))
[ 9.573892][ C1] ? _local_bh_enable (kernel/softirq.c:428 (discriminator 1))
[ 9.573893][ C1] ? __dev_queue_xmit (./include/linux/rcupdate.h:319 (discriminator 2) ./include/linux/rcupdate.h:920 (discriminator 2) net/core/dev.c:4961 (discriminator 2))
[ 9.573896][ C1] do_softirq (kernel/softirq.c:546 (discriminator 19) kernel/softirq.c:533 (discriminator 19))
[ 9.573897][ C1]
[ 9.573898][ C1]
[ 9.573898][ C1] __local_bh_enable_ip (kernel/softirq.c:473)
[ 9.573900][ C1] __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))
[ 9.573902][ C1] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380)
[ 9.573904][ C1] ? validate_chain (kernel/locking/lockdep.c:3817 (discriminator 2) kernel/locking/lockdep.c:3837 (discriminator 2) kernel/locking/lockdep.c:3892 (discriminator 2))
[ 9.573906][ C1] ? netdev_core_pick_tx (net/core/dev.c:4784)
[ 9.573908][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5908 (discriminator 2))
[ 9.573909][ C1] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 9.573911][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 9.573913][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 9.573914][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4341)
[ 9.573916][ C1] ? __asan_memcpy (mm/kasan/shadow.c:106 (discriminator 1))
[ 9.573917][ C1] ? neigh_hh_output (./include/net/neighbour.h:525)
[ 9.573920][ C1] ip6_finish_output2 (./include/net/neighbour.h:558 net/ipv6/ip6_output.c:138)
[ 9.573922][ C1] ? ip6_dst_lookup (net/ipv6/ip6_output.c:1297)
[ 9.573924][ C1] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 9.573925][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 9.573927][ C1] ? ip6_mtu (./include/linux/rcupdate.h:319 (discriminator 2) ./include/linux/rcupdate.h:880 (discriminator 2) ./include/net/ip6_route.h:384 (discriminator 2) net/ipv6/route.c:3290 (discriminator 2))
[ 9.573929][ C1] ip6_finish_output (net/ipv6/ip6_output.c:210 net/ipv6/ip6_output.c:221)
[ 9.573931][ C1] ip6_output (./include/linux/netfilter.h:314 net/ipv6/ip6_output.c:248)
[ 9.573933][ C1] ? ip6_finish_output (./include/net/inet_sock.h:338 (discriminator 1))
[ 9.573935][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5908 (discriminator 2))
[ 9.573936][ C1] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 9.573938][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 9.573940][ C1] ip6_xmit (./include/net/dst.h:470 (discriminator 4) ./include/linux/netfilter.h:325 (discriminator 4) ./include/linux/netfilter.h:319 (discriminator 4) net/ipv6/ip6_output.c:381 (discriminator 4))
[ 9.573942][ C1] ? mark_usage (kernel/locking/lockdep.c:4690)
[ 9.573943][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5254)
[ 9.573946][ C1] ? ip6_autoflowlabel (./arch/x86/include/asm/bitops.h:202 (discriminator 1))
[ 9.573947][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 9.573949][ C1] ? mark_usage (kernel/locking/lockdep.c:4690)
[ 9.573950][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5254)
[ 9.573952][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5908 (discriminator 2))
[ 9.573954][ C1] ? 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))
[ 9.573956][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 9.573958][ C1] ? lock_acquire (./include/trace/events/lock.h:23 (discriminator 22) kernel/locking/lockdep.c:5871 (discriminator 22))
[ 9.573960][ C1] inet6_csk_xmit (net/ipv6/inet6_connection_sock.c:123 (discriminator 13))
[ 9.573962][ C1] __tcp_transmit_skb (net/ipv4/tcp_output.c:1716)
[ 9.573966][ C1] ? __tcp_select_window (./arch/x86/include/asm/atomic.h:23)
[ 9.573967][ C1] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 9.573969][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5554)
[ 9.573970][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:753 (discriminator 3))
[ 9.573972][ C1] ? 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))
[ 9.573974][ C1] tcp_write_xmit (net/ipv4/tcp_output.c:1734 net/ipv4/tcp_output.c:3070)
[ 9.573977][ C1] ? __asan_memset (mm/kasan/shadow.c:84 (discriminator 1))
[ 9.573978][ C1] ? __alloc_skb (./include/linux/instrumented.h:97 ./include/linux/atomic/atomic-instrumented.h:67 ./include/linux/refcount.h:134 net/core/skbuff.c:737)
[ 9.573981][ C1] ? tcp_retrans_try_collapse (./arch/x86/include/asm/atomic.h:23)
[ 9.573983][ C1] ? skb_do_copy_data_nocache (./include/linux/uio.h:228 ./include/linux/uio.h:245 ./include/net/sock.h:2327)
[ 9.573985][ C1] ? trace_tcp_sendmsg_locked (./include/trace/events/tcp.h:335 (discriminator 19))
[ 9.573987][ C1] __tcp_push_pending_frames (net/ipv4/tcp_output.c:3253 (discriminator 1))
[ 9.573989][ C1] tcp_sendmsg_locked (net/ipv4/tcp.c:1415)
[ 9.573993][ C1] ? tcp_sendmsg_fastopen (net/ipv4/tcp.c:1081)
[ 9.573995][ C1] ? do_raw_spin_lock (./include/linux/instrumented.h:55 ./include/linux/atomic/atomic-instrumented.h:1301 ./include/asm-generic/qspinlock.h:112 kernel/locking/spinlock_debug.c:116)
[ 9.573997][ C1] ? find_held_lock (kernel/locking/lockdep.c:5367)
[ 9.573998][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4341)
[ 9.574000][ C1] tcp_sendmsg (net/ipv4/tcp.c:1452)
[ 9.574002][ C1] __sys_sendto (net/socket.c:800 (discriminator 4) net/socket.c:815 (discriminator 4) net/socket.c:2281 (discriminator 4))
[ 9.574005][ C1] ? __ia32_sys_getpeername (net/socket.c:2235)
[ 9.574009][ C1] ? __sys_getsockopt (./include/linux/file.h:63 ./include/linux/file.h:83 net/socket.c:2526)
[ 9.574011][ C1] ? fput (./include/linux/preempt.h:500 ./include/linux/file_ref.h:150 fs/file_table.c:588)
[ 9.574013][ C1] ? fput (./include/linux/preempt.h:500 (discriminator 1) ./include/linux/file_ref.h:150 (discriminator 1) fs/file_table.c:588 (discriminator 1))
[ 9.574014][ C1] ? __sys_setsockopt (./include/linux/file.h:63 ./include/linux/file.h:83 net/socket.c:2414)
[ 9.574016][ C1] __x64_sys_sendto (net/socket.c:2288 net/socket.c:2284 net/socket.c:2284)
[ 9.574018][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22))
[ 9.574021][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4488)
[ 9.574023][ C1] ? do_syscall_64 (arch/x86/entry/syscall_64.c:81 (discriminator 44))
[ 9.574025][ C1] do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84)
[ 9.574027][ C1] ? exc_page_fault (arch/x86/mm/fault.c:1489 (discriminator 3) arch/x86/mm/fault.c:1536 (discriminator 3))
[ 9.574028][ C1] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)
[ 9.574031][ C1] RIP: 0033:0x7f16c5f54312
[ 9.574034][ C1] 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)
[ 9.574035][ C1] RSP: 002b:00007f16c56d13c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
[ 9.574039][ C1] RAX: ffffffffffffffda RBX: 000000000000000b RCX: 00007f16c5f54312
[ 9.574041][ C1] RDX: 0000000000000064 RSI: 00007f16c56d1440 RDI: 000000000000000b
[ 9.574041][ C1] RBP: 00007f16c56d13f0 R08: 0000000000000000 R09: 0000000000000000
[ 9.574042][ C1] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000064
Finger prints:
print_report:kasan_report:kasan_check_range:tcp_v6_send_response:tcp_v6_send_reset