• Nicholas Bellinger's avatar
    target: Reject SCSI data overflow for fabrics using transport_generic_map_mem_to_cmd · fef58a60
    Nicholas Bellinger authored
    This patch changes transport_generic_map_mem_to_cmd() to reject SCSI data
    overflow and to send exception status with CHECK_CONDITION + TCM_INVALID_CDB_FIELD
    for fabrics that are passing a pre-populated struct scatterlist (eg: tcm_loop
    and iscsi-target) being mapped into se_cmd->t_data_sg and se_cmd->t_data_nents.
    
    This addresses an OOPs where transport_allocate_data_tasks() would walk
    the incorrect post OVERFLOW cmd->data_length value beyond the end of
    the passed scatterlist.
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: stable@kernel.org
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    fef58a60
target_core_transport.c 127 KB