====================================== | [ 41.282006][ T302] 1 lock held by nft/302: | [ 41.282204][ T302] #0: ffff8880066f0ec8 (&nft_net->commit_mutex){+.+.}-{3:3}, at: nf_tables_valid_genid (./include/linux/jiffies.h:101 net/netfilter/nf_tables_api.c:10954) nf_tables | [ 41.282677][ T302] | [ 41.282677][ T302] stack backtrace: [ 41.283152][ T302] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 41.283539][ T302] Call Trace: [ 41.283674][ T302] [ 41.283771][ T302] dump_stack_lvl (lib/dump_stack.c:123) [ 41.283954][ T302] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6822) [ 41.284129][ T302] nft_set_lookup.part.0 (net/netfilter/nf_tables_api.c:4467) nf_tables [ 41.284365][ T302] nf_tables_newset (net/netfilter/nf_tables_api.c:5230) nf_tables [ 41.284617][ T302] ? __pfx_nf_tables_newset (net/netfilter/nf_tables_api.c:5072) nf_tables [ 41.284862][ T302] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 41.285039][ T302] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5790) [ 41.285211][ T302] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 41.285390][ T302] ? __nla_validate_parse (lib/nlattr.c:638) [ 41.285565][ T302] nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:524) [ 41.285752][ T302] ? __pfx_nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:373) [ 41.285925][ T302] ? rcu_read_lock_any_held (kernel/rcu/update.c:387 kernel/rcu/update.c:380) [ 41.286098][ T302] ? find_stack (lib/stackdepot.c:552 (discriminator 1)) [ 41.286281][ T302] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 41.286450][ T302] ? validate_chain (kernel/locking/lockdep.c:3797 kernel/locking/lockdep.c:3817 kernel/locking/lockdep.c:3872) [ 41.286634][ T302] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 41.286829][ T302] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 41.287003][ T302] ? __lock_release (kernel/locking/lockdep.c:5501) [ 41.287176][ T302] ? __nla_validate_parse (./include/net/netlink.h:1267 (discriminator 1) lib/nlattr.c:622 (discriminator 1)) [ 41.287350][ T302] nfnetlink_rcv (net/netfilter/nfnetlink.c:647 net/netfilter/nfnetlink.c:665) [ 41.287529][ T302] ? __pfx_nfnetlink_rcv (net/netfilter/nfnetlink.c:651) [ 41.287711][ T302] ? 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) [ 41.287887][ T302] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 41.288063][ T302] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 41.288243][ T302] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 41.288423][ T302] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 41.288594][ T302] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 41.288775][ T302] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 41.288950][ T302] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 41.289120][ T302] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 41.289348][ T302] ___sys_sendmsg (net/socket.c:2663) [ 41.289524][ T302] ? __lock_release (kernel/locking/lockdep.c:5501) [ 41.289698][ T302] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 41.289874][ T302] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 41.290061][ T302] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 41.290230][ T302] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 41.290407][ T302] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 41.290582][ T302] ? do_sock_getsockopt (net/socket.c:2388) [ 41.290758][ T302] ? do_sock_setsockopt (net/socket.c:2303) [ 41.290933][ T302] ? __pfx_do_sock_getsockopt (net/socket.c:2374) [ 41.291115][ T302] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 41.291250][ T302] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 41.291424][ T302] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 41.291599][ T302] ? __pfx___sys_getsockopt (net/socket.c:2415) [ 41.291785][ T302] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 41.291956][ T302] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 41.292168][ T302] RIP: 0033:0x7f03504c67b7 [ 41.292349][ T302] 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) [ 41.292942][ T302] RSP: 002b:00007ffda2ee4058 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 41.293213][ T302] RAX: ffffffffffffffda RBX: 00007ffda2ef5250 RCX: 00007f03504c67b7 [ 41.293472][ T302] RDX: 0000000000000000 RSI: 00007ffda2ef5110 RDI: 0000000000000005 [ 41.293733][ T302] RBP: 00007ffda2ef5200 R08: 00007ffda2ee403c R09: 00007ffda2ee4060 [ 41.293989][ T302] R10: 00007f035037f708 R11: 0000000000000246 R12: 00007ffda2ef5150 [ 41.294245][ T302] R13: 0000000000002400 R14: 0000000000000005 R15: 00007ffda2ee4070 | [ 41.296732][ T302] 1 lock held by nft/302: | [ 41.296876][ T302] #0: ffff8880066f0ec8 (&nft_net->commit_mutex){+.+.}-{3:3}, at: nf_tables_valid_genid (./include/linux/jiffies.h:101 net/netfilter/nf_tables_api.c:10954) nf_tables | [ 41.297339][ T302] | [ 41.297339][ T302] stack backtrace: [ 41.297839][ T302] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 41.298239][ T302] Call Trace: [ 41.298382][ T302] [ 41.298477][ T302] dump_stack_lvl (lib/dump_stack.c:123) [ 41.298664][ T302] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6822) [ 41.298852][ T302] nft_bitmap_elem_find (net/netfilter/nft_set_bitmap.c:97 (discriminator 7)) nf_tables [ 41.299109][ T302] nft_bitmap_insert (net/netfilter/nft_set_bitmap.c:136) nf_tables [ 41.299368][ T302] nft_add_set_elem (net/netfilter/nf_tables_api.c:6708 net/netfilter/nf_tables_api.c:7150) nf_tables [ 41.299631][ T302] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 41.299823][ T302] ? __pfx_nft_add_set_elem (net/netfilter/nf_tables_api.c:6840) nf_tables [ 41.300085][ T302] ? 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) [ 41.300266][ T302] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 41.300410][ T302] ? net_generic (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48) nf_tables [ 41.300620][ T302] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 41.300816][ T302] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 41.301003][ T302] ? __lock_release (kernel/locking/lockdep.c:5501) [ 41.301186][ T302] ? net_generic (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48) nf_tables [ 41.301394][ T302] ? __pfx___lock_release (kernel/locking/lockdep.c:5477) [ 41.301573][ T302] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5790) [ 41.301755][ T302] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 41.301945][ T302] ? net_generic (./include/net/netns/generic.h:51) nf_tables [ 41.302155][ T302] ? nft_set_lookup_global (./include/net/netlink.h:1703 net/netfilter/nf_tables_api.c:4494 net/netfilter/nf_tables_api.c:4522) nf_tables [ 41.302409][ T302] nf_tables_newsetelem (net/netfilter/nf_tables_api.c:7275) nf_tables [ 41.302661][ T302] ? __pfx___lock_release (kernel/locking/lockdep.c:5477) [ 41.302840][ T302] ? __pfx_nf_tables_newsetelem (net/netfilter/nf_tables_api.c:7239) nf_tables [ 41.303094][ T302] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 41.303280][ T302] ? __nla_validate_parse (lib/nlattr.c:638) [ 41.303472][ T302] nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:524) [ 41.303678][ T302] ? __pfx_nfnetlink_rcv_batch (net/netfilter/nfnetlink.c:373) [ 41.303862][ T302] ? rcu_read_lock_any_held (kernel/rcu/update.c:387 kernel/rcu/update.c:380) [ 41.304042][ T302] ? find_stack (lib/stackdepot.c:552 (discriminator 1)) [ 41.304226][ T302] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 41.304407][ T302] ? validate_chain (kernel/locking/lockdep.c:3797 kernel/locking/lockdep.c:3817 kernel/locking/lockdep.c:3872) [ 41.304602][ T302] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 41.304801][ T302] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 41.304986][ T302] ? __lock_release (kernel/locking/lockdep.c:5501) [ 41.305171][ T302] ? __nla_validate_parse (./include/net/netlink.h:1267 (discriminator 1) lib/nlattr.c:622 (discriminator 1)) [ 41.305360][ T302] nfnetlink_rcv (net/netfilter/nfnetlink.c:647 net/netfilter/nfnetlink.c:665) [ 41.305542][ T302] ? __pfx_nfnetlink_rcv (net/netfilter/nfnetlink.c:651) [ 41.305726][ T302] ? 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) [ 41.305913][ T302] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 41.306100][ T302] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 41.306295][ T302] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 41.306479][ T302] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 41.306666][ T302] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 41.306854][ T302] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 41.307042][ T302] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 41.307221][ T302] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 41.307460][ T302] ___sys_sendmsg (net/socket.c:2663) [ 41.307639][ T302] ? __lock_release (kernel/locking/lockdep.c:5501) [ 41.307830][ T302] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 41.308016][ T302] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 41.308203][ T302] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 41.308383][ T302] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 41.308569][ T302] ? __might_fault (mm/memory.c:6705 mm/memory.c:6698) [ 41.308754][ T302] ? do_sock_getsockopt (net/socket.c:2388) [ 41.308937][ T302] ? do_sock_setsockopt (net/socket.c:2303) [ 41.309121][ T302] ? __pfx_do_sock_getsockopt (net/socket.c:2374) [ 41.309311][ T302] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 41.309453][ T302] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 41.309640][ T302] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 41.309823][ T302] ? __pfx___sys_getsockopt (net/socket.c:2415) [ 41.310021][ T302] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 41.310205][ T302] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 41.310429][ T302] RIP: 0033:0x7f03504c67b7 [ 41.310612][ T302] 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) [ 41.311240][ T302] RSP: 002b:00007ffda2ee4058 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 41.311519][ T302] RAX: ffffffffffffffda RBX: 00007ffda2ef5250 RCX: 00007f03504c67b7 [ 41.311802][ T302] RDX: 0000000000000000 RSI: 00007ffda2ef5110 RDI: 0000000000000005 [ 41.312079][ T302] RBP: 00007ffda2ef5200 R08: 00007ffda2ee403c R09: 00007ffda2ee4060 [ 41.312356][ T302] R10: 00007f035037f708 R11: 0000000000000246 R12: 00007ffda2ef5150 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