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)43static 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)67static __used bool __is_kernel_percpu_address(unsigned long addr, void *can_addr) 68 { 69 return false; 70 } 71 72 #endif 73