permission(bprm->file->f_dentry->d_inode,MAY_READ, NULL) || 
file_permission(bprm->file, MAY_READ) || 
int flush_old_exec(struct linux_binprm * bprm){	char * name;	int i, ch, retval;	struct files_struct *files;	char tcomm[sizeof(current->comm)];	/*	 * Make sure we have a private signal table and that	 * we are unassociated from the previous thread group.	 */	retval = de_thread(current);	if (retval)		goto out;	/*	 * Make sure we have private file handles. Ask the	 * fork helper to do the work for us and the exit	 * helper to do the cleanup of the old one.	 */	files = current->files;		/* refcounted so safe to hold */	retval = unshare_files();	if (retval)		goto out;	/*	 * Release all of the old mmap stuff	 */	retval = exec_mmap(bprm->mm);	if (retval)		goto mmap_failed;	bprm->mm = NULL;		/* We're using it now */	/* This is the point of no return */	steal_locks(files);	put_files_struct(files);	current->sas_ss_sp = current->sas_ss_size = 0;	if (current->euid == current->uid && current->egid == current->gid)		current->mm->dumpable = 1;	else		current->mm->dumpable = suid_dumpable;	name = bprm->filename;	/* Copies the binary name from after last slash */	for (i=0; (ch = *(name++)) != '\0';) {		if (ch == '/')			i = 0; /* overwrite what we wrote */		else			if (i < (sizeof(tcomm) - 1))				tcomm[i++] = ch;	}	tcomm[i] = '\0';	set_task_comm(current, tcomm);	current->flags &= ~PF_RANDOMIZE;	flush_thread();	if (bprm->e_uid != current->euid || bprm->e_gid != current->egid || 	    permission(bprm->file->f_dentry->d_inode,MAY_READ, NULL) ||	    (bprm->interp_flags & BINPRM_FLAGS_ENFORCE_NONDUMP)) {		suid_keys(current);		current->mm->dumpable = suid_dumpable;	}	/* An exec changes our domain. We are no longer part of the thread	   group */	current->self_exec_id++;				flush_signal_handlers(current, 0);	flush_old_files(current->files);	return 0;mmap_failed:	put_files_struct(current->files);	current->files = files;out:	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8c744fb83da0771afa04695028e3550b798dad90/exec.c/clean/fs/exec.c