Lines Matching full:child
132 * does not yet catch signals sent when the child dies.
355 static int putreg(struct task_struct *child, in putreg() argument
365 return set_segment_reg(child, offset, value); in putreg()
368 return set_flags(child, value); in putreg()
374 x86_fsbase_write_task(child, value); in putreg()
379 x86_gsbase_write_task(child, value); in putreg()
384 *pt_regs_access(task_pt_regs(child), offset) = value; in putreg()
699 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument
701 user_disable_single_step(child); in ptrace_disable()
708 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument
725 tmp = getreg(child, addr); in arch_ptrace()
729 tmp = ptrace_get_debugreg(child, addr / sizeof(data)); in arch_ptrace()
741 ret = putreg(child, addr, data); in arch_ptrace()
745 ret = ptrace_set_debugreg(child, in arch_ptrace()
750 case PTRACE_GETREGS: /* Get all gp regs from the child. */ in arch_ptrace()
751 return copy_regset_to_user(child, in arch_ptrace()
757 case PTRACE_SETREGS: /* Set all gp regs in the child. */ in arch_ptrace()
758 return copy_regset_from_user(child, in arch_ptrace()
764 case PTRACE_GETFPREGS: /* Get the child FPU state. */ in arch_ptrace()
765 return copy_regset_to_user(child, in arch_ptrace()
771 case PTRACE_SETFPREGS: /* Set the child FPU state. */ in arch_ptrace()
772 return copy_regset_from_user(child, in arch_ptrace()
779 case PTRACE_GETFPXREGS: /* Get the child extended FPU state. */ in arch_ptrace()
780 return copy_regset_to_user(child, &user_x86_32_view, in arch_ptrace()
785 case PTRACE_SETFPXREGS: /* Set the child extended FPU state. */ in arch_ptrace()
786 return copy_regset_from_user(child, &user_x86_32_view, in arch_ptrace()
796 ret = do_get_thread_area(child, addr, in arch_ptrace()
803 ret = do_set_thread_area(child, addr, in arch_ptrace()
813 ret = do_arch_prctl_64(child, data, addr); in arch_ptrace()
818 ret = ptrace_request(child, request, addr, data); in arch_ptrace()
838 return set_segment_reg(child, \
843 static int putreg32(struct task_struct *child, unsigned regno, u32 value) in putreg32() argument
845 struct pt_regs *regs = task_pt_regs(child); in putreg32()
862 ret = set_segment_reg(child, in putreg32()
866 child->thread.fsbase = in putreg32()
867 x86_fsgsbase_read_task(child, value); in putreg32()
871 ret = set_segment_reg(child, in putreg32()
875 child->thread.gsbase = in putreg32()
876 x86_fsgsbase_read_task(child, value); in putreg32()
903 if (syscall_get_nr(child, regs) >= 0) in putreg32()
904 child->thread_info.status |= TS_I386_REGS_POKED; in putreg32()
908 return set_flags(child, value); in putreg32()
913 return ptrace_set_debugreg(child, regno / 4, value); in putreg32()
937 *val = get_segment_reg(child, \
941 static int getreg32(struct task_struct *child, unsigned regno, u32 *val) in getreg32() argument
943 struct pt_regs *regs = task_pt_regs(child); in getreg32()
966 *val = get_flags(child); in getreg32()
972 *val = ptrace_get_debugreg(child, regno / 4); in getreg32()
1034 static long ia32_arch_ptrace(struct task_struct *child, compat_long_t request, in ia32_arch_ptrace() argument
1045 ret = getreg32(child, addr, &val); in ia32_arch_ptrace()
1051 ret = putreg32(child, addr, data); in ia32_arch_ptrace()
1054 case PTRACE_GETREGS: /* Get all gp regs from the child. */ in ia32_arch_ptrace()
1055 return copy_regset_to_user(child, &user_x86_32_view, in ia32_arch_ptrace()
1060 case PTRACE_SETREGS: /* Set all gp regs in the child. */ in ia32_arch_ptrace()
1061 return copy_regset_from_user(child, &user_x86_32_view, in ia32_arch_ptrace()
1066 case PTRACE_GETFPREGS: /* Get the child FPU state. */ in ia32_arch_ptrace()
1067 return copy_regset_to_user(child, &user_x86_32_view, in ia32_arch_ptrace()
1072 case PTRACE_SETFPREGS: /* Set the child FPU state. */ in ia32_arch_ptrace()
1074 child, &user_x86_32_view, REGSET_FP, in ia32_arch_ptrace()
1077 case PTRACE_GETFPXREGS: /* Get the child extended FPU state. */ in ia32_arch_ptrace()
1078 return copy_regset_to_user(child, &user_x86_32_view, in ia32_arch_ptrace()
1083 case PTRACE_SETFPXREGS: /* Set the child extended FPU state. */ in ia32_arch_ptrace()
1084 return copy_regset_from_user(child, &user_x86_32_view, in ia32_arch_ptrace()
1091 return arch_ptrace(child, request, addr, data); in ia32_arch_ptrace()
1094 return compat_ptrace_request(child, request, addr, data); in ia32_arch_ptrace()
1102 static long x32_arch_ptrace(struct task_struct *child, in x32_arch_ptrace() argument
1124 tmp = getreg(child, addr); in x32_arch_ptrace()
1128 tmp = ptrace_get_debugreg(child, addr / sizeof(data)); in x32_arch_ptrace()
1144 ret = putreg(child, addr, data); in x32_arch_ptrace()
1148 ret = ptrace_set_debugreg(child, in x32_arch_ptrace()
1153 case PTRACE_GETREGS: /* Get all gp regs from the child. */ in x32_arch_ptrace()
1154 return copy_regset_to_user(child, in x32_arch_ptrace()
1160 case PTRACE_SETREGS: /* Set all gp regs in the child. */ in x32_arch_ptrace()
1161 return copy_regset_from_user(child, in x32_arch_ptrace()
1167 case PTRACE_GETFPREGS: /* Get the child FPU state. */ in x32_arch_ptrace()
1168 return copy_regset_to_user(child, in x32_arch_ptrace()
1174 case PTRACE_SETFPREGS: /* Set the child FPU state. */ in x32_arch_ptrace()
1175 return copy_regset_from_user(child, in x32_arch_ptrace()
1182 return compat_ptrace_request(child, request, addr, data); in x32_arch_ptrace()
1190 long compat_arch_ptrace(struct task_struct *child, compat_long_t request, in compat_arch_ptrace() argument
1195 return x32_arch_ptrace(child, request, caddr, cdata); in compat_arch_ptrace()
1198 return ia32_arch_ptrace(child, request, caddr, cdata); in compat_arch_ptrace()