ptrace(PTRACE_TRACEME, 0, 0, 0); 
 if(!proc_mm){ /* This has a pte, but it can't be mapped in with the usual * tlb_flush mechanism because this is part of that mechanism */ int fd; __u64 offset;  fd = phys_mapping(to_phys(&__syscall_stub_start), &offset); addr = mmap64((void *) UML_CONFIG_STUB_CODE, page_size(), PROT_EXEC, MAP_FIXED | MAP_PRIVATE, fd, offset); if(addr == MAP_FAILED){ printk("mapping mmap stub failed, errno = %d\n", errno); exit(1); }  if(stack != NULL){ fd = phys_mapping(to_phys(stack), &offset); addr = mmap((void *) UML_CONFIG_STUB_DATA, page_size(), PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, fd, offset); if(addr == MAP_FAILED){ printk("mapping segfault stack failed, " "errno = %d\n", errno); exit(1); } } } if(!ptrace_faultinfo && (stack != NULL)){ unsigned long v = UML_CONFIG_STUB_CODE + (unsigned long) stub_segv_handler - (unsigned long) &__syscall_stub_start;  set_sigstack((void *) UML_CONFIG_STUB_DATA, page_size()); set_handler(SIGSEGV, (void *) v, SA_ONSTACK, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, SIGUSR1, -1); }  
static int userspace_tramp(void *arg){	init_new_thread_signals(0);	enable_timer();	ptrace(PTRACE_TRACEME, 0, 0, 0);	os_stop_process(os_getpid());	return(0);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d67b569f5f620c0fb95d5212642746b7ba9d29e4/process.c/buggy/arch/um/kernel/skas/process.c