void sspt_file_set_mapping(struct sspt_file *file, struct vm_area_struct *vma)
{
struct task_struct *task = file->proc->task;
- int app_flag = (vma->vm_file->f_dentry == file->proc->dentry);
file->vm_start = vma->vm_start;
file->vm_end = vma->vm_end;
ptr_pack_task_event_info(task, DYN_LIB_PROBE_ID, RECORD_ENTRY, "dspdd",
task->tgid, file->name, vma->vm_start,
- vma->vm_end - vma->vm_start, app_flag);
+ vma->vm_end - vma->vm_start, 0);
}
static LIST_HEAD(proc_probes_list);
-struct sspt_proc *sspt_proc_create(struct dentry* dentry, struct task_struct *task)
+struct sspt_proc *sspt_proc_create(struct task_struct *task)
{
struct sspt_proc *proc = kmalloc(sizeof(*proc), GFP_ATOMIC);
INIT_LIST_HEAD(&proc->list);
proc->tgid = task ? task->tgid : 0;
proc->task = task;
- proc->dentry = dentry;
proc->sm = create_sm_us(task);
proc->first_install = 0;
INIT_LIST_HEAD(&proc->file_list);
{
struct sspt_proc *proc;
- proc = sspt_proc_create(NULL, task);
+ proc = sspt_proc_create(task);
return proc;
}
struct sspt_proc *sspt_proc_copy(struct sspt_proc *proc, struct task_struct *task)
{
struct sspt_file *file;
- struct sspt_proc *proc_out = sspt_proc_create(proc->dentry, task);
+ struct sspt_proc *proc_out = sspt_proc_create(task);
list_for_each_entry(file, &proc->file_list, list) {
sspt_proc_add_file(proc_out, sspt_file_copy(file));
struct list_head list;
pid_t tgid;
struct task_struct *task;
- struct dentry *dentry;
struct slot_manager *sm;
struct list_head file_list;
unsigned first_install:1;
};
-struct sspt_proc *sspt_proc_create(struct dentry* dentry, struct task_struct *task);
+struct sspt_proc *sspt_proc_create(struct task_struct *task);
struct sspt_proc *sspt_proc_copy(struct sspt_proc *proc, struct task_struct *task);
void sspt_proc_free(struct sspt_proc *proc);