Skip to content

Commit 035cd69

Browse files
committed
security_bprm_check: remove reliance on sys_enter
1 parent f51d1c3 commit 035cd69

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

pkg/ebpf/c/tracee.bpf.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2139,17 +2139,18 @@ int BPF_KPROBE(trace_security_bprm_check)
21392139
unsigned long inode_nr = get_inode_nr_from_file(file);
21402140
void *file_path = get_path_str(__builtin_preserve_access_index(&file->f_path));
21412141

2142-
syscall_data_t *sys = &p.task_info->syscall_data;
2142+
struct pt_regs *task_regs = get_current_task_pt_regs();
2143+
21432144
const char *const *argv = NULL;
21442145
const char *const *envp = NULL;
2145-
switch (sys->id) {
2146+
switch (get_current_task_syscall_id()) {
21462147
case SYSCALL_EXECVE:
2147-
argv = (const char *const *) sys->args.args[1];
2148-
envp = (const char *const *) sys->args.args[2];
2148+
argv = (const char *const *) get_syscall_arg2(p.event->task, task_regs, false);
2149+
envp = (const char *const *) get_syscall_arg3(p.event->task, task_regs, false);
21492150
break;
21502151
case SYSCALL_EXECVEAT:
2151-
argv = (const char *const *) sys->args.args[2];
2152-
envp = (const char *const *) sys->args.args[3];
2152+
argv = (const char *const *) get_syscall_arg3(p.event->task, task_regs, false);
2153+
envp = (const char *const *) get_syscall_arg4(p.event->task, task_regs, false);
21532154
break;
21542155
default:
21552156
break;

pkg/events/core.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11447,7 +11447,6 @@ var CoreEvents = map[ID]Definition{
1144711447
dependencies: Dependencies{
1144811448
probes: []Probe{
1144911449
{handle: probes.SecurityBPRMCheck, required: true},
11450-
{handle: probes.SyscallEnter__Internal, required: true},
1145111450
},
1145211451
tailCalls: []TailCall{
1145311452
{

0 commit comments

Comments
 (0)