# git rev-parse -q --verify ee8e0d2751721b7e6faea2b18f9e767bbc9f0d9c^{commit} ee8e0d2751721b7e6faea2b18f9e767bbc9f0d9c already have revision, skipping fetch # git checkout -q -f -B kisskb ee8e0d2751721b7e6faea2b18f9e767bbc9f0d9c # git clean -qxdf # git log -1 commit ee8e0d2751721b7e6faea2b18f9e767bbc9f0d9c Author: Benjamin Herrenschmidt Date: Mon Jul 24 14:26:06 2017 +1000 powerpc/mm/radix: Workaround prefetch issue with KVM There's a somewhat architectural issue with Radix MMU and KVM. When coming out of a guest with AIL (ie, MMU enabled), we start executing hypervisor code with the PID register still containing whatever the guest has been using. The problem is that the CPU can (and will) then start prefetching or speculatively load from whatever host context has that same PID (if any), thus bringing translations for that context into the TLB, which Linux doesn't know about. This can cause stale translations and subsequent crashes. Fixing this in a way that is neither racy nor a huge performance impact is difficult. We could just make the host invalidations always use broadcast forms but that would hurt single threaded programs for example. We chose to fix it instead by partitioning the PID space between guest and host. This is possible because today Linux only use 19 out of the 20 bits of PID space, so existing guests will work if we make the host use the top half of the 20 bits space. We additionally add a property to indicate to Linux the size of the PID register which will be useful if we eventually have processors with a larger PID space available. There is still an issue with malicious guests purposefully setting the PID register to a value in the host range. Hopefully future HW can prevent that, but in the meantime, we handle it with a pair of kludges: - On the way out of a guest, before we clear the current VCPU in the PACA, we check the PID and if it's outside of the permitted range we flush the TLB for that PID. - When context switching, if the mm is "new" on that CPU (the corresponding bit was set for the first time in the mm cpumask), we check if any sibling thread is in KVM (has a non-NULL VCPU pointer in the PACA). If that is the case, we also flush the PID for that CPU (core). This second part is needed to handle the case where a process is migrated (or starts a new pthread) on a sibling thread of the CPU coming out of KVM, as there's a window where stale translations can exist before we detect it and flush them out. A future optimization could be added by keeping track of whether the PID has ever been used and avoid doing that for completely fresh PIDs. We could similarily mark PIDs that have been the subject of a global invalidation as "fresh". But for now this will do. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 ee8e0d2751721b7e6faea2b18f9e767bbc9f0d9c # < make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig KCONFIG_SEED=0xA18E4ADE # 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 -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- make[1]: Entering directory '/home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/export.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/rwsem.h WRAP arch/powerpc/include/generated/asm/vtime.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h WRAP arch/powerpc/include/generated/uapi/asm/param.h WRAP arch/powerpc/include/generated/uapi/asm/poll.h WRAP arch/powerpc/include/generated/uapi/asm/resource.h WRAP arch/powerpc/include/generated/uapi/asm/sockios.h WRAP arch/powerpc/include/generated/uapi/asm/statfs.h HOSTCC scripts/basic/bin2c UPD include/config/kernel.release Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/kallsyms HOSTCC scripts/dtc/dtc.o HOSTCC scripts/pnmtologo CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/flattree.o CHK scripts/mod/devicetable-offsets.h UPD scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/conmakehash HOSTCC scripts/dtc/fstree.o HOSTCC scripts/sortextable HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/extract-cert HOSTCC scripts/insert-sys-cert HOSTCC scripts/asn1_compiler HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.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/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh CC init/main.o CHK include/generated/compile.h AR usr/built-in.o CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o UPD include/generated/compile.h CC init/version.o CC arch/powerpc/mm/fault.o AS arch/powerpc/lib/string.o CC arch/powerpc/sysdev/mpic.o CC arch/powerpc/platforms/85xx/smp.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/checksum_64.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/mm/mem.o CC arch/powerpc/platforms/85xx/common.o CC arch/powerpc/sysdev/mpic_msi.o CC arch/powerpc/sysdev/mpic_u3msi.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/lib/sstep.o AR arch/powerpc/platforms/85xx/built-in.o AR arch/powerpc/platforms/built-in.o AR init/mounts.o AR init/built-in.o AS arch/powerpc/lib/ldstfp.o AS arch/powerpc/lib/copypage_64.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/mm/mmap.o AR arch/powerpc/math-emu/built-in.o CC arch/powerpc/sysdev/msi_bitmap.o CC arch/powerpc/kernel/align.o CC arch/powerpc/mm/init_64.o AR arch/powerpc/crypto/built-in.o AS [M] arch/powerpc/crypto/md5-asm.o CC [M] arch/powerpc/crypto/md5-glue.o AR arch/powerpc/net/built-in.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/sysdev/fsl_soc.o CC arch/powerpc/sysdev/fsl_mpic_err.o CC arch/powerpc/sysdev/fsl_pci.o CC arch/powerpc/mm/pgtable_64.o AS arch/powerpc/purgatory/trampoline.o CC arch/powerpc/kernel/process.o LD arch/powerpc/purgatory/purgatory.ro LD [M] arch/powerpc/crypto/md5-ppc.o BIN2C arch/powerpc/purgatory/kexec-purgatory.c CC arch/powerpc/mm/init-common.o CC arch/powerpc/purgatory/kexec-purgatory.o AR arch/powerpc/purgatory/built-in.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/sysdev/fsl_msi.o CC kernel/fork.o CC certs/system_keyring.o AS arch/powerpc/lib/copyuser_64.o CC kernel/exec_domain.o AS arch/powerpc/lib/mem_64.o CC arch/powerpc/kernel/idle.o AS arch/powerpc/lib/hweight_64.o CC mm/filemap.o AS arch/powerpc/lib/copyuser_power7.o AS arch/powerpc/lib/string_64.o In file included from /home/kisskb/slave/src/include/linux/mm.h:9:0, from /home/kisskb/slave/src/include/linux/mman.h:4, from /home/kisskb/slave/src/arch/powerpc/mm/pgtable_64.c:31: /home/kisskb/slave/src/arch/powerpc/mm/pgtable_64.c: In function '__alloc_for_cache': /home/kisskb/slave/src/arch/powerpc/mm/pgtable_64.c:358:21: error: 'PGALLOC_GFP' undeclared (first use in this function) page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT); ^ /home/kisskb/slave/src/include/linux/gfp.h:492:42: note: in definition of macro 'alloc_page' #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) ^ /home/kisskb/slave/src/arch/powerpc/mm/pgtable_64.c:358:21: note: each undeclared identifier is reported only once for each function it appears in page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT); ^ /home/kisskb/slave/src/include/linux/gfp.h:492:42: note: in definition of macro 'alloc_page' #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) ^ AS arch/powerpc/lib/copypage_power7.o /home/kisskb/slave/src/scripts/Makefile.build:302: recipe for target 'arch/powerpc/mm/pgtable_64.o' failed make[2]: *** [arch/powerpc/mm/pgtable_64.o] Error 1 /home/kisskb/slave/src/Makefile:1008: recipe for target 'arch/powerpc/mm' failed make[1]: *** [arch/powerpc/mm] Error 2 make[1]: *** Waiting for unfinished jobs.... EXTRACT_CERTS CC mm/mempool.o AS arch/powerpc/lib/memcpy_power7.o AS arch/powerpc/lib/memcpy_64.o AS certs/system_certificates.o AR certs/built-in.o AS arch/powerpc/lib/memcmp_64.o CC arch/powerpc/lib/locks.o CC mm/oom_kill.o CC mm/maccess.o AR arch/powerpc/lib/built-in.o CC mm/page_alloc.o CC kernel/panic.o CC arch/powerpc/sysdev/indirect_pci.o CC kernel/cpu.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/cacheinfo.o CC [M] arch/powerpc/sysdev/rtc_cmos_setup.o CC arch/powerpc/kernel/time.o AR arch/powerpc/sysdev/built-in.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/traps.o CC mm/page-writeback.o CC mm/readahead.o CC mm/swap.o CC kernel/exit.o CC kernel/softirq.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/udbg.o CC mm/truncate.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/io.o CC mm/vmscan.o CC arch/powerpc/kernel/dma.o CC mm/shmem.o AS arch/powerpc/kernel/misc_64.o CC mm/util.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/prom_parse.o CC kernel/resource.o CC mm/mmzone.o CC mm/vmstat.o CC mm/backing-dev.o CC kernel/sysctl.o CC kernel/sysctl_binary.o CC mm/mm_init.o CC arch/powerpc/kernel/setup_64.o CC mm/mmu_context.o CC kernel/capability.o CC mm/percpu.o CC arch/powerpc/kernel/sys_ppc32.o CC arch/powerpc/kernel/signal_64.o CC arch/powerpc/kernel/ptrace32.o CC arch/powerpc/kernel/paca.o CC arch/powerpc/kernel/nvram_64.o CC arch/powerpc/kernel/firmware.o CC kernel/ptrace.o CC mm/slab_common.o CC mm/compaction.o CC mm/vmacache.o AR arch/powerpc/kernel/trace/built-in.o CC mm/swap_slots.o CC mm/interval_tree.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o CC kernel/user.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o VDSO32A arch/powerpc/kernel/vdso32/getcpu.o CC kernel/signal.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o AR arch/powerpc/kernel/vdso32/built-in.o CC kernel/sys.o AS arch/powerpc/kernel/exceptions-64e.o LDS arch/powerpc/kernel/vdso64/vdso64.lds AS arch/powerpc/kernel/vdso64/sigtramp.o AS arch/powerpc/kernel/vdso64/gettimeofday.o AS arch/powerpc/kernel/vdso64/datapage.o CC kernel/kmod.o CC kernel/workqueue.o AS arch/powerpc/kernel/vdso64/cacheflush.o CC kernel/pid.o CC mm/list_lru.o AS arch/powerpc/kernel/vdso64/note.o AS arch/powerpc/kernel/vdso64/getcpu.o VDSO64L arch/powerpc/kernel/vdso64/vdso64.so.dbg OBJCOPY arch/powerpc/kernel/vdso64/vdso64.so AS arch/powerpc/kernel/vdso64/vdso64_wrapper.o CC mm/workingset.o CC kernel/task_work.o AR arch/powerpc/kernel/vdso64/built-in.o AS arch/powerpc/kernel/idle_book3e.o CC arch/powerpc/kernel/crash_dump.o CC arch/powerpc/kernel/module.o CC arch/powerpc/kernel/module_64.o CC kernel/extable.o CC arch/powerpc/kernel/dbell.o AS arch/powerpc/kernel/reloc_64.o CC mm/debug.o CC kernel/params.o CC mm/gup.o CC mm/highmem.o CC arch/powerpc/kernel/dma-iommu.o CC arch/powerpc/kernel/iommu.o CC mm/memory.o CC mm/mincore.o CC mm/mlock.o CC kernel/kthread.o CC arch/powerpc/kernel/kgdb.o CC mm/mmap.o CC kernel/sys_ni.o CC kernel/nsproxy.o CC kernel/notifier.o CC kernel/ksysfs.o CC arch/powerpc/kernel/smp.o CC mm/mprotect.o CC mm/mremap.o CC arch/powerpc/kernel/kprobes.o CC kernel/cred.o CC arch/powerpc/kernel/legacy_serial.o CC arch/powerpc/kernel/udbg_16550.o CC arch/powerpc/kernel/stacktrace.o CC arch/powerpc/kernel/pci_64.o CC kernel/reboot.o CC kernel/async.o CC kernel/range.o CC mm/msync.o CC arch/powerpc/kernel/pci_dn.o CC mm/page_vma_mapped.o CC arch/powerpc/kernel/pci-hotplug.o CC mm/pagewalk.o CC arch/powerpc/kernel/isa-bridge.o CC kernel/smpboot.o CC kernel/ucount.o CC kernel/groups.o CC kernel/bpf/core.o CC kernel/cgroup/cgroup.o CC mm/pgtable-generic.o CC kernel/debug/debug_core.o CC kernel/irq/irqdesc.o CC kernel/cgroup/namespace.o CC kernel/cgroup/cgroup-v1.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/msi.o CC arch/powerpc/kernel/machine_kexec.o CC mm/rmap.o CC kernel/irq/handle.o CC kernel/debug/gdbstub.o CC arch/powerpc/kernel/crash.o CC kernel/cgroup/cpuset.o CC kernel/irq/manage.o CC mm/vmalloc.o CC mm/init-mm.o CC kernel/bpf/syscall.o CC kernel/bpf/verifier.o CC kernel/irq/spurious.o CC arch/powerpc/kernel/machine_kexec_64.o CC arch/powerpc/kernel/machine_kexec_file_64.o CC mm/nobootmem.o AR kernel/debug/built-in.o CC mm/memblock.o CC kernel/irq/resend.o CC kernel/irq/chip.o CC arch/powerpc/kernel/kexec_elf_64.o CC arch/powerpc/kernel/iomap.o AS arch/powerpc/kernel/ppc_save_regs.o CC kernel/bpf/inode.o CC mm/page_io.o CC mm/swap_state.o AR kernel/livepatch/built-in.o CC kernel/cgroup/debug.o CC mm/swapfile.o CC kernel/irq/dummychip.o CC mm/frontswap.o CC arch/powerpc/kernel/epapr_paravirt.o CC kernel/irq/devres.o CC kernel/irq/generic-chip.o AR kernel/cgroup/built-in.o CC kernel/irq/irqdomain.o CC kernel/irq/cpuhotplug.o CC kernel/locking/mutex.o CC kernel/locking/semaphore.o AS arch/powerpc/kernel/epapr_hcalls.o CC arch/powerpc/kernel/prom_init.o CC kernel/locking/rwsem.o CC kernel/bpf/helpers.o CC kernel/bpf/hashtab.o AS arch/powerpc/kernel/head_64.o CC kernel/bpf/arraymap.o CC kernel/bpf/percpu_freelist.o CC kernel/bpf/bpf_lru_list.o CC kernel/bpf/lpm_trie.o CC kernel/bpf/map_in_map.o CC kernel/irq/msi.o CC kernel/bpf/cgroup.o CC kernel/locking/percpu-rwsem.o CC kernel/locking/mutex-debug.o CC kernel/locking/lockdep.o CC kernel/irq/affinity.o CC kernel/locking/spinlock.o CC kernel/locking/osq_lock.o LDS arch/powerpc/kernel/vmlinux.lds CC kernel/power/qos.o AS arch/powerpc/kernel/fpu.o AS arch/powerpc/kernel/entry_64.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh CALL /home/kisskb/slave/src/arch/powerpc/kernel/prom_init_check.sh CC mm/dmapool.o CC mm/mempolicy.o AS arch/powerpc/kernel/systbl.o AR kernel/irq/built-in.o CC mm/sparse.o AR arch/powerpc/kernel/built-in.o CC mm/mmu_notifier.o CC mm/page_poison.o CC mm/slab.o CC mm/memtest.o AR kernel/bpf/built-in.o CC kernel/locking/rtmutex.o CC mm/migrate.o CC kernel/locking/rtmutex-debug.o CC kernel/power/poweroff.o CC kernel/locking/spinlock_debug.o CC kernel/printk/printk.o CC mm/page_counter.o AR kernel/power/built-in.o CC kernel/locking/rwsem-xadd.o CC kernel/rcu/update.o CC kernel/rcu/sync.o CC mm/memcontrol.o CC kernel/rcu/srcutree.o CC [M] kernel/locking/test-ww_mutex.o CC kernel/sched/core.o CC kernel/rcu/rcuperf.o AR kernel/printk/built-in.o CC kernel/rcu/tree.o CC kernel/rcu/rcu_segcblist.o CC kernel/sched/loadavg.o CC kernel/sched/clock.o AR kernel/locking/built-in.o CC kernel/sched/cputime.o CC [M] kernel/rcu/rcutorture.o CC mm/vmpressure.o CC kernel/time/time.o CC kernel/trace/trace_clock.o CC kernel/kcmp.o CC kernel/stacktrace.o CC kernel/sched/idle_task.o AR kernel/trace/built-in.o CC kernel/sched/fair.o CC kernel/sched/rt.o CC kernel/time/timer.o CC kernel/sched/deadline.o CC mm/swap_cgroup.o CC kernel/futex.o CC kernel/futex_compat.o CC kernel/time/hrtimer.o CC kernel/time/timekeeping.o CC kernel/time/ntp.o CC kernel/time/clocksource.o AR kernel/rcu/built-in.o CC kernel/dma.o CC mm/page_owner.o CC kernel/time/jiffies.o CC kernel/time/timer_list.o CC kernel/time/timeconv.o CC kernel/sched/wait.o CC kernel/time/timecounter.o CC mm/cleancache.o CC kernel/time/alarmtimer.o CC mm/page_isolation.o CC mm/zpool.o CC mm/zbud.o CC mm/zsmalloc.o CC kernel/sched/wait_bit.o CC kernel/sched/swait.o CC kernel/smp.o CC kernel/module.o CC kernel/time/posix-stubs.o CC kernel/time/clockevents.o CC kernel/sched/completion.o CC kernel/kallsyms.o CC kernel/crash_core.o CC kernel/kexec_core.o CC kernel/kexec_file.o CC kernel/sched/idle.o CC kernel/time/tick-common.o CC kernel/sched/cpupri.o CC kernel/sched/cpudeadline.o CC kernel/time/tick-broadcast.o CC kernel/backtracetest.o CC kernel/compat.o CC kernel/utsname.o CC mm/cma.o CC kernel/sched/topology.o CC mm/page_ext.o CC mm/cma_debug.o CC kernel/sched/stop_task.o CC mm/userfaultfd.o CC kernel/time/tick-broadcast-hrtimer.o CC kernel/time/tick-oneshot.o CC kernel/time/tick-sched.o CC kernel/time/timekeeping_debug.o CC [M] kernel/time/test_udelay.o CC kernel/user_namespace.o CC kernel/sched/autogroup.o CC kernel/sched/cpufreq.o CC kernel/pid_namespace.o CC kernel/stop_machine.o AR mm/built-in.o CC kernel/kprobes.o CC kernel/elfcore.o CC kernel/irq_work.o CC kernel/padata.o CC kernel/crash_dump.o CC kernel/context_tracking.o CC kernel/torture.o AR kernel/sched/built-in.o CC kernel/membarrier.o CC kernel/memremap.o AR kernel/time/built-in.o AR kernel/built-in.o make[1]: Leaving directory '/home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3' Makefile:145: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/powerpc-fixes_powerpc-randconfig_powerpc-5.3 # Build took: 0:00:30.726282