inst = kmalloc(sizeof(*inst), GFP_ATOMIC);
inst = kzalloc(sizeof(*inst), GFP_ATOMIC);
instance_create(u_int16_t group_num, int pid){	struct nfulnl_instance *inst;	UDEBUG("entering (group_num=%u, pid=%d)\n", group_num,		pid);	write_lock_bh(&instances_lock);		if (__instance_lookup(group_num)) {		inst = NULL;		UDEBUG("aborting, instance already exists\n");		goto out_unlock;	}	inst = kmalloc(sizeof(*inst), GFP_ATOMIC);	if (!inst)		goto out_unlock;	memset(inst, 0, sizeof(*inst));	INIT_HLIST_NODE(&inst->hlist);	inst->lock = SPIN_LOCK_UNLOCKED;	/* needs to be two, since we _put() after creation */	atomic_set(&inst->use, 2);	init_timer(&inst->timer);	inst->timer.function = nfulnl_timer;	inst->timer.data = (unsigned long)inst;	/* don't start timer yet. (re)start it  with every packet */	inst->peer_pid = pid;	inst->group_num = group_num;	inst->qthreshold 	= NFULNL_QTHRESH_DEFAULT;	inst->flushtimeout 	= NFULNL_TIMEOUT_DEFAULT;	inst->nlbufsiz 		= NFULNL_NLBUFSIZ_DEFAULT;	inst->copy_mode 	= NFULNL_COPY_PACKET;	inst->copy_range 	= 0xffff;	if (!try_module_get(THIS_MODULE))		goto out_free;	hlist_add_head(&inst->hlist, 		       &instance_table[instance_hashfn(group_num)]);	UDEBUG("newly added node: %p, next=%p\n", &inst->hlist, 		inst->hlist.next);	write_unlock_bh(&instances_lock);	return inst;out_free:	instance_put(inst);out_unlock:	write_unlock_bh(&instances_lock);	return NULL;}