mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-13 17:28:56 +00:00
[SCSI] iscsi bugfixes: fix oops when removing session
We are touching the cls_session after we have freed it. This causes a oops. Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
1c83469d36
commit
63f75cc8a7
@ -1337,6 +1337,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
|
|||||||
{
|
{
|
||||||
struct Scsi_Host *shost = iscsi_session_to_shost(cls_session);
|
struct Scsi_Host *shost = iscsi_session_to_shost(cls_session);
|
||||||
struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
|
struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
|
||||||
|
struct module *owner = cls_session->transport->owner;
|
||||||
|
|
||||||
scsi_remove_host(shost);
|
scsi_remove_host(shost);
|
||||||
|
|
||||||
@ -1345,7 +1346,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
|
|||||||
|
|
||||||
iscsi_destroy_session(cls_session);
|
iscsi_destroy_session(cls_session);
|
||||||
scsi_host_put(shost);
|
scsi_host_put(shost);
|
||||||
module_put(cls_session->transport->owner);
|
module_put(owner);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(iscsi_session_teardown);
|
EXPORT_SYMBOL_GPL(iscsi_session_teardown);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user