protect = ((struct proc_mm_op) { .op 	= MM_MPROTECT, .u 	= { .mprotect	= { .addr 	= (unsigned long) addr, .len		= len, .prot	= prot } } } ); 
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 } } } ); 
int protect(int fd, unsigned long addr, unsigned long len, int r, int w, 	    int x, int must_succeed){	struct proc_mm_op protect;	int prot, n;	prot = (r ? PROT_READ : 0) | (w ? PROT_WRITE : 0) | 		(x ? PROT_EXEC : 0);	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)) {		if(n == 0) return(0);		if(must_succeed)			panic("protect failed, err = %d", -n);		return(-EIO);	}	return(0);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d67b569f5f620c0fb95d5212642746b7ba9d29e4/mem_user.c/buggy/arch/um/kernel/skas/mem_user.c