Check if lockdep lock checking is disabled. If so, then do not define device_links_read_lock_held(). It is used only from places where lockdep checking is enabled. Also fix a bug where I was not checking dep_map. Previously, I did not test !SRCU configs so this got missed. Now it is sorted. Link: https://lore.kernel.org/lkml/201908080026.WSAFx14k%25lkp@xxxxxxxxx/ Fixes: c9e4d3a2fee8 ("acpi: Use built-in RCU list checking for acpi_ioremaps list") (Based on RCU's dev branch) Cc: kernel-team@xxxxxxxxxxx Cc: kbuild test robot <lkp@xxxxxxxxx>, Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx>, Cc: Lai Jiangshan <jiangshanlai@xxxxxxxxx>, Cc: linux-doc@xxxxxxxxxxxxxxx, Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>, Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxx>, Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>, Cc: rcu@xxxxxxxxxxxxxxx, Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>, Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> --- drivers/base/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index 32cf83d1c744..c22271577c84 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -97,10 +97,12 @@ void device_links_read_unlock(int not_used) up_read(&device_links_lock); } +#ifdef CONFIG_DEBUG_LOCK_ALLOC int device_links_read_lock_held(void) { - return lock_is_held(&device_links_lock); + return lock_is_held(&(device_links_lock.dep_map)); } +#endif #endif /* !CONFIG_SRCU */ /** -- 2.23.0.rc1.153.gdeed80330f-goog