Smatch tagged this code as suspicious because we never use the "nr_sectors" variable. Looking at the code, we did intend to use "nr_sectors" instead of "sectors" when we call bio_integrity_mark_tail(). The difference between "sectors" and "nr_sectors" is that "sectors" is in terms of 512 byte sectors and "nr_sectors" is in terms of hardware sectors. They are only different for 4k sector devices. Also I changed the name because as Jamie Lokier points out, "that code is so asking for the variable to be called 'hw_sectors'." Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> diff --git a/fs/bio-integrity.c b/fs/bio-integrity.c index 612a5c3..d8cd1e2 100644 --- a/fs/bio-integrity.c +++ b/fs/bio-integrity.c @@ -667,16 +667,16 @@ void bio_integrity_trim(struct bio *bio, unsigned int offset, { struct bio_integrity_payload *bip = bio->bi_integrity; struct blk_integrity *bi = bdev_get_integrity(bio->bi_bdev); - unsigned int nr_sectors; + unsigned int hw_sectors; BUG_ON(bip == NULL); BUG_ON(bi == NULL); BUG_ON(!bio_flagged(bio, BIO_CLONED)); - nr_sectors = bio_integrity_hw_sectors(bi, sectors); + hw_sectors = bio_integrity_hw_sectors(bi, sectors); bip->bip_sector = bip->bip_sector + offset; bio_integrity_mark_head(bip, offset * bi->tuple_size); - bio_integrity_mark_tail(bip, sectors * bi->tuple_size); + bio_integrity_mark_tail(bip, hw_sectors * bi->tuple_size); } EXPORT_SYMBOL(bio_integrity_trim); -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html