[REGRESSION] boot regression in next-20170428

From: Niklas Cassel
Date: Fri Apr 28 2017 - 11:08:31 EST


Hello


Since next-20170428
the ARTPEC-6 SoC (MACH_ARTPEC6) does no longer boot.

It works fine with next-20170427.


I've bisected it to the following commit:

6d684e54690caef45cf14051ddeb7c71beeb681b is the first bad commit
commit 6d684e54690caef45cf14051ddeb7c71beeb681b
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 27 13:44:51 2017 +0800

rhashtable: Cap total number of entries to 2^31

When max_size is not set or if it set to a sufficiently large
value, the nelems counter can overflow. This would cause havoc
with the automatic shrinking as it would then attempt to fit a
huge number of entries into a tiny hash table.

This patch fixes this by adding max_elems to struct rhashtable
to cap the number of elements. This is set to 2^31 as nelems is
not a precise count. This is sufficiently smaller than UINT_MAX
that it should be safe.

When max_size is set max_elems will be lowered to at most twice
max_size as is the status quo.

Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>




Enabling earlyprintk does not give any more info,
it simply hangs after:

JUMP dest=0x2000000 dtb=0x2900000 machine=0x1399 initrd=0x02a00000/0x0021b193 cmdline="earlyprintk debug initcall_debug=1"
Uncompressing Linux... done, booting the kernel.



Regards,
Niklas