check_for_release(oldcs); 
check_for_release(oldcs, ppathbuf); 
static int attach_task(struct cpuset *cs, char *buf){	pid_t pid;	struct task_struct *tsk;	struct cpuset *oldcs;	cpumask_t cpus;	if (sscanf(buf, "%d", &pid) != 1)		return -EIO;	if (cpus_empty(cs->cpus_allowed) || nodes_empty(cs->mems_allowed))		return -ENOSPC;	if (pid) {		read_lock(&tasklist_lock);		tsk = find_task_by_pid(pid);		if (!tsk) {			read_unlock(&tasklist_lock);			return -ESRCH;		}		get_task_struct(tsk);		read_unlock(&tasklist_lock);		if ((current->euid) && (current->euid != tsk->uid)		    && (current->euid != tsk->suid)) {			put_task_struct(tsk);			return -EACCES;		}	} else {		tsk = current;		get_task_struct(tsk);	}	task_lock(tsk);	oldcs = tsk->cpuset;	if (!oldcs) {		task_unlock(tsk);		put_task_struct(tsk);		return -ESRCH;	}	atomic_inc(&cs->count);	tsk->cpuset = cs;	task_unlock(tsk);	guarantee_online_cpus(cs, &cpus);	set_cpus_allowed(tsk, cpus);	put_task_struct(tsk);	if (atomic_dec_and_test(&oldcs->count))		check_for_release(oldcs);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3077a260e9f316b611436b1506eec9cc5c4f8aa6/cpuset.c/clean/kernel/cpuset.c