# git rev-parse -q --verify e00d8880481497474792d28c14479a9fb6752046^{commit} e00d8880481497474792d28c14479a9fb6752046 already have revision, skipping fetch # git checkout -q -f -B kisskb e00d8880481497474792d28c14479a9fb6752046 # git clean -qxdf # < git log -1 # commit e00d8880481497474792d28c14479a9fb6752046 # Author: Masahiro Yamada # Date: Tue Jan 15 16:19:00 2019 +0900 # # kbuild: mark prepare0 as PHONY to fix external module build # # Commit c3ff2a5193fa ("powerpc/32: add stack protector support") # caused kernel panic on PowerPC when an external module is used with # CONFIG_STACKPROTECTOR because the 'prepare' target was not executed # for the external module build. # # Commit e07db28eea38 ("kbuild: fix single target build for external # module") turned it into a build error because the 'prepare' target is # now executed but the 'prepare0' target is missing for the external # module build. # # External module on arm/arm64 with CONFIG_STACKPROTECTOR_PER_TASK is # also broken in the same way. # # Move 'PHONY += prepare0' to the common place. GNU Make is fine with # missing rule for phony targets. I also removed the comment which is # wrong irrespective of this commit. # # I minimize the change so it can be easily backported to 4.20.x # # To fix v4.20, please backport e07db28eea38 ("kbuild: fix single target # build for external module"), and then this commit. # # Link: https://bugzilla.kernel.org/show_bug.cgi?id=201891 # Fixes: e07db28eea38 ("kbuild: fix single target build for external module") # Fixes: c3ff2a5193fa ("powerpc/32: add stack protector support") # Fixes: 189af4657186 ("ARM: smp: add support for per-task stack canaries") # Fixes: 0a1213fa7432 ("arm64: enable per-task stack canaries") # Cc: linux-stable # v4.20 # Reported-by: Samuel Holland # Reported-by: Alexey Kardashevskiy # Signed-off-by: Masahiro Yamada # Acked-by: Ard Biesheuvel # Tested-by: Alexey Kardashevskiy # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 e00d8880481497474792d28c14479a9fb6752046 # < make -s -j 48 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # yes \n | make -s -j 48 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 48 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 # Build took: 0:20:27.097981