====================================== | [ 40.444099][ T303] 1 lock held by nft/303: | [ 40.444239][ T303] #0: ffff888005bb2cc8 (&nft_net->commit_mutex){+.+.}-{3:3}, at: nf_tables_valid_genid (./include/linux/jiffies.h:101 net/netfilter/nf_tables_api.c:10957) nf_tables | [ 40.444659][ T303] | [ 40.444659][ T303] stack backtrace: [ 40.445087][ T303] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 40.445433][ T303] Call Trace: [ 40.445566][ T303] [ 40.445653][ T303] dump_stack_lvl (lib/dump_stack.c:123) [ 40.445822][ T303] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6822) [ 40.445987][ T303] nft_set_lookup.part.0 (net/netfilter/nf_tables_api.c:4470) nf_tables [ 40.446207][ T303] nf_tables_newset (net/netfilter/nf_tables_api.c:5233) nf_tables [ 40.446438][ T303] ? __pfx_nf_tables_newset (net/netfilter/nf_tables_api.c:5075) nf_tables [ 40.446664][ T303] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 40.446829][ T303] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5790) [ 40.446992][ T303] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 40.447156][ T303] ? __nla_validate_parse (lib/nlattr.c:638) [ 40.447320][ T303] nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:524) [ 40.447491][ T303] ? __pfx_nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:373) [ 40.447649][ T303] ? rcu_read_lock_any_held (kernel/rcu/update.c:387 kernel/rcu/update.c:380) [ 40.447809][ T303] ? find_stack (lib/stackdepot.c:552 (discriminator 1)) [ 40.447972][ T303] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 40.448129][ T303] ? validate_chain (kernel/locking/lockdep.c:3797 kernel/locking/lockdep.c:3817 kernel/locking/lockdep.c:3872) [ 40.448299][ T303] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 40.448475][ T303] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 40.448633][ T303] ? __lock_release (kernel/locking/lockdep.c:5501) [ 40.448794][ T303] ? __nla_validate_parse (./include/net/netlink.h:1267 (discriminator 1) lib/nlattr.c:622 (discriminator 1)) [ 40.448954][ T303] nfnetlink_rcv (net/netfilter/nfnetlink.c:647 net/netfilter/nfnetlink.c:665) [ 40.449112][ T303] ? __pfx_nfnetlink_rcv (net/netfilter/nfnetlink.c:651) [ 40.449272][ T303] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 40.449439][ T303] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 40.449605][ T303] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 40.449770][ T303] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 40.449935][ T303] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 40.450093][ T303] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 40.450260][ T303] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 40.450422][ T303] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 40.450580][ T303] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 40.450792][ T303] ___sys_sendmsg (net/socket.c:2663) [ 40.450949][ T303] ? __lock_release (kernel/locking/lockdep.c:5501) [ 40.451109][ T303] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 40.451269][ T303] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 40.451429][ T303] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 40.451585][ T303] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 40.451743][ T303] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 40.451907][ T303] ? do_sock_getsockopt (net/socket.c:2388) [ 40.452066][ T303] ? do_sock_setsockopt (net/socket.c:2303) [ 40.452226][ T303] ? __pfx_do_sock_getsockopt (net/socket.c:2374) [ 40.452388][ T303] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 40.452515][ T303] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 40.452680][ T303] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 40.452852][ T303] ? __pfx___sys_getsockopt (net/socket.c:2415) [ 40.453024][ T303] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 40.453184][ T303] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 40.453383][ T303] RIP: 0033:0x7f3dfb7a27b7 [ 40.453547][ T303] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 All code ======== 0: 0a 00 or (%rax),%al 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 b9 jmp 0xffffffffffffffc9 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 2e 00 00 00 mov $0x2e,%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: 89 54 24 1c mov %edx,0x1c(%rsp) 3b: 48 89 74 24 10 mov %rsi,0x10(%rsp) 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: 89 54 24 1c mov %edx,0x1c(%rsp) 11: 48 89 74 24 10 mov %rsi,0x10(%rsp) [ 40.454082][ T303] RSP: 002b:00007ffe0de99248 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 40.454323][ T303] RAX: ffffffffffffffda RBX: 00007ffe0deaa440 RCX: 00007f3dfb7a27b7 [ 40.454564][ T303] RDX: 0000000000000000 RSI: 00007ffe0deaa300 RDI: 0000000000000005 [ 40.454797][ T303] RBP: 00007ffe0deaa3f0 R08: 00007ffe0de9922c R09: 00007ffe0de99250 [ 40.455029][ T303] R10: 00007f3dfb65b708 R11: 0000000000000246 R12: 00007ffe0deaa340 [ 40.455264][ T303] R13: 0000000000002400 R14: 0000000000000005 R15: 00007ffe0de99260 | [ 40.457469][ T303] 1 lock held by nft/303: | [ 40.457601][ T303] #0: ffff888005bb2cc8 (&nft_net->commit_mutex){+.+.}-{3:3}, at: nf_tables_valid_genid (./include/linux/jiffies.h:101 net/netfilter/nf_tables_api.c:10957) nf_tables | [ 40.458008][ T303] | [ 40.458008][ T303] stack backtrace: [ 40.458475][ T303] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 40.458849][ T303] Call Trace: [ 40.458980][ T303] [ 40.459070][ T303] dump_stack_lvl (lib/dump_stack.c:123) [ 40.459248][ T303] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6822) [ 40.459423][ T303] nft_bitmap_elem_find (net/netfilter/nft_set_bitmap.c:97 (discriminator 7)) nf_tables [ 40.459661][ T303] nft_bitmap_insert (net/netfilter/nft_set_bitmap.c:136) nf_tables [ 40.459901][ T303] nft_add_set_elem (net/netfilter/nf_tables_api.c:6711 net/netfilter/nf_tables_api.c:7153) nf_tables [ 40.460149][ T303] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 40.460323][ T303] ? __pfx_nft_add_set_elem (net/netfilter/nf_tables_api.c:6843) nf_tables [ 40.460564][ T303] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 40.460884][ T303] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 40.461010][ T303] ? net_generic (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48) nf_tables [ 40.461207][ T303] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 40.461382][ T303] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 40.461648][ T303] ? __lock_release (kernel/locking/lockdep.c:5501) [ 40.461818][ T303] ? net_generic (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48) nf_tables [ 40.462009][ T303] ? __pfx___lock_release (kernel/locking/lockdep.c:5477) [ 40.462174][ T303] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5790) [ 40.462438][ T303] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 40.462618][ T303] ? net_generic (./include/net/netns/generic.h:51) nf_tables [ 40.462816][ T303] ? nft_set_lookup_global (./include/net/netlink.h:1703 net/netfilter/nf_tables_api.c:4497 net/netfilter/nf_tables_api.c:4525) nf_tables [ 40.463048][ T303] nf_tables_newsetelem (net/netfilter/nf_tables_api.c:7278) nf_tables [ 40.463410][ T303] ? __pfx___lock_release (kernel/locking/lockdep.c:5477) [ 40.463577][ T303] ? __pfx_nf_tables_newsetelem (net/netfilter/nf_tables_api.c:7242) nf_tables [ 40.463805][ T303] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 40.463976][ T303] ? __nla_validate_parse (lib/nlattr.c:638) [ 40.464152][ T303] nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:524) [ 40.464333][ T303] ? __pfx_nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:373) [ 40.464501][ T303] ? rcu_read_lock_any_held (kernel/rcu/update.c:387 kernel/rcu/update.c:380) [ 40.464670][ T303] ? find_stack (lib/stackdepot.c:552 (discriminator 1)) [ 40.464843][ T303] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 40.465006][ T303] ? validate_chain (kernel/locking/lockdep.c:3797 kernel/locking/lockdep.c:3817 kernel/locking/lockdep.c:3872) [ 40.465194][ T303] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 40.465379][ T303] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 40.465548][ T303] ? __lock_release (kernel/locking/lockdep.c:5501) [ 40.465713][ T303] ? __nla_validate_parse (./include/net/netlink.h:1267 (discriminator 1) lib/nlattr.c:622 (discriminator 1)) [ 40.465887][ T303] nfnetlink_rcv (net/netfilter/nfnetlink.c:647 net/netfilter/nfnetlink.c:665) [ 40.466059][ T303] ? __pfx_nfnetlink_rcv (net/netfilter/nfnetlink.c:651) [ 40.466228][ T303] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 40.466499][ T303] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 40.466669][ T303] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 40.466846][ T303] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 40.467020][ T303] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 40.467414][ T303] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 40.467592][ T303] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 40.467764][ T303] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 40.467929][ T303] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 40.468148][ T303] ___sys_sendmsg (net/socket.c:2663) [ 40.468312][ T303] ? __lock_release (kernel/locking/lockdep.c:5501) [ 40.468478][ T303] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 40.468650][ T303] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 40.468815][ T303] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 40.468978][ T303] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 40.469145][ T303] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 40.469320][ T303] ? do_sock_getsockopt (net/socket.c:2388) [ 40.469487][ T303] ? do_sock_setsockopt (net/socket.c:2303) [ 40.469652][ T303] ? __pfx_do_sock_getsockopt (net/socket.c:2374) [ 40.469830][ T303] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 40.469962][ T303] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 40.470127][ T303] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 40.470396][ T303] ? __pfx___sys_getsockopt (net/socket.c:2415) [ 40.470582][ T303] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 40.470750][ T303] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 40.470958][ T303] RIP: 0033:0x7f3dfb7a27b7 [ 40.471129][ T303] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 All code ======== 0: 0a 00 or (%rax),%al 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 b9 jmp 0xffffffffffffffc9 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 2e 00 00 00 mov $0x2e,%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: 89 54 24 1c mov %edx,0x1c(%rsp) 3b: 48 89 74 24 10 mov %rsi,0x10(%rsp) 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: 89 54 24 1c mov %edx,0x1c(%rsp) 11: 48 89 74 24 10 mov %rsi,0x10(%rsp) [ 40.471691][ T303] RSP: 002b:00007ffe0de99248 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 40.472047][ T303] RAX: ffffffffffffffda RBX: 00007ffe0deaa440 RCX: 00007f3dfb7a27b7 [ 40.472297][ T303] RDX: 0000000000000000 RSI: 00007ffe0deaa300 RDI: 0000000000000005 [ 40.472543][ T303] RBP: 00007ffe0deaa3f0 R08: 00007ffe0de9922c R09: 00007ffe0de99250 [ 40.472895][ T303] R10: 00007f3dfb65b708 R11: 0000000000000246 R12: 00007ffe0deaa340 Finger prints: lockdep_rcu_suspicious:nft_bitmap_elem_find:nft_bitmap_insert:nft_add_set_elem:nf_tables_newsetelem lockdep_rcu_suspicious:nf_tables_newset:nfnetlink_rcv_batch:nfnetlink_rcv:netlink_unicast