• Hannes Reinecke's avatar
    block: Always check queue limits for cloned requests · bf4e6b4e
    Hannes Reinecke authored
    When a cloned request is retried on other queues it always needs
    to be checked against the queue limits of that queue.
    Otherwise the calculations for nr_phys_segments might be wrong,
    leading to a crash in scsi_init_sgtable().
    
    To clarify this the patch renames blk_rq_check_limits()
    to blk_cloned_rq_check_limits() and removes the symbol
    export, as the new function should only be used for
    cloned requests and never exported.
    
    Cc: Mike Snitzer <snitzer@redhat.com>
    Cc: Ewan Milne <emilne@redhat.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
    Fixes: e2a60da7 ("block: Clean up special command handling logic")
    Cc: stable@vger.kernel.org # 3.7+
    Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    bf4e6b4e
blk-core.c 93.1 KB