Re: linux-next: build failure after merge of the rcu tree

From: Paul E. McKenney
Date: Tue Aug 13 2019 - 11:31:26 EST


On Tue, Aug 13, 2019 at 05:57:32PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the rcu tree, today's linux-next build (powerpc allnoconfig)
> failed like this:
>
> drivers/base/core.c: In function 'device_links_read_lock_held':
> drivers/base/core.c:106:9: error: implicit declaration of function 'lock_is_held'; did you mean 'lockref_get'? [-Werror=implicit-function-declaration]
> return lock_is_held(&device_links_lock);
> ^~~~~~~~~~~~
> lockref_get
>
> Caused by commit
>
> 4a3a5474b4c1 ("driver/core: Convert to use built-in RCU list checking")
>
> lock_is_held() us only available if CONFIG_LOCKDEP is set.

Joel, one approach would be to make lock_is_held() variant of
device_links_read_lock_held() be a macro rather than a function.
Another would be to use #ifdef so as to invoke lock_is_held() only when
lockdep is enabled.

Or do you have a better approach?

Thanx, Paul

> I have reverted that commit for today.
>
> --
> Cheers,
> Stephen Rothwell