int res; 
void *protect(struct mm_id * mm_idp, unsigned long addr, unsigned long len,              int r, int w, int x, int done, void *data){        struct proc_mm_op protect;        int prot, n;        prot = (r ? PROT_READ : 0) | (w ? PROT_WRITE : 0) |                (x ? PROT_EXEC : 0);        if(proc_mm){                int fd = mm_idp->u.mm_fd;                protect = ((struct proc_mm_op) { .op	= MM_MPROTECT,                                                 .u	=                                                 { .mprotect	=                                                   { .addr	=                                                     (unsigned long) addr,                                                     .len	= len,                                                     .prot	= prot } } } );                n = os_write_file(fd, &protect, sizeof(protect));                if(n != sizeof(protect))                        panic("protect failed, err = %d", -n);        }        else {                int res;                unsigned long args[] = { addr, len, prot, 0, 0, 0 };                res = run_syscall_stub(mm_idp, __NR_mprotect, args,                                       &data, done);                if(res < 0)                        panic("mprotect stub failed, errno = %d\n", res);        }        return data;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/07bf731e4b95d7c9ea9dbacd1fc4a041120dfffb/mem_user.c/clean/arch/um/kernel/skas/mem_user.c