We cannot rely on execute bits to be set on files in the repository.
The build script should use the explicit interpreter when invoking any
script from the repository.

Link: 
https://lore.kernel.org/lkml/20200830174409.c24c3f67addcce0cea9a9...@linux-foundation.org/
Link: https://lore.kernel.org/lkml/202008271102.FEB906C88@keescook/

Suggested-by: Andrew Morton <a...@linux-foundation.org>
Suggested-by: Kees Cook <keesc...@chromium.org>
Suggested-by: Lukas Bulwahn <lukas.bulw...@gmail.com>
Signed-off-by: Ujjwal Kumar <ujjwalkumar0...@gmail.com>
---
 init/Kconfig | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index c9446911cf41..8adf3194d26f 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -30,12 +30,12 @@ config CC_IS_GCC

 config GCC_VERSION
        int
-       default $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) if CC_IS_GCC
+       default $(shell,$(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh 
$(CC)) if CC_IS_GCC
        default 0

 config LD_VERSION
        int
-       default $(shell,$(LD) --version | $(srctree)/scripts/ld-version.sh)
+       default $(shell,$(LD) --version | $(AWK) -f 
$(srctree)/scripts/ld-version.sh)

 config CC_IS_CLANG
        def_bool $(success,echo "$(CC_VERSION_TEXT)" | grep -q clang)
@@ -45,20 +45,20 @@ config LD_IS_LLD

 config CLANG_VERSION
        int
-       default $(shell,$(srctree)/scripts/clang-version.sh $(CC))
+       default $(shell,$(CONFIG_SHELL) $(srctree)/scripts/clang-version.sh 
$(CC))

 config CC_CAN_LINK
        bool
-       default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) 
$(CLANG_FLAGS) $(m64-flag)) if 64BIT
-       default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) 
$(CLANG_FLAGS) $(m32-flag))
+       default $(success,$(CONFIG_SHELL) $(srctree)/scripts/cc-can-link.sh 
$(CC) $(CLANG_FLAGS) $(m64-flag)) if 64BIT
+       default $(success,$(CONFIG_SHELL) $(srctree)/scripts/cc-can-link.sh 
$(CC) $(CLANG_FLAGS) $(m32-flag))

 config CC_CAN_LINK_STATIC
        bool
-       default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) 
$(CLANG_FLAGS) $(m64-flag) -static) if 64BIT
-       default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) 
$(CLANG_FLAGS) $(m32-flag) -static)
+       default $(success,$(CONFIG_SHELL) $(srctree)/scripts/cc-can-link.sh 
$(CC) $(CLANG_FLAGS) $(m64-flag) -static) if 64BIT
+       default $(success,$(CONFIG_SHELL) $(srctree)/scripts/cc-can-link.sh 
$(CC) $(CLANG_FLAGS) $(m32-flag) -static)

 config CC_HAS_ASM_GOTO
-       def_bool $(success,$(srctree)/scripts/gcc-goto.sh $(CC))
+       def_bool $(success,$(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC))

 config CC_HAS_ASM_GOTO_OUTPUT
        depends on CC_HAS_ASM_GOTO
--
2.25.1

Reply via email to