# git rev-parse -q --verify 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d^{commit} 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d already have revision, skipping fetch # 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/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 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d # make -s -j 160 ARCH=sh O=/kisskb/build/linus_defconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- defconfig # < make -s -j 160 ARCH=sh O=/kisskb/build/linus_defconfig_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_defconfig_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_defconfig_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/kernel/locking/spinlock.c:68:17: warning: no previous prototype for '__raw_spin_lock' [-Wmissing-prototypes] 68 | void __lockfunc __raw_##op##_lock(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:126:1: note: in expansion of macro 'BUILD_LOCK_OPS' 126 | BUILD_LOCK_OPS(spin, raw_spinlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:80:26: warning: no previous prototype for '__raw_spin_lock_irqsave' [-Wmissing-prototypes] 80 | unsigned long __lockfunc __raw_##op##_lock_irqsave(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:126:1: note: in expansion of macro 'BUILD_LOCK_OPS' 126 | BUILD_LOCK_OPS(spin, raw_spinlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:98:17: warning: no previous prototype for '__raw_spin_lock_irq' [-Wmissing-prototypes] 98 | void __lockfunc __raw_##op##_lock_irq(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:126:1: note: in expansion of macro 'BUILD_LOCK_OPS' 126 | BUILD_LOCK_OPS(spin, raw_spinlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:103:17: warning: no previous prototype for '__raw_spin_lock_bh' [-Wmissing-prototypes] 103 | void __lockfunc __raw_##op##_lock_bh(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:126:1: note: in expansion of macro 'BUILD_LOCK_OPS' 126 | BUILD_LOCK_OPS(spin, raw_spinlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:68:17: warning: no previous prototype for '__raw_read_lock' [-Wmissing-prototypes] 68 | void __lockfunc __raw_##op##_lock(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:129:1: note: in expansion of macro 'BUILD_LOCK_OPS' 129 | BUILD_LOCK_OPS(read, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:80:26: warning: no previous prototype for '__raw_read_lock_irqsave' [-Wmissing-prototypes] 80 | unsigned long __lockfunc __raw_##op##_lock_irqsave(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:129:1: note: in expansion of macro 'BUILD_LOCK_OPS' 129 | BUILD_LOCK_OPS(read, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:98:17: warning: no previous prototype for '__raw_read_lock_irq' [-Wmissing-prototypes] 98 | void __lockfunc __raw_##op##_lock_irq(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:129:1: note: in expansion of macro 'BUILD_LOCK_OPS' 129 | BUILD_LOCK_OPS(read, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:103:17: warning: no previous prototype for '__raw_read_lock_bh' [-Wmissing-prototypes] 103 | void __lockfunc __raw_##op##_lock_bh(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:129:1: note: in expansion of macro 'BUILD_LOCK_OPS' 129 | BUILD_LOCK_OPS(read, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:68:17: warning: no previous prototype for '__raw_write_lock' [-Wmissing-prototypes] 68 | void __lockfunc __raw_##op##_lock(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:130:1: note: in expansion of macro 'BUILD_LOCK_OPS' 130 | BUILD_LOCK_OPS(write, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:80:26: warning: no previous prototype for '__raw_write_lock_irqsave' [-Wmissing-prototypes] 80 | unsigned long __lockfunc __raw_##op##_lock_irqsave(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:130:1: note: in expansion of macro 'BUILD_LOCK_OPS' 130 | BUILD_LOCK_OPS(write, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:98:17: warning: no previous prototype for '__raw_write_lock_irq' [-Wmissing-prototypes] 98 | void __lockfunc __raw_##op##_lock_irq(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:130:1: note: in expansion of macro 'BUILD_LOCK_OPS' 130 | BUILD_LOCK_OPS(write, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/locking/spinlock.c:103:17: warning: no previous prototype for '__raw_write_lock_bh' [-Wmissing-prototypes] 103 | void __lockfunc __raw_##op##_lock_bh(locktype##_t *lock) \ | ^~~~~~ /kisskb/src/kernel/locking/spinlock.c:130:1: note: in expansion of macro 'BUILD_LOCK_OPS' 130 | BUILD_LOCK_OPS(write, rwlock); | ^~~~~~~~~~~~~~ /kisskb/src/fs/ext4/readpage.c: In function 'ext4_mpage_readpages': /kisskb/src/fs/ext4/readpage.c:391:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=] 391 | } | ^ /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 | ^~~~~~~ Kernel: arch/sh/boot/zImage is ready Completed OK # rm -rf /kisskb/build/linus_defconfig_sh4-gcc13 # Build took: 0:02:16.615612