# git rev-parse -q --verify ab851d49f6bfc781edd8bd44c72ec1e49211670b^{commit} ab851d49f6bfc781edd8bd44c72ec1e49211670b already have revision, skipping fetch # git checkout -q -f -B kisskb ab851d49f6bfc781edd8bd44c72ec1e49211670b # git clean -qxdf # < git log -1 # commit ab851d49f6bfc781edd8bd44c72ec1e49211670b # Merge: 1d87200446f1 e3cb0c7102f0 # Author: Linus Torvalds # Date: Tue Nov 26 11:12:02 2019 -0800 # # Merge branch 'x86-iopl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 iopl updates from Ingo Molnar: # "This implements a nice simplification of the iopl and ioperm code that # Thomas Gleixner discovered: we can implement the IO privilege features # of the iopl system call by using the IO permission bitmap in # permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space # if they change the interrupt flag. # # This implements that feature, with testing facilities and related # cleanups" # # [ "Simplification" may be an over-statement. The main goal is to avoid # the cli/sti of iopl by effectively implementing the IO port access # parts of iopl in terms of ioperm. # # This may end up not workign well in case people actually depend on # cli/sti being available, or if there are mixed uses of iopl and # ioperm. We will see.. - Linus ] # # * 'x86-iopl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits) # x86/ioperm: Fix use of deprecated config option # x86/entry/32: Clarify register saving in __switch_to_asm() # selftests/x86/iopl: Extend test to cover IOPL emulation # x86/ioperm: Extend IOPL config to control ioperm() as well # x86/iopl: Remove legacy IOPL option # x86/iopl: Restrict iopl() permission scope # x86/iopl: Fixup misleading comment # selftests/x86/ioperm: Extend testing so the shared bitmap is exercised # x86/ioperm: Share I/O bitmap if identical # x86/ioperm: Remove bitmap if all permissions dropped # x86/ioperm: Move TSS bitmap update to exit to user work # x86/ioperm: Add bitmap sequence number # x86/ioperm: Move iobitmap data into a struct # x86/tss: Move I/O bitmap data into a seperate struct # x86/io: Speedup schedule out of I/O bitmap user # x86/ioperm: Avoid bitmap allocation if no permissions are set # x86/ioperm: Simplify first ioperm() invocation logic # x86/iopl: Cleanup include maze # x86/tss: Fix and move VMX BUILD_BUG_ON() # x86/cpu: Unify cpu_init() # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 ab851d49f6bfc781edd8bd44c72ec1e49211670b # < make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig KCONFIG_SEED=0xA5D7ECF3 WARNING: unmet direct dependencies detected for HOTPLUG_CPU Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n]) Selected by [y]: - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=y] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y] # 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 CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # yes \n | make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/kernel/eeh.c:1769:12: warning: 'proc_eeh_show' defined but not used [-Wunused-function] static int proc_eeh_show(struct seq_file *m, void *v) ^~~~~~~~~~~~~ /kisskb/src/fs/jffs2/xattr.c: In function 'jffs2_build_xattr_subsystem': /kisskb/src/fs/jffs2/xattr.c:887:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/cpufreq/cpufreq.c: In function 'refresh_frequency_limits.part.24': /kisskb/src/drivers/cpufreq/cpufreq.c:1116:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/cpufreq/cpufreq.c: In function 'store_scaling_governor': /kisskb/src/drivers/cpufreq/cpufreq.c:789:1: warning: the frame size of 1136 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/cpufreq/cpufreq.c: In function 'cpufreq_init_policy': /kisskb/src/drivers/cpufreq/cpufreq.c:1081:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/devfreq/event/exynos-ppmu.c: In function 'of_get_devfreq_events': /kisskb/src/drivers/devfreq/event/exynos-ppmu.c:592:1: warning: the frame size of 1296 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/cpufreq/powernv-cpufreq.c: In function 'powernv_cpufreq_reboot_notifier': /kisskb/src/drivers/cpufreq/powernv-cpufreq.c:896:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/cpufreq/powernv-cpufreq.c: In function 'powernv_cpufreq_work_fn': /kisskb/src/drivers/cpufreq/powernv-cpufreq.c:928:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ drivers/staging/hp/hp100.o: In function `.hp100_pci_remove': hp100.c:(.text.hp100_pci_remove+0x28): undefined reference to `.unregister_netdev' hp100.c:(.text.hp100_pci_remove+0x6c): undefined reference to `.free_netdev' drivers/staging/hp/hp100.o: In function `.hp100_build_rx_pdl.isra.10': hp100.c:(.text.hp100_build_rx_pdl.isra.10+0x38): undefined reference to `.__netdev_alloc_skb' hp100.c:(.text.hp100_build_rx_pdl.isra.10+0xb4): undefined reference to `.skb_put' drivers/staging/hp/hp100.o: In function `.hp100_rx_bm': hp100.c:(.text.hp100_rx_bm+0x8c): undefined reference to `.skb_trim' hp100.c:(.text.hp100_rx_bm+0xa0): undefined reference to `.eth_type_trans' hp100.c:(.text.hp100_rx_bm+0xb0): undefined reference to `.netif_rx' hp100.c:(.text.hp100_rx_bm+0x20c): undefined reference to `.__dev_kfree_skb_any' drivers/staging/hp/hp100.o: In function `.hp100_clean_txring': hp100.c:(.text.hp100_clean_txring+0xec): undefined reference to `.__dev_kfree_skb_any' drivers/staging/hp/hp100.o: In function `.hp100_interrupt': hp100.c:(.text.hp100_interrupt+0x4d4): undefined reference to `.__netdev_alloc_skb' hp100.c:(.text.hp100_interrupt+0x500): undefined reference to `.skb_put' hp100.c:(.text.hp100_interrupt+0x550): undefined reference to `.eth_type_trans' hp100.c:(.text.hp100_interrupt+0x560): undefined reference to `.netif_rx' drivers/staging/hp/hp100.o: In function `.hp100_pci_probe': hp100.c:(.text.hp100_pci_probe+0x48): undefined reference to `.alloc_etherdev_mqs' hp100.c:(.text.hp100_pci_probe+0x120): undefined reference to `.free_netdev' hp100.c:(.text.hp100_pci_probe+0x1214): undefined reference to `.register_netdev' drivers/staging/hp/hp100.o: In function `.hp100_start_xmit': hp100.c:(.text.hp100_start_xmit+0x1b8): undefined reference to `.consume_skb' hp100.c:(.text.hp100_start_xmit+0x240): undefined reference to `.dev_trans_start' hp100.c:(.text.hp100_start_xmit+0x664): undefined reference to `.__dev_kfree_skb_any' drivers/staging/hp/hp100.o: In function `.hp100_start_xmit_bm': hp100.c:(.text.hp100_start_xmit_bm+0x250): undefined reference to `.dev_trans_start' hp100.c:(.text.hp100_start_xmit_bm+0x36c): undefined reference to `.consume_skb' hp100.c:(.text.hp100_start_xmit_bm+0x3a8): undefined reference to `.__skb_pad' drivers/staging/hp/hp100.o:(.data.rel.ro.hp100_bm_netdev_ops+0x48): undefined reference to `eth_mac_addr' drivers/staging/hp/hp100.o:(.data.rel.ro.hp100_bm_netdev_ops+0x50): undefined reference to `eth_validate_addr' drivers/staging/hp/hp100.o:(.data.rel.ro.hp100_netdev_ops+0x48): undefined reference to `eth_mac_addr' drivers/staging/hp/hp100.o:(.data.rel.ro.hp100_netdev_ops+0x50): undefined reference to `eth_validate_addr' make[1]: *** [/kisskb/src/Makefile:1077: vmlinux] Error 1 make: *** [Makefile:179: sub-make] Error 2 Command 'make -s -j 32 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc8 # Build took: 0:02:44.827006