/* Special handling for i386, which has different structs */ if (sizeof(struct ptrace_faultinfo) < sizeof(struct faultinfo)) memset((char *)fi + sizeof(struct ptrace_faultinfo), 0, sizeof(struct faultinfo) - sizeof(struct ptrace_faultinfo)); 
/* Special handling for i386, which has different structs */ if (sizeof(struct ptrace_faultinfo) < sizeof(struct faultinfo)) memset((char *)fi + sizeof(struct ptrace_faultinfo), 0, sizeof(struct faultinfo) - sizeof(struct ptrace_faultinfo)); } else { wait_stub_done(pid, SIGSEGV, "get_skas_faultinfo");  /* faultinfo is prepared by the stub-segv-handler at start of * the stub stack page. We just have to copy it. */ memcpy(fi, (void *)current_stub_stack(), sizeof(*fi)); } 
void get_skas_faultinfo(int pid, struct faultinfo * fi){	int err;        err = ptrace(PTRACE_FAULTINFO, pid, 0, fi);	if(err)                panic("get_skas_faultinfo - PTRACE_FAULTINFO failed, "                      "errno = %d\n", errno);        /* Special handling for i386, which has different structs */        if (sizeof(struct ptrace_faultinfo) < sizeof(struct faultinfo))                memset((char *)fi + sizeof(struct ptrace_faultinfo), 0,                       sizeof(struct faultinfo) -                       sizeof(struct ptrace_faultinfo));}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d67b569f5f620c0fb95d5212642746b7ba9d29e4/process.c/buggy/arch/um/kernel/skas/process.c