Scroll to navigation

SYSCALL_GET_NR(9) Machine State SYSCALL_GET_NR(9)

NAME

syscall_get_nr - find what system call a task is executing

SYNOPSIS

int syscall_get_nr(struct task_struct * task, struct pt_regs * regs);

ARGUMENTS

task

task of interest, must be blocked

regs

task_pt_regs of task

DESCRIPTION

If task is executing a system call or is at system call tracing about to attempt one, returns the system call number. If task is not executing a system call, i.e. it´s blocked inside the kernel for a fault or signal, returns -1.

Note this returns int even on 64-bit machines. Only 32 bits of system call number can be meaningful. If the actual arch value is 64 bits, this truncates to 32 bits so 0xffffffff means -1.

It´s only valid to call this when task is known to be blocked.

April 2023 Kernel Hackers Manual 2.6.