diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index e6289ee74ecd400bcfaf606d8f9585191225462f..8bf4ae1150be6775b2c348af2ee56a2786dd320c 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c @@ -200,11 +200,13 @@ static noinline __init void find_memory_chunks(unsigned long memsize) cc = __tprot(addr); while (cc == old_cc) { addr += CHUNK_INCR; - cc = __tprot(addr); + if (addr >= memsize) + break; #ifndef CONFIG_64BIT if (addr == ADDR2G) break; #endif + cc = __tprot(addr); } if (old_addr != addr &&