tmp = getname(name); if (IS_ERR(tmp)) { 
char *tmp = getname(name); if (IS_ERR(tmp)) 
asmlinkage long sys_acct(const char __user *name){	struct file *file = NULL;	char *tmp;	int error;	if (!capable(CAP_SYS_PACCT))		return -EPERM;	if (name) {		tmp = getname(name);		if (IS_ERR(tmp)) {			return (PTR_ERR(tmp));		}		/* Difference from BSD - they don't do O_APPEND */		file = filp_open(tmp, O_WRONLY|O_APPEND|O_LARGEFILE, 0);		putname(tmp);		if (IS_ERR(file)) {			return (PTR_ERR(file));		}		if (!S_ISREG(file->f_dentry->d_inode->i_mode)) {			filp_close(file, NULL);			return (-EACCES);		}		if (!file->f_op->write) {			filp_close(file, NULL);			return (-EIO);		}	}	error = security_acct(file);	if (error) {		if (file)			filp_close(file, NULL);		return error;	}	spin_lock(&acct_globals.lock);	acct_file_reopen(file);	spin_unlock(&acct_globals.lock);	return (0);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/7b7b1ace2d9d06d76bce7481a045c22ed75e35dd/acct.c/clean/kernel/acct.c