cregit-Linux how code gets into the kernel

Release 4.11 tools/lib/lockdep/common.c

#include <stddef.h>
#include <stdbool.h>
#include <linux/compiler.h>
#include <linux/lockdep.h>
#include <unistd.h>
#include <sys/syscall.h>


static __thread struct task_struct current_obj;

/* lockdep wants these */

bool debug_locks = true;

bool debug_locks_silent;


__attribute__((destructor)) 
static void liblockdep_exit(void) { debug_check_no_locks_held(); }

Contributors

PersonTokensPropCommitsCommitProp
Sasha Levin11100.00%2100.00%
Total11100.00%2100.00%


struct task_struct *__curr(void) { if (current_obj.pid == 0) { /* Makes lockdep output pretty */ prctl(PR_GET_NAME, current_obj.comm); current_obj.pid = syscall(__NR_gettid); } return &current_obj; }

Contributors

PersonTokensPropCommitsCommitProp
Sasha Levin42100.00%1100.00%
Total42100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Sasha Levin90100.00%2100.00%
Total90100.00%2100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.