lkml.org 
[lkml]   [2014]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.14 025/100] qla2xxx: Fix shost use-after-free on device removal
    Date
    3.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Joe Lawrence <joe.lawrence@stratus.com>

    commit db7157d4cfce6edf052452fb1d327d4d11b67f4c upstream.

    Once calling scsi_host_put, be careful to not access qla_hw_data through
    the Scsi_Host private data (ie, scsi_qla_host base_vha).

    Fixes: fe1b806f4f71 ("qla2xxx: Refactor shutdown code so some functionality can be reused")
    Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
    Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/scsi/qla2xxx/qla_os.c | 6 ++----
    1 file changed, 2 insertions(+), 4 deletions(-)

    --- a/drivers/scsi/qla2xxx/qla_os.c
    +++ b/drivers/scsi/qla2xxx/qla_os.c
    @@ -3039,10 +3039,8 @@ qla2x00_unmap_iobases(struct qla_hw_data
    }

    static void
    -qla2x00_clear_drv_active(scsi_qla_host_t *vha)
    +qla2x00_clear_drv_active(struct qla_hw_data *ha)
    {
    - struct qla_hw_data *ha = vha->hw;
    -
    if (IS_QLA8044(ha)) {
    qla8044_idc_lock(ha);
    qla8044_clear_drv_active(ha);
    @@ -3111,7 +3109,7 @@ qla2x00_remove_one(struct pci_dev *pdev)

    scsi_host_put(base_vha->host);

    - qla2x00_clear_drv_active(base_vha);
    + qla2x00_clear_drv_active(ha);

    qla2x00_unmap_iobases(ha);




    \
     
     \ /
      Last update: 2014-10-28 08:21    [W:2.913 / U:1.756 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site