Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dm-integrity: replace bvec_kmap_local with kmap_local_page

Replace bvec_kmap_local with kmap_local_page - it will be needed for the
upcoming patches that make kmap_local_page optional, depending on whether
asynchronous hash interface is used or not.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

+6 -7
+6 -7
drivers/md/dm-integrity.c
··· 1838 1838 char *mem, *checksums_ptr; 1839 1839 1840 1840 again: 1841 - mem = bvec_kmap_local(&bv_copy); 1841 + mem = kmap_local_page(bv_copy.bv_page); 1842 1842 pos = 0; 1843 1843 checksums_ptr = checksums; 1844 1844 do { 1845 - integrity_sector_checksum(ic, sector, mem + pos, checksums_ptr); 1845 + integrity_sector_checksum(ic, sector, mem + bv_copy.bv_offset + pos, checksums_ptr); 1846 1846 checksums_ptr += ic->tag_size; 1847 1847 sectors_to_process -= ic->sectors_per_block; 1848 1848 pos += ic->sectors_per_block << SECTOR_SHIFT; ··· 2506 2506 unsigned pos = 0; 2507 2507 while (dio->bio_details.bi_iter.bi_size) { 2508 2508 struct bio_vec bv = bio_iter_iovec(bio, dio->bio_details.bi_iter); 2509 - const char *mem = bvec_kmap_local(&bv); 2509 + const char *mem = kmap_local_page(bv.bv_page); 2510 2510 if (ic->tag_size < ic->tuple_size) 2511 2511 memset(dio->integrity_payload + pos + ic->tag_size, 0, ic->tuple_size - ic->tuple_size); 2512 - integrity_sector_checksum(ic, dio->bio_details.bi_iter.bi_sector, mem, dio->integrity_payload + pos); 2512 + integrity_sector_checksum(ic, dio->bio_details.bi_iter.bi_sector, mem + bv.bv_offset, dio->integrity_payload + pos); 2513 2513 kunmap_local(mem); 2514 2514 pos += ic->tuple_size; 2515 2515 bio_advance_iter_single(bio, &dio->bio_details.bi_iter, ic->sectors_per_block << SECTOR_SHIFT); ··· 2626 2626 while (dio->bio_details.bi_iter.bi_size) { 2627 2627 char digest[HASH_MAX_DIGESTSIZE]; 2628 2628 struct bio_vec bv = bio_iter_iovec(bio, dio->bio_details.bi_iter); 2629 - char *mem = bvec_kmap_local(&bv); 2630 - //memset(mem, 0xff, ic->sectors_per_block << SECTOR_SHIFT); 2631 - integrity_sector_checksum(ic, dio->bio_details.bi_iter.bi_sector, mem, digest); 2629 + char *mem = kmap_local_page(bv.bv_page); 2630 + integrity_sector_checksum(ic, dio->bio_details.bi_iter.bi_sector, mem + bv.bv_offset, digest); 2632 2631 if (unlikely(crypto_memneq(digest, dio->integrity_payload + pos, 2633 2632 min(ic->internal_hash_digestsize, ic->tag_size)))) { 2634 2633 kunmap_local(mem);