cpuset_up(&cpuset_sem); 
up(&cpuset_sem); 
int cpuset_excl_nodes_overlap(const struct task_struct *p){	const struct cpuset *cs1, *cs2;	/* my and p's cpuset ancestors */	int overlap = 0;		/* do cpusets overlap? */	cpuset_down(&cpuset_sem);	cs1 = current->cpuset;	if (!cs1)		goto done;		/* current task exiting */	cs2 = p->cpuset;	if (!cs2)		goto done;		/* task p is exiting */	cs1 = nearest_exclusive_ancestor(cs1);	cs2 = nearest_exclusive_ancestor(cs2);	overlap = nodes_intersects(cs1->mems_allowed, cs2->mems_allowed);done:	cpuset_up(&cpuset_sem);	return overlap;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/5aa15b5f27fc2c404530c6c8eabdb8437deb3163/cpuset.c/buggy/kernel/cpuset.c