lkml.org 
[lkml]   [2015]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.10 25/34] iscsi target: fix oops when adding reject pdu
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

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

    From: Mike Christie <michaelc@cs.wisc.edu>

    commit b815fc12d4dd2b5586184fb4f867caff05a810d4 upstream.

    This fixes a oops due to a double list add when adding a reject PDU for
    iscsit_allocate_iovecs allocation failures. The cmd has already been
    added to the conn_cmd_list in iscsit_setup_scsi_cmd, so this has us call
    iscsit_reject_cmd.

    Note that for ERL0 the reject PDU is not actually sent, so this patch
    is not completely tested. Just verified we do not oops. The problem is the
    add reject functions return -1 which is returned all the way up to
    iscsi_target_rx_thread which for ERL0 will drop the connection.

    Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/target/iscsi/iscsi_target.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/target/iscsi/iscsi_target.c
    +++ b/drivers/target/iscsi/iscsi_target.c
    @@ -1179,7 +1179,7 @@ iscsit_handle_scsi_cmd(struct iscsi_conn
    * traditional iSCSI block I/O.
    */
    if (iscsit_allocate_iovecs(cmd) < 0) {
    - return iscsit_add_reject_cmd(cmd,
    + return iscsit_reject_cmd(cmd,
    ISCSI_REASON_BOOKMARK_NO_RESOURCES, buf);
    }
    immed_data = cmd->immediate_data;



    \
     
     \ /
      Last update: 2015-04-17 17:01    [W:4.168 / U:0.564 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site