From: Al Viro Date: Sat, 2 Jan 2016 17:45:27 +0000 (-0500) Subject: dm-bufio: virt_to_phys() doesn't change remainder modulo PAGE_SIZE X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=756d097b959aefe69a081496f84cfc14b1397a15;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git dm-bufio: virt_to_phys() doesn't change remainder modulo PAGE_SIZE ... so virt_to_phys(p) & (PAGE_SIZE - 1) is a very odd way to spell offset_in_page(p). Signed-off-by: Al Viro --- diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c index 2dd33085b331..adeb8d0f8aad 100644 --- a/drivers/md/dm-bufio.c +++ b/drivers/md/dm-bufio.c @@ -630,7 +630,7 @@ static void use_inline_bio(struct dm_buffer *b, int rw, sector_t block, do { if (!bio_add_page(&b->bio, virt_to_page(ptr), len < PAGE_SIZE ? len : PAGE_SIZE, - virt_to_phys(ptr) & (PAGE_SIZE - 1))) { + offset_in_page(ptr))) { BUG_ON(b->c->block_size <= PAGE_SIZE); use_dmio(b, rw, block, end_io); return;