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 26struct 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 39extern struct task_struct *__curr(void); 40 41#define current (__curr()) 42 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() 65extern void debug_check_no_locks_held(void); 66 67static __used bool __is_kernel_percpu_address(unsigned long addr, void *can_addr) 68{ 69 return false; 70} 71 72#endif 73