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

From: Greg Kroah-Hartman
Date: Mon Aug 12 2019 - 01:03:01 EST


On Sun, Aug 11, 2019 at 06:11:11PM -0400, Joel Fernandes (Google) wrote:
> Properly check if lockdep lock checking is disabled at config time. If
> so, then lock_is_held() is undefined so don't do any checking.
>
> This fix is similar to the pattern used in srcu_read_lock_held().
>
> Link: https://lore.kernel.org/lkml/201908080026.WSAFx14k%25lkp@xxxxxxxxx/
> Fixes: c9e4d3a2fee8 ("acpi: Use built-in RCU list checking for acpi_ioremaps list")

What tree is this commit in?

> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
> ---
> This patch is based on the -rcu dev branch.

Ah...

> drivers/base/core.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index 32cf83d1c744..fe25cf690562 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -99,7 +99,11 @@ void device_links_read_unlock(int not_used)
>
> int device_links_read_lock_held(void)
> {
> - return lock_is_held(&device_links_lock);
> +#ifdef CONFIG_DEBUG_LOCK_ALLOC
> + return lock_is_held(&(device_links_lock.dep_map));
> +#else
> + return 1;
> +#endif

return 1? So the lock is always held?

confused,

greg k-h