# 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/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d # make -s -j 32 ARCH=um O=/kisskb/build/linus_allyesconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 allyesconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # Added to kconfig CONFIG_DEBUG_INFO_BTF=n # Added to kconfig CONFIG_BPF_PRELOAD=n # Added to kconfig CONFIG_SPI_STM32_QSPI=n # < make -s -j 32 ARCH=um O=/kisskb/build/linus_allyesconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 32 ARCH=um O=/kisskb/build/linus_allyesconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig .config:15060:warning: override: reassigning to symbol GCC_PLUGIN_LATENT_ENTROPY .config:15064:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:15066:warning: override: reassigning to symbol UML_NET_SLIP .config:15071:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 32 ARCH=um O=/kisskb/build/linus_allyesconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/lib/iomap.c:156:5: error: no previous prototype for ‘ioread64_lo_hi’ [-Werror=missing-prototypes] 156 | u64 ioread64_lo_hi(const void __iomem *addr) | ^~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:163:5: error: no previous prototype for ‘ioread64_hi_lo’ [-Werror=missing-prototypes] 163 | u64 ioread64_hi_lo(const void __iomem *addr) | ^~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:170:5: error: no previous prototype for ‘ioread64be_lo_hi’ [-Werror=missing-prototypes] 170 | u64 ioread64be_lo_hi(const void __iomem *addr) | ^~~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:178:5: error: no previous prototype for ‘ioread64be_hi_lo’ [-Werror=missing-prototypes] 178 | u64 ioread64be_hi_lo(const void __iomem *addr) | ^~~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:264:6: error: no previous prototype for ‘iowrite64_lo_hi’ [-Werror=missing-prototypes] 264 | void iowrite64_lo_hi(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:272:6: error: no previous prototype for ‘iowrite64_hi_lo’ [-Werror=missing-prototypes] 272 | void iowrite64_hi_lo(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:280:6: error: no previous prototype for ‘iowrite64be_lo_hi’ [-Werror=missing-prototypes] 280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:288:6: error: no previous prototype for ‘iowrite64be_hi_lo’ [-Werror=missing-prototypes] 288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:244: lib/iomap.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:485: lib] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/Makefile:1926: .] Error 2 make[1]: *** [/kisskb/src/Makefile:224: __sub-make] Error 2 make: *** [Makefile:224: __sub-make] Error 2 Command 'make -s -j 32 ARCH=um O=/kisskb/build/linus_allyesconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allyesconfig_um-x86_64-gcc12 # Build took: 0:19:51.985960