# # 2024-07-26T21:28:09.714112 # # make KBUILD_BUILD_USER=KernelCI ARCH=arm HOSTCC=gcc CROSS_COMPILE=arm-linux-gnueabihf- CC="ccache arm-linux-gnueabihf-gcc" O=/tmp/kci/linux/build -C/tmp/kci/linux -j4 zImage # make: Entering directory '/tmp/kci/linux' make[1]: Entering directory '/tmp/kci/linux/build' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig # # configuration written to .config # CHK include/config/kernel.release GEN ./Makefile WRAP arch/arm/include/generated/asm/bitsperlong.h WRAP arch/arm/include/generated/asm/cputime.h WRAP arch/arm/include/generated/asm/current.h UPD include/config/kernel.release WRAP arch/arm/include/generated/asm/emergency-restart.h WRAP arch/arm/include/generated/asm/errno.h WRAP arch/arm/include/generated/asm/exec.h CHK include/generated/uapi/linux/version.h WRAP arch/arm/include/generated/asm/ioctl.h WRAP arch/arm/include/generated/asm/ipcbuf.h WRAP arch/arm/include/generated/asm/irq_regs.h WRAP arch/arm/include/generated/asm/kdebug.h UPD include/generated/uapi/linux/version.h WRAP arch/arm/include/generated/asm/local.h WRAP arch/arm/include/generated/asm/local64.h WRAP arch/arm/include/generated/asm/mm-arch-hooks.h WRAP arch/arm/include/generated/asm/msgbuf.h WRAP arch/arm/include/generated/asm/msi.h WRAP arch/arm/include/generated/asm/param.h WRAP arch/arm/include/generated/asm/parport.h WRAP arch/arm/include/generated/asm/poll.h WRAP arch/arm/include/generated/asm/preempt.h WRAP arch/arm/include/generated/asm/resource.h WRAP arch/arm/include/generated/asm/rwsem.h WRAP arch/arm/include/generated/asm/seccomp.h WRAP arch/arm/include/generated/asm/sections.h WRAP arch/arm/include/generated/asm/segment.h WRAP arch/arm/include/generated/asm/sembuf.h WRAP arch/arm/include/generated/asm/serial.h WRAP arch/arm/include/generated/asm/shmbuf.h WRAP arch/arm/include/generated/asm/siginfo.h WRAP arch/arm/include/generated/asm/simd.h WRAP arch/arm/include/generated/asm/sizes.h WRAP arch/arm/include/generated/asm/socket.h WRAP arch/arm/include/generated/asm/sockios.h WRAP arch/arm/include/generated/asm/termbits.h WRAP arch/arm/include/generated/asm/termios.h WRAP arch/arm/include/generated/asm/timex.h WRAP arch/arm/include/generated/asm/trace_clock.h Using .. as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/dtc/dtc.o CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig Generating include/generated/mach-types.h CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/flattree.o CC kernel/bounds.s CHK scripts/mod/devicetable-offsets.h UPD scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/dtc/fstree.o CHK include/generated/timeconst.h UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/arm/kernel/asm-offsets.s HOSTCC scripts/dtc/data.o CHK include/generated/asm-offsets.h HOSTCC scripts/dtc/livetree.o UPD include/generated/asm-offsets.h CALL ../scripts/checksyscalls.sh HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/mod/sumversion.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTLD scripts/mod/modpost HOSTLD scripts/dtc/dtc LD usr/built-in.o CC init/main.o CHK include/generated/compile.h UPD include/generated/compile.h CC arch/arm/kernel/elf.o CC arch/arm/mm/dma-mapping.o CC init/do_mounts.o AS arch/arm/kernel/entry-common.o CC arch/arm/kernel/irq.o CC arch/arm/mm/extable.o CC init/noinitramfs.o CC init/calibrate.o CC arch/arm/mm/fault.o CC arch/arm/kernel/opcodes.o CC arch/arm/mm/init.o CC init/init_task.o CC arch/arm/kernel/process.o CC arch/arm/mm/iomap.o CC arch/arm/mm/nommu.o CC init/version.o CC arch/arm/mm/alignment.o CC arch/arm/kernel/ptrace.o LD init/mounts.o LD init/built-in.o CC arch/arm/common/firmware.o AS arch/arm/mm/abort-ev5tj.o CC arch/arm/common/icst.o AS arch/arm/mm/pabort-legacy.o AS arch/arm/mm/proc-arm926.o CC arch/arm/kernel/reboot.o LD arch/arm/common/built-in.o LD arch/arm/probes/built-in.o CC arch/arm/kernel/setup.o LD arch/arm/mm/built-in.o LD arch/arm/net/built-in.o arm-linux-gnueabihf-ld: warning: arch/arm/mm/proc-arm926.o: missing .note.GNU-stack section implies executable stack arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker CC arch/arm/kernel/signal.o LD arch/arm/crypto/built-in.o LD arch/arm/firmware/built-in.o CC arch/arm/mach-versatile/core.o AS arch/arm/kernel/sigreturn_codes.o CC arch/arm/kernel/stacktrace.o CC arch/arm/kernel/sys_arm.o CC arch/arm/kernel/time.o CC arch/arm/kernel/traps.o CC arch/arm/mach-versatile/versatile_dt.o CC arch/arm/kernel/return_address.o LD arch/arm/mach-versatile/built-in.o CC arch/arm/plat-versatile/clock.o AS arch/arm/kernel/entry-armv.o CC arch/arm/kernel/devtree.o CC arch/arm/plat-versatile/sched-clock.o CC arch/arm/kernel/io.o LD arch/arm/plat-versatile/built-in.o AS arch/arm/kernel/head-nommu.o LDS arch/arm/kernel/vmlinux.lds LD certs/built-in.o CC kernel/fork.o LD arch/arm/kernel/built-in.o arm-linux-gnueabihf-ld: warning: arch/arm/kernel/entry-armv.o: missing .note.GNU-stack section implies executable stack arm-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker LD ipc/built-in.o CC mm/filemap.o CC security/commoncap.o CC fs/open.o CC kernel/exec_domain.o LD security/built-in.o CC mm/mempool.o LD crypto/built-in.o LD block/built-in.o CC mm/oom_kill.o CC fs/read_write.o CC kernel/panic.o CC kernel/cpu.o CC mm/maccess.o CC fs/file_table.o CC kernel/exit.o CC kernel/softirq.o CC mm/page_alloc.o CC kernel/resource.o ../mm/page_alloc.c: In function ‘mem_init_print_info’: ../mm/page_alloc.c:6024:27: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6028:9: note: in expansion of macro ‘adj_init_size’ 6028 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: note: use ‘&__init_begin[0] <= &_sinittext[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6028:9: note: in expansion of macro ‘adj_init_size’ 6028 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6028:9: note: in expansion of macro ‘adj_init_size’ 6028 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ CC fs/super.o ../mm/page_alloc.c:6024:41: note: use ‘&_sinittext[0] < &__init_end[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6028:9: note: in expansion of macro ‘adj_init_size’ 6028 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6030:9: note: in expansion of macro ‘adj_init_size’ 6030 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: note: use ‘&_stext[0] <= &_sinittext[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6030:9: note: in expansion of macro ‘adj_init_size’ 6030 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6030:9: note: in expansion of macro ‘adj_init_size’ 6030 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: note: use ‘&_sinittext[0] < &_etext[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6030:9: note: in expansion of macro ‘adj_init_size’ 6030 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6031:9: note: in expansion of macro ‘adj_init_size’ 6031 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: note: use ‘&_sdata[0] <= &__init_begin[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6031:9: note: in expansion of macro ‘adj_init_size’ 6031 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6031:9: note: in expansion of macro ‘adj_init_size’ 6031 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: note: use ‘&__init_begin[0] < &_edata[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6031:9: note: in expansion of macro ‘adj_init_size’ 6031 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6032:9: note: in expansion of macro ‘adj_init_size’ 6032 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: note: use ‘&_stext[0] <= &__start_rodata[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6032:9: note: in expansion of macro ‘adj_init_size’ 6032 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6032:9: note: in expansion of macro ‘adj_init_size’ 6032 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: note: use ‘&__start_rodata[0] < &_etext[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6032:9: note: in expansion of macro ‘adj_init_size’ 6032 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6033:9: note: in expansion of macro ‘adj_init_size’ 6033 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:27: note: use ‘&_sdata[0] <= &__start_rodata[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^~ ../mm/page_alloc.c:6033:9: note: in expansion of macro ‘adj_init_size’ 6033 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: warning: comparison between two arrays [-Warray-compare] 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6033:9: note: in expansion of macro ‘adj_init_size’ 6033 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ ../mm/page_alloc.c:6024:41: note: use ‘&__start_rodata[0] < &_edata[0]’ to compare the addresses 6024 | if (start <= pos && pos < end && size > adj) \ | ^ ../mm/page_alloc.c:6033:9: note: in expansion of macro ‘adj_init_size’ 6033 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ CC kernel/sysctl.o CC kernel/sysctl_binary.o CC fs/char_dev.o CC kernel/capability.o CC mm/page-writeback.o CC mm/readahead.o CC kernel/ptrace.o CC fs/stat.o CC mm/swap.o CC kernel/user.o CC fs/exec.o CC kernel/signal.o CC mm/truncate.o CC mm/vmscan.o CC mm/shmem.o CC fs/pipe.o CC mm/util.o CC mm/mmzone.o CC kernel/sys.o CC fs/namei.o CC mm/vmstat.o CC mm/backing-dev.o CC mm/mm_init.o CC mm/mmu_context.o CC mm/percpu.o CC kernel/kmod.o CC mm/slab_common.o CC kernel/workqueue.o ../kernel/workqueue.c:300:15: error: variable ‘manager_wait’ has initializer but incomplete type 300 | static struct rcuwait manager_wait = __RCUWAIT_INITIALIZER(manager_wait); | ^~~~~~~ ../kernel/workqueue.c:300:38: error: implicit declaration of function ‘__RCUWAIT_INITIALIZER’; did you mean ‘RCU_INITIALIZER’? [-Werror=implicit-function-declaration] 300 | static struct rcuwait manager_wait = __RCUWAIT_INITIALIZER(manager_wait); | ^~~~~~~~~~~~~~~~~~~~~ | RCU_INITIALIZER ../kernel/workqueue.c:300:60: error: ‘manager_wait’ has an incomplete type ‘struct rcuwait’ 300 | static struct rcuwait manager_wait = __RCUWAIT_INITIALIZER(manager_wait); | ^~~~~~~~~~~~ ../kernel/workqueue.c: In function ‘manage_workers’: ../kernel/workqueue.c:1966:9: error: implicit declaration of function ‘rcuwait_wake_up’ [-Werror=implicit-function-declaration] 1966 | rcuwait_wake_up(&manager_wait); | ^~~~~~~~~~~~~~~ CC mm/compaction.o ../kernel/workqueue.c: In function ‘put_unbound_pool’: ../kernel/workqueue.c:3210:9: error: implicit declaration of function ‘rcuwait_wait_event’; did you mean ‘io_wait_event’? [-Werror=implicit-function-declaration] 3210 | rcuwait_wait_event(&manager_wait, wq_manager_inactive(pool), | ^~~~~~~~~~~~~~~~~~ | io_wait_event In file included from ../include/linux/irqflags.h:14, from ../arch/arm/include/asm/bitops.h:27, from ../include/linux/bitops.h:18, from ../include/linux/kernel.h:10, from ../kernel/workqueue.c:28: ../kernel/workqueue.c: In function ‘pwq_adjust_max_active’: ../kernel/workqueue.c:3376:49: error: ‘flags’ undeclared (first use in this function) 3376 | raw_spin_lock_irqsave(&pwq->pool->lock, flags); | ^~~~~ ../include/linux/typecheck.h:10:16: note: in definition of macro ‘typecheck’ 10 | typeof(x) __dummy2; \ | ^ ../kernel/workqueue.c:3376:9: note: in expansion of macro ‘raw_spin_lock_irqsave’ 3376 | raw_spin_lock_irqsave(&pwq->pool->lock, flags); | ^~~~~~~~~~~~~~~~~~~~~ ../kernel/workqueue.c:3376:49: note: each undeclared identifier is reported only once for each function it appears in 3376 | raw_spin_lock_irqsave(&pwq->pool->lock, flags); | ^~~~~ ../include/linux/typecheck.h:10:16: note: in definition of macro ‘typecheck’ 10 | typeof(x) __dummy2; \ | ^ ../kernel/workqueue.c:3376:9: note: in expansion of macro ‘raw_spin_lock_irqsave’ 3376 | raw_spin_lock_irqsave(&pwq->pool->lock, flags); | ^~~~~~~~~~~~~~~~~~~~~ ../include/linux/typecheck.h:11:25: warning: comparison of distinct pointer types lacks a cast 11 | (void)(&__dummy == &__dummy2); \ | ^~ ../include/linux/spinlock.h:229:17: note: in expansion of macro ‘typecheck’ 229 | typecheck(unsigned long, flags); \ | ^~~~~~~~~ ../kernel/workqueue.c:3376:9: note: in expansion of macro ‘raw_spin_lock_irqsave’ 3376 | raw_spin_lock_irqsave(&pwq->pool->lock, flags); | ^~~~~~~~~~~~~~~~~~~~~ ../include/linux/typecheck.h:11:25: warning: comparison of distinct pointer types lacks a cast 11 | (void)(&__dummy == &__dummy2); \ | ^~ ../include/linux/irqflags.h:67:17: note: in expansion of macro ‘typecheck’ 67 | typecheck(unsigned long, flags); \ | ^~~~~~~~~ ../include/linux/irqflags.h:128:17: note: in expansion of macro ‘raw_local_irq_save’ 128 | raw_local_irq_save(flags); \ | ^~~~~~~~~~~~~~~~~~ ../include/linux/spinlock_api_up.h:40:8: note: in expansion of macro ‘local_irq_save’ 40 | do { local_irq_save(flags); __LOCK(lock); } while (0) | ^~~~~~~~~~~~~~ ../include/linux/spinlock_api_up.h:69:49: note: in expansion of macro ‘__LOCK_IRQSAVE’ 69 | #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags) | ^~~~~~~~~~~~~~ ../include/linux/spinlock.h:230:17: note: in expansion of macro ‘_raw_spin_lock_irqsave’ 230 | _raw_spin_lock_irqsave(lock, flags); \ | ^~~~~~~~~~~~~~~~~~~~~~ ../kernel/workqueue.c:3376:9: note: in expansion of macro ‘raw_spin_lock_irqsave’ 3376 | raw_spin_lock_irqsave(&pwq->pool->lock, flags); | ^~~~~~~~~~~~~~~~~~~~~ CC kernel/pid.o ../include/linux/typecheck.h:11:25: warning: comparison of distinct pointer types lacks a cast 11 | (void)(&__dummy == &__dummy2); \ | ^~ ../include/linux/spinlock.h:245:17: note: in expansion of macro ‘typecheck’ 245 | typecheck(unsigned long, flags); \ | ^~~~~~~~~ ../kernel/workqueue.c:3406:9: note: in expansion of macro ‘raw_spin_unlock_irqrestore’ 3406 | raw_spin_unlock_irqrestore(&pwq->pool->lock, flags); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../include/linux/typecheck.h:11:25: warning: comparison of distinct pointer types lacks a cast 11 | (void)(&__dummy == &__dummy2); \ | ^~ ../include/linux/irqflags.h:72:17: note: in expansion of macro ‘typecheck’ 72 | typecheck(unsigned long, flags); \ | ^~~~~~~~~ ../include/linux/irqflags.h:130:39: note: in expansion of macro ‘raw_local_irq_restore’ 130 | #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) | ^~~~~~~~~~~~~~~~~~~~~ ../include/linux/spinlock_api_up.h:56:8: note: in expansion of macro ‘local_irq_restore’ 56 | do { local_irq_restore(flags); __UNLOCK(lock); } while (0) | ^~~~~~~~~~~~~~~~~ ../include/linux/spinlock_api_up.h:86:41: note: in expansion of macro ‘__UNLOCK_IRQRESTORE’ 86 | __UNLOCK_IRQRESTORE(lock, flags) | ^~~~~~~~~~~~~~~~~~~ ../include/linux/spinlock.h:246:17: note: in expansion of macro ‘_raw_spin_unlock_irqrestore’ 246 | _raw_spin_unlock_irqrestore(lock, flags); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../kernel/workqueue.c:3406:9: note: in expansion of macro ‘raw_spin_unlock_irqrestore’ 3406 | raw_spin_unlock_irqrestore(&pwq->pool->lock, flags); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../kernel/workqueue.c: In function ‘show_workqueue_state’: ../kernel/workqueue.c:4418:25: error: implicit declaration of function ‘touch_nmi_watchdog’ [-Werror=implicit-function-declaration] 4418 | touch_nmi_watchdog(); | ^~~~~~~~~~~~~~~~~~ ../kernel/workqueue.c: At top level: ../kernel/workqueue.c:300:23: error: storage size of ‘manager_wait’ isn’t known 300 | static struct rcuwait manager_wait = __RCUWAIT_INITIALIZER(manager_wait); | ^~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [../scripts/Makefile.build:280: kernel/workqueue.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CC fs/fcntl.o CC fs/ioctl.o CC mm/vmacache.o CC mm/interval_tree.o CC fs/readdir.o CC fs/select.o make[1]: *** [/tmp/kci/linux/Makefile:1009: kernel] Error 2 make[1]: *** Waiting for unfinished jobs.... CC fs/dcache.o CC mm/list_lru.o CC fs/inode.o CC mm/workingset.o CC fs/attr.o CC mm/debug.o CC fs/bad_inode.o CC fs/file.o CC fs/filesystems.o CC fs/namespace.o CC mm/nommu.o CC fs/seq_file.o CC fs/xattr.o CC mm/init-mm.o CC mm/nobootmem.o CC fs/libfs.o CC fs/fs-writeback.o CC fs/pnode.o CC mm/memblock.o CC fs/splice.o CC fs/sync.o CC mm/dmapool.o CC mm/slob.o CC fs/utimes.o CC fs/stack.o CC fs/fs_struct.o CC fs/statfs.o LD mm/built-in.o CC fs/fs_pin.o CC fs/nsfs.o CC fs/no-block.o LD fs/devpts/built-in.o LD fs/exofs/built-in.o LD fs/notify/dnotify/built-in.o LD fs/quota/built-in.o LD fs/notify/fanotify/built-in.o CC fs/ramfs/inode.o LD fs/notify/inotify/built-in.o CC fs/ramfs/file-nommu.o LD fs/notify/built-in.o LD fs/ramfs/ramfs.o LD fs/ramfs/built-in.o LD fs/built-in.o make[1]: Leaving directory '/tmp/kci/linux/build' make: *** [Makefile:152: sub-make] Error 2 make: Leaving directory '/tmp/kci/linux'