Loading drivers/platform/msm/seemp_core/seemp_logk.c +25 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ #define EL2_SCM_ID 0x02001902 #define KP_EL2_REPORT_REVISION 0x01000101 #define INVALID_PID -1 static struct seemp_logk_dev *slogk_dev; Loading Loading @@ -65,6 +66,7 @@ static long seemp_logk_reserve_rdblks( static long seemp_logk_set_mask(unsigned long arg); static long seemp_logk_set_mapping(unsigned long arg); static long seemp_logk_check_filter(unsigned long arg); static pid_t seemp_logk_get_pid(struct task_struct *t); static int seemp_logk_rtic_thread(void *data); void* (*seemp_logk_kernel_begin)(char **buf); Loading Loading @@ -601,6 +603,26 @@ static const struct file_operations seemp_logk_fops = { .mmap = seemp_logk_mmap, }; static pid_t seemp_logk_get_pid(struct task_struct *t) { struct task_struct *task; pid_t pid; if (t == NULL) return INVALID_PID; rcu_read_lock(); for_each_process(task) { if (task == t) { pid = task->pid; rcu_read_unlock(); return pid; } } rcu_read_unlock(); return INVALID_PID; } static int seemp_logk_rtic_thread(void *data) { struct el2_report_header_t *header; Loading Loading @@ -632,8 +654,9 @@ static int seemp_logk_rtic_thread(void *data) || report->sequence_number > last_sequence_number)) { seemp_logk_rtic(report->report_type, ((struct task_struct *) report->actor) ->pid, seemp_logk_get_pid( (struct task_struct *) report->actor), /* leave this empty until * asset id is provided */ Loading Loading
drivers/platform/msm/seemp_core/seemp_logk.c +25 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ #define EL2_SCM_ID 0x02001902 #define KP_EL2_REPORT_REVISION 0x01000101 #define INVALID_PID -1 static struct seemp_logk_dev *slogk_dev; Loading Loading @@ -65,6 +66,7 @@ static long seemp_logk_reserve_rdblks( static long seemp_logk_set_mask(unsigned long arg); static long seemp_logk_set_mapping(unsigned long arg); static long seemp_logk_check_filter(unsigned long arg); static pid_t seemp_logk_get_pid(struct task_struct *t); static int seemp_logk_rtic_thread(void *data); void* (*seemp_logk_kernel_begin)(char **buf); Loading Loading @@ -601,6 +603,26 @@ static const struct file_operations seemp_logk_fops = { .mmap = seemp_logk_mmap, }; static pid_t seemp_logk_get_pid(struct task_struct *t) { struct task_struct *task; pid_t pid; if (t == NULL) return INVALID_PID; rcu_read_lock(); for_each_process(task) { if (task == t) { pid = task->pid; rcu_read_unlock(); return pid; } } rcu_read_unlock(); return INVALID_PID; } static int seemp_logk_rtic_thread(void *data) { struct el2_report_header_t *header; Loading Loading @@ -632,8 +654,9 @@ static int seemp_logk_rtic_thread(void *data) || report->sequence_number > last_sequence_number)) { seemp_logk_rtic(report->report_type, ((struct task_struct *) report->actor) ->pid, seemp_logk_get_pid( (struct task_struct *) report->actor), /* leave this empty until * asset id is provided */ Loading