Skip to content

Commit

Permalink
tools/lib/lockdep: Fix undefined symbol prandom_u32
Browse files Browse the repository at this point in the history
__lock_pin_lock() now calls prandom_u32() which is not defined in
liblockdep.  __lock_pin_lock() and its caller lock_pin_lock() are dead
code in liblockdep, but we still need to provide a definition of
prandom_u32() in case lazy binding is disabled.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Fixes: e7904a2 ("locking/lockdep, sched/core: Implement a better ...")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
bwhacks authored and Ingo Molnar committed Jun 5, 2017
1 parent 3c2993b commit 3752466
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions tools/lib/lockdep/lockdep.c
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
#include <linux/lockdep.h>
#include <stdlib.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

u32 prandom_u32(void)
{
/* Used only by lock_pin_lock() which is dead code */
abort();
}

#include "../../../kernel/locking/lockdep.c"

0 comments on commit 3752466

Please sign in to comment.