# git rev-parse -q --verify c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e^{commit} c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e already have revision, skipping fetch # git checkout -q -f -B kisskb c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e # git clean -qxdf # < git log -1 # commit c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e # Merge: 3df9427f351a a547a5880cba # Author: Linus Torvalds # Date: Sun Sep 1 14:43:08 2024 -0700 # # Merge tag 'x86-urgent-2024-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 fixes from Thomas Gleixner: # # - x2apic_disable() clears x2apic_state and x2apic_mode unconditionally, # even when the state is X2APIC_ON_LOCKED, which prevents the kernel to # disable it thereby creating inconsistent state. # # Reorder the logic so it actually works correctly # # - The XSTATE logic for handling LBR is incorrect as it assumes that # XSAVES supports LBR when the CPU supports LBR. In fact both # conditions need to be true. Otherwise the enablement of LBR in the # IA32_XSS MSR fails and subsequently the machine crashes on the next # XRSTORS operation because IA32_XSS is not initialized. # # Cache the XSTATE support bit during init and make the related # functions use this cached information and the LBR CPU feature bit to # cure this. # # - Cure a long standing bug in KASLR # # KASLR uses the full address space between PAGE_OFFSET and vaddr_end # to randomize the starting points of the direct map, vmalloc and # vmemmap regions. It thereby limits the size of the direct map by # using the installed memory size plus an extra configurable margin for # hot-plug memory. This limitation is done to gain more randomization # space because otherwise only the holes between the direct map, # vmalloc, vmemmap and vaddr_end would be usable for randomizing. # # The limited direct map size is not exposed to the rest of the kernel, # so the memory hot-plug and resource management related code paths # still operate under the assumption that the available address space # can be determined with MAX_PHYSMEM_BITS. # # request_free_mem_region() allocates from (1 << MAX_PHYSMEM_BITS) - 1 # downwards. That means the first allocation happens past the end of # the direct map and if unlucky this address is in the vmalloc space, # which causes high_memory to become greater than VMALLOC_START and # consequently causes iounmap() to fail for valid ioremap addresses. # # Cure this by exposing the end of the direct map via PHYSMEM_END and # use that for the memory hot-plug and resource management related # places instead of relying on MAX_PHYSMEM_BITS. In the KASLR case # PHYSMEM_END maps to a variable which is initialized by the KASLR # initialization and otherwise it is based on MAX_PHYSMEM_BITS as # before. # # - Prevent a data leak in mmio_read(). The TDVMCALL exposes the value of # an initialized variabled on the stack to the VMM. The variable is # only required as output value, so it does not have to exposed to the # VMM in the first place. # # - Prevent an array overrun in the resource control code on systems with # Sub-NUMA Clustering enabled because the code failed to adjust the # index by the number of SNC nodes per L3 cache. # # * tag 'x86-urgent-2024-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: # x86/resctrl: Fix arch_mbm_* array overrun on SNC # x86/tdx: Fix data leak in mmio_read() # x86/kaslr: Expose and use the end of the physical memory address space # x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported # x86/apic: Make x2apic_disable() work correctly # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e # make -s -j 160 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 160 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- help # make -s -j 160 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- olddefconfig # make -s -j 160 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:85: Warning: overflow in branch to __restore_all; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:357: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:360: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3072:2: error: #warning clone3() entry point is missing, please fix [-Werror=cpp] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:244: kernel/fork.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:485: kernel] Error 2 make[3]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}: Warning: end of file not at end of a line; newline inserted {standard input}:1111: Error: unknown pseudo-op: `.l18' {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive {standard input}:1070: Error: displacement to undefined symbol .L142 overflows 8-bit field {standard input}:1075: Error: displacement to undefined symbol .L161 overflows 8-bit field {standard input}:1059: Error: pcrel too far {standard input}:1060: Error: pcrel too far {standard input}:1061: Error: pcrel too far sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:244: drivers/net/pcs/pcs-xpcs.o] Error 4 make[5]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/net/pcs] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/net] Error 2 make[4]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}: Warning: end of file not at end of a line; newline inserted {standard input}:1273: Error: unknown pseudo-op: `.siz' sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:244: drivers/hwmon/pmbus/mp2975.o] Error 4 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/hwmon/pmbus] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/hwmon] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:485: drivers] Error 2 make[2]: *** [/kisskb/src/Makefile:1925: .] Error 2 make[1]: *** [/kisskb/src/Makefile:224: __sub-make] Error 2 make: *** [Makefile:224: __sub-make] Error 2 Command 'make -s -j 160 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allyesconfig_sh4-gcc13 # Build took: 0:04:57.863771