Re: [PATCH net v2 2/2] ipmr: Add lockdep expression to ipmr_for_each_table macro

From: David Miller
Date: Thu May 14 2020 - 21:01:35 EST


From: Amol Grover <frextrite@xxxxxxxxx>
Date: Thu, 14 May 2020 23:31:03 +0530

> During the initialization process, ipmr_new_table() is called
> to create new tables which in turn calls ipmr_get_table() which
> traverses net->ipv4.mr_tables without holding the writer lock.
> However, this is safe to do so as no tables exist at this time.
> Hence add a suitable lockdep expression to silence the following
> false-positive warning:
>
> =============================
> WARNING: suspicious RCU usage
> 5.7.0-rc3-next-20200428-syzkaller #0 Not tainted
> -----------------------------
> net/ipv4/ipmr.c:136 RCU-list traversed in non-reader section!!
>
> ipmr_get_table+0x130/0x160 net/ipv4/ipmr.c:136
> ipmr_new_table net/ipv4/ipmr.c:403 [inline]
> ipmr_rules_init net/ipv4/ipmr.c:248 [inline]
> ipmr_net_init+0x133/0x430 net/ipv4/ipmr.c:3089
>
> Fixes: f0ad0860d01e ("ipv4: ipmr: support multiple tables")
> Reported-by: syzbot+1519f497f2f9f08183c6@xxxxxxxxxxxxxxxxxxxxxxxxx
> Suggested-by: Jakub Kicinski <kuba@xxxxxxxxxx>
> Signed-off-by: Amol Grover <frextrite@xxxxxxxxx>

Applied.