# git rev-parse -q --verify d883c6cf3b39f1f42506e82ad2779fb88004acf3^{commit} d883c6cf3b39f1f42506e82ad2779fb88004acf3 already have revision, skipping fetch # git checkout -q -f -B kisskb d883c6cf3b39f1f42506e82ad2779fb88004acf3 # git clean -qxdf # < git log -1 # commit d883c6cf3b39f1f42506e82ad2779fb88004acf3 # Author: Joonsoo Kim # Date: Wed May 23 10:18:21 2018 +0900 # # Revert "mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE" # # This reverts the following commits that change CMA design in MM. # # 3d2054ad8c2d ("ARM: CMA: avoid double mapping to the CMA area if CONFIG_HIGHMEM=y") # # 1d47a3ec09b5 ("mm/cma: remove ALLOC_CMA") # # bad8c6c0b114 ("mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE") # # Ville reported a following error on i386. # # Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) # microcode: microcode updated early to revision 0x4, date = 2013-06-28 # Initializing CPU#0 # Initializing HighMem for node 0 (000377fe:00118000) # Initializing Movable for node 0 (00000001:00118000) # BUG: Bad page state in process swapper pfn:377fe # page:f53effc0 count:0 mapcount:-127 mapping:00000000 index:0x0 # flags: 0x80000000() # raw: 80000000 00000000 00000000 ffffff80 00000000 00000100 00000200 00000001 # page dumped because: nonzero mapcount # Modules linked in: # CPU: 0 PID: 0 Comm: swapper Not tainted 4.17.0-rc5-elk+ #145 # Hardware name: Dell Inc. Latitude E5410/03VXMC, BIOS A15 07/11/2013 # Call Trace: # dump_stack+0x60/0x96 # bad_page+0x9a/0x100 # free_pages_check_bad+0x3f/0x60 # free_pcppages_bulk+0x29d/0x5b0 # free_unref_page_commit+0x84/0xb0 # free_unref_page+0x3e/0x70 # __free_pages+0x1d/0x20 # free_highmem_page+0x19/0x40 # add_highpages_with_active_regions+0xab/0xeb # set_highmem_pages_init+0x66/0x73 # mem_init+0x1b/0x1d7 # start_kernel+0x17a/0x363 # i386_start_kernel+0x95/0x99 # startup_32_smp+0x164/0x168 # # The reason for this error is that the span of MOVABLE_ZONE is extended # to whole node span for future CMA initialization, and, normal memory is # wrongly freed here. I submitted the fix and it seems to work, but, # another problem happened. # # It's so late time to fix the later problem so I decide to reverting the # series. # # Reported-by: Ville Syrjälä # Acked-by: Laura Abbott # Acked-by: Michal Hocko # Cc: Andrew Morton # Signed-off-by: Joonsoo Kim # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-gcc --version # < git log --format=%s --max-count=1 d883c6cf3b39f1f42506e82ad2779fb88004acf3 # < make -s -j 48 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- allmodconfig # Added to kconfig CONFIG_64BIT=n # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MODULE_SIG=n # yes \n | make -s -j 48 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -s -j 48 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- In file included from /kisskb/src/arch/sparc/include/asm/cacheflush.h:11:0, from /kisskb/src/drivers/android/binder.c:54: /kisskb/src/arch/sparc/include/asm/cacheflush_32.h:40:37: warning: 'struct page' declared inside parameter list void sparc_flush_page_to_ram(struct page *page); ^ /kisskb/src/arch/sparc/include/asm/cacheflush_32.h:40:37: warning: its scope is only this definition or declaration, which is probably not what you want In file included from /kisskb/src/arch/sparc/include/asm/cacheflush.h:11:0, from /kisskb/src/drivers/android/binder_alloc.c:20: /kisskb/src/arch/sparc/include/asm/cacheflush_32.h:40:37: warning: 'struct page' declared inside parameter list void sparc_flush_page_to_ram(struct page *page); ^ /kisskb/src/arch/sparc/include/asm/cacheflush_32.h:40:37: warning: its scope is only this definition or declaration, which is probably not what you want /kisskb/src/drivers/char/tpm/tpm2-cmd.c: In function 'tpm2_unseal_trusted': /kisskb/src/drivers/char/tpm/tpm2-cmd.c:730:2: warning: 'blob_handle' may be used uninitialized in this function [-Wmaybe-uninitialized] tpm2_flush_context_cmd(chip, blob_handle, TPM_TRANSMIT_UNLOCKED); ^ /kisskb/src/drivers/input/joystick/analog.c:176:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^ In file included from /kisskb/src/arch/sparc/include/asm/cmpxchg.h:7:0, from /kisskb/src/arch/sparc/include/asm/atomic_32.h:17, from /kisskb/src/arch/sparc/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:5, from /kisskb/src/arch/sparc/include/asm/smp_32.h:25, from /kisskb/src/arch/sparc/include/asm/smp.h:7, from /kisskb/src/arch/sparc/include/asm/switch_to_32.h:5, from /kisskb/src/arch/sparc/include/asm/switch_to.h:7, from /kisskb/src/arch/sparc/include/asm/ptrace.h:120, from /kisskb/src/arch/sparc/include/asm/thread_info_32.h:19, from /kisskb/src/arch/sparc/include/asm/thread_info.h:7, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/include/asm-generic/preempt.h:5, from ./arch/sparc/include/generated/asm/preempt.h:1, from /kisskb/src/include/linux/preempt.h:81, from /kisskb/src/include/linux/spinlock.h:51, from /kisskb/src/include/linux/wait.h:9, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/fs/ocfs2/file.c:27: /kisskb/src/fs/ocfs2/file.c: In function 'ocfs2_file_write_iter': /kisskb/src/arch/sparc/include/asm/cmpxchg_32.h:28:22: warning: value computed is not used [-Wunused-value] #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ^ /kisskb/src/fs/ocfs2/file.c:2386:3: note: in expansion of macro 'xchg' xchg(&iocb->ki_complete, saved_ki_complete); ^ /kisskb/src/drivers/tty/serial/sunzilog.c:1132:13: warning: 'sunzilog_putchar' defined but not used [-Wunused-function] static void sunzilog_putchar(struct uart_port *port, int ch) ^ In file included from /kisskb/src/include/linux/printk.h:7:0, from /kisskb/src/include/linux/kernel.h:14, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/rculist.h:10, from /kisskb/src/include/linux/sched/signal.h:5, from /kisskb/src/drivers/net/usb/hso.c:55: /kisskb/src/drivers/net/usb/hso.c: In function 'hso_serial_set_termios': /kisskb/src/include/linux/kern_levels.h:5:18: warning: format '%d' expects argument of type 'int', but argument 4 has type 'tcflag_t {aka long unsigned int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ /kisskb/src/include/linux/kern_levels.h:14:19: note: in expansion of macro 'KERN_SOH' #define KERN_INFO KERN_SOH "6" /* informational */ ^ /kisskb/src/include/linux/printk.h:311:9: note: in expansion of macro 'KERN_INFO' printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ^ /kisskb/src/drivers/net/usb/hso.c:115:3: note: in expansion of macro 'pr_info' pr_info("[%d:%s] " fmt, \ ^ /kisskb/src/drivers/net/usb/hso.c:1404:3: note: in expansion of macro 'hso_dbg' hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n", ^ /kisskb/src/include/linux/kern_levels.h:5:18: warning: format '%d' expects argument of type 'int', but argument 5 has type 'tcflag_t {aka long unsigned int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ /kisskb/src/include/linux/kern_levels.h:14:19: note: in expansion of macro 'KERN_SOH' #define KERN_INFO KERN_SOH "6" /* informational */ ^ /kisskb/src/include/linux/printk.h:311:9: note: in expansion of macro 'KERN_INFO' printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ^ /kisskb/src/drivers/net/usb/hso.c:115:3: note: in expansion of macro 'pr_info' pr_info("[%d:%s] " fmt, \ ^ /kisskb/src/drivers/net/usb/hso.c:1404:3: note: in expansion of macro 'hso_dbg' hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n", ^ In file included from /kisskb/src/arch/sparc/include/asm/cmpxchg.h:7:0, from /kisskb/src/arch/sparc/include/asm/atomic_32.h:17, from /kisskb/src/arch/sparc/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:5, from /kisskb/src/arch/sparc/include/asm/smp_32.h:25, from /kisskb/src/arch/sparc/include/asm/smp.h:7, from /kisskb/src/arch/sparc/include/asm/switch_to_32.h:5, from /kisskb/src/arch/sparc/include/asm/switch_to.h:7, from /kisskb/src/arch/sparc/include/asm/ptrace.h:120, from /kisskb/src/arch/sparc/include/asm/thread_info_32.h:19, from /kisskb/src/arch/sparc/include/asm/thread_info.h:7, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/include/asm-generic/preempt.h:5, from ./arch/sparc/include/generated/asm/preempt.h:1, from /kisskb/src/include/linux/preempt.h:81, from /kisskb/src/include/linux/spinlock.h:51, from /kisskb/src/include/linux/seqlock.h:36, from /kisskb/src/include/linux/time.h:6, from /kisskb/src/include/linux/stat.h:19, from /kisskb/src/include/linux/module.h:10, from /kisskb/src/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:30: /kisskb/src/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function 'ixgbe_xdp_setup': /kisskb/src/arch/sparc/include/asm/cmpxchg_32.h:28:22: warning: value computed is not used [-Wunused-value] #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ^ /kisskb/src/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9973:4: note: in expansion of macro 'xchg' xchg(&adapter->rx_ring[i]->xdp_prog, adapter->xdp_prog); ^ In file included from /kisskb/src/arch/sparc/include/asm/cmpxchg.h:7:0, from /kisskb/src/arch/sparc/include/asm/atomic_32.h:17, from /kisskb/src/arch/sparc/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:5, from /kisskb/src/arch/sparc/include/asm/smp_32.h:25, from /kisskb/src/arch/sparc/include/asm/smp.h:7, from /kisskb/src/arch/sparc/include/asm/switch_to_32.h:5, from /kisskb/src/arch/sparc/include/asm/switch_to.h:7, from /kisskb/src/arch/sparc/include/asm/ptrace.h:120, from /kisskb/src/arch/sparc/include/asm/thread_info_32.h:19, from /kisskb/src/arch/sparc/include/asm/thread_info.h:7, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/include/asm-generic/preempt.h:5, from ./arch/sparc/include/generated/asm/preempt.h:1, from /kisskb/src/include/linux/preempt.h:81, from /kisskb/src/include/linux/spinlock.h:51, from /kisskb/src/include/linux/seqlock.h:36, from /kisskb/src/include/linux/time.h:6, from /kisskb/src/include/linux/stat.h:19, from /kisskb/src/include/linux/module.h:10, from /kisskb/src/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:35: /kisskb/src/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c: In function 'ixgbevf_xdp_setup': /kisskb/src/arch/sparc/include/asm/cmpxchg_32.h:28:22: warning: value computed is not used [-Wunused-value] #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ^ /kisskb/src/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4446:4: note: in expansion of macro 'xchg' xchg(&adapter->rx_ring[i]->xdp_prog, adapter->xdp_prog); ^ WARNING: EXPORT symbol "__lshrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_write_enter" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__ashldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__ndelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__udelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__ashrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_read_try" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__muldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__divdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "bzero_1page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_read_enter" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_read_exit" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "empty_zero_page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__copy_1page" [vmlinux] version generation failed, symbol will not be versioned. kernel: arch/sparc/boot/image is ready kernel: arch/sparc/boot/zImage is ready WARNING: EXPORT symbol "__lshrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_write_enter" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__ashldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__ndelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__udelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__ashrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_read_try" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__muldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__divdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "bzero_1page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_read_enter" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "___rw_read_exit" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "empty_zero_page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: EXPORT symbol "__copy_1page" [vmlinux] version generation failed, symbol will not be versioned. Completed OK # rm -rf /kisskb/build/linus_sparc-allmodconfig_sparc64 # Build took: 0:09:34.732601