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

From: Greg Kroah-Hartman
Date: Tue Aug 13 2019 - 02:05:50 EST


On Mon, Aug 12, 2019 at 05:49:17PM -0400, Joel Fernandes (Google) wrote:
> 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>

Nit, drop those blank lines above, should all be in one big "block">

> ---
> 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

I don't know what the original code looks like here, but I'm guessing
that some .h file will need to be fixed up as you are just preventing
this function from ever being present without that option enabled?

thanks,

greg k-h