ARM: keystone: fix integer overflow warning
[ Upstream commit 844b85dda2f569943e1e018fdd63b6f7d1d6f08e ]
clang warns about an impossible condition when building with 32-bit
phys_addr_t:
arch/arm/mach-keystone/keystone.c:79:16: error: result of comparison of constant 51539607551 with expression of type 'phys_addr_t' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
mem_end > KEYSTONE_HIGH_PHYS_END) {
~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-keystone/keystone.c:78:16: error: result of comparison of constant 34359738368 with expression of type 'phys_addr_t' (aka 'unsigned int') is always true [-Werror,-Wtautological-constant-out-of-range-compare]
if (mem_start < KEYSTONE_HIGH_PHYS_START ||
~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~
Change the temporary variable to a fixed-size u64 to avoid the warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Link: https://lore.kernel.org/r/20210323131814.2751750-1-arnd@kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d8a841f436
commit
9c5d5efa51
@ -65,7 +65,7 @@ static void __init keystone_init(void)
|
|||||||
static long long __init keystone_pv_fixup(void)
|
static long long __init keystone_pv_fixup(void)
|
||||||
{
|
{
|
||||||
long long offset;
|
long long offset;
|
||||||
phys_addr_t mem_start, mem_end;
|
u64 mem_start, mem_end;
|
||||||
|
|
||||||
mem_start = memblock_start_of_DRAM();
|
mem_start = memblock_start_of_DRAM();
|
||||||
mem_end = memblock_end_of_DRAM();
|
mem_end = memblock_end_of_DRAM();
|
||||||
@ -78,7 +78,7 @@ static long long __init keystone_pv_fixup(void)
|
|||||||
if (mem_start < KEYSTONE_HIGH_PHYS_START ||
|
if (mem_start < KEYSTONE_HIGH_PHYS_START ||
|
||||||
mem_end > KEYSTONE_HIGH_PHYS_END) {
|
mem_end > KEYSTONE_HIGH_PHYS_END) {
|
||||||
pr_crit("Invalid address space for memory (%08llx-%08llx)\n",
|
pr_crit("Invalid address space for memory (%08llx-%08llx)\n",
|
||||||
(u64)mem_start, (u64)mem_end);
|
mem_start, mem_end);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user