lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <fe18ed06-12f1-1dcb-71ee-aec5a5d656ea@gmail.com>
Date:   Wed, 16 Nov 2022 13:48:28 -0800
From:   Florian Fainelli <f.fainelli@...il.com>
To:     Masahiro Yamada <masahiroy@...nel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Nick Desaulniers <ndesaulniers@...gle.com>
Cc:     Paul Gortmaker <paul.gortmaker@...driver.com>,
        Nathan Chancellor <natechancellor@...il.com>, ojeda@...nel.org,
        sedat.dilek@...il.com
Subject: Re: kbuild: check the minimum compiler version in Kconfig

Hi Masahiro, Nick,

The compiler version check performed with 
aec6c60a01d3a3170242d6a99372a388e1136dc6 ("kbuild: check the minimum 
compiler version in Kconfig") can be defeated and prevent running the 
*config targets if specifying LLVM=1 on the command line, in that way:

BR_BINARIES_DIR=/local/users/fainelli/buildroot-llvm/output/arm64/images 
LLVM=1 LLVM_IAS=1 PKG_CONFIG_PATH="" /usr/bin/make -j49 -C 
/local/users/fainelli/buildroot-llvm/output/arm64/build/linux-custom 
HOSTCC="/usr/bin/gcc" 
HOSTCC="/local/users/fainelli/buildroot-llvm/output/arm64/host/bin/ccache 
/usr/bin/gcc -O2 
-I/local/users/fainelli/buildroot-llvm/output/arm64/host/include 
-DNDEBUG -L/local/users/fainelli/buildroot-llvm/output/arm64/host/lib 
-Wl,-rpath,/local/users/fainelli/buildroot-llvm/output/arm64/host/lib" 
ARCH=arm64 
INSTALL_MOD_PATH=/local/users/fainelli/buildroot-llvm/output/arm64/target 
CROSS_COMPILE="/local/users/fainelli/buildroot-llvm/output/arm64/host/bin/aarch64-linux-" 
WERROR=0 
DEPMOD=/local/users/fainelli/buildroot-llvm/output/arm64/host/sbin/depmod 
INSTALL_MOD_STRIP=1 HOSTCC="/usr/bin/gcc" menuconfig
   UPD     scripts/kconfig/mconf-cfg
   HOSTCC  scripts/kconfig/mconf.o
   HOSTCC  scripts/kconfig/lxdialog/checklist.o
   HOSTCC  scripts/kconfig/lxdialog/inputbox.o
   HOSTCC  scripts/kconfig/lxdialog/menubox.o
   HOSTCC  scripts/kconfig/lxdialog/textbox.o
   HOSTCC  scripts/kconfig/lxdialog/util.o
   HOSTCC  scripts/kconfig/lxdialog/yesno.o
   HOSTLD  scripts/kconfig/mconf
***
*** Compiler is too old.
***   Your Clang version:    10.0.0
***   Minimum Clang version: 10.0.1
***
scripts/Kconfig.include:44: Sorry, this compiler is not supported.

Here, the compiler check is actually checking the host compiler clang 
version installed on my Ubuntu 20.04 system, as opposed to the cross 
compiler clang version that is being used.

It is not clear to me how to best address that, short of not specifying 
LLVM=1 on the kernel *config targets, but IMHO there is still an actual 
issue where we do not check the compiler that we would want to check.

Thanks!
-- 
Florian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ