Lines Matching refs:info

677 static int ptrace_getsiginfo(struct task_struct *child, kernel_siginfo_t *info)  in ptrace_getsiginfo()  argument
685 copy_siginfo(info, child->last_siginfo); in ptrace_getsiginfo()
693 static int ptrace_setsiginfo(struct task_struct *child, const kernel_siginfo_t *info) in ptrace_setsiginfo() argument
701 copy_siginfo(child->last_siginfo, info); in ptrace_setsiginfo()
739 kernel_siginfo_t info; in ptrace_peek_siginfo() local
747 copy_siginfo(&info, &q->info); in ptrace_peek_siginfo()
760 if (copy_siginfo_to_user32(uinfo, &info)) { in ptrace_peek_siginfo()
770 if (copy_siginfo_to_user(uinfo, &info)) { in ptrace_peek_siginfo()
919 struct ptrace_syscall_info *info) in ptrace_get_syscall_info_entry() argument
921 unsigned long args[ARRAY_SIZE(info->entry.args)]; in ptrace_get_syscall_info_entry()
924 info->entry.nr = syscall_get_nr(child, regs); in ptrace_get_syscall_info_entry()
927 info->entry.args[i] = args[i]; in ptrace_get_syscall_info_entry()
935 struct ptrace_syscall_info *info) in ptrace_get_syscall_info_seccomp() argument
944 ptrace_get_syscall_info_entry(child, regs, info); in ptrace_get_syscall_info_seccomp()
945 info->seccomp.ret_data = child->ptrace_message; in ptrace_get_syscall_info_seccomp()
956 struct ptrace_syscall_info *info) in ptrace_get_syscall_info_exit() argument
958 info->exit.rval = syscall_get_error(child, regs); in ptrace_get_syscall_info_exit()
959 info->exit.is_error = !!info->exit.rval; in ptrace_get_syscall_info_exit()
960 if (!info->exit.is_error) in ptrace_get_syscall_info_exit()
961 info->exit.rval = syscall_get_return_value(child, regs); in ptrace_get_syscall_info_exit()
998 struct ptrace_syscall_info info = { in ptrace_get_syscall_info() local
1007 switch (info.op) { in ptrace_get_syscall_info()
1009 actual_size = ptrace_get_syscall_info_entry(child, regs, &info); in ptrace_get_syscall_info()
1012 actual_size = ptrace_get_syscall_info_exit(child, regs, &info); in ptrace_get_syscall_info()
1015 actual_size = ptrace_get_syscall_info_seccomp(child, regs, &info); in ptrace_get_syscall_info()
1020 return copy_to_user(datavp, &info, write_size) ? -EFAULT : actual_size; in ptrace_get_syscall_info()
1025 struct ptrace_syscall_info *info) in ptrace_set_syscall_info_entry() argument
1027 unsigned long args[ARRAY_SIZE(info->entry.args)]; in ptrace_set_syscall_info_entry()
1028 int nr = info->entry.nr; in ptrace_set_syscall_info_entry()
1036 if (nr != info->entry.nr) in ptrace_set_syscall_info_entry()
1040 args[i] = info->entry.args[i]; in ptrace_set_syscall_info_entry()
1046 if (args[i] != info->entry.args[i]) in ptrace_set_syscall_info_entry()
1065 struct ptrace_syscall_info *info) in ptrace_set_syscall_info_seccomp() argument
1071 return ptrace_set_syscall_info_entry(child, regs, info); in ptrace_set_syscall_info_seccomp()
1076 struct ptrace_syscall_info *info) in ptrace_set_syscall_info_exit() argument
1078 long rval = info->exit.rval; in ptrace_set_syscall_info_exit()
1085 if (rval != info->exit.rval) in ptrace_set_syscall_info_exit()
1088 if (info->exit.is_error) in ptrace_set_syscall_info_exit()
1101 struct ptrace_syscall_info info; in ptrace_set_syscall_info() local
1103 if (user_size < sizeof(info)) in ptrace_set_syscall_info()
1111 if (copy_from_user(&info, datavp, sizeof(info))) in ptrace_set_syscall_info()
1115 if (info.flags || info.reserved) in ptrace_set_syscall_info()
1119 if (ptrace_get_syscall_info_op(child) != info.op) in ptrace_set_syscall_info()
1122 switch (info.op) { in ptrace_set_syscall_info()
1124 return ptrace_set_syscall_info_entry(child, regs, &info); in ptrace_set_syscall_info()
1126 return ptrace_set_syscall_info_exit(child, regs, &info); in ptrace_set_syscall_info()
1128 return ptrace_set_syscall_info_seccomp(child, regs, &info); in ptrace_set_syscall_info()