Re: block: Always check queue limits for cloned requests

From: Mike Snitzer
Date: Thu Nov 26 2015 - 08:11:14 EST


On Thu, Nov 26 2015 at 2:46am -0500,
Hannes Reinecke <hare@xxxxxxx> wrote:

> 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@xxxxxxxxxx>
> Cc: Ewan Milne <emilne@xxxxxxxxxx>
> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx>
> Signed-off-by: Hannes Reinecke <hare@xxxxxxx>

Patch looks good. Thanks for getting to the bottom of this.

Jens, please add these extra tags when you pick this up:

Fixes: e2a60da74 ("block: Clean up special command handling logic")
Cc: stable@xxxxxxxxxxxxxxx # 3.7+
Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/