update_mem_hiwater(current); 
int compat_do_execve(char * filename,	compat_uptr_t __user *argv,	compat_uptr_t __user *envp,	struct pt_regs * regs){	struct linux_binprm *bprm;	struct file *file;	int retval;	int i;	retval = -ENOMEM;	bprm = kmalloc(sizeof(*bprm), GFP_KERNEL);	if (!bprm)		goto out_ret;	memset(bprm, 0, sizeof(*bprm));	file = open_exec(filename);	retval = PTR_ERR(file);	if (IS_ERR(file))		goto out_kfree;	sched_exec();	bprm->p = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *);	bprm->file = file;	bprm->filename = filename;	bprm->interp = filename;	bprm->mm = mm_alloc();	retval = -ENOMEM;	if (!bprm->mm)		goto out_file;	retval = init_new_context(current, bprm->mm);	if (retval < 0)		goto out_mm;	bprm->argc = compat_count(argv, bprm->p / sizeof(compat_uptr_t));	if ((retval = bprm->argc) < 0)		goto out_mm;	bprm->envc = compat_count(envp, bprm->p / sizeof(compat_uptr_t));	if ((retval = bprm->envc) < 0)		goto out_mm;	retval = security_bprm_alloc(bprm);	if (retval)		goto out;	retval = prepare_binprm(bprm);	if (retval < 0)		goto out;	retval = copy_strings_kernel(1, &bprm->filename, bprm);	if (retval < 0)		goto out;	bprm->exec = bprm->p;	retval = compat_copy_strings(bprm->envc, envp, bprm);	if (retval < 0)		goto out;	retval = compat_copy_strings(bprm->argc, argv, bprm);	if (retval < 0)		goto out;	retval = search_binary_handler(bprm, regs);	if (retval >= 0) {		free_arg_pages(bprm);		/* execve success */		security_bprm_free(bprm);		acct_update_integrals(current);		update_mem_hiwater(current);		kfree(bprm);		return retval;	}out:	/* Something went wrong, return the inode and free the argument pages*/	for (i = 0 ; i < MAX_ARG_PAGES ; i++) {		struct page * page = bprm->page[i];		if (page)			__free_page(page);	}	if (bprm->security)		security_bprm_free(bprm);out_mm:	if (bprm->mm)		mmdrop(bprm->mm);out_file:	if (bprm->file) {		allow_write_access(bprm->file);		fput(bprm->file);	}out_kfree:	kfree(bprm);out_ret:	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/365e9c87a982c03d0af3886e29d877f581b59611/compat.c/clean/fs/compat.c