Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull liblockdep fixes from Thomas Gleixner:
"Three small patches to synchronize liblockdep with the latest core
changes"

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
tools/liblockdep: explicitly declare lockdep API we call from liblockdep
tools/liblockdep: add userspace versions of WRITE_ONCE and RCU_INIT_POINTER
tools/liblockdep: remove task argument from debug_check_no_locks_held

+7 -2
+1 -1
tools/lib/lockdep/common.c
··· 18 18 19 19 __attribute__((destructor)) static void liblockdep_exit(void) 20 20 { 21 - debug_check_no_locks_held(&current_obj); 21 + debug_check_no_locks_held(); 22 22 } 23 23 24 24 struct task_struct *__curr(void)
+2
tools/lib/lockdep/include/liblockdep/common.h
··· 43 43 struct lockdep_map *nest_lock, unsigned long ip); 44 44 void lock_release(struct lockdep_map *lock, int nested, 45 45 unsigned long ip); 46 + extern void debug_check_no_locks_freed(const void *from, unsigned long len); 47 + extern void lockdep_init(void); 46 48 47 49 #define STATIC_LOCKDEP_MAP_INIT(_name, _key) \ 48 50 { .name = (_name), .key = (void *)(_key), }
+2
tools/lib/lockdep/uinclude/linux/compiler.h
··· 3 3 4 4 #define __used __attribute__((__unused__)) 5 5 #define unlikely 6 + #define WRITE_ONCE(x, val) x=(val) 7 + #define RCU_INIT_POINTER(p, v) p=(v) 6 8 7 9 #endif
+2 -1
tools/lib/lockdep/uinclude/linux/lockdep.h
··· 6 6 #include <string.h> 7 7 #include <limits.h> 8 8 #include <linux/utsname.h> 9 - 9 + #include <linux/compiler.h> 10 10 11 11 #define MAX_LOCK_DEPTH 2000UL 12 12 ··· 54 54 #define static_obj(x) 1 55 55 56 56 #define debug_show_all_locks() 57 + extern void debug_check_no_locks_held(void); 57 58 58 59 #endif