# git gc Expanding reachable commits in commit graph: 50828 Expanding reachable commits in commit graph: 106598 Expanding reachable commits in commit graph: 161019 Expanding reachable commits in commit graph: 218235 Expanding reachable commits in commit graph: 271850 Expanding reachable commits in commit graph: 330637 Expanding reachable commits in commit graph: 388706 Expanding reachable commits in commit graph: 447842 Expanding reachable commits in commit graph: 507488 Expanding reachable commits in commit graph: 559003 Expanding reachable commits in commit graph: 621145 Expanding reachable commits in commit graph: 683476 Expanding reachable commits in commit graph: 746608 Expanding reachable commits in commit graph: 811314 Expanding reachable commits in commit graph: 876933 Expanding reachable commits in commit graph: 944001 Expanding reachable commits in commit graph: 1012202 Expanding reachable commits in commit graph: 1059282 Expanding reachable commits in commit graph: 1130713 Expanding reachable commits in commit graph: 1202969 Expanding reachable commits in commit graph: 1276260 Expanding reachable commits in commit graph: 1296155, done. Finding extra edges in commit graph: 48% (629196/1296155) Finding extra edges in commit graph: 49% (635116/1296155) Finding extra edges in commit graph: 50% (648078/1296155) Finding extra edges in commit graph: 51% (661040/1296155) Finding extra edges in commit graph: 52% (674001/1296155) Finding extra edges in commit graph: 53% (686963/1296155) Finding extra edges in commit graph: 54% (699924/1296155) Finding extra edges in commit graph: 55% (712886/1296155) Finding extra edges in commit graph: 56% (725847/1296155) Finding extra edges in commit graph: 57% (738809/1296155) Finding extra edges in commit graph: 58% (751770/1296155) Finding extra edges in commit graph: 59% (764732/1296155) Finding extra edges in commit graph: 60% (777693/1296155) Finding extra edges in commit graph: 61% (790655/1296155) Finding extra edges in commit graph: 62% (803617/1296155) Finding extra edges in commit graph: 63% (816578/1296155) Finding extra edges in commit graph: 64% (829540/1296155) Finding extra edges in commit graph: 65% (842501/1296155) Finding extra edges in commit graph: 66% (855463/1296155) Finding extra edges in commit graph: 67% (868424/1296155) Finding extra edges in commit graph: 68% (881386/1296155) Finding extra edges in commit graph: 69% (894347/1296155) Finding extra edges in commit graph: 70% (907309/1296155) Finding extra edges in commit graph: 71% (920271/1296155) Finding extra edges in commit graph: 72% (933232/1296155) Finding extra edges in commit graph: 73% (946194/1296155) Finding extra edges in commit graph: 74% (959155/1296155) Finding extra edges in commit graph: 75% (972117/1296155) Finding extra edges in commit graph: 76% (985078/1296155) Finding extra edges in commit graph: 77% (998040/1296155) Finding extra edges in commit graph: 78% (1011001/1296155) Finding extra edges in commit graph: 79% (1023963/1296155) Finding extra edges in commit graph: 80% (1036924/1296155) Finding extra edges in commit graph: 81% (1049886/1296155) Finding extra edges in commit graph: 82% (1062848/1296155) Finding extra edges in commit graph: 83% (1075809/1296155) Finding extra edges in commit graph: 84% (1088771/1296155) Finding extra edges in commit graph: 85% (1101732/1296155) Finding extra edges in commit graph: 86% (1114694/1296155) Finding extra edges in commit graph: 87% (1127655/1296155) Finding extra edges in commit graph: 88% (1140617/1296155) Finding extra edges in commit graph: 89% (1153578/1296155) Finding extra edges in commit graph: 90% (1166540/1296155) Finding extra edges in commit graph: 91% (1179502/1296155) Finding extra edges in commit graph: 92% (1192463/1296155) Finding extra edges in commit graph: 93% (1205425/1296155) Finding extra edges in commit graph: 94% (1218386/1296155) Finding extra edges in commit graph: 95% (1231348/1296155) Finding extra edges in commit graph: 96% (1244309/1296155) Finding extra edges in commit graph: 97% (1257271/1296155) Finding extra edges in commit graph: 98% (1270232/1296155) Finding extra edges in commit graph: 99% (1283194/1296155) Finding extra edges in commit graph: 100% (1296155/1296155) Finding extra edges in commit graph: 100% (1296155/1296155), done. Writing out commit graph in 4 passes: 54% (2814651/5184620) Writing out commit graph in 4 passes: 55% (2851541/5184620) Writing out commit graph in 4 passes: 56% (2903388/5184620) Writing out commit graph in 4 passes: 57% (2955234/5184620) Writing out commit graph in 4 passes: 58% (3007080/5184620) Writing out commit graph in 4 passes: 59% (3058926/5184620) Writing out commit graph in 4 passes: 60% (3110772/5184620) Writing out commit graph in 4 passes: 60% (3146545/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: 67% (3478510/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: 72% (3732927/5184620) Writing out commit graph in 4 passes: 73% (3784773/5184620) Writing out commit graph in 4 passes: 73% (3810395/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-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e # make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __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] 282 | __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] 307 | __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] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/sparc/vdso/vdso32/vclock_gettime.c:22: /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __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] 282 | __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] 307 | __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] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso32/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /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] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ /kisskb/src/kernel/fork.c:3072:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned. Is "_mcount" prototyped in ? Completed OK # rm -rf /kisskb/build/linus_defconfig_sparc64-gcc13 # Build took: 0:08:49.590174