remarkable-linux/arch/sparc
Pavel Tatashin cd429ce2d0 sparc64: memblock resizes are not handled properly
In add_node_ranges() when memblock resize happens, the iterator keeps using
the previous freed array. This bug cause hangs on machine where there are
over 128 memory blocks during boot. For example, on machines where memory
interleaving is small.
The problem is seen on T4-4 because it cant have 2T of memory, and memory
is  interleaved at 8G. So we have 2T/8G = 256 regions to set node IDs. The
starting size of regions array is 128. Thus, we have to double at least one
time (actually we have to double twice because some memory is already
reserved and thus we need more than 256 regions). We start using an
incorrect pointer to the array after the first doubling.

Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
Signed-off-by: Babu Moger <babu.moger@oracle.com>
Reviewed-by: Babu Moger <babu.moger@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-23 08:33:23 -08:00
..
boot
configs sparc64:Support User Probes for sparc 2016-12-11 18:01:51 -08:00
crypto crypto: sparc - initialize blkcipher.ivsize 2015-10-08 21:36:48 +08:00
include sparc64: Add 64K page size support 2017-02-23 08:32:10 -08:00
kernel sparc64: Multi-page size support 2017-02-23 08:30:28 -08:00
lib sparc64: Delete now unused user copy fixup functions. 2016-10-24 21:26:04 -07:00
math-emu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mm sparc64: memblock resizes are not handled properly 2017-02-23 08:33:23 -08:00
net sparc: Fix misspellings in comments. 2016-03-20 21:28:58 -07:00
oprofile
power
prom sparc: fixing ident and beautifying code 2016-10-06 01:46:40 -04:00
Kbuild
Kconfig net:add one common config ARCH_WANT_RELAX_ORDER to support relax ordering 2017-01-18 16:33:00 -05:00
Kconfig.debug
Makefile sparc32: Add -Wa,-Av8 to KBUILD_CFLAGS. 2016-03-01 00:24:04 -05:00