struct pf_group *pfg;
struct sspt_proc *proc = NULL;
+ WARN(task != current, "Context: current(%d/%d/%s), task(%d/%d/%s)\n",
+ current->tgid, current->pid, current->comm,
+ task->tgid, task->pid, task->comm);
+
list_for_each_entry(pfg, &pfg_list, list) {
if (check_task_f(&pfg->filter, task) == NULL)
continue;
struct sspt_proc *proc = NULL;
list_for_each_entry(pfg, &pfg_list, list) {
- if (ignore_pf(&pfg->filter) ||
- (check_task_f(&pfg->filter, task) == NULL))
+ if ((check_task_f(&pfg->filter, task) == NULL))
continue;
proc = get_proc_by_pfg(pfg, task);
static struct task_struct *call_by_comm(struct proc_filter *self,
struct task_struct *task)
{
+ struct task_struct *parent;
char *comm = (char *)self->data;
size_t len = strnlen(comm, TASK_COMM_LEN);
if (!strncmp(comm, task->comm, len))
return task;
+ parent = task->parent;
+ if (parent && !strncmp(comm, parent->comm, len))
+ return task;
+
return NULL;
}