====================================== | [ 20.745486][ T283] ipip: IPv4 and MPLS over IPv4 tunneling driver | [ 26.162256][ C2] ------------[ cut here ]------------ | [ 26.162901][ C2] WARNING: CPU: 2 PID: 329 at ./include/linux/skbuff.h:1164 icmp_route_lookup.constprop.0 (./include/linux/skbuff.h:1164 ./include/linux/skbuff.h:1178 net/ipv4/icmp.c:548) | [ 26.163649][ C2] Modules linked in: inet_diag ipip veth [ 26.164771][ C2] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 26.165263][ C2] RIP: 0010:icmp_route_lookup.constprop.0 (./include/linux/skbuff.h:1164 ./include/linux/skbuff.h:1178 net/ipv4/icmp.c:548) [ 26.165741][ C2] Code: c1 ea 03 80 3c 02 00 0f 85 2c 05 00 00 48 8b 45 58 48 89 44 24 08 a8 01 0f 85 35 02 00 00 48 f7 44 24 08 fe ff ff ff 74 04 90 <0f> 0b 90 48 b8 00 00 00 00 00 fc ff df 4c 89 da 48 c1 ea 03 80 3c All code ======== 0: c1 ea 03 shr $0x3,%edx 3: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) 7: 0f 85 2c 05 00 00 jne 0x539 d: 48 8b 45 58 mov 0x58(%rbp),%rax 11: 48 89 44 24 08 mov %rax,0x8(%rsp) 16: a8 01 test $0x1,%al 18: 0f 85 35 02 00 00 jne 0x253 1e: 48 f7 44 24 08 fe ff testq $0xfffffffffffffffe,0x8(%rsp) 25: ff ff 27: 74 04 je 0x2d 29: 90 nop 2a:* 0f 0b ud2 <-- trapping instruction 2c: 90 nop 2d: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 34: fc ff df 37: 4c 89 da mov %r11,%rdx 3a: 48 c1 ea 03 shr $0x3,%rdx 3e: 80 .byte 0x80 3f: 3c .byte 0x3c Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 90 nop 3: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax a: fc ff df d: 4c 89 da mov %r11,%rdx 10: 48 c1 ea 03 shr $0x3,%rdx 14: 80 .byte 0x80 15: 3c .byte 0x3c [ 26.167055][ C2] RSP: 0018:ffffc90000218270 EFLAGS: 00010282 [ 26.167534][ C2] RAX: ffff88800e5f2340 RBX: 1ffff92000043052 RCX: 0000000000000002 [ 26.168093][ C2] RDX: 1ffff1100191e04b RSI: ffffffff95aa1d68 RDI: ffffc90000218322 [ 26.168674][ C2] RBP: ffff88800c8f0200 R08: 0000000000000001 R09: ffff88800e5f2640 [ 26.169236][ C2] R10: ffffffff96a0c2d7 R11: ffff88800c8f0258 R12: ffff88800b508040 [ 26.169792][ C2] R13: ffffc90000218520 R14: ffff88800e5f27c0 R15: ffffc900002182b0 [ 26.170357][ C2] FS: 00007fa890f46740(0000) GS:ffff88809e7a4000(0000) knlGS:0000000000000000 [ 26.170999][ C2] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 26.171476][ C2] CR2: 0000563f1f84b000 CR3: 000000000dd16001 CR4: 0000000000772ef0 [ 26.172029][ C2] PKRU: 55555554 [ 26.172324][ C2] Call Trace: [ 26.172611][ C2] [ 26.172810][ C2] ? mark_lock (kernel/locking/lockdep.c:191 kernel/locking/lockdep.c:4762) [ 26.173199][ C2] ? __pfx_icmp_route_lookup.constprop.0 (net/ipv4/icmp.c:480) [ 26.173674][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 26.174044][ C2] ? __ip_options_echo (net/ipv4/ip_options.c:86) [ 26.174435][ C2] ? __icmp_send (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 net/ipv4/icmp.c:718) [ 26.174806][ C2] ? __lock_release (kernel/locking/lockdep.c:5539) [ 26.175192][ C2] __icmp_send (net/ipv4/icmp.c:746) [ 26.175577][ C2] ? __kmalloc_cache_noprof (mm/slub.c:4361) [ 26.175954][ C2] ? __pfx___icmp_send (net/ipv4/icmp.c:596) [ 26.176335][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 26.176707][ C2] ? __ip_rt_update_pmtu (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 net/ipv4/route.c:1061) [ 26.177083][ C2] ? __ip_rt_update_pmtu (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 net/ipv4/route.c:1061) [ 26.177475][ C2] ? __pfx___ip_rt_update_pmtu (net/ipv4/route.c:1014) [ 26.177867][ C2] icmp_ndo_send (net/ipv4/icmp.c:798) [ 26.178256][ C2] ? __pfx_icmp_ndo_send (net/ipv4/icmp.c:798) [ 26.178631][ C2] ? ip_dst_mtu_maybe_forward.constprop.0 (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 ./include/net/ip.h:501) [ 26.179097][ C2] tnl_update_pmtu (net/ipv4/ip_tunnel.c:540) [ 26.179484][ C2] ip_tunnel_xmit (net/ipv4/ip_tunnel.c:819) [ 26.179866][ C2] ? validate_chain (kernel/locking/lockdep.c:143 kernel/locking/lockdep.c:174 kernel/locking/lockdep.c:3846 kernel/locking/lockdep.c:3879) [ 26.180248][ C2] ? __pfx_ip_tunnel_xmit (net/ipv4/ip_tunnel.c:685) [ 26.180630][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 26.181000][ C2] ? __pfx_skb_network_protocol (net/core/dev.c:3637) [ 26.181388][ C2] ipip_tunnel_xmit (net/ipv4/ipip.c:316) ipip [ 26.181759][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 26.182137][ C2] dev_hard_start_xmit (./include/linux/netdevice.h:5219 ./include/linux/netdevice.h:5228 net/core/dev.c:3827 net/core/dev.c:3843) [ 26.182528][ C2] __dev_queue_xmit (net/core/dev.h:363 net/core/dev.c:4714) [ 26.182902][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 26.183289][ C2] ? __pfx___dev_queue_xmit (net/core/dev.c:4621) [ 26.183664][ C2] ? ip_finish_output2 (./include/net/neighbour.h:547 net/ipv4/ip_output.c:235) [ 26.184039][ C2] ? __lock_release (kernel/locking/lockdep.c:5539) [ 26.184428][ C2] ? neigh_connected_output (./include/linux/seqlock.h:74 ./include/linux/seqlock.h:836 net/core/neighbour.c:1584) [ 26.184798][ C2] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475) [ 26.185180][ C2] ? neigh_connected_output (./include/linux/seqlock.h:74 ./include/linux/seqlock.h:836 net/core/neighbour.c:1584) [ 26.185562][ C2] ip_finish_output2 (./include/net/neighbour.h:547 net/ipv4/ip_output.c:235) [ 26.185934][ C2] ? ip_skb_dst_mtu (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 ./include/net/ip.h:501 ./include/net/ip.h:515) [ 26.186316][ C2] ? __pfx_ip_finish_output2 (net/ipv4/ip_output.c:199) [ 26.186693][ C2] ? __ip_finish_output (./include/linux/skbuff.h:1685 ./include/linux/skbuff.h:5079 net/ipv4/ip_output.c:307 net/ipv4/ip_output.c:295) [ 26.187062][ C2] ? __pfx_ip_rcv (net/ipv4/ip_input.c:567) [ 26.187441][ C2] ? process_backlog (./include/linux/local_lock_internal.h:54 net/core/dev.c:6442) [ 26.187810][ C2] __netif_receive_skb_one_core (net/core/dev.c:5979 (discriminator 4)) [ 26.188278][ C2] ? __pfx___netif_receive_skb_one_core (net/core/dev.c:5972) [ 26.188736][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 26.189103][ C2] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5834) [ 26.189482][ C2] ? process_backlog (./include/linux/local_lock_internal.h:54 net/core/dev.c:6442) [ 26.189859][ C2] process_backlog (./include/linux/rcupdate.h:869 net/core/dev.c:6445) [ 26.190249][ C2] __napi_poll.constprop.0 (net/core/dev.c:7482) [ 26.190622][ C2] net_rx_action (net/core/dev.c:7546 net/core/dev.c:7673) [ 26.191005][ C2] ? __pfx_net_rx_action (net/core/dev.c:7635) [ 26.191382][ C2] ? clockevents_program_event (kernel/time/clockevents.c:326) [ 26.191754][ C2] ? __lock_release (kernel/locking/lockdep.c:5515) [ 26.192128][ C2] ? kvm_clock_get_cycles (./arch/x86/include/asm/preempt.h:95 arch/x86/kernel/kvmclock.c:80 arch/x86/kernel/kvmclock.c:86) [ 26.192511][ C2] ? ktime_get (kernel/time/timekeeping.c:251 (discriminator 4) kernel/time/timekeeping.c:360 (discriminator 4) kernel/time/timekeeping.c:778 (discriminator 4)) [ 26.192796][ C2] ? clockevents_program_event (kernel/time/clockevents.c:336 (discriminator 3)) [ 26.193267][ C2] ? hrtimer_interrupt (kernel/time/hrtimer.c:1900) [ 26.193643][ C2] handle_softirqs (kernel/softirq.c:579) [ 26.194017][ C2] ? __neigh_event_send (./include/linux/bottom_half.h:33 net/core/neighbour.c:1240) [ 26.194405][ C2] do_softirq (kernel/softirq.c:480 kernel/softirq.c:467) [ 26.194690][ C2] [ 26.194888][ C2] [ 26.195081][ C2] __local_bh_enable_ip (kernel/softirq.c:407) [ 26.195462][ C2] __neigh_event_send (net/core/neighbour.c:1241) [ 26.195833][ C2] ? ___neigh_create (net/core/neighbour.c:693) [ 26.196213][ C2] ? ___neigh_create (net/core/neighbour.c:693) [ 26.196585][ C2] neigh_resolve_output (net/core/neighbour.c:1545) [ 26.196955][ C2] ? __local_bh_enable_ip (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/softirq.c:412) [ 26.197335][ C2] ? ___neigh_create (net/core/neighbour.c:693) [ 26.197718][ C2] ip_finish_output2 (./include/net/neighbour.h:547 net/ipv4/ip_output.c:235) [ 26.198091][ C2] ? ip_skb_dst_mtu (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 ./include/net/ip.h:501 ./include/net/ip.h:515) [ 26.198472][ C2] ? __pfx_ip_finish_output2 (net/ipv4/ip_output.c:199) [ 26.198844][ C2] ? __ip_finish_output (./include/linux/skbuff.h:1685 ./include/linux/skbuff.h:5079 net/ipv4/ip_output.c:307 net/ipv4/ip_output.c:295) [ 26.199229][ C2] ip_send_skb (./include/net/dst.h:461 net/ipv4/ip_output.c:129 net/ipv4/ip_output.c:1501) [ 26.199596][ C2] ? ipv4_dst_check (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 net/ipv4/route.c:401 net/ipv4/route.c:1216) [ 26.199969][ C2] udp_send_skb (net/ipv4/udp.c:1195) [ 26.200349][ C2] ? inet_rtm_getroute_build_skb (./include/linux/skbuff.h:3048 net/ipv4/route.c:3175) [ 26.200847][ C2] udp_sendmsg (net/ipv4/udp.c:1484) [ 26.201233][ C2] ? __pfx_ip_generic_getfrag (net/ipv4/ip_output.c:927) [ 26.201607][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 26.201977][ C2] ? __pfx_udp_sendmsg (net/ipv4/udp.c:1271) [ 26.202365][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 26.202738][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 26.203115][ C2] ? __unix_dgram_recvmsg (net/unix/af_unix.c:2583) [ 26.203505][ C2] ? __pfx___skb_try_recv_datagram (net/core/datagram.c:246) [ 26.203964][ C2] ? __pfx___mutex_unlock_slowpath (kernel/locking/mutex.c:903) [ 26.204446][ C2] ? __unix_dgram_recvmsg (net/unix/af_unix.c:2583) [ 26.204825][ C2] sock_write_iter (net/socket.c:714 net/socket.c:729 net/socket.c:1179) [ 26.205207][ C2] ? __pfx___unix_dgram_recvmsg (net/unix/af_unix.c:2554) [ 26.205579][ C2] ? __pfx_sock_write_iter (net/socket.c:1163) [ 26.205967][ C2] vfs_write (fs/read_write.c:593 fs/read_write.c:686) [ 26.206269][ C2] ? __pfx___sys_recvfrom (net/socket.c:2255) [ 26.206640][ C2] ? __pfx_vfs_write (fs/read_write.c:667) [ 26.207022][ C2] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 26.207407][ C2] ksys_write (fs/read_write.c:738) [ 26.207692][ C2] ? __pfx_ksys_write (fs/read_write.c:728) [ 26.208070][ C2] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 26.208456][ C2] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 26.208912][ C2] RIP: 0033:0x7fa891093337 [ 26.209314][ C2] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 All code ======== 0: 0f 00 (bad) 2: f7 d8 neg %eax 4: 64 89 02 mov %eax,%fs:(%rdx) 7: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax e: eb b7 jmp 0xffffffffffffffc7 10: 0f 1f 00 nopl (%rax) 13: f3 0f 1e fa endbr64 17: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 1e: 00 1f: 85 c0 test %eax,%eax 21: 75 10 jne 0x33 23: b8 01 00 00 00 mov $0x1,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 51 ja 0x83 32: c3 ret 33: 48 83 ec 28 sub $0x28,%rsp 37: 48 89 54 24 18 mov %rdx,0x18(%rsp) 3c: 48 rex.W 3d: 89 .byte 0x89 3e: 74 24 je 0x64 Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 51 ja 0x59 8: c3 ret 9: 48 83 ec 28 sub $0x28,%rsp d: 48 89 54 24 18 mov %rdx,0x18(%rsp) 12: 48 rex.W 13: 89 .byte 0x89 14: 74 24 je 0x3a [ 26.210617][ C2] RSP: 002b:00007ffd78353178 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 26.211184][ C2] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa891093337 [ 26.211739][ C2] RDX: 0000000000000578 RSI: 0000563f1f84b000 RDI: 0000000000000007 [ 26.212308][ C2] RBP: 0000563f1f84b000 R08: 0000000000000578 R09: 0000000000000000 [ 26.212863][ C2] R10: 0000000000000040 R11: 0000000000000246 R12: 0000000000000007 Finger prints: __icmp_send:icmp_ndo_send:tnl_update_pmtu:ip_tunnel_xmit:ipip_tunnel_xmit