table of contents
SYSCALL_ROLLBACK(9) | Machine State | SYSCALL_ROLLBACK(9) |
NAME¶
syscall_rollback - roll back registers after an aborted system call
SYNOPSIS¶
void syscall_rollback(struct task_struct * task, struct pt_regs * regs);
ARGUMENTS¶
task
task of interest, must be in system call exit
tracing
regs
task_pt_regs of task
DESCRIPTION¶
It´s only valid to call this when task is stopped for system call exit tracing (due to TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT), after tracehook_report_syscall_entry returned nonzero to prevent the system call from taking place.
This rolls back the register state in regs so it´s as if the system call instruction was a no-op. The registers containing the system call number and arguments are as they were before the system call instruction. This may not be the same as what the register state looked like at system call entry tracing.
May 2024 | Kernel Hackers Manual 2.6. |