# git rev-parse -q --verify 3f91a89d424a79f8082525db5a375e438887bb3e^{commit} 3f91a89d424a79f8082525db5a375e438887bb3e already have revision, skipping fetch # git checkout -q -f -B kisskb 3f91a89d424a79f8082525db5a375e438887bb3e # git clean -qxdf # git log -1 commit 3f91a89d424a79f8082525db5a375e438887bb3e Author: Paul Mackerras Date: Thu Feb 16 13:49:21 2017 +1100 powerpc/64: Disable use of radix under a hypervisor Currently, if the kernel is running on a POWER9 processor under a hypervisor, it may try to use the radix MMU even though it doesn't have the necessary code to do so (it doesn't negotiate use of radix, and it doesn't do the H_REGISTER_PROC_TBL hcall). If the hypervisor supports both radix and HPT, then it will set up the guest to use HPT (since the guest doesn't request radix in the CAS call), but if the radix feature bit is set in the ibm,pa-features property (which is valid, since ibm,pa-features is defined to represent the capabilities of the processor) the guest will try to use radix, resulting in a crash when it turns the MMU on. This makes the minimal fix for the current code, which is to disable radix unless we are running in hypervisor mode. Fixes: 2bfd65e45e87 ("powerpc/mm/radix: Add radix callbacks for early init routines") Cc: stable@vger.kernel.org # v4.7+ Signed-off-by: Paul Mackerras 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 3f91a89d424a79f8082525db5a375e438887bb3e # < make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-fixes_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- allnoconfig # make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-fixes_powerpc-allnoconfig_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-allnoconfig_powerpc-5.3' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile UPD include/config/kernel.release 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_work.h WRAP arch/powerpc/include/generated/asm/irq_regs.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 CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h Using /home/kisskb/slave/src as source for kernel HOSTCC scripts/sortextable HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o CC scripts/mod/empty.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/data.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/dtc/util.o MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.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/file2alias.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost 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 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 LD 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 LD arch/powerpc/sysdev/built-in.o AS arch/powerpc/lib/string.o LD arch/powerpc/platforms/built-in.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/kernel/cputable.o LD arch/powerpc/math-emu/built-in.o AS arch/powerpc/lib/crtsavres.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/lib/code-patching.o LD arch/powerpc/net/built-in.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/syscalls.o LD certs/built-in.o CC kernel/fork.o LD ipc/built-in.o CC security/commoncap.o CC mm/filemap.o CC fs/open.o CC arch/powerpc/mm/mem.o LD arch/powerpc/lib/built-in.o CC kernel/exec_domain.o CC security/min_addr.o CC kernel/panic.o LD init/mounts.o LD init/built-in.o CC kernel/cpu.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/kernel/irq.o CC mm/mempool.o CC mm/oom_kill.o LD security/built-in.o CC fs/read_write.o CC kernel/exit.o CC fs/file_table.o CC fs/super.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/kernel/align.o CC fs/char_dev.o CC kernel/softirq.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/mm/init-common.o CC arch/powerpc/kernel/signal_32.o CC mm/maccess.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/vdso.o CC kernel/resource.o CC kernel/sysctl.o CC kernel/sysctl_binary.o CC arch/powerpc/mm/ppc_mmu_32.o CC kernel/capability.o CC mm/page_alloc.o CC fs/stat.o LD crypto/built-in.o LD block/built-in.o CC arch/powerpc/kernel/process.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CPP arch/powerpc/kernel/systbl_chk.i CC drivers/base/component.o CC mm/page-writeback.o AS arch/powerpc/mm/hash_low_32.o CC kernel/ptrace.o CC arch/powerpc/mm/mmu_context_hash32.o CC fs/exec.o CC kernel/user.o CC kernel/signal.o CC fs/pipe.o CC arch/powerpc/mm/tlb_hash32.o CC drivers/base/core.o CC arch/powerpc/kernel/idle.o CC drivers/base/bus.o CC mm/readahead.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/sysfs.o CC fs/namei.o LD arch/powerpc/mm/built-in.o CC arch/powerpc/kernel/cacheinfo.o CC kernel/sys.o CC arch/powerpc/kernel/time.o CC mm/swap.o CC mm/truncate.o CC drivers/base/dd.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/traps.o CC kernel/kmod.o CC mm/vmscan.o CC drivers/base/syscore.o CC mm/shmem.o CC arch/powerpc/kernel/setup-common.o CC mm/util.o CC kernel/workqueue.o CC kernel/pid.o CC kernel/task_work.o CC kernel/extable.o CC drivers/base/driver.o CC mm/mmzone.o CC mm/vmstat.o CC arch/powerpc/kernel/udbg.o AS arch/powerpc/kernel/misc.o LD drivers/block/built-in.o CC arch/powerpc/kernel/io.o CC drivers/base/class.o LD sound/built-in.o CC arch/powerpc/kernel/dma.o CC mm/backing-dev.o AS arch/powerpc/kernel/misc_32.o CC fs/fcntl.o LD drivers/bus/built-in.o CC arch/powerpc/kernel/of_platform.o CC mm/mm_init.o CC mm/mmu_context.o CC drivers/base/platform.o CC mm/percpu.o LD drivers/cdrom/built-in.o CC arch/powerpc/kernel/prom_parse.o CC kernel/params.o CC drivers/char/mem.o CC drivers/char/random.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CC fs/ioctl.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o LD arch/powerpc/kernel/vdso32/built-in.o CC mm/slab_common.o CC mm/compaction.o CC mm/vmacache.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/l2cr_6xx.o CC kernel/kthread.o AS arch/powerpc/kernel/cpu_setup_6xx.o AS arch/powerpc/kernel/entry_32.o CC drivers/base/cpu.o CC mm/interval_tree.o CC arch/powerpc/kernel/setup_32.o CC fs/readdir.o CC arch/powerpc/kernel/pci_32.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/iomap.o CC drivers/char/misc.o CC drivers/base/firmware.o AS arch/powerpc/kernel/head_32.o CC fs/select.o CC kernel/sys_ni.o CC mm/list_lru.o CC kernel/nsproxy.o LD drivers/char/ipmi/built-in.o LDS arch/powerpc/kernel/vmlinux.lds CC drivers/base/init.o LD drivers/clk/bcm/built-in.o LD firmware/built-in.o LD drivers/clk/mvebu/built-in.o LD drivers/clocksource/built-in.o CC fs/dcache.o LD drivers/clk/ti/built-in.o LD drivers/clk/built-in.o LD drivers/char/agp/built-in.o CC fs/inode.o LD drivers/char/built-in.o CC fs/attr.o AS arch/powerpc/kernel/fpu.o CC kernel/notifier.o LD net/built-in.o CC lib/lockref.o CC drivers/base/map.o CC lib/bcd.o CC mm/workingset.o CC lib/div64.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh AS arch/powerpc/kernel/systbl.o CC lib/sort.o LD arch/powerpc/kernel/built-in.o CC lib/parser.o CC mm/debug.o LD drivers/firewire/built-in.o CC fs/bad_inode.o CC kernel/ksysfs.o CC drivers/base/devres.o LD virt/lib/built-in.o LD virt/built-in.o CC drivers/base/attribute_container.o CC kernel/cred.o CC lib/halfmd4.o CC fs/file.o LD drivers/firmware/broadcom/built-in.o LD drivers/firmware/meson/built-in.o LD drivers/firmware/tegra/built-in.o LD drivers/firmware/built-in.o CC lib/debug_locks.o CC lib/random32.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/gpu/drm/hisilicon/built-in.o CC mm/gup.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/gpu/drm/omapdrm/built-in.o CC kernel/reboot.o LD drivers/gpu/drm/panel/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o LD drivers/gpu/drm/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/gpu/built-in.o CC kernel/async.o CC drivers/base/transport_class.o CC fs/filesystems.o CC fs/namespace.o CC lib/bust_spinlocks.o CC drivers/base/topology.o CC drivers/base/container.o CC drivers/base/property.o CC kernel/range.o CC drivers/base/cacheinfo.o CC fs/seq_file.o CC lib/kasprintf.o CC fs/xattr.o CC fs/libfs.o CC kernel/smpboot.o CC mm/highmem.o CC mm/memory.o CC lib/bitmap.o CC kernel/ucount.o CC mm/mincore.o CC mm/mlock.o CC fs/fs-writeback.o CC kernel/irq/irqdesc.o LD drivers/base/power/built-in.o LD drivers/base/test/built-in.o CC drivers/base/dma-mapping.o CC lib/scatterlist.o CC mm/mmap.o CC fs/pnode.o CC mm/mprotect.o CC mm/mremap.o CC kernel/irq/handle.o LD drivers/base/built-in.o LD drivers/hwtracing/intel_th/built-in.o LD drivers/i2c/algos/built-in.o LD drivers/i2c/busses/built-in.o CC lib/gcd.o LD drivers/i2c/muxes/built-in.o LD drivers/i2c/built-in.o LD drivers/idle/built-in.o CC fs/splice.o CC drivers/irqchip/irqchip.o CC lib/lcm.o CC lib/list_sort.o CC lib/uuid.o CC fs/sync.o CC lib/flex_array.o CC kernel/irq/manage.o CC fs/utimes.o LD drivers/lguest/built-in.o LD drivers/macintosh/built-in.o LD drivers/irqchip/built-in.o LD drivers/media/firewire/built-in.o LD drivers/media/common/b2c2/built-in.o LD kernel/livepatch/built-in.o CC lib/iov_iter.o LD drivers/media/common/saa7146/built-in.o LD drivers/media/common/siano/built-in.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/media/common/built-in.o LD drivers/media/i2c/soc_camera/built-in.o LD drivers/media/i2c/built-in.o CC kernel/irq/spurious.o LD drivers/media/mmc/siano/built-in.o LD drivers/media/mmc/built-in.o CC kernel/irq/resend.o LD drivers/media/pci/b2c2/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/pci/pt1/built-in.o LD drivers/mfd/built-in.o LD drivers/media/pci/pt3/built-in.o CC fs/stack.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/pci/smipcie/built-in.o LD drivers/media/pci/ttpci/built-in.o LD drivers/media/pci/built-in.o LD drivers/media/platform/omap/built-in.o LD drivers/media/platform/built-in.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/rc/built-in.o LD drivers/media/spi/built-in.o LD drivers/media/tuners/built-in.o CC mm/msync.o CC mm/rmap.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o CC lib/clz_ctz.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/usb/siano/built-in.o CC kernel/irq/chip.o LD drivers/media/usb/stkwebcam/built-in.o CC lib/bsearch.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o CC fs/fs_struct.o LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/usb/built-in.o LD drivers/media/built-in.o LD drivers/misc/cb710/built-in.o LD drivers/mmc/built-in.o LD drivers/misc/eeprom/built-in.o LD drivers/misc/lis3lv02d/built-in.o CC kernel/locking/mutex.o LD drivers/misc/mic/bus/built-in.o LD drivers/misc/mic/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/misc/built-in.o LD drivers/net/built-in.o LD drivers/nfc/built-in.o CC kernel/locking/semaphore.o LD drivers/nvme/host/built-in.o LD drivers/nvme/target/built-in.o LD drivers/nvme/built-in.o CC kernel/irq/dummychip.o CC drivers/of/base.o CC mm/vmalloc.o CC kernel/locking/rwsem.o CC fs/statfs.o CC drivers/of/device.o CC drivers/of/platform.o CC kernel/irq/devres.o CC kernel/irq/irqdomain.o CC kernel/locking/percpu-rwsem.o CC drivers/pci/access.o CC fs/fs_pin.o LD drivers/platform/built-in.o CC drivers/of/fdt.o CC kernel/locking/rwsem-xadd.o CC lib/find_bit.o CC lib/llist.o CC lib/memweight.o CC mm/pagewalk.o LD drivers/power/built-in.o CC lib/kfifo.o LD drivers/ptp/built-in.o CC lib/percpu-refcount.o LD kernel/irq/built-in.o CC lib/percpu_ida.o CC fs/nsfs.o CC lib/rhashtable.o LD kernel/locking/built-in.o CC kernel/power/qos.o CC drivers/of/fdt_address.o CC kernel/printk/printk.o CC mm/pgtable-generic.o CC fs/no-block.o CC drivers/of/address.o CC lib/reciprocal_div.o CC drivers/of/irq.o CC drivers/pci/bus.o CC drivers/of/of_pci.o CC kernel/rcu/update.o LD fs/devpts/built-in.o LD fs/exofs/built-in.o LD fs/notify/dnotify/built-in.o LD fs/notify/fanotify/built-in.o LD fs/notify/inotify/built-in.o LD fs/notify/built-in.o LD fs/quota/built-in.o CC fs/ramfs/inode.o LD kernel/power/built-in.o CC drivers/of/of_pci_irq.o CC mm/init-mm.o CC lib/once.o CC kernel/rcu/sync.o CC mm/nobootmem.o LD kernel/printk/built-in.o CC kernel/rcu/tiny.o CC drivers/pci/probe.o CC drivers/pci/host-bridge.o CC drivers/pci/remove.o CC drivers/pci/pci.o CC lib/string_helpers.o CC fs/ramfs/file-mmu.o CC drivers/of/of_reserved_mem.o CC drivers/pci/pci-driver.o LD kernel/rcu/built-in.o CC kernel/sched/core.o LD fs/ramfs/ramfs.o LD fs/ramfs/built-in.o CC fs/binfmt_elf.o CC kernel/sched/loadavg.o CC mm/memblock.o CC kernel/sched/clock.o LD drivers/of/built-in.o CC kernel/sched/cputime.o CC lib/hexdump.o CC kernel/time/time.o CC mm/dmapool.o CC mm/slub.o CC lib/kstrtox.o CC drivers/pci/search.o CC kernel/dma.o LD fs/built-in.o LD drivers/pwm/built-in.o LD drivers/soc/bcm/built-in.o LD drivers/soc/fsl/built-in.o LD drivers/soc/built-in.o CC lib/pci_iomap.o LD drivers/tty/ipwireless/built-in.o LD drivers/tty/serial/built-in.o LD drivers/tty/vt/built-in.o LD drivers/tty/built-in.o LD drivers/usb/host/built-in.o LD drivers/usb/built-in.o CC kernel/up.o LD drivers/video/backlight/built-in.o LD drivers/video/fbdev/core/built-in.o CC kernel/elfcore.o CC lib/iomap_copy.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD drivers/video/fbdev/omap2/omapfb/built-in.o LD drivers/video/fbdev/omap2/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/video/built-in.o CC kernel/sched/idle_task.o CC kernel/time/timer.o CC drivers/pci/pci-sysfs.o CC lib/devres.o CC kernel/memremap.o CC lib/hweight.o CC lib/bitrev.o HOSTCC lib/gen_crc32table CC kernel/sched/fair.o CC lib/syscall.o CC lib/atomic64.o CC lib/strncpy_from_user.o CC lib/strnlen_user.o LD mm/built-in.o CC kernel/sched/rt.o CC drivers/pci/rom.o CC lib/argv_split.o CC lib/chacha20.o CC lib/cmdline.o CC lib/ctype.o CC kernel/time/hrtimer.o CC lib/dec_and_lock.o CC kernel/sched/deadline.o CC lib/decompress.o CC drivers/pci/setup-res.o CC drivers/pci/irq.o CC lib/dma-noop.o CC kernel/sched/stop_task.o CC kernel/sched/wait.o CC kernel/sched/swait.o CC kernel/sched/completion.o CC kernel/sched/idle.o CC lib/dump_stack.o CC lib/earlycpio.o CC lib/extable.o CC lib/fdt.o CC lib/fdt_empty_tree.o CC drivers/pci/vpd.o CC kernel/time/timekeeping.o CC drivers/pci/setup-bus.o CC drivers/pci/vc.o CC drivers/pci/syscall.o CC drivers/pci/of.o LD drivers/pci/host/built-in.o CC lib/fdt_ro.o CC lib/fdt_rw.o CC kernel/time/ntp.o LD kernel/sched/built-in.o CC lib/fdt_strerror.o CC lib/fdt_sw.o CC lib/fdt_wip.o CC lib/flex_proportions.o CC lib/idr.o CC lib/int_sqrt.o CC lib/ioremap.o CC lib/irq_regs.o CC lib/is_single_threaded.o CC lib/klist.o CC kernel/time/clocksource.o CC lib/kobject.o CC lib/kobject_uevent.o CC lib/md5.o CC lib/nmi_backtrace.o CC kernel/time/jiffies.o CC kernel/time/timer_list.o CC kernel/time/timeconv.o LD drivers/pci/built-in.o CC lib/nodemask.o LD drivers/built-in.o CC lib/plist.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC lib/seq_buf.o CC lib/sha1.o CC lib/show_mem.o CC lib/string.o CC lib/timerqueue.o CC lib/vsprintf.o CC kernel/time/timecounter.o CC kernel/time/alarmtimer.o CC lib/win_minmax.o CC kernel/time/posix-stubs.o CC kernel/time/clockevents.o CC kernel/time/tick-common.o GEN lib/crc32table.h CC lib/crc32.o LD kernel/time/built-in.o LD kernel/built-in.o AR lib/lib.a EXPORTS lib/lib-ksyms.o LD lib/built-in.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux.o MODPOST vmlinux.o LD vmlinux SORTEX vmlinux SYSMAP System.map /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory '/home/kisskb/slave/build/powerpc-fixes_powerpc-allnoconfig_powerpc-5.3' Completed OK # rm -rf /home/kisskb/slave/build/powerpc-fixes_powerpc-allnoconfig_powerpc-5.3 # Build took: 0:00:26.798786