# git rev-parse -q --verify c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a^{commit} c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a already have revision, skipping fetch # git checkout -q -f -B kisskb c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a # git clean -qxdf # < git log -1 # commit c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a # Author: Linus Torvalds # Date: Fri Jul 31 07:51:14 2020 +0200 # # random32: move the pseudo-random 32-bit definitions to prandom.h # # The addition of percpu.h to the list of includes in random.h revealed # some circular dependencies on arm64 and possibly other platforms. This # include was added solely for the pseudo-random definitions, which have # nothing to do with the rest of the definitions in this file but are # still there for legacy reasons. # # This patch moves the pseudo-random parts to linux/prandom.h and the # percpu.h include with it, which is now guarded by _LINUX_PRANDOM_H and # protected against recursive inclusion. # # A further cleanup step would be to remove this from # entirely, and make people who use the prandom infrastructure include # just the new header file. That's a bit of a churn patch, but grepping # for "prandom_" and "next_pseudo_random32" "struct rnd_state" should # catch most users. # # But it turns out that that nice cleanup step is fairly painful, because # a _lot_ of code currently seems to depend on the implicit include of # , which can currently come in a lot of ways, including # such fairly core headfers as . # # So the "nice cleanup" part may or may never happen. # # Fixes: 1c9df907da83 ("random: fix circular include dependency on arm64 after addition of percpu.h") # Tested-by: Guenter Roeck # Acked-by: Willy Tarreau # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a # < make -s -j 80 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 defconfig # < make -s -j 80 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 80 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig # make -s -j 80 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/arch/um/os-Linux/signal.c: In function 'sig_handler_common': /kisskb/src/arch/um/os-Linux/signal.c:51:1: warning: the frame size of 2960 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/arch/um/os-Linux/signal.c: In function 'timer_real_alarm_handler': /kisskb/src/arch/um/os-Linux/signal.c:95:1: warning: the frame size of 2960 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ LINK linux Completed OK # rm -rf /kisskb/build/linus_um-defconfig_um-x86_64 # Build took: 0:00:47.967449