From 63e4645b72137ab9b4111680692db9794af4ac39 Mon Sep 17 00:00:00 2001 From: Benjamin Wang Date: Sun, 26 Aug 2012 18:04:10 +0800 Subject: [PATCH] --- yaml --- r: 322911 b: refs/heads/master c: 13b5533a38b1eec9d61a07711dc075f03ae47a36 h: refs/heads/master i: 322909: 68b1c464c3201f71e5aafe307257180b48837bff 322907: 0546c0117b81e06662bb73005d7ff93e3b10c692 322903: ecdeebfab05c7b3a00205a5b8f785a8403bf4b6e 322895: e62ad5bbd7f886a6ef36b5c3be4777c81abd1061 322879: ab2a7db7989e4e783ca55b724027597c5956766e v: v3 --- [refs] | 2 +- trunk/drivers/target/iscsi/iscsi_target_login.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 68b98f33fefa..0ee34a1410fa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4c054ba63ad47ef244cfcfa1cea38134620a5bae +refs/heads/master: 13b5533a38b1eec9d61a07711dc075f03ae47a36 diff --git a/trunk/drivers/target/iscsi/iscsi_target_login.c b/trunk/drivers/target/iscsi/iscsi_target_login.c index 0694d9b1bce6..6aba4395e8d8 100644 --- a/trunk/drivers/target/iscsi/iscsi_target_login.c +++ b/trunk/drivers/target/iscsi/iscsi_target_login.c @@ -221,6 +221,7 @@ static int iscsi_login_zero_tsih_s1( { struct iscsi_session *sess = NULL; struct iscsi_login_req *pdu = (struct iscsi_login_req *)buf; + int ret; sess = kzalloc(sizeof(struct iscsi_session), GFP_KERNEL); if (!sess) { @@ -257,9 +258,17 @@ static int iscsi_login_zero_tsih_s1( return -ENOMEM; } spin_lock(&sess_idr_lock); - idr_get_new(&sess_idr, NULL, &sess->session_index); + ret = idr_get_new(&sess_idr, NULL, &sess->session_index); spin_unlock(&sess_idr_lock); + if (ret < 0) { + pr_err("idr_get_new() for sess_idr failed\n"); + iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, + ISCSI_LOGIN_STATUS_NO_RESOURCES); + kfree(sess); + return -ENOMEM; + } + sess->creation_time = get_jiffies_64(); spin_lock_init(&sess->session_stats_lock); /*