Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove release_task from VFS #55

Merged
merged 1 commit into from
Sep 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions src/vfs.bpf.c
Original file line number Diff line number Diff line change
Expand Up @@ -370,23 +370,6 @@ static __always_inline int netdata_common_vfs_create(int ret)
return 0;
}

static __always_inline int netdata_release_task_vfs()
{
struct netdata_vfs_stat_t *removeme;
__u32 key = 0;
if (netdata_vfs_not_update_apps())
return 0;

removeme = netdata_get_pid_structure(&key, &vfs_ctrl, &tbl_vfs_pid);
if (removeme) {
bpf_map_delete_elem(&tbl_vfs_pid, &key);

libnetdata_update_global(&vfs_ctrl, NETDATA_CONTROLLER_PID_TABLE_DEL, 1);
}

return 0;
}

/************************************************************************************
*
* VFS Section (kprobe)
Expand Down Expand Up @@ -529,12 +512,6 @@ int BPF_KRETPROBE(netdata_vfs_create_kretprobe)
return netdata_common_vfs_create(ret);
}

SEC("kprobe/release_task")
int BPF_KRETPROBE(netdata_vfs_release_task_kprobe)
{
return netdata_release_task_vfs();
}

/************************************************************************************
*
* VFS Section (trampoline)
Expand Down Expand Up @@ -683,11 +660,5 @@ int BPF_PROG(netdata_vfs_create_fexit, struct inode *dir, struct dentry *dentry,
}
*/

SEC("fentry/release_task")
int BPF_PROG(netdata_vfs_release_task_fentry)
{
return netdata_release_task_vfs();
}

char _license[] SEC("license") = "GPL";

13 changes: 1 addition & 12 deletions src/vfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ char *function_list[] = { "vfs_write",
"vfs_unlink",
"vfs_fsync",
"vfs_open",
"vfs_create",
"release_task"
"vfs_create"
};
// This preprocessor is defined here, because it is not useful in kernel-colector
#define NETDATA_VFS_RELEASE_TASK 8
Expand All @@ -46,7 +45,6 @@ static inline void ebpf_disable_probes(struct vfs_bpf *obj)
bpf_program__set_autoload(obj->progs.netdata_vfs_open_kretprobe, false);
bpf_program__set_autoload(obj->progs.netdata_vfs_create_kprobe, false);
bpf_program__set_autoload(obj->progs.netdata_vfs_create_kretprobe, false);
bpf_program__set_autoload(obj->progs.netdata_vfs_release_task_kprobe, false);
}

static inline void ebpf_disable_trampoline(struct vfs_bpf *obj)
Expand All @@ -66,7 +64,6 @@ static inline void ebpf_disable_trampoline(struct vfs_bpf *obj)
bpf_program__set_autoload(obj->progs.netdata_vfs_open_fentry, false);
bpf_program__set_autoload(obj->progs.netdata_vfs_open_fexit, false);
bpf_program__set_autoload(obj->progs.netdata_vfs_create_fentry, false);
bpf_program__set_autoload(obj->progs.netdata_vfs_release_task_fentry, false);
// bpf_program__set_autoload(obj->progs.netdata_vfs_create_fexit, false);
}

Expand Down Expand Up @@ -117,9 +114,6 @@ static void ebpf_set_trampoline_target(struct vfs_bpf *obj)
bpf_program__set_attach_target(obj->progs.netdata_vfs_create_fentry, 0,
function_list[NETDATA_VFS_CREATE]);

bpf_program__set_attach_target(obj->progs.netdata_vfs_release_task_fentry, 0,
function_list[NETDATA_VFS_RELEASE_TASK]);

// bpf_program__set_attach_target(obj->progs.netdata_vfs_create_fexit, 0,
// function_list[NETDATA_VFS_CREATE]);
}
Expand Down Expand Up @@ -230,11 +224,6 @@ static int ebpf_attach_probes(struct vfs_bpf *obj)
if (ret)
return -1;

obj->links.netdata_vfs_release_task_kprobe = bpf_program__attach_kprobe(obj->progs.netdata_vfs_release_task_kprobe,
true, function_list[NETDATA_VFS_RELEASE_TASK]);
ret = libbpf_get_error(obj->links.netdata_vfs_release_task_kprobe);
if (ret)
return -1;
return 0;
}

Expand Down
Loading