- 29 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 27 Jan, 2020 2 commits
-
-
Greg Kroah-Hartman authored
-
Masahiro Yamada authored
[ Upstream commit e00d8880 ] Commit c3ff2a51 ("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 e07db28e ("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 e07db28e ("kbuild: fix single target build for external module"), and then this commit. Link: https://bugzilla.kernel.org/show_bug.cgi?id=201891 Fixes: e07db28e ("kbuild: fix single target build for external module") Fixes: c3ff2a51 ("powerpc/32: add stack protector support") Fixes: 189af465 ("ARM: smp: add support for per-task stack canaries") Fixes: 0a1213fa ("arm64: enable per-task stack canaries") Cc: linux-stable <stable@vger.kernel.org> # v4.20 Reported-by:
Samuel Holland <samuel@sholland.org> Reported-by:
Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by:
Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by:
Sasha Levin <sashal@kernel.org>
-
- 23 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 17 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 14 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 12 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 09 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 04 Jan, 2020 1 commit
-
-
Greg Kroah-Hartman authored
-
- 31 Dec, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 21 Dec, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 17 Dec, 2019 2 commits
-
-
Greg Kroah-Hartman authored
-
Masahiro Yamada authored
[ Upstream commit e07db28e ] Building a single target in an external module fails due to missing .tmp_versions directory. For example, $ make -C /lib/modules/$(uname -r)/build M=$PWD foo.o will fail in the following way: CC [M] /home/masahiro/foo/foo.o /bin/sh: 1: cannot create /home/masahiro/foo/.tmp_versions/foo.mod: Directory nonexistent This is because $(cmd_crmodverdir) is executed only before building /, %/, %.ko single targets of external modules. Create .tmp_versions in the 'prepare' target. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
-
- 05 Dec, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 01 Dec, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 24 Nov, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 20 Nov, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 12 Nov, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 10 Nov, 2019 3 commits
-
-
Greg Kroah-Hartman authored
-
Seth Forshee authored
[ Upstream commit 29be86d7 ] The gcc -fcf-protection=branch option is not compatible with -mindirect-branch=thunk-extern. The latter is used when CONFIG_RETPOLINE is selected, and this will fail to build with a gcc which has -fcf-protection=branch enabled by default. Adding -fcf-protection=none when building with retpoline enabled prevents such build failures. Signed-off-by:
Seth Forshee <seth.forshee@canonical.com> Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
-
Masahiro Yamada authored
[ Upstream commit a73619a8 ] The __FILE__ macro is used everywhere in the kernel to locate the file printing the log message, such as WARN_ON(), etc. If the kernel is built out of tree, this can be a long absolute path, like this: WARNING: CPU: 1 PID: 1 at /path/to/build/directory/arch/arm64/kernel/foo.c:... This is because Kbuild runs in the objtree instead of the srctree, then __FILE__ is expanded to a file path prefixed with $(srctree)/. Commit 9da0763b ("kbuild: Use relative path when building in a subdir of the source tree") improved this to some extent; $(srctree) becomes ".." if the objtree is a child of the srctree. For other cases of out-of-tree build, __FILE__ is still the absolute path. It also means the kernel image depends on where it was built. A brand-new option from GCC, -fmacro-prefix-map, solves this problem. If your compiler supports it, __FILE__ is the relative path from the srctree regardless of O= option. This provides more readable log and more reproducible builds. Please note __FILE__ is always an absolute path for external modules. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
-
- 06 Nov, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 29 Oct, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 17 Oct, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 11 Oct, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 07 Oct, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 05 Oct, 2019 2 commits
-
-
Greg Kroah-Hartman authored
-
Rolf Eike Beer authored
commit 056d28d1 upstream. If it is not in the default location, compilation fails at several points. Signed-off-by:
Rolf Eike Beer <eb@emlix.com> Signed-off-by:
Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/91a25e992566a7968fedc89ec80e7f4c83ad0548.1553622500.git.jpoimboe@redhat.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 21 Sep, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 19 Sep, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 16 Sep, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 10 Sep, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 06 Sep, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 29 Aug, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 25 Aug, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 16 Aug, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 09 Aug, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-
- 06 Aug, 2019 2 commits
-
-
Greg Kroah-Hartman authored
-
Masahiro Yamada authored
commit 5241ab4c upstream. CLANG_FLAGS is initialized by the following line: CLANG_FLAGS := --target=$(notdir $(CROSS_COMPILE:%-=%)) ..., which is run only when CROSS_COMPILE is set. Some build targets (bindeb-pkg etc.) recurse to the top Makefile. When you build the kernel with Clang but without CROSS_COMPILE, the same compiler flags such as -no-integrated-as are accumulated into CLANG_FLAGS. If you run 'make CC=clang' and then 'make CC=clang bindeb-pkg', Kbuild will recompile everything needlessly due to the build command change. Fix this by correctly initializing CLANG_FLAGS. Fixes: 238bcbc4 ("kbuild: consolidate Clang compiler flags") Cc: <stable@vger.kernel.org> # v5.0+ Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by:
Nathan Chancellor <natechancellor@gmail.com> Acked-by:
Nick Desaulniers <ndesaulniers@google.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 04 Aug, 2019 1 commit
-
-
Greg Kroah-Hartman authored
-