# git rev-parse -q --verify 958f338e96f874a0d29442396d6adf9c1e17aa2d^{commit} 958f338e96f874a0d29442396d6adf9c1e17aa2d already have revision, skipping fetch # git checkout -q -f -B kisskb 958f338e96f874a0d29442396d6adf9c1e17aa2d # git clean -qxdf # < git log -1 # commit 958f338e96f874a0d29442396d6adf9c1e17aa2d # Merge: 781fca5 07d981a # Author: Linus Torvalds # Date: Tue Aug 14 09:46:06 2018 -0700 # # Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Merge L1 Terminal Fault fixes from Thomas Gleixner: # "L1TF, aka L1 Terminal Fault, is yet another speculative hardware # engineering trainwreck. It's a hardware vulnerability which allows # unprivileged speculative access to data which is available in the # Level 1 Data Cache when the page table entry controlling the virtual # address, which is used for the access, has the Present bit cleared or # other reserved bits set. # # If an instruction accesses a virtual address for which the relevant # page table entry (PTE) has the Present bit cleared or other reserved # bits set, then speculative execution ignores the invalid PTE and loads # the referenced data if it is present in the Level 1 Data Cache, as if # the page referenced by the address bits in the PTE was still present # and accessible. # # While this is a purely speculative mechanism and the instruction will # raise a page fault when it is retired eventually, the pure act of # loading the data and making it available to other speculative # instructions opens up the opportunity for side channel attacks to # unprivileged malicious code, similar to the Meltdown attack. # # While Meltdown breaks the user space to kernel space protection, L1TF # allows to attack any physical memory address in the system and the # attack works across all protection domains. It allows an attack of SGX # and also works from inside virtual machines because the speculation # bypasses the extended page table (EPT) protection mechanism. # # The assoicated CVEs are: CVE-2018-3615, CVE-2018-3620, CVE-2018-3646 # # The mitigations provided by this pull request include: # # - Host side protection by inverting the upper address bits of a non # present page table entry so the entry points to uncacheable memory. # # - Hypervisor protection by flushing L1 Data Cache on VMENTER. # # - SMT (HyperThreading) control knobs, which allow to 'turn off' SMT # by offlining the sibling CPU threads. The knobs are available on # the kernel command line and at runtime via sysfs # # - Control knobs for the hypervisor mitigation, related to L1D flush # and SMT control. The knobs are available on the kernel command line # and at runtime via sysfs # # - Extensive documentation about L1TF including various degrees of # mitigations. # # Thanks to all people who have contributed to this in various ways - # patches, review, testing, backporting - and the fruitful, sometimes # heated, but at the end constructive discussions. # # There is work in progress to provide other forms of mitigations, which # might be less horrible performance wise for a particular kind of # workloads, but this is not yet ready for consumption due to their # complexity and limitations" # # * 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits) # x86/microcode: Allow late microcode loading with SMT disabled # tools headers: Synchronise x86 cpufeatures.h for L1TF additions # x86/mm/kmmio: Make the tracer robust against L1TF # x86/mm/pat: Make set_memory_np() L1TF safe # x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert # x86/speculation/l1tf: Invert all not present mappings # cpu/hotplug: Fix SMT supported evaluation # KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry # x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry # x86/speculation: Simplify sysfs report of VMX L1TF vulnerability # Documentation/l1tf: Remove Yonah processors from not vulnerable list # x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() # x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d # x86: Don't include linux/irq.h from asm/hardirq.h # x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d # x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 # x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() # x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' # x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() # cpu/hotplug: detect SMT disabled by BIOS # ... # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 958f338e96f874a0d29442396d6adf9c1e17aa2d # < make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_powerpc-allmodconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_powerpc-allmodconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- olddefconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_powerpc-allmodconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1256:20: warning: 'root' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/afs/dynroot.c: In function 'afs_lookup_atcell': /kisskb/src/fs/afs/dynroot.c:126:6: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/hda/hdac_regmap.c: In function 'hda_reg_write': /kisskb/src/sound/hda/hdac_regmap.c:282:16: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset': /kisskb/src/arch/powerpc/include/asm/io-defs.h:12:1: warning: 'px_is' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/ata/ahci_qoriq.c:86:14: note: 'px_is' was declared here /kisskb/src/arch/powerpc/include/asm/io-defs.h:12:1: warning: 'px_cmd' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/ata/ahci_qoriq.c:86:6: note: 'px_cmd' was declared here /kisskb/src/mm/swap_state.c: In function '__add_to_swap_cache': /kisskb/src/mm/swap_state.c:135:5: warning: 'error' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2497:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/hugetlb.c: In function 'alloc_pool_huge_page': /kisskb/src/mm/hugetlb.c:1433:5: warning: 'page' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1819:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/f2fs/file.c: In function 'f2fs_precache_extents': /kisskb/src/fs/f2fs/file.c:2823:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/arizona.c: In function 'arizona_hw_params': /kisskb/src/sound/soc/codecs/arizona.c:1893:3: warning: 'aif_rx_state' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/arizona.c:1890:3: warning: 'aif_tx_state' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/bridge/br_netlink.c: In function 'br_process_vlan_info': /kisskb/src/net/bridge/br_netlink.c:579:10: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/dma-buf/reservation.c: In function 'reservation_object_add_shared_replace': /kisskb/src/drivers/dma-buf/reservation.c:207:2: warning: 'k' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/dma-buf/reservation.c:210:7: warning: 'i' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/da7219-aad.c: In function 'da7219_aad_hptest_work': /kisskb/src/sound/soc/codecs/da7219-aad.c:318:17: warning: 'pll_ctrl' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iommu/io-pgtable-arm-v7s.c: In function '__arm_v7s_map.constprop.5': /kisskb/src/drivers/iommu/io-pgtable-arm-v7s.c:433:7: warning: 'cptep' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:339:21: note: 'pdeo' was declared here /kisskb/src/fs/btrfs/ref-verify.c: In function 'process_extent_item.isra.0': /kisskb/src/fs/btrfs/ref-verify.c:503:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/btrfs/ref-verify.c: In function 'process_leaf': /kisskb/src/fs/btrfs/ref-verify.c:555:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c: In function 'amdgpu_set_pp_od_clk_voltage': /kisskb/src/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c:532:5: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/ncsi/ncsi-manage.c: In function 'set_one_vid': /kisskb/src/net/ncsi/ncsi-manage.c:625:19: warning: 'vid' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/nfsd/nfs4xdr.c: In function 'nfsd4_encode_components_esc': /kisskb/src/fs/nfsd/nfs4xdr.c:2046:9: warning: 'str' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/mac80211/mlme.c: In function 'ieee80211_handle_pwr_constr.isra.13': /kisskb/src/net/mac80211/mlme.c:1353:3: warning: 'pwr_level_cisco' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/rt5665.c: In function 'rt5665_i2s_pin_event': /kisskb/src/sound/soc/codecs/rt5665.c:2666:33: warning: 'val2' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/soc/codecs/rt5665.c:2663:33: warning: 'val1' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_get_chk_meta': /kisskb/src/drivers/nvme/host/lightnvm.c:624:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/staging/fsl-dpaa2/ethsw/ethsw.c: In function 'port_vlans_add': /kisskb/src/drivers/staging/fsl-dpaa2/ethsw/ethsw.c:720:11: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/staging/fsl-dpaa2/ethsw/ethsw.c: In function 'swdev_port_obj_del': /kisskb/src/drivers/staging/fsl-dpaa2/ethsw/ethsw.c:927:2: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/media/usb/dvb-usb/pctv452e.c: In function 'pctv452e_frontend_attach': /kisskb/src/drivers/media/usb/dvb-usb/pctv452e.c:922:2: warning: value computed is not used [-Wunused-value] /kisskb/src/drivers/tty/serial/8250/8250_core.c: In function 'serial_unlink_irq_chain': /kisskb/src/drivers/tty/serial/8250/8250_core.c:251:18: warning: 'i' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c: In function 'tun_get_user': /kisskb/src/drivers/net/tun.c:1835:30: warning: 'copylen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1745:46: warning: 'linear' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/wireless/broadcom/b43/phy_n.c: In function 'b43_nphy_rf_ctl_override_rev7': /kisskb/src/drivers/net/wireless/broadcom/b43/phy_n.c:202:21: warning: 'val_addr' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c: In function 'rtl8723a_phy_lc_calibrate': /kisskb/src/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:3481:23: warning: 'rf_amode' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c: In function 'hclgevf_bind_ring_to_vector': /kisskb/src/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c:609:16: warning: 'type' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c: In function 'ibmvscsis_rdma': /kisskb/src/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:3323:18: warning: 'server_ioba' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:3317:18: warning: 'client_ioba' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c: In function 'update_root_ft_create': /kisskb/src/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:887:5: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/ethernet/intel/ice/ice_main.c: In function 'ice_vsi_open': /kisskb/src/drivers/net/ethernet/intel/ice/ice_main.c:4979:5: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/ethernet/intel/ice/ice_main.c:4983:5: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c: In function 'gk104_top_oneinit': /kisskb/src/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c:102:1: warning: 'inst' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c:102:1: warning: 'type' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/dispnv50/lut.c: In function 'nv50_lut_load': /kisskb/src/arch/powerpc/include/asm/io.h:176:1: warning: 'b' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/dispnv50/lut.c:39:18: note: 'b' was declared here /kisskb/src/arch/powerpc/include/asm/io.h:176:1: warning: 'g' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/dispnv50/lut.c:39:15: note: 'g' was declared here /kisskb/src/arch/powerpc/include/asm/io.h:176:1: warning: 'r' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/dispnv50/lut.c:39:12: note: 'r' was declared here WARNING: vmlinux.o(.text+0x389d10): Section mismatch in reference from the function .devm_memremap_pages() to the function .meminit.text:.arch_add_memory() The function .devm_memremap_pages() references the function __meminit .arch_add_memory(). This is often because .devm_memremap_pages lacks a __meminit annotation or the annotation of .arch_add_memory is wrong. WARNING: vmlinux.o(.text+0x38a554): Section mismatch in reference from the function .devm_memremap_pages_release() to the function .meminit.text:.arch_remove_memory() The function .devm_memremap_pages_release() references the function __meminit .arch_remove_memory(). This is often because .devm_memremap_pages_release lacks a __meminit annotation or the annotation of .arch_remove_memory is wrong. WARNING: vmlinux.o(.text+0x4b978c): Section mismatch in reference from the function .hmm_devmem_release() to the function .meminit.text:.arch_remove_memory() The function .hmm_devmem_release() references the function __meminit .arch_remove_memory(). This is often because .hmm_devmem_release lacks a __meminit annotation or the annotation of .arch_remove_memory is wrong. WARNING: vmlinux.o(.text+0x4b9a88): Section mismatch in reference from the function .hmm_devmem_pages_create() to the function .meminit.text:.arch_add_memory() The function .hmm_devmem_pages_create() references the function __meminit .arch_add_memory(). This is often because .hmm_devmem_pages_create lacks a __meminit annotation or the annotation of .arch_add_memory is wrong. WARNING: vmlinux.o(.text.unlikely+0x2ab4): Section mismatch in reference from the function .remove_pmd_table() to the function .meminit.text:.split_kernel_mapping() The function .remove_pmd_table() references the function __meminit .split_kernel_mapping(). This is often because .remove_pmd_table lacks a __meminit annotation or the annotation of .split_kernel_mapping is wrong. WARNING: vmlinux.o(.text.unlikely+0x2cd8): Section mismatch in reference from the function .remove_pud_table() to the function .meminit.text:.split_kernel_mapping() The function .remove_pud_table() references the function __meminit .split_kernel_mapping(). This is often because .remove_pud_table lacks a __meminit annotation or the annotation of .split_kernel_mapping is wrong. WARNING: drivers/hwmon/ibmpowernv.o(.text+0xa1c): Section mismatch in reference from the function .create_device_attrs() to the function .init.text:.make_sensor_label() The function .create_device_attrs() references the function __init .make_sensor_label(). This is often because .create_device_attrs lacks a __init annotation or the annotation of .make_sensor_label is wrong. /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-ld: drivers/misc/lkdtm/lkdtm.o: .opd is not a regular array of opd entries Completed OK # rm -rf /kisskb/build/linus_powerpc-allmodconfig_powerpc # Build took: 0:07:50.439247