lkml.org 
[lkml]   [2018]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 032/189] scsi: target: fix crash with iscsi target and dvd
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

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

    From: Ming Lei <ming.lei@redhat.com>

    [ Upstream commit 8e1ceafe50ec4d1bcfae154dd70e7cb6946a6177 ]

    When the current page can't be added to bio, one new bio should be
    created for adding this page again, instead of ignoring this page.

    This patch fixes kernel crash with iscsi target and dvd, as reported by
    Wakko.

    Cc: Wakko Warner <wakko@animx.eu.org>
    Cc: Bart Van Assche <Bart.VanAssche@wdc.com>
    Cc: target-devel@vger.kernel.org
    Cc: linux-scsi@vger.kernel.org
    Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Fixes: 84c8590646d5b35804 ("target: avoid accessing .bi_vcnt directly")
    Signed-off-by: Ming Lei <ming.lei@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/target/target_core_pscsi.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/target/target_core_pscsi.c
    +++ b/drivers/target/target_core_pscsi.c
    @@ -890,6 +890,7 @@ pscsi_map_sg(struct se_cmd *cmd, struct
    bytes = min(bytes, data_len);

    if (!bio) {
    +new_bio:
    nr_vecs = min_t(int, BIO_MAX_PAGES, nr_pages);
    nr_pages -= nr_vecs;
    /*
    @@ -931,6 +932,7 @@ pscsi_map_sg(struct se_cmd *cmd, struct
    * be allocated with pscsi_get_bio() above.
    */
    bio = NULL;
    + goto new_bio;
    }

    data_len -= bytes;

    \
     
     \ /
      Last update: 2018-06-18 11:11    [W:4.473 / U:1.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site