# 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 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- randconfig KCONFIG_SEED=0xE188EDDD # 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 # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- olddefconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /kisskb/src/arch/powerpc/kernel/eeh.c:1752:12: warning: 'proc_eeh_show' defined but not used [-Wunused-function] /kisskb/src/drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset': /kisskb/src/arch/powerpc/include/asm/io.h:177: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.h:177: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/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/net/bluetooth/hidp/core.c: In function 'hidp_connection_add': /kisskb/src/net/bluetooth/hidp/core.c:1378:18: warning: 'session' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/ksm.c: In function '__stable_node_chain': /kisskb/src/mm/ksm.c:1395:15: warning: 'found_rmap_hlist_len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/ksm.c:1367:6: note: 'found_rmap_hlist_len' was declared here /kisskb/src/lib/mpi/mpicoder.c: In function 'mpi_read_raw_from_sgl': /kisskb/src/lib/mpi/mpicoder.c:352:8: warning: 'buff' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/block/DAC960.c:6429:12: warning: 'dac960_proc_show' defined but not used [-Wunused-function] /kisskb/src/drivers/block/DAC960.c:6449:12: warning: 'dac960_initial_status_proc_show' defined but not used [-Wunused-function] /kisskb/src/drivers/block/DAC960.c:6456:12: warning: 'dac960_current_status_proc_show' defined but not used [-Wunused-function] /kisskb/src/net/core/gen_stats.c: In function '__gnet_stats_copy_basic': /kisskb/src/include/linux/seqlock.h:205:9: warning: 'seq' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/core/gen_stats.c:150:15: note: 'seq' was declared here /kisskb/src/lib/rhashtable.c: In function 'rht_deferred_worker': /kisskb/src/lib/rhashtable.c:269:2: warning: 'next' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/rhashtable.c:234:28: note: 'next' was declared here /kisskb/src/net/core/flow_dissector.c: In function '__skb_flow_dissect': /kisskb/src/net/core/flow_dissector.c:789:7: warning: 'vlan' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/connector/connector.c:242:12: warning: 'cn_proc_show' defined but not used [-Wunused-function] /kisskb/src/net/core/dev.c: In function 'validate_xmit_skb_list': /kisskb/src/net/core/dev.c:3161:15: warning: 'tail' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/char/tpm/tpm-sysfs.c: In function 'pubek_show': /kisskb/src/drivers/char/tpm/tpm-sysfs.c:37:16: warning: 'tpm_buf.data' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/char/tpm/tpm2-cmd.c: In function 'tpm2_unseal_trusted': /kisskb/src/drivers/char/tpm/tpm.h:502:9: warning: 'blob_handle' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/char/tpm/tpm2-cmd.c:719:6: note: 'blob_handle' was declared here /kisskb/src/net/core/rtnetlink.c: In function 'rtnl_newlink': /kisskb/src/net/core/rtnetlink.c:3102:1: warning: the frame size of 1232 bytes is larger than 1024 bytes [-Wframe-larger-than=] /kisskb/src/lib/string.c: In function 'strlcpy': /kisskb/src/lib/string.c:478:8: sorry, unimplemented: inlining failed in call to 'strlen': redefined extern inline functions are not considered for inlining /kisskb/src/lib/string.c:142:9: sorry, unimplemented: called from here /kisskb/src/scripts/Makefile.build:317: recipe for target 'lib/string.o' failed make[2]: *** [lib/string.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/drivers/dma-buf/reservation.c: In function 'reservation_object_add_shared_fence': /kisskb/src/drivers/dma-buf/reservation.c:210:7: warning: 'k' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/dma-buf/reservation.c:160:17: note: 'k' was declared here /kisskb/src/Makefile:1029: recipe for target 'lib' failed make[1]: *** [lib] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/fs/nfs/nfs4xdr.c: In function 'decode_opaque_inline': /kisskb/src/include/linux/sunrpc/xdr.h:482:24: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/fs/nfs/nfs4xdr.c: In function 'decode_bitmap4': /kisskb/src/include/linux/sunrpc/xdr.h:522:10: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:508:8: note: 'len' was declared here /kisskb/src/fs/nfs/nfs4xdr.c: In function 'decode_getfattr_attrs': /kisskb/src/include/linux/sunrpc/xdr.h:489:2: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/include/linux/sunrpc/xdr.h:489:2: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/fs/nfs/nfs4idmap.c: In function 'idmap_pipe_downcall': /kisskb/src/include/linux/string.h:266:29: warning: array subscript is above array bounds [-Warray-bounds] /kisskb/src/fs/nfs/callback_xdr.c: In function 'nfs4_callback_compound': /kisskb/src/fs/nfs/callback_xdr.c:809:15: warning: 'op_nr' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:482:24: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/fs/udf/unicode.c: In function 'udf_name_conv_char': /kisskb/src/fs/udf/unicode.c:132:8: warning: 'c' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/ipv4/tcp_input.c: In function 'tcp_ack': /kisskb/src/include/net/tcp.h:742:9: warning: 'last_ackt' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/ipv4/tcp_input.c:3057:18: note: 'last_ackt' was declared here /kisskb/src/net/tipc/socket.c: In function 'tipc_recvmsg': /kisskb/src/net/tipc/socket.c:1694:27: warning: 'copy' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/sctp/output.c: In function 'sctp_packet_config': /kisskb/src/include/net/sock.h:1863:19: warning: 'sk' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/sctp/output.c:94:15: note: 'sk' was declared here /kisskb/src/net/sunrpc/xdr.c: In function 'xdr_stream_decode_opaque': /kisskb/src/include/linux/sunrpc/xdr.h:489:2: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/net/sunrpc/xdr.c: In function 'xdr_stream_decode_opaque_dup': /kisskb/src/include/linux/sunrpc/xdr.h:489:2: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/net/sunrpc/xdr.c: In function 'xdr_stream_decode_string': /kisskb/src/include/linux/sunrpc/xdr.h:489:2: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/net/sunrpc/xdr.c: In function 'xdr_stream_decode_string_dup': /kisskb/src/include/linux/sunrpc/xdr.h:489:2: warning: 'len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/include/linux/sunrpc/xdr.h:476:8: note: 'len' was declared here /kisskb/src/drivers/input/touchscreen/hideep.c: In function 'hideep_update_fw': /kisskb/src/drivers/input/touchscreen/hideep.c:646:16: warning: 'error' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/input/touchscreen/hideep.c:605:6: note: 'error' was declared here /kisskb/src/drivers/gpu/drm/drm_dp_mst_topology.c: In function 'drm_dp_sideband_msg_build': /kisskb/src/drivers/gpu/drm/drm_dp_mst_topology.c:364:23: warning: 'hdrlen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/mfd/tc3589x.c: In function 'tc3589x_probe': /kisskb/src/drivers/mfd/tc3589x.c:390:2: warning: 'version' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/mfd/arizona-core.c: In function 'arizona_dev_init': /kisskb/src/drivers/mfd/arizona-core.c:1404:6: warning: 'n_subdevs' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/mtd/ubi/eba.c: In function 'try_write_vid_and_data': /kisskb/src/drivers/mtd/ubi/eba.c:1001:7: warning: 'opnum' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iio/temperature/mlx90632.c: In function 'mlx90632_read_raw': /kisskb/src/drivers/iio/temperature/mlx90632.c:348:37: warning: 'object_old_raw' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iio/temperature/mlx90632.c:429:56: note: 'object_old_raw' was declared here /kisskb/src/drivers/iio/temperature/mlx90632.c:348:37: warning: 'object_new_raw' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iio/temperature/mlx90632.c:429:40: note: 'object_new_raw' was declared here /kisskb/src/drivers/vhost/vhost.c: In function 'vhost_vq_avail_empty': /kisskb/src/include/uapi/linux/swab.h:52:9: warning: 'avail_idx' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/vhost/vhost.c:2279:13: note: 'avail_idx' was declared here /kisskb/src/drivers/vhost/vhost.c: In function 'vhost_get_vq_desc': /kisskb/src/include/uapi/linux/swab.h:52:9: warning: 'ring_head' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/vhost/vhost.c:1976:13: note: 'ring_head' was declared here /kisskb/src/include/uapi/linux/swab.h:52:9: warning: 'avail_idx' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/vhost/vhost.c:1975:13: note: 'avail_idx' was declared here /kisskb/src/drivers/video/backlight/adp8860_bl.c: In function 'adp8860_bl_ambient_light_zone_show': /kisskb/src/drivers/video/backlight/adp8860_bl.c:601:32: warning: 'reg_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/video/backlight/adp8860_bl.c: In function 'adp8860_bl_ambient_light_level_show': /kisskb/src/drivers/video/backlight/adp8860_bl.c:579:10: warning: 'reg_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/video/backlight/adp8860_bl.c:579:10: warning: 'ret_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/video/backlight/adp8860_bl.c: In function 'adp8860_show': /kisskb/src/drivers/video/backlight/adp8860_bl.c:443:16: warning: 'reg_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/video/backlight/adp8870_bl.c: In function 'adp8870_bl_ambient_light_zone_show': /kisskb/src/drivers/video/backlight/adp8870_bl.c:785:32: warning: 'reg_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/video/backlight/adp8870_bl.c: In function 'adp8870_show': /kisskb/src/drivers/video/backlight/adp8870_bl.c:564:16: warning: 'reg_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/staging/comedi/drivers/pcl818.c: In function 'pcl818_ai_cmd': /kisskb/src/drivers/staging/comedi/drivers/pcl818.c:366:25: warning: 'last_chan' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/staging/comedi/drivers/pcl818.c:347:15: note: 'last_chan' was declared here /kisskb/src/drivers/staging/comedi/drivers/dt282x.c: In function 'dt282x_ns_to_timer': /kisskb/src/drivers/staging/comedi/drivers/dt282x.c:389:5: warning: 'divider' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/staging/comedi/drivers/dt282x.c:394:16: warning: 'base' 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:90:20: warning: 'inst' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c:76:3: warning: 'type' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/staging/fbtft/fbtft-core.c: In function 'fbtft_update_display': /kisskb/src/drivers/staging/fbtft/fbtft-core.c:403:20: warning: 'ts_start' 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 Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc # Build took: 0:03:03.141280