if(next_poll.poll != NULL) kfree(next_poll.poll); 
kfree(next_poll.poll); 
static int need_poll(int n){	if(n <= next_poll.size){		next_poll.used = n;		return(0);	}	if(next_poll.poll != NULL) kfree(next_poll.poll);	next_poll.poll = um_kmalloc_atomic(n * sizeof(struct pollfd));	if(next_poll.poll == NULL){		printk("need_poll : failed to allocate new pollfds\n");		next_poll.size = 0;		next_poll.used = 0;		return(-1);	}	next_poll.size = n;	next_poll.used = n;	return(0);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b2325fe1b7e5654fac9e9419423aa2c58a3dbd83/sigio_user.c/buggy/arch/um/kernel/sigio_user.c