@@ -176,12 +176,6 @@ static void get_skas_faultinfo(int pid, struct faultinfo *fi, unsigned long *aux
}
}
-static void handle_segv(int pid, struct uml_pt_regs *regs, unsigned long *aux_fp_regs)
-{
- get_skas_faultinfo(pid, ®s->faultinfo, aux_fp_regs);
- segv(regs->faultinfo, 0, 1, NULL);
-}
-
static void handle_trap(int pid, struct uml_pt_regs *regs)
{
if ((UPT_IP(regs) >= STUB_START) && (UPT_IP(regs) < STUB_END))
@@ -525,13 +519,15 @@ void userspace(struct uml_pt_regs *regs, unsigned long *aux_fp_regs)
switch (sig) {
case SIGSEGV:
- if (PTRACE_FULL_FAULTINFO) {
- get_skas_faultinfo(pid,
- ®s->faultinfo, aux_fp_regs);
+ get_skas_faultinfo(pid,
+ ®s->faultinfo, aux_fp_regs);
+
+ if (PTRACE_FULL_FAULTINFO)
(*sig_info[SIGSEGV])(SIGSEGV, (struct siginfo *)&si,
regs);
- }
- else handle_segv(pid, regs, aux_fp_regs);
+ else
+ segv(regs->faultinfo, 0, 1, NULL);
+
break;
case SIGTRAP + 0x80:
handle_trap(pid, regs);