 /* * Remove function-return probe instances associated with this task * and put them back on the free list. Do not insert an exit probe for * this function, it will be disabled by kprobe_flush_task if you do. */ kprobe_flush_task(tsk); 
void exit_thread(void){	struct task_struct *tsk = current;	struct thread_struct *t = &tsk->thread;	/* The process may have allocated an io port bitmap... nuke it. */	if (unlikely(NULL != t->io_bitmap_ptr)) {		int cpu = get_cpu();		struct tss_struct *tss = &per_cpu(init_tss, cpu);		kfree(t->io_bitmap_ptr);		t->io_bitmap_ptr = NULL;		/*		 * Careful, clear this in the TSS too:		 */		memset(tss->io_bitmap, 0xff, tss->io_bitmap_max);		t->io_bitmap_max = 0;		tss->io_bitmap_owner = NULL;		tss->io_bitmap_max = 0;		tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET;		put_cpu();	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b94cce926b2b902b79380ccba370d6f9f2980de0/process.c/buggy/arch/i386/kernel/process.c