Messages in this thread | | | Subject | Re: + kernel-locking-lockdepc-make-lockdep-initialize-itself-on-demand.patch added to -mm tree | From | Andrey Ryabinin <> | Date | Mon, 29 Feb 2016 12:30:13 +0300 |
| |
On 02/29/2016 12:25 PM, Ingo Molnar wrote: > > * Ingo Molnar <mingo@kernel.org> wrote: > >> >> * Andrew Morton <akpm@linux-foundation.org> wrote: >> >>> On Tue, 9 Feb 2016 12:12:29 +0100 Ingo Molnar <mingo@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
| |