[PATCH v2] driver/core: Fix build error when SRCU and lockdep disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux