On 02/29/2016 12:25 PM, Ingo Molnar wrote: > > * Ingo Molnar <mi...@kernel.org> wrote: > >> >> * Andrew Morton <a...@linux-foundation.org> wrote: >> >>> On Tue, 9 Feb 2016 12:12:29 +0100 Ingo Molnar <mi...@kernel.org> wrote: >>> >>>>> The conceptual problem is that if some piece of code does >>>>> spin_lock_init() or >>>>> DEFINE_SPINLOCK(), that lock isn't necessarily initialized yet. >>>> >>>> The conceptual problem is that the data structures are not build time >>>> initialized >>>> - but the hlist conversion patch solves that problem nicely! >>>> >>>> So I'm a happy camper. >>> >>> OK, so the below has been in -next for nearly a week, no issues. We >>> should get this into 4.5 to fix the CONFIG_UBSAN_ALIGNMENT issue. >> >> So I think this patch broke liblockdep: >> >> triton:~/tip/tools/lib/lockdep> >> >> In file included from lockdep.c:2:0: >> ../../../kernel/locking/lockdep.c: In function ‘look_up_lock_class’: >> ../../../kernel/locking/lockdep.c:722:2: warning: implicit declaration of >> function ‘hlist_for_each_entry_rcu’ [-Wimplicit-function-declaration] >> hlist_for_each_entry_rcu(class, hash_head, hash_entry) { > > The patch below fixes it. > > Thanks, > > Ingo > > tools/lib/lockdep/lockdep.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/tools/lib/lockdep/lockdep.c b/tools/lib/lockdep/lockdep.c > index f42b7e9aa48f..a0a2e3a266af 100644 > --- a/tools/lib/lockdep/lockdep.c > +++ b/tools/lib/lockdep/lockdep.c > @@ -1,2 +1,8 @@ > #include <linux/lockdep.h> > + > +/* Trivial API wrappers, we don't (yet) have RCU in user-space: */ > +#define hlist_for_each_entry_rcu hlist_for_each_entry > +#define hlist_add_head_rcu hlist_add_head > +#define hlist_del_rcu hlist_del > +
I think this belongs to tools/lib/lockdep/uinclude/linux/kernel.h