|
@@ -1369,27 +1369,19 @@ const struct user_regset_view *task_user_regset_view(struct task_struct *task)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-static void fill_sigtrap_info(struct task_struct *tsk,
|
|
|
- struct pt_regs *regs,
|
|
|
- int error_code, int si_code,
|
|
|
- struct siginfo *info)
|
|
|
-{
|
|
|
- tsk->thread.trap_nr = X86_TRAP_DB;
|
|
|
- tsk->thread.error_code = error_code;
|
|
|
-
|
|
|
- info->si_signo = SIGTRAP;
|
|
|
- info->si_code = si_code;
|
|
|
- info->si_addr = user_mode(regs) ? (void __user *)regs->ip : NULL;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
|
|
|
int error_code, int si_code)
|
|
|
{
|
|
|
struct siginfo info;
|
|
|
|
|
|
clear_siginfo(&info);
|
|
|
- fill_sigtrap_info(tsk, regs, error_code, si_code, &info);
|
|
|
+ tsk->thread.trap_nr = X86_TRAP_DB;
|
|
|
+ tsk->thread.error_code = error_code;
|
|
|
+
|
|
|
+ info.si_signo = SIGTRAP;
|
|
|
+ info.si_code = si_code;
|
|
|
+ info.si_addr = user_mode(regs) ? (void __user *)regs->ip : NULL;
|
|
|
+
|
|
|
/* Send us the fake SIGTRAP */
|
|
|
force_sig_info(SIGTRAP, &info, tsk);
|
|
|
}
|