WARNING: suspicious RCU usage in find_set_and_id

Status: fixed on 2020/02/18 14:31
Subsystems: netfilter
[Documentation on labels]
Fix commit: 5038517119d5 netfilter: ipset: fix suspicious RCU usage in find_set_and_id
First crash: 1618d, last: 1611d
Cause bisection: the cause commit could be any of (bisect log):
  9211bfbff80a netfilter: add missing IS_ENABLED(CONFIG_BRIDGE_NETFILTER) checks to header-file.
  47e640af2e49 netfilter: add missing IS_ENABLED(CONFIG_NF_TABLES) check to header-file.
  a1b2f04ea527 netfilter: add missing includes to a number of header-files.
  0abc8bf4f284 netfilter: add missing IS_ENABLED(CONFIG_NF_CONNTRACK) checks to some header-files.
  bd96b4c75675 netfilter: inline four headers files into another one.
  43dd16efc7f2 netfilter: nf_tables: store data in offload context registers
  78458e3e08cd netfilter: add missing IS_ENABLED(CONFIG_NETFILTER) checks to some header-files.
  20a9379d9a03 netfilter: remove "#ifdef __KERNEL__" guards from some headers.
  bd8699e9e292 netfilter: nft_bitwise: add offload support
  2a475c409fe8 kbuild: remove all netfilter headers from header-test blacklist.
  7e59b3fea2a2 netfilter: remove unnecessary spaces
  1b90af292e71 ipvs: Improve robustness to the ipvs sysctl
  5785cf15fd74 netfilter: nf_tables: add missing prototypes.
  0a30ba509fde netfilter: nf_nat_proto: make tables static
  e84fb4b3666d netfilter: conntrack: use shared sysctl constants
  105333435b4f netfilter: connlabels: prefer static lock initialiser
  8c0bb7873815 netfilter: synproxy: rename mss synproxy_options field
  c162610c7db2 Merge git://
Discussions (5)
Title Replies (including bot) Last reply
[PATCH 5.4 000/309] 5.4.19-stable review 321 (321) 2020/02/12 21:17
[PATCH 5.5 000/367] 5.5.3-stable review 385 (385) 2020/02/12 07:27
[PATCH 0/6] Netfilter fixes for net 12 (12) 2020/02/02 04:21
[PATCH 1/1] netfilter: ipset: fix suspicious RCU usage in find_set_and_id 2 (2) 2020/01/29 17:35
WARNING: suspicious RCU usage in find_set_and_id 0 (1) 2020/01/21 19:57
Last patch testing requests (4)
Created Duration User Patch Repo Result
2020/01/25 18:06 16m git:// master OK
2020/01/23 14:46 16m git:// master OK
2020/01/22 12:52 9m git:// master report log
2020/01/22 11:36 9m git:// master report log

Sample crash report:
WARNING: suspicious RCU usage
5.5.0-rc6-syzkaller #0 Not tainted
net/netfilter/ipset/ip_set_core.c:1001 suspicious rcu_dereference_protected() usage!

other info that might help us debug this:

rcu_scheduler_active = 2, debug_locks = 1
1 lock held by syz-executor.0/8783:
 #0: ffff8880a681c5d8 (nlk_cb_mutex-NETFILTER){+.+.}, at: netlink_dump+0x75/0x1170 net/netlink/af_netlink.c:2199

stack backtrace:
CPU: 1 PID: 8783 Comm: syz-executor.0 Not tainted 5.5.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1fb/0x318 lib/dump_stack.c:118
 lockdep_rcu_suspicious+0x156/0x1c0 kernel/locking/lockdep.c:5435
 find_set_and_id+0x140/0x2f0 net/netfilter/ipset/ip_set_core.c:1001
 dump_init net/netfilter/ipset/ip_set_core.c:1506 [inline]
 ip_set_dump_start+0x7c5/0x1800 net/netfilter/ipset/ip_set_core.c:1541
 netlink_dump+0x4ed/0x1170 net/netlink/af_netlink.c:2244
 netlink_recvmsg+0x659/0xfb0 net/netlink/af_netlink.c:2000
 sock_recvmsg_nosec net/socket.c:873 [inline]
 sock_recvmsg net/socket.c:891 [inline]
 __sys_recvfrom+0x328/0x4b0 net/socket.c:2042
 __do_sys_recvfrom net/socket.c:2060 [inline]
 __se_sys_recvfrom net/socket.c:2056 [inline]
 __x64_sys_recvfrom+0xe5/0x100 net/socket.c:2056
 do_syscall_64+0xf7/0x1c0 arch/x86/entry/common.c:294
RIP: 0033:0x45aff9
Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fc45d1a6c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002d
RAX: ffffffffffffffda RBX: 00007fc45d1a76d4 RCX: 000000000045aff9
RDX: 36ff0824c68970de RSI: 0000000000000000 RDI: 0000000000000003
RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000226
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 000000000000085c R14: 00000000004c9852 R15: 000000000075bf2c

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/01/17 21:12 upstream ab7541c3addd 3de7aabb .config console log report syz ci-upstream-kasan-gce-smack-root
2020/01/17 20:06 upstream f4353c3e2aaf 3de7aabb .config console log report syz ci-upstream-kasan-gce-386
2020/01/18 04:29 net-old 5a9ef19454cd 3de7aabb .config console log report syz ci-upstream-net-this-kasan-gce
2020/01/17 22:28 net-next-old 56f200c78ce4 3de7aabb .config console log report syz ci-upstream-net-kasan-gce
2020/01/24 11:40 linux-next 2747d5fdab78 2e95ab33 .config console log report syz ci-upstream-linux-next-kasan-gce-root
2020/01/24 10:58 net-old 61678d28d4a4 2e95ab33 .config console log report ci-upstream-net-this-kasan-gce
* Struck through repros no longer work on HEAD.