Re: [PATCH] libiscsi: Remove iscsi_destroy_session

2017-07-13 Thread kbuild test robot
Hi Khazhismel,

[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on v4.12 next-20170713]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Khazhismel-Kumykov/libiscsi-Remove-iscsi_destroy_session/20170713-185526
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: blackfin-allyesconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=blackfin 

All errors (new ones prefixed by >>):

   drivers/scsi/libiscsi.c: In function 'iscsi_session_teardown':
>> drivers/scsi/libiscsi.c:2880:2: error: implicit declaration of function 
>> 'iscsi_destroy_session' [-Werror=implicit-function-declaration]
 iscsi_destroy_session(cls_session);
 ^
   cc1: some warnings being treated as errors

vim +/iscsi_destroy_session +2880 drivers/scsi/libiscsi.c

7996a778 Mike Christie2006-04-06  2850  
7996a778 Mike Christie2006-04-06  2851  /**
7996a778 Mike Christie2006-04-06  2852   * iscsi_session_teardown - 
destroy session, host, and cls_session
75613521 Mike Christie2008-05-21  2853   * @cls_session: iscsi session
7996a778 Mike Christie2006-04-06  2854   *
75613521 Mike Christie2008-05-21  2855   * The driver must have called 
iscsi_remove_session before
75613521 Mike Christie2008-05-21  2856   * calling this.
75613521 Mike Christie2008-05-21  2857   */
7996a778 Mike Christie2006-04-06  2858  void 
iscsi_session_teardown(struct iscsi_cls_session *cls_session)
7996a778 Mike Christie2006-04-06  2859  {
75613521 Mike Christie2008-05-21  2860  struct iscsi_session 
*session = cls_session->dd_data;
63f75cc8 Mike Christie2006-07-24  2861  struct module *owner = 
cls_session->transport->owner;
e5bd7b54 Mike Christie2008-09-24  2862  struct Scsi_Host *shost 
= session->host;
7996a778 Mike Christie2006-04-06  2863  
6320377f Olaf Kirch   2007-12-13  2864  
iscsi_pool_free(&session->cmdpool);
7996a778 Mike Christie2006-04-06  2865  
b2c64167 Mike Christie2007-05-30  2866  
kfree(session->password);
b2c64167 Mike Christie2007-05-30  2867  
kfree(session->password_in);
b2c64167 Mike Christie2007-05-30  2868  
kfree(session->username);
b2c64167 Mike Christie2007-05-30  2869  
kfree(session->username_in);
f3ff0c36 Mike Christie2006-07-24  2870  
kfree(session->targetname);
3c5c4801 Vikas Chaudhary  2012-01-19  2871  
kfree(session->targetalias);
88dfd340 Mike Christie2008-05-21  2872  
kfree(session->initiatorname);
3b9373e9 Eddie Wai2013-06-20  2873  
kfree(session->boot_root);
3b9373e9 Eddie Wai2013-06-20  2874  
kfree(session->boot_nic);
3b9373e9 Eddie Wai2013-06-20  2875  
kfree(session->boot_target);
88dfd340 Mike Christie2008-05-21  2876  
kfree(session->ifacename);
f8525eb4 Adheer Chandravanshi 2013-07-01  2877  
kfree(session->portal_type);
f8525eb4 Adheer Chandravanshi 2013-07-01  2878  
kfree(session->discovery_parent_type);
f3ff0c36 Mike Christie2006-07-24  2879  
75613521 Mike Christie2008-05-21 @2880  
iscsi_destroy_session(cls_session);
e5bd7b54 Mike Christie2008-09-24  2881  
iscsi_host_dec_session_cnt(shost);
63f75cc8 Mike Christie2006-07-24  2882  module_put(owner);
7996a778 Mike Christie2006-04-06  2883  }
7996a778 Mike Christie2006-04-06  2884  
EXPORT_SYMBOL_GPL(iscsi_session_teardown);
7996a778 Mike Christie2006-04-06  2885  

:: The code at line 2880 was first introduced by commit
:: 756135215ec743be6fdce2bdebe8cdb9f8a231f6 [SCSI] iscsi: remove session 
and host binding in libiscsi

:: TO: Mike Christie 
:: CC: James Bottomley 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip


[PATCH] libiscsi: Remove iscsi_destroy_session

2017-07-12 Thread Khazhismel Kumykov
iscsi_session_teardown was the only user of this function. Function
currently is just short for iscsi_remove_session + iscsi_free_session.

Signed-off-by: Khazhismel Kumykov 
---
 with "libiscsi: Fix use after free race during iscsi_session_teardown" 
removing the
 last user.

 drivers/scsi/scsi_transport_iscsi.c | 16 
 include/scsi/scsi_transport_iscsi.h |  1 -
 2 files changed, 17 deletions(-)

diff --git a/drivers/scsi/scsi_transport_iscsi.c 
b/drivers/scsi/scsi_transport_iscsi.c
index a424eaeafeb0..924ac408d8a9 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -2210,22 +2210,6 @@ void iscsi_free_session(struct iscsi_cls_session 
*session)
 }
 EXPORT_SYMBOL_GPL(iscsi_free_session);
 
-/**
- * iscsi_destroy_session - destroy iscsi session
- * @session: iscsi_session
- *
- * Can be called by a LLD or iscsi_transport. There must not be
- * any running connections.
- */
-int iscsi_destroy_session(struct iscsi_cls_session *session)
-{
-   iscsi_remove_session(session);
-   ISCSI_DBG_TRANS_SESSION(session, "Completing session destruction\n");
-   iscsi_free_session(session);
-   return 0;
-}
-EXPORT_SYMBOL_GPL(iscsi_destroy_session);
-
 /**
  * iscsi_create_conn - create iscsi class connection
  * @session: iscsi cls session
diff --git a/include/scsi/scsi_transport_iscsi.h 
b/include/scsi/scsi_transport_iscsi.h
index 6183d20a01fb..b266d2a3bcb1 100644
--- a/include/scsi/scsi_transport_iscsi.h
+++ b/include/scsi/scsi_transport_iscsi.h
@@ -434,7 +434,6 @@ extern struct iscsi_cls_session 
*iscsi_create_session(struct Scsi_Host *shost,
unsigned int target_id);
 extern void iscsi_remove_session(struct iscsi_cls_session *session);
 extern void iscsi_free_session(struct iscsi_cls_session *session);
-extern int iscsi_destroy_session(struct iscsi_cls_session *session);
 extern struct iscsi_cls_conn *iscsi_create_conn(struct iscsi_cls_session *sess,
int dd_size, uint32_t cid);
 extern int iscsi_destroy_conn(struct iscsi_cls_conn *conn);
-- 
2.13.2.932.g7449e964c-goog



smime.p7s
Description: S/MIME Cryptographic Signature