* [PATCH] libiscsi: Remove iscsi_destroy_session
@ 2017-07-12 23:38 Khazhismel Kumykov
2017-07-13 12:13 ` kbuild test robot
0 siblings, 1 reply; 2+ messages in thread
From: Khazhismel Kumykov @ 2017-07-12 23:38 UTC (permalink / raw)
To: lduncan, cleech; +Cc: linux-scsi, linux-kernel, open-iscsi, Khazhismel Kumykov
[-- Attachment #1: Type: text/plain, Size: 2069 bytes --]
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 <khazhy@google.com>
---
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
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4843 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] libiscsi: Remove iscsi_destroy_session
2017-07-12 23:38 [PATCH] libiscsi: Remove iscsi_destroy_session Khazhismel Kumykov
@ 2017-07-13 12:13 ` kbuild test robot
0 siblings, 0 replies; 2+ messages in thread
From: kbuild test robot @ 2017-07-13 12:13 UTC (permalink / raw)
To: Khazhismel Kumykov
Cc: kbuild-all, lduncan, cleech, linux-scsi, linux-kernel,
open-iscsi, Khazhismel Kumykov
[-- Attachment #1: Type: text/plain, Size: 4305 bytes --]
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 Christie 2006-04-06 2850
7996a778 Mike Christie 2006-04-06 2851 /**
7996a778 Mike Christie 2006-04-06 2852 * iscsi_session_teardown - destroy session, host, and cls_session
75613521 Mike Christie 2008-05-21 2853 * @cls_session: iscsi session
7996a778 Mike Christie 2006-04-06 2854 *
75613521 Mike Christie 2008-05-21 2855 * The driver must have called iscsi_remove_session before
75613521 Mike Christie 2008-05-21 2856 * calling this.
75613521 Mike Christie 2008-05-21 2857 */
7996a778 Mike Christie 2006-04-06 2858 void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
7996a778 Mike Christie 2006-04-06 2859 {
75613521 Mike Christie 2008-05-21 2860 struct iscsi_session *session = cls_session->dd_data;
63f75cc8 Mike Christie 2006-07-24 2861 struct module *owner = cls_session->transport->owner;
e5bd7b54 Mike Christie 2008-09-24 2862 struct Scsi_Host *shost = session->host;
7996a778 Mike Christie 2006-04-06 2863
6320377f Olaf Kirch 2007-12-13 2864 iscsi_pool_free(&session->cmdpool);
7996a778 Mike Christie 2006-04-06 2865
b2c64167 Mike Christie 2007-05-30 2866 kfree(session->password);
b2c64167 Mike Christie 2007-05-30 2867 kfree(session->password_in);
b2c64167 Mike Christie 2007-05-30 2868 kfree(session->username);
b2c64167 Mike Christie 2007-05-30 2869 kfree(session->username_in);
f3ff0c36 Mike Christie 2006-07-24 2870 kfree(session->targetname);
3c5c4801 Vikas Chaudhary 2012-01-19 2871 kfree(session->targetalias);
88dfd340 Mike Christie 2008-05-21 2872 kfree(session->initiatorname);
3b9373e9 Eddie Wai 2013-06-20 2873 kfree(session->boot_root);
3b9373e9 Eddie Wai 2013-06-20 2874 kfree(session->boot_nic);
3b9373e9 Eddie Wai 2013-06-20 2875 kfree(session->boot_target);
88dfd340 Mike Christie 2008-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 Christie 2006-07-24 2879
75613521 Mike Christie 2008-05-21 @2880 iscsi_destroy_session(cls_session);
e5bd7b54 Mike Christie 2008-09-24 2881 iscsi_host_dec_session_cnt(shost);
63f75cc8 Mike Christie 2006-07-24 2882 module_put(owner);
7996a778 Mike Christie 2006-04-06 2883 }
7996a778 Mike Christie 2006-04-06 2884 EXPORT_SYMBOL_GPL(iscsi_session_teardown);
7996a778 Mike Christie 2006-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 <michaelc@cs.wisc.edu>
:::::: CC: James Bottomley <James.Bottomley@HansenPartnership.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 44969 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-07-13 12:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-12 23:38 [PATCH] libiscsi: Remove iscsi_destroy_session Khazhismel Kumykov
2017-07-13 12:13 ` kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®