/* Print out info about fatal segfaults, if the show_unhandled_signals sysctl is set:  */
static void show_signal_msg(struct pt_regs *regs, unsigned long error_code, unsigned long address, struct task_struct *tsk)
/* Print out info about fatal segfaults, if the show_unhandled_signals sysctl is set:  */
static void show_signal_msg(struct pt_regs *regs, unsigned long error_code, unsigned long address, struct task_struct *tsk)
{
	if (!unhandled_signal(tsk, SIGSEGV))
		return;
	if (!printk_ratelimit())
		return;
	printk("%s%s[%d]: segfault at %lx ip %p sp %p error %lx",
		task_pid_nr(tsk) > 1 ? KERN_INFO : KERN_EMERG,
		tsk->comm, task_pid_nr(tsk), address,
		(void *)regs->ip, (void *)regs->sp, error_code);
	print_vma_addr(KERN_CONT " in ", regs->ip);
	printk(KERN_CONT "\n");
}