Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

task_current_syscall(9) [suse man page]

TASK_CURRENT_SYSCALL(9) 					   Machine State					   TASK_CURRENT_SYSCALL(9)

NAME
task_current_syscall - Discover what a blocked task is doing. SYNOPSIS
int task_current_syscall(struct task_struct * target, long * callno, unsigned long args[6], unsigned int maxargs, unsigned long * sp, unsigned long * pc); ARGUMENTS
target thread to examine callno filled with system call number or -1 args[6] filled with maxargs system call arguments maxargs number of elements in args to fill sp filled with user stack pointer pc filled with user PC DESCRIPTION
If target is blocked in a system call, returns zero with *callno set to the the call's number and args filled in with its arguments. Registers not used for system call arguments may not be available and it is not kosher to use struct user_regset calls while the system call is still in progress. Note we may get this result if target has finished its system call but not yet returned to user mode, such as when it's stopped for signal handling or syscall exit tracing. If target is blocked in the kernel during a fault or exception, returns zero with *callno set to -1 and does not fill in args. If so, it's now safe to examine target using struct user_regset get calls as long as we're sure target won't return to user mode. Returns -EAGAIN if target does not remain blocked. Returns -EINVAL if maxargs is too large (maximum is six). Kernel Hackers Manual 2.6. July 2010 TASK_CURRENT_SYSCALL(9)

Check Out this Related Man Page

UTRACE_ATTACH_TASK(9)						  utrace core API					     UTRACE_ATTACH_TASK(9)

NAME
utrace_attach_task - attach new engine, or look up an attached engine SYNOPSIS
struct utrace_engine * utrace_attach_task(struct task_struct * target, int flags, const struct utrace_engine_ops * ops, void * data); ARGUMENTS
target thread to attach to flags flag bits combined with OR, see below ops callback table for new engine data engine private data pointer DESCRIPTION
The caller must ensure that the target thread does not get freed, i.e. hold a ref or be its parent. It is always safe to call this on current, or on the child pointer in a report_clone callback. For most other cases, it's easier to use utrace_attach_pid instead. UTRACE_ATTACH_CREATE Create a new engine. If UTRACE_ATTACH_CREATE is not specified, you only look up an existing engine already attached to the thread. UTRACE_ATTACH_EXCLUSIVE Attempting to attach a second (matching) engine fails with -EEXIST. UTRACE_ATTACH_MATCH_OPS Only consider engines matching ops. UTRACE_ATTACH_MATCH_DATA Only consider engines matching data. Calls with neither UTRACE_ATTACH_MATCH_OPS nor UTRACE_ATTACH_MATCH_DATA match the first among any engines attached to target. That means that UTRACE_ATTACH_EXCLUSIVE in such a call fails with -EEXIST if there are any engines on target at all. Kernel Hackers Manual 2.6. July 2010 UTRACE_ATTACH_TASK(9)
Man Page