1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LIBLOCKDEP_LOCKDEP_H_
3 #define _LIBLOCKDEP_LOCKDEP_H_
4 
5 #include <sys/prctl.h>
6 #include <sys/syscall.h>
7 #include <string.h>
8 #include <limits.h>
9 #include <linux/utsname.h>
10 #include <linux/compiler.h>
11 #include <linux/export.h>
12 #include <linux/kern_levels.h>
13 #include <linux/err.h>
14 #include <linux/rcu.h>
15 #include <linux/list.h>
16 #include <linux/hardirq.h>
17 #include <unistd.h>
18 
19 #define MAX_LOCK_DEPTH 63UL
20 
21 #define asmlinkage
22 #define __visible
23 
24 #include "../../../include/linux/lockdep.h"
25 
26 struct task_struct {
27 	u64 curr_chain_key;
28 	int lockdep_depth;
29 	unsigned int lockdep_recursion;
30 	struct held_lock held_locks[MAX_LOCK_DEPTH];
31 	gfp_t lockdep_reclaim_gfp;
32 	int pid;
33 	int state;
34 	char comm[17];
35 };
36 
37 #define TASK_RUNNING 0
38 
39 extern struct task_struct *__curr(void);
40 
41 #define current (__curr())
42 
debug_locks_off(void)43 static inline int debug_locks_off(void)
44 {
45 	return 1;
46 }
47 
48 #define task_pid_nr(tsk) ((tsk)->pid)
49 
50 #define KSYM_NAME_LEN 128
51 #define printk(...) dprintf(STDOUT_FILENO, __VA_ARGS__)
52 #define pr_err(format, ...) fprintf (stderr, format, ## __VA_ARGS__)
53 #define pr_warn pr_err
54 #define pr_cont pr_err
55 
56 #define list_del_rcu list_del
57 
58 #define atomic_t unsigned long
59 #define atomic_inc(x) ((*(x))++)
60 
61 #define print_tainted() ""
62 #define static_obj(x) 1
63 
64 #define debug_show_all_locks()
65 extern void debug_check_no_locks_held(void);
66 
__is_kernel_percpu_address(unsigned long addr,void * can_addr)67 static __used bool __is_kernel_percpu_address(unsigned long addr, void *can_addr)
68 {
69 	return false;
70 }
71 
72 #endif
73