(void) notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); 
die (const char *str, struct pt_regs *regs, long err){	static struct {		spinlock_t lock;		u32 lock_owner;		int lock_owner_depth;	} die = {		.lock =			SPIN_LOCK_UNLOCKED,		.lock_owner =		-1,		.lock_owner_depth =	0	};	static int die_counter;	int cpu = get_cpu();	if (die.lock_owner != cpu) {		console_verbose();		spin_lock_irq(&die.lock);		die.lock_owner = cpu;		die.lock_owner_depth = 0;		bust_spinlocks(1);	}	put_cpu();	if (++die.lock_owner_depth < 3) {		printk("%s[%d]: %s %ld [%d]\n",			current->comm, current->pid, str, err, ++die_counter);		show_regs(regs);  	} else		printk(KERN_ERR "Recursive die() failure, output suppressed\n");	bust_spinlocks(0);	die.lock_owner = -1;	spin_unlock_irq(&die.lock);  	do_exit(SIGSEGV);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/9138d581b0ef855c0314c41c14852a7231b9941c/traps.c/buggy/arch/ia64/kernel/traps.c