swiotlb: ensure that page-sized mappings are page-aligned
authorNikita Yushchenko <nikita.yoush@cogentembedded.com>
Wed, 11 Jan 2017 18:56:31 +0000 (21:56 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jul 2017 12:40:26 +0000 (14:40 +0200)
commit9d00195bc0afa0252b9cdb157eb4ed1e13631bc6
tree38edfc098d1e81243bd0074cc812bf57cbc80a42
parent68a5dc38573586ad47befe5b91c62d7c2cb8141d
swiotlb: ensure that page-sized mappings are page-aligned

[ Upstream commit 602d9858f07c72eab64f5f00e2fae55f9902cfbe ]

Some drivers do depend on page mappings to be page aligned.

Swiotlb already enforces such alignment for mappings greater than page,
extend that to page-sized mappings as well.

Without this fix, nvme hits BUG() in nvme_setup_prps(), because that routine
assumes page-aligned mappings.

Signed-off-by: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/swiotlb.c