# git rev-parse -q --verify 4aa9fc2a435abe95a1e8d7f8c7b3d6356514b37a^{commit} 4aa9fc2a435abe95a1e8d7f8c7b3d6356514b37a already have revision, skipping fetch # git checkout -q -f -B kisskb 4aa9fc2a435abe95a1e8d7f8c7b3d6356514b37a # git clean -qxdf # < git log -1 # commit 4aa9fc2a435abe95a1e8d7f8c7b3d6356514b37a # Author: Michal Hocko # Date: Fri Jan 25 19:08:58 2019 +0100 # # Revert "mm, memory_hotplug: initialize struct pages for the full memory section" # # This reverts commit 2830bf6f05fb3e05bc4743274b806c821807a684. # # The underlying assumption that one sparse section belongs into a single # numa node doesn't hold really. Robert Shteynfeld has reported a boot # failure. The boot log was not captured but his memory layout is as # follows: # # Early memory node ranges # node 1: [mem 0x0000000000001000-0x0000000000090fff] # node 1: [mem 0x0000000000100000-0x00000000dbdf8fff] # node 1: [mem 0x0000000100000000-0x0000001423ffffff] # node 0: [mem 0x0000001424000000-0x0000002023ffffff] # # This means that node0 starts in the middle of a memory section which is # also in node1. memmap_init_zone tries to initialize padding of a # section even when it is outside of the given pfn range because there are # code paths (e.g. memory hotplug) which assume that the full worth of # memory section is always initialized. # # In this particular case, though, such a range is already intialized and # most likely already managed by the page allocator. Scribbling over # those pages corrupts the internal state and likely blows up when any of # those pages gets used. # # Reported-by: Robert Shteynfeld # Fixes: 2830bf6f05fb ("mm, memory_hotplug: initialize struct pages for the full memory section") # Cc: stable@kernel.org # Signed-off-by: Michal Hocko # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-ld --version # < git log --format=%s --max-count=1 4aa9fc2a435abe95a1e8d7f8c7b3d6356514b37a # < make -s -j 10 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- randconfig KCONFIG_SEED=0x40D8BEDE # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_LD_HEAD_STUB_CATCH=y # Added to kconfig # yes \n | make -s -j 10 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- oldconfig yes: standard output: Broken pipe # make -s -j 10 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1263:20: warning: 'root' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:186:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2594:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1855:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/f2fs/file.c: In function 'f2fs_precache_extents': /kisskb/src/fs/f2fs/file.c:2937:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/f2fs/node.c: In function '__set_nat_cache_dirty': /kisskb/src/include/linux/list.h:63:13: warning: 'head' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/f2fs/node.c:237:24: note: 'head' was declared here /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:339:21: note: 'pdeo' was declared here /kisskb/src/fs/udf/unicode.c: In function 'udf_name_conv_char': /kisskb/src/fs/udf/unicode.c:132:8: warning: 'c' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/i2c/i2c-core-base.c: In function 'i2c_generic_scl_recovery': /kisskb/src/drivers/i2c/i2c-core-base.c:235:5: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/soc/qcom/rpmh.c: In function 'rpmh_write_batch': /kisskb/src/drivers/soc/qcom/rpmh.c:355:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c: In function 'univ8250_release_irq': /kisskb/src/drivers/tty/serial/8250/8250_core.c:247:18: warning: 'i' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c:227:19: note: 'i' was declared here WARNING: vmlinux.o (.PPC.EMB.apuinfo): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. WARNING: 140 bad relocations c000000000016692 R_PPC64_ADDR16_HIGHEST .head.text+0x00000000000166ac c000000000016696 R_PPC64_ADDR16_HIGHER .head.text+0x00000000000166ac c00000000001669e R_PPC64_ADDR16_HI .head.text+0x00000000000166ac c0000000000166a2 R_PPC64_ADDR16_LO .head.text+0x00000000000166ac c00000000096fbc4 R_PPC64_UADDR64 .rodata+0x0000000000299088 c00000000096fbdf R_PPC64_UADDR64 .rodata+0x0000000000285ba8 c00000000096fbfa R_PPC64_UADDR64 .rodata+0x0000000000285bd8 c00000000096fc15 R_PPC64_UADDR64 .rodata+0x0000000000285be8 c00000000096fc4b R_PPC64_UADDR64 .rodata+0x0000000000285c08 c00000000096fc66 R_PPC64_UADDR64 .rodata+0x0000000000285c18 c00000000096fc81 R_PPC64_UADDR64 .rodata+0x0000000000285c28 c00000000096fc9c R_PPC64_UADDR64 .rodata+0x0000000000285c38 c00000000096fcb7 R_PPC64_UADDR64 .rodata+0x0000000000285c48 c00000000096fcd2 R_PPC64_UADDR64 .rodata+0x0000000000285c58 c00000000096fced R_PPC64_UADDR64 .rodata+0x0000000000285c60 c00000000096fd23 R_PPC64_UADDR64 .rodata+0x0000000000285c78 c00000000096fd3e R_PPC64_UADDR64 .rodata+0x0000000000285c88 c00000000096fd59 R_PPC64_UADDR64 .rodata+0x0000000000285c98 c00000000096fd74 R_PPC64_UADDR64 .rodata+0x0000000000285ca8 c00000000096fd8f R_PPC64_UADDR64 .rodata+0x0000000000285cb8 c00000000096fdaa R_PPC64_UADDR64 .rodata+0x0000000000285cc8 c00000000096fdc5 R_PPC64_UADDR64 .rodata+0x0000000000285cd8 c00000000096fdfb R_PPC64_UADDR64 .rodata+0x0000000000285cf8 c00000000096fe16 R_PPC64_UADDR64 .rodata+0x0000000000285d08 c00000000096fe31 R_PPC64_UADDR64 .rodata+0x0000000000285d18 c00000000096fe4c R_PPC64_UADDR64 .rodata+0x0000000000285d28 c00000000096fe67 R_PPC64_UADDR64 .rodata+0x0000000000285d38 c00000000096fe82 R_PPC64_UADDR64 .rodata+0x0000000000285d48 c00000000096fe9d R_PPC64_UADDR64 .rodata+0x0000000000285d58 c00000000096fed3 R_PPC64_UADDR64 .rodata+0x0000000000285d78 c00000000096feee R_PPC64_UADDR64 .rodata+0x0000000000285d88 c00000000096ff09 R_PPC64_UADDR64 .rodata+0x0000000000285d98 c00000000096ff24 R_PPC64_UADDR64 .rodata+0x0000000000285da0 c00000000096ff3f R_PPC64_UADDR64 .rodata+0x0000000000285db0 c00000000096ff5a R_PPC64_UADDR64 .rodata+0x0000000000285dc0 c00000000096ff75 R_PPC64_UADDR64 .rodata+0x0000000000285dd0 c00000000096ffab R_PPC64_UADDR64 .rodata+0x0000000000285df0 c00000000096ffc6 R_PPC64_UADDR64 .rodata+0x0000000000285e00 c00000000096ffe1 R_PPC64_UADDR64 .rodata+0x0000000000285e10 c00000000096fffc R_PPC64_UADDR64 .rodata+0x0000000000285e20 c000000000970017 R_PPC64_UADDR64 .rodata+0x0000000000285e30 c000000000970032 R_PPC64_UADDR64 .rodata+0x0000000000285e40 c00000000097004d R_PPC64_UADDR64 .rodata+0x0000000000285e50 c000000000970083 R_PPC64_UADDR64 .rodata+0x0000000000285e70 c00000000097009e R_PPC64_UADDR64 .rodata+0x0000000000285e80 c0000000009700b9 R_PPC64_UADDR64 .rodata+0x0000000000285e90 c0000000009700d4 R_PPC64_UADDR64 .rodata+0x0000000000285ea0 c0000000009700ef R_PPC64_UADDR64 .rodata+0x0000000000285eb0 c00000000097010a R_PPC64_UADDR64 .rodata+0x0000000000285ec0 c000000000970125 R_PPC64_UADDR64 .rodata+0x0000000000285ed0 c00000000097015b R_PPC64_UADDR64 .rodata+0x0000000000285ef0 c000000000970176 R_PPC64_UADDR64 .rodata+0x0000000000285f00 c000000000970191 R_PPC64_UADDR64 .rodata+0x0000000000285f10 c0000000009701ac R_PPC64_UADDR64 .rodata+0x0000000000285f20 c0000000009701c7 R_PPC64_UADDR64 .rodata+0x0000000000285f30 c0000000009701e2 R_PPC64_UADDR64 .rodata+0x0000000000285f40 c0000000009701fd R_PPC64_UADDR64 .rodata+0x0000000000285f50 c000000000970233 R_PPC64_UADDR64 .rodata+0x0000000000285f70 c00000000097024e R_PPC64_UADDR64 .rodata+0x0000000000285f80 c000000000970269 R_PPC64_UADDR64 .rodata+0x0000000000285f90 c000000000970284 R_PPC64_UADDR64 .rodata+0x0000000000285fa0 c00000000097029f R_PPC64_UADDR64 .rodata+0x0000000000285fb0 c0000000009702ba R_PPC64_UADDR64 .rodata+0x0000000000285fc0 c0000000009702d5 R_PPC64_UADDR64 .rodata+0x0000000000285fd0 c00000000097030b R_PPC64_UADDR64 .rodata+0x0000000000285ff0 c000000000970326 R_PPC64_UADDR64 .rodata+0x0000000000286000 c000000000970341 R_PPC64_UADDR64 .rodata+0x0000000000286010 c00000000097035c R_PPC64_UADDR64 .rodata+0x0000000000286020 c000000000970377 R_PPC64_UADDR64 .rodata+0x0000000000286030 c000000000970392 R_PPC64_UADDR64 .rodata+0x0000000000286040 c0000000009703ad R_PPC64_UADDR64 .rodata+0x0000000000286050 c0000000009703e3 R_PPC64_UADDR64 .rodata+0x0000000000286070 c0000000009703fe R_PPC64_UADDR64 .rodata+0x0000000000286088 c000000000970419 R_PPC64_UADDR64 .rodata+0x0000000000286098 c000000000970434 R_PPC64_UADDR64 .rodata+0x00000000002860a8 c00000000097044f R_PPC64_UADDR64 .rodata+0x00000000002860b8 c00000000097046a R_PPC64_UADDR64 .rodata+0x00000000002860c8 c000000000970485 R_PPC64_UADDR64 .rodata+0x00000000002860e0 c0000000009704bb R_PPC64_UADDR64 .rodata+0x00000000002860f8 c0000000009704d6 R_PPC64_UADDR64 .rodata+0x0000000000286108 c0000000009704f1 R_PPC64_UADDR64 .rodata+0x0000000000286118 c00000000097050c R_PPC64_UADDR64 .rodata+0x0000000000286128 c000000000970527 R_PPC64_UADDR64 .rodata+0x0000000000286138 c000000000970542 R_PPC64_UADDR64 .rodata+0x0000000000286148 c00000000097055d R_PPC64_UADDR64 .rodata+0x0000000000286158 c000000000970593 R_PPC64_UADDR64 .rodata+0x0000000000286170 c0000000009705ae R_PPC64_UADDR64 .rodata+0x0000000000286180 c0000000009705c9 R_PPC64_UADDR64 .rodata+0x0000000000286190 c0000000009705e4 R_PPC64_UADDR64 .rodata+0x00000000002861a0 c0000000009705ff R_PPC64_UADDR64 .rodata+0x00000000002861b0 c00000000097061a R_PPC64_UADDR64 .rodata+0x00000000002861c0 c000000000970635 R_PPC64_UADDR64 .rodata+0x00000000002861d0 c00000000097066b R_PPC64_UADDR64 .rodata+0x00000000002861f8 c000000000970686 R_PPC64_UADDR64 .rodata+0x0000000000286210 c0000000009706a1 R_PPC64_UADDR64 .rodata+0x0000000000286220 c0000000009706bc R_PPC64_UADDR64 .rodata+0x0000000000286230 c0000000009706d7 R_PPC64_UADDR64 .rodata+0x0000000000286240 c0000000009706f2 R_PPC64_UADDR64 .rodata+0x0000000000286250 c00000000097070d R_PPC64_UADDR64 .rodata+0x0000000000286260 c000000000970743 R_PPC64_UADDR64 .rodata+0x0000000000286280 c00000000097075e R_PPC64_UADDR64 .rodata+0x0000000000286290 c000000000970779 R_PPC64_UADDR64 .rodata+0x00000000002862a0 c000000000970794 R_PPC64_UADDR64 .rodata+0x00000000002862b0 c0000000009707af R_PPC64_UADDR64 .rodata+0x00000000002862c0 c0000000009707ca R_PPC64_UADDR64 .rodata+0x00000000002862d0 c0000000009707e5 R_PPC64_UADDR64 .rodata+0x00000000002862e0 c00000000097081b R_PPC64_UADDR64 .rodata+0x0000000000286300 c000000000970836 R_PPC64_UADDR64 .rodata+0x0000000000286310 c000000000970851 R_PPC64_UADDR64 .rodata+0x0000000000286320 c00000000097086c R_PPC64_UADDR64 .rodata+0x0000000000286330 c000000000970887 R_PPC64_UADDR64 .rodata+0x0000000000286340 c0000000009708a2 R_PPC64_UADDR64 .rodata+0x0000000000286350 c0000000009708bd R_PPC64_UADDR64 .rodata+0x0000000000286360 c0000000009708f3 R_PPC64_UADDR64 .rodata+0x0000000000286380 c00000000097090e R_PPC64_UADDR64 .rodata+0x0000000000286390 c000000000970929 R_PPC64_UADDR64 .rodata+0x00000000002863a0 c000000000970944 R_PPC64_UADDR64 .rodata+0x00000000002863b0 c00000000097095f R_PPC64_UADDR64 .rodata+0x00000000002863c0 c00000000097097a R_PPC64_UADDR64 .rodata+0x00000000002863d0 c000000000970995 R_PPC64_UADDR64 .rodata+0x00000000002863e0 c0000000009709cb R_PPC64_UADDR64 .rodata+0x0000000000286400 c0000000009709e6 R_PPC64_UADDR64 .rodata+0x0000000000286410 c000000000970a01 R_PPC64_UADDR64 .rodata+0x0000000000286420 c000000000970a1c R_PPC64_UADDR64 .rodata+0x0000000000286430 c000000000970a37 R_PPC64_UADDR64 .rodata+0x0000000000286440 c000000000970a52 R_PPC64_UADDR64 .rodata+0x0000000000286450 c000000000970a6d R_PPC64_UADDR64 .rodata+0x0000000000286460 c000000000970aa3 R_PPC64_UADDR64 .rodata+0x0000000000286480 c000000000970abe R_PPC64_UADDR64 .rodata+0x0000000000286490 c000000000970ad9 R_PPC64_UADDR64 .rodata+0x00000000002864a0 c000000000970af4 R_PPC64_UADDR64 .rodata+0x00000000002864b0 c000000000970b0f R_PPC64_UADDR64 .rodata+0x00000000002864c0 c000000000970b2a R_PPC64_UADDR64 .rodata+0x00000000002864d0 c000000000970b45 R_PPC64_UADDR64 .rodata+0x00000000002864e8 c000000000970b7b R_PPC64_UADDR64 .rodata+0x0000000000286508 c000000000970b96 R_PPC64_UADDR64 .rodata+0x0000000000286518 c000000000970bb1 R_PPC64_UADDR64 .rodata+0x0000000000286528 c000000000970bcc R_PPC64_UADDR64 .rodata+0x0000000000286538 c000000000970be7 R_PPC64_UADDR64 .rodata+0x0000000000286548 c000000000970c02 R_PPC64_UADDR64 .rodata+0x0000000000286558 WARNING: You need at least binutils >= 2.19 to build a CONFIG_RELOCATABLE kernel INFO: Uncompressed kernel (size 0xef7240) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xf00000) Image Name: Linux-5.0.0-rc4+ Created: Tue Jan 29 08:41:54 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4921316 Bytes = 4805.97 KiB = 4.69 MiB Load Address: 00000000 Entry Point: 00000000 Completed OK # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 # Build took: 0:03:14.645306