if (task != current) { 
if (task != current && task != NULL) { /* XXX: Isn't this bogus? I.e. isn't this the * *userspace* stack of this task? If not so, use this * even when task == current (as in i386). */ 
void show_stack(struct task_struct *task, unsigned long *esp){	unsigned long *stack;	int i;	if (esp == NULL) {		if (task != current) {			esp = (unsigned long *) KSTK_ESP(task);			/* Which one? No actual difference - just coding style.*/			//esp = (unsigned long *) PT_REGS_IP(&task->thread.regs);		} else {			esp = (unsigned long *) &esp;		}	}	stack = esp;	for(i = 0; i < kstack_depth_to_print; i++) {		if (kstack_end(stack))			break;		if (i && ((i % 8) == 0))			printk("\n       ");		printk("%08lx ", *stack++);	}	show_trace(esp);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b3461034d7d46455060c8476910be22b6b0fc313/sysrq.c/clean/arch/um/kernel/sysrq.c