root/tools/lib/lockdep/common.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. liblockdep_exit
  2. __curr

   1 // SPDX-License-Identifier: GPL-2.0
   2 #include <stddef.h>
   3 #include <stdbool.h>
   4 #include <linux/compiler.h>
   5 #include <linux/lockdep.h>
   6 #include <unistd.h>
   7 #include <sys/syscall.h>
   8 
   9 static __thread struct task_struct current_obj;
  10 
  11 /* lockdep wants these */
  12 bool debug_locks = true;
  13 bool debug_locks_silent;
  14 
  15 __attribute__((destructor)) static void liblockdep_exit(void)
  16 {
  17         debug_check_no_locks_held();
  18 }
  19 
  20 struct task_struct *__curr(void)
  21 {
  22         if (current_obj.pid == 0) {
  23                 /* Makes lockdep output pretty */
  24                 prctl(PR_GET_NAME, current_obj.comm);
  25                 current_obj.pid = syscall(__NR_gettid);
  26         }
  27 
  28         return &current_obj;
  29 }

/* [<][>][^][v][top][bottom][index][help] */