This is a note to let you know that I've just added the patch titled block: fix blk_integrity_register to use template's interval_exp if not 0 to the 4.10-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: block-fix-blk_integrity_register-to-use-template-s-interval_exp-if-not-0.patch and it can be found in the queue-4.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 2859323e35ab5fc42f351fbda23ab544eaa85945 Mon Sep 17 00:00:00 2001 From: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Sat, 22 Apr 2017 17:22:09 -0400 Subject: block: fix blk_integrity_register to use template's interval_exp if not 0 From: Mike Snitzer <snitzer@xxxxxxxxxx> commit 2859323e35ab5fc42f351fbda23ab544eaa85945 upstream. When registering an integrity profile: if the template's interval_exp is not 0 use it, otherwise use the ilog2() of logical block size of the provided gendisk. This fixes a long-standing DM linear target bug where it cannot pass integrity data to the underlying device if its logical block size conflicts with the underlying device's logical block size. Reported-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- block/blk-integrity.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/block/blk-integrity.c +++ b/block/blk-integrity.c @@ -412,7 +412,8 @@ void blk_integrity_register(struct gendi bi->flags = BLK_INTEGRITY_VERIFY | BLK_INTEGRITY_GENERATE | template->flags; - bi->interval_exp = ilog2(queue_logical_block_size(disk->queue)); + bi->interval_exp = template->interval_exp ? : + ilog2(queue_logical_block_size(disk->queue)); bi->profile = template->profile ? template->profile : &nop_profile; bi->tuple_size = template->tuple_size; bi->tag_size = template->tag_size; Patches currently in stable-queue which might be from snitzer@xxxxxxxxxx are queue-4.10/block-fix-blk_integrity_register-to-use-template-s-interval_exp-if-not-0.patch queue-4.10/dm-crypt-rewrite-wipe-key-in-crypto-layer-using-random-data.patch queue-4.10/dm-era-save-spacemap-metadata-root-after-the-pre-commit.patch queue-4.10/dm-rq-check-blk_mq_register_dev-return-value-in-dm_mq_init_request_queue.patch queue-4.10/dm-thin-fix-a-memory-leak-when-passing-discard-bio-down.patch