diff options
author | Andy Grover <agrover@redhat.com> | 2015-05-22 14:07:44 -0700 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2015-08-07 00:32:13 +0100 |
commit | 48793a2e5abc126a6446d8497c2117489622e9db (patch) | |
tree | 035b69f550f8bc2d12e6b1cf6fbf04d0268da8dd /drivers/target/target_core_pscsi.h | |
parent | 7a1cc643ca060a2f6506f7c94c4c46f865a7726f (diff) |
target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST
commit 5a7125c64def3b21f8147eca8b54949a60963942 upstream.
See https://bugzilla.redhat.com/show_bug.cgi?id=1025672
We need to put() the reference to the scsi host that we got in
pscsi_configure_device(). In VIRTUAL_HOST mode it is associated with
the dev_virt, not the hba_virt.
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/target/target_core_pscsi.h')
-rw-r--r-- | drivers/target/target_core_pscsi.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/target/target_core_pscsi.h b/drivers/target/target_core_pscsi.h index fdc17b6aefb3..8b0a3369dc9f 100644 --- a/drivers/target/target_core_pscsi.h +++ b/drivers/target/target_core_pscsi.h @@ -46,6 +46,7 @@ struct pscsi_dev_virt { struct block_device *pdv_bd; struct scsi_device *pdv_sd; struct se_hba *pdv_se_hba; + struct Scsi_Host *pdv_lld_host; } ____cacheline_aligned; typedef enum phv_modes { |