if (!target) { eprintk("%s\n", "Null target pointer!"); return NULL; }
BUG_ON(!target);
tgt_session_create(struct tgt_target *target,		   int max_cmnds,		   void (*done)(void *, struct tgt_session *),		   void *arg){	struct tgt_session *session;	if (!target) {		eprintk("%s\n", "Null target pointer!");		return NULL;	}	if (done && !arg) {		eprintk("%s\n", "Need arg !");		return NULL;	}	dprintk("%p %d\n", target, max_cmnds);	session = kmalloc(sizeof(*session), done ? GFP_ATOMIC : GFP_KERNEL);	if (!session)		return NULL;	memset(session, 0, sizeof(*session));	session->target = target;	INIT_LIST_HEAD(&session->slist);	if (done) {		if (session_atomic_init(session, max_cmnds, done, arg) < 0)			goto out;		return session;	}	if (session_init(session, max_cmnds) < 0)		goto out;	return session;out:	kfree(session);	return NULL;}