mirror of https://gitee.com/openkylin/linux.git
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
This commit is contained in:
commit
8f98e292eb
|
@ -18,7 +18,7 @@ __attribute__((constructor)) static void liblockdep_init(void)
|
||||||
|
|
||||||
__attribute__((destructor)) static void liblockdep_exit(void)
|
__attribute__((destructor)) static void liblockdep_exit(void)
|
||||||
{
|
{
|
||||||
debug_check_no_locks_held(¤t_obj);
|
debug_check_no_locks_held();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct task_struct *__curr(void)
|
struct task_struct *__curr(void)
|
||||||
|
|
|
@ -43,6 +43,8 @@ void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
||||||
struct lockdep_map *nest_lock, unsigned long ip);
|
struct lockdep_map *nest_lock, unsigned long ip);
|
||||||
void lock_release(struct lockdep_map *lock, int nested,
|
void lock_release(struct lockdep_map *lock, int nested,
|
||||||
unsigned long ip);
|
unsigned long ip);
|
||||||
|
extern void debug_check_no_locks_freed(const void *from, unsigned long len);
|
||||||
|
extern void lockdep_init(void);
|
||||||
|
|
||||||
#define STATIC_LOCKDEP_MAP_INIT(_name, _key) \
|
#define STATIC_LOCKDEP_MAP_INIT(_name, _key) \
|
||||||
{ .name = (_name), .key = (void *)(_key), }
|
{ .name = (_name), .key = (void *)(_key), }
|
||||||
|
|
|
@ -3,5 +3,7 @@
|
||||||
|
|
||||||
#define __used __attribute__((__unused__))
|
#define __used __attribute__((__unused__))
|
||||||
#define unlikely
|
#define unlikely
|
||||||
|
#define WRITE_ONCE(x, val) x=(val)
|
||||||
|
#define RCU_INIT_POINTER(p, v) p=(v)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <linux/utsname.h>
|
#include <linux/utsname.h>
|
||||||
|
#include <linux/compiler.h>
|
||||||
|
|
||||||
#define MAX_LOCK_DEPTH 2000UL
|
#define MAX_LOCK_DEPTH 2000UL
|
||||||
|
|
||||||
|
@ -54,5 +54,6 @@ static struct new_utsname *init_utsname(void)
|
||||||
#define static_obj(x) 1
|
#define static_obj(x) 1
|
||||||
|
|
||||||
#define debug_show_all_locks()
|
#define debug_show_all_locks()
|
||||||
|
extern void debug_check_no_locks_held(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue