# git rev-parse -q --verify 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d^{commit} 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d # git checkout -q -f -B kisskb 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d # git clean -qxdf # < git log -1 # commit 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d # Merge: c8d8a35d0946 210860e7f733 # Author: Linus Torvalds # Date: Wed Sep 18 15:26:31 2024 +0200 # # Merge tag 'random-6.12-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random # # Pull random number generator updates from Jason Donenfeld: # "Originally I'd planned on sending each of the vDSO getrandom() # architecture ports to their respective arch trees. But as we started # to work on this, we found lots of interesting issues in the shared # code and infrastructure, the fixes for which the various archs needed # to base their work. # # So in the end, this turned into a nice collaborative effort fixing up # issues and porting to 5 new architectures -- arm64, powerpc64, # powerpc32, s390x, and loongarch64 -- with everybody pitching in and # commenting on each other's code. It was a fun development cycle. # # This contains: # # - Numerous fixups to the vDSO selftest infrastructure, getting it # running successfully on more platforms, and fixing bugs in it. # # - Additions to the vDSO getrandom & chacha selftests. Basically every # time manual review unearthed a bug in a revision of an arch patch, # or an ambiguity, the tests were augmented. # # By the time the last arch was submitted for review, s390x, v1 of # the series was essentially fine right out of the gate. # # - Fixes to the the generic C implementation of vDSO getrandom, to # build and run successfully on all archs, decoupling it from # assumptions we had (unintentionally) made on x86_64 that didn't # carry through to the other architectures. # # - Port of vDSO getrandom to LoongArch64, from Xi Ruoyao and acked by # Huacai Chen. # # - Port of vDSO getrandom to ARM64, from Adhemerval Zanella and acked # by Will Deacon. # # - Port of vDSO getrandom to PowerPC, in both 32-bit and 64-bit # varieties, from Christophe Leroy and acked by Michael Ellerman. # # - Port of vDSO getrandom to S390X from Heiko Carstens, the arch # maintainer. # # While it'd be natural for there to be things to fix up over the course # of the development cycle, these patches got a decent amount of review # from a fairly diverse crew of folks on the mailing lists, and, for the # most part, they've been cooking in linux-next, which has been helpful # for ironing out build issues. # # In terms of architectures, I think that mostly takes care of the # important 64-bit archs with hardware still being produced and running # production loads in settings where vDSO getrandom is likely to help. # # Arguably there's still RISC-V left, and we'll see for 6.13 whether # they find it useful and submit a port" # # * tag 'random-6.12-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random: (47 commits) # selftests: vDSO: check cpu caps before running chacha test # s390/vdso: Wire up getrandom() vdso implementation # s390/vdso: Move vdso symbol handling to separate header file # s390/vdso: Allow alternatives in vdso code # s390/module: Provide find_section() helper # s390/facility: Let test_facility() generate static branch if possible # s390/alternatives: Remove ALT_FACILITY_EARLY # s390/facility: Disable compile time optimization for decompressor code # selftests: vDSO: fix vdso_config for s390 # selftests: vDSO: fix ELF hash table entry size for s390x # powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO64 # powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO32 # powerpc/vdso: Refactor CFLAGS for CVDSO build # powerpc/vdso32: Add crtsavres # mm: Define VM_DROPPABLE for powerpc/32 # powerpc/vdso: Fix VDSO data access when running in a non-root time namespace # selftests: vDSO: don't include generated headers for chacha test # arm64: vDSO: Wire up getrandom() vDSO implementation # arm64: alternative: make alternative_has_cap_likely() VDSO compatible # selftests: vDSO: also test counter in vdso_test_chacha # ... # < /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 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d # make -s -j 160 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 160 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 160 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 160 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:3071:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3071 | #warning clone3() entry point is missing, please fix | ^~~~~~~ /kisskb/src/kernel/fork.c:3071:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3071 | #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:01:06.988575