lkml.org 
[lkml]   [2018]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 126/134] scsi: sg: fix SG_DXFER_FROM_DEV transfers
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

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

    From: Johannes Thumshirn <jthumshirn@suse.de>

    commit 68c59fcea1f2c6a54c62aa896cc623c1b5bc9b47 upstream.

    SG_DXFER_FROM_DEV transfers do not necessarily have a dxferp as we set
    it to NULL for the old sg_io read/write interface, but must have a
    length bigger than 0. This fixes a regression introduced by commit
    28676d869bbb ("scsi: sg: check for valid direction before starting the
    request")

    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Fixes: 28676d869bbb ("scsi: sg: check for valid direction before starting the request")
    Reported-by: Chris Clayton <chris2553@googlemail.com>
    Tested-by: Chris Clayton <chris2553@googlemail.com>
    Cc: Douglas Gilbert <dgilbert@interlog.com>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Tested-by: Chris Clayton <chris2553@googlemail.com>
    Acked-by: Douglas Gilbert <dgilbert@interlog.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Cc: Cristian Crinteanu <crinteanu.cristian@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/scsi/sg.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    --- a/drivers/scsi/sg.c
    +++ b/drivers/scsi/sg.c
    @@ -769,8 +769,11 @@ static bool sg_is_valid_dxfer(sg_io_hdr_
    if (hp->dxferp || hp->dxfer_len > 0)
    return false;
    return true;
    - case SG_DXFER_TO_DEV:
    case SG_DXFER_FROM_DEV:
    + if (hp->dxfer_len < 0)
    + return false;
    + return true;
    + case SG_DXFER_TO_DEV:
    case SG_DXFER_TO_FROM_DEV:
    if (!hp->dxferp || hp->dxfer_len == 0)
    return false;

    \
     
     \ /
      Last update: 2018-03-19 21:08    [W:4.234 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site