|
@@ -168,10 +168,7 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- if (info)
|
|
|
|
- force_sig_info(signr, info, tsk);
|
|
|
|
- else
|
|
|
|
- force_sig(signr, tsk);
|
|
|
|
|
|
+ force_sig_info(signr, info ?: SEND_SIG_PRIV, tsk);
|
|
}
|
|
}
|
|
|
|
|
|
#define DO_ERROR(trapnr, signr, str, name) \
|
|
#define DO_ERROR(trapnr, signr, str, name) \
|
|
@@ -305,7 +302,7 @@ do_general_protection(struct pt_regs *regs, long error_code)
|
|
pr_cont("\n");
|
|
pr_cont("\n");
|
|
}
|
|
}
|
|
|
|
|
|
- force_sig(SIGSEGV, tsk);
|
|
|
|
|
|
+ force_sig_info(SIGSEGV, SEND_SIG_PRIV, tsk);
|
|
exit:
|
|
exit:
|
|
exception_exit(prev_state);
|
|
exception_exit(prev_state);
|
|
}
|
|
}
|
|
@@ -645,7 +642,7 @@ void math_state_restore(void)
|
|
*/
|
|
*/
|
|
if (unlikely(restore_fpu_checking(tsk))) {
|
|
if (unlikely(restore_fpu_checking(tsk))) {
|
|
drop_init_fpu(tsk);
|
|
drop_init_fpu(tsk);
|
|
- force_sig(SIGSEGV, tsk);
|
|
|
|
|
|
+ force_sig_info(SIGSEGV, SEND_SIG_PRIV, tsk);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|