OSDN Git Service

iommu/io-pgtable-arm: Fix self-test WARNs on i386
authorWill Deacon <will.deacon@arm.com>
Mon, 16 Feb 2015 18:38:20 +0000 (18:38 +0000)
committerDavid Keitel <dkeitel@codeaurora.org>
Tue, 22 Mar 2016 18:14:48 +0000 (11:14 -0700)
commitaaf63985193d717bba56d601a9521dbc412e0b50
treef9f55ccdb9ba97c5f36abe07f79674e6a4a98bb5
parentaaa7dcaf86f2d997659a374843a55d3b15bb821f
iommu/io-pgtable-arm: Fix self-test WARNs on i386

Various build/boot bots have reported WARNs being triggered by the ARM
iopgtable LPAE self-tests on i386 machines.

This boils down to two instances of right-shifting a 32-bit unsigned
long (i.e. an iova) by more than the size of the type. On 32-bit ARM,
this happens to give us zero, hence my testing didn't catch this
earlier.

This patch fixes the issue by using DIV_ROUND_UP and explicit case to
to avoid the erroneous shifts.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/io-pgtable-arm.c