put_task_struct(p); 
int posix_cpu_timer_del(struct k_itimer *timer){	struct task_struct *p = timer->it.cpu.task;	if (timer->it.cpu.firing)		return TIMER_RETRY;	if (unlikely(p == NULL))		return 0;	if (!list_empty(&timer->it.cpu.entry)) {		read_lock(&tasklist_lock);		if (unlikely(p->signal == NULL)) {			/*			 * We raced with the reaping of the task.			 * The deletion should have cleared us off the list.			 */			BUG_ON(!list_empty(&timer->it.cpu.entry));		} else {			/*			 * Take us off the task's timer list.			 */			spin_lock(&p->sighand->siglock);			list_del(&timer->it.cpu.entry);			spin_unlock(&p->sighand->siglock);		}		read_unlock(&tasklist_lock);	}	put_task_struct(p);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/108150ea78003044e41150c75259447b2c0953b6/posix-cpu-timers.c/clean/kernel/posix-cpu-timers.c