# git gc Expanding reachable commits in commit graph: 81926 Expanding reachable commits in commit graph: 170397 Expanding reachable commits in commit graph: 262348 Expanding reachable commits in commit graph: 351492 Expanding reachable commits in commit graph: 445775 Expanding reachable commits in commit graph: 529626 Expanding reachable commits in commit graph: 629351 Expanding reachable commits in commit graph: 730399 Expanding reachable commits in commit graph: 832800 Expanding reachable commits in commit graph: 938694 Expanding reachable commits in commit graph: 1046526 Expanding reachable commits in commit graph: 1127883 Expanding reachable commits in commit graph: 1242748 Expanding reachable commits in commit graph: 1296155, done. Writing out commit graph in 4 passes: 59% (3085295/5184620) Writing out commit graph in 4 passes: 60% (3110772/5184620) Writing out commit graph in 4 passes: 61% (3162619/5184620) Writing out commit graph in 4 passes: 62% (3214465/5184620) Writing out commit graph in 4 passes: 63% (3266311/5184620) Writing out commit graph in 4 passes: 64% (3318157/5184620) Writing out commit graph in 4 passes: 65% (3370003/5184620) Writing out commit graph in 4 passes: 66% (3421850/5184620) Writing out commit graph in 4 passes: 67% (3473696/5184620) Writing out commit graph in 4 passes: 68% (3525542/5184620) Writing out commit graph in 4 passes: 69% (3577388/5184620) Writing out commit graph in 4 passes: 70% (3629234/5184620) Writing out commit graph in 4 passes: 71% (3681081/5184620) Writing out commit graph in 4 passes: 71% (3720623/5184620) Writing out commit graph in 4 passes: 72% (3732927/5184620) Writing out commit graph in 4 passes: 73% (3784773/5184620) Writing out commit graph in 4 passes: 74% (3836619/5184620) Writing out commit graph in 4 passes: 75% (3888465/5184620) Writing out commit graph in 4 passes: 76% (3940312/5184620) Writing out commit graph in 4 passes: 77% (3992158/5184620) Writing out commit graph in 4 passes: 78% (4044004/5184620) Writing out commit graph in 4 passes: 79% (4095850/5184620) Writing out commit graph in 4 passes: 80% (4147696/5184620) Writing out commit graph in 4 passes: 81% (4199543/5184620) Writing out commit graph in 4 passes: 82% (4251389/5184620) Writing out commit graph in 4 passes: 83% (4303235/5184620) Writing out commit graph in 4 passes: 84% (4355081/5184620) Writing out commit graph in 4 passes: 85% (4406927/5184620) Writing out commit graph in 4 passes: 86% (4458774/5184620) Writing out commit graph in 4 passes: 87% (4510620/5184620) Writing out commit graph in 4 passes: 88% (4562466/5184620) Writing out commit graph in 4 passes: 89% (4614312/5184620) Writing out commit graph in 4 passes: 90% (4666158/5184620) Writing out commit graph in 4 passes: 91% (4718005/5184620) Writing out commit graph in 4 passes: 92% (4769851/5184620) Writing out commit graph in 4 passes: 93% (4821697/5184620) Writing out commit graph in 4 passes: 94% (4873543/5184620) Writing out commit graph in 4 passes: 95% (4925389/5184620) Writing out commit graph in 4 passes: 96% (4977236/5184620) Writing out commit graph in 4 passes: 97% (5029082/5184620) Writing out commit graph in 4 passes: 98% (5080928/5184620) Writing out commit graph in 4 passes: 99% (5132774/5184620) Writing out commit graph in 4 passes: 100% (5184620/5184620) Writing out commit graph in 4 passes: 100% (5184620/5184620), done. # git rev-parse -q --verify c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e^{commit} c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e # 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-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e # make -s -j 40 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- allnoconfig # < make -s -j 40 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 40 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 40 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-stringop-overflow' /kisskb/src/arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) ^ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) ^ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) ^ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) ^ cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-stringop-overflow' In file included from /kisskb/src/arch/sparc/vdso/vdso32/vclock_gettime.c:22:0: /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) ^ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) ^ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) ^ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) ^ cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-stringop-overflow' /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3072:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] #warning clone3() entry point is missing, please fix ^ /kisskb/src/kernel/fork.c: At top level: cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-stringop-overflow' Completed OK # rm -rf /kisskb/build/linus_allnoconfig_sparc64-gcc5 # Build took: 0:04:18.180849