Re: [PATCH] net: core: devlink.c: Use built-in RCU list checking
From: Jiri Pirko <jiri@resnulli.us>
Date: 2020-02-21 17:54:41
Also in:
linux-kernel-mentees, lkml
From: Jiri Pirko <jiri@resnulli.us>
Date: 2020-02-21 17:54:41
Also in:
linux-kernel-mentees, lkml
Fri, Feb 21, 2020 at 06:35:34PM CET, madhuparnabhowmik10@gmail.com wrote:
On Fri, Feb 21, 2020 at 06:20:08PM +0100, Jiri Pirko wrote:quoted
Fri, Feb 21, 2020 at 05:51:41PM CET, madhuparnabhowmik10@gmail.com wrote:quoted
From: Madhuparna Bhowmik <redacted> list_for_each_entry_rcu() has built-in RCU and lock checking. Pass cond argument to list_for_each_entry_rcu() to silence false lockdep warning when CONFIG_PROVE_RCU_LIST is enabled by default. Signed-off-by: Madhuparna Bhowmik <redacted>Reviewed-by: Jiri Pirko <redacted> Thanks. However, there is a callpath where not devlink lock neither rcu read is taken: devlink_dpipe_table_register()->devlink_dpipe_table_find()Hi, Yes I had noticed this, but I was not sure if there is some other lock which is being used. If yes, then can you please tell me which lock is held in this case, and I can add that condition as well to list_for_each_entry_rcu() usage. And if no lock or rcu_read_lock is held then may be we should use rcu_read_lock/unlock here. Let me know what you think about this.
devlink->lock should be held since the beginning of devlink_dpipe_table_register()