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-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 23 May 2022 07:30:54 -0700
From:   Guenter Roeck <linux@...ck-us.net>
To:     Kees Cook <keescook@...omium.org>
Cc:     Alexander Popov <alex.popov@...ux.com>,
        linux-hardening@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] gcc-plugins: Change all version strings match kernel

On Tue, May 10, 2022 at 04:54:12PM -0700, Kees Cook wrote:
> It's not meaningful for the GCC plugins to track their versions separately
> from the rest of the kernel. Switch all versions to the kernel version.
> 
> Fix mismatched indenting while we're at it.
> 
> Cc: linux-hardening@...r.kernel.org
> Signed-off-by: Kees Cook <keescook@...omium.org>

I see random build failures with this patch in linux-next.

Error log:
cc1plus: fatal error: ./include/generated/utsrelease.h: No such file or directory

The problem doesn't happen all the time. Is there some missing dependency ?

Guenter

> ---
>  scripts/gcc-plugins/Makefile                  | 9 +++++----
>  scripts/gcc-plugins/latent_entropy_plugin.c   | 2 +-
>  scripts/gcc-plugins/randomize_layout_plugin.c | 2 +-
>  scripts/gcc-plugins/sancov_plugin.c           | 2 +-
>  scripts/gcc-plugins/stackleak_plugin.c        | 2 +-
>  scripts/gcc-plugins/structleak_plugin.c       | 2 +-
>  6 files changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/scripts/gcc-plugins/Makefile b/scripts/gcc-plugins/Makefile
> index 148f4639cf09..6f0aecad5d67 100644
> --- a/scripts/gcc-plugins/Makefile
> +++ b/scripts/gcc-plugins/Makefile
> @@ -28,10 +28,11 @@ GCC_PLUGINS_DIR = $(shell $(CC) -print-file-name=plugin)
>  
>  plugin_cxxflags	= -Wp,-MMD,$(depfile) $(KBUILD_HOSTCXXFLAGS) -fPIC \
>  		  -include $(srctree)/include/linux/compiler-version.h \
> -		   -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \
> -		   -fno-rtti -fno-exceptions -fasynchronous-unwind-tables \
> -		   -ggdb -Wno-narrowing -Wno-unused-variable \
> -		   -Wno-format-diag
> +		  -include $(objtree)/include/generated/utsrelease.h \
> +		  -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \
> +		  -fno-rtti -fno-exceptions -fasynchronous-unwind-tables \
> +		  -ggdb -Wno-narrowing -Wno-unused-variable \
> +		  -Wno-format-diag
>  
>  plugin_ldflags	= -shared
>  
> diff --git a/scripts/gcc-plugins/latent_entropy_plugin.c b/scripts/gcc-plugins/latent_entropy_plugin.c
> index 8425da41de0d..5d415b2572a8 100644
> --- a/scripts/gcc-plugins/latent_entropy_plugin.c
> +++ b/scripts/gcc-plugins/latent_entropy_plugin.c
> @@ -82,7 +82,7 @@ __visible int plugin_is_GPL_compatible;
>  static GTY(()) tree latent_entropy_decl;
>  
>  static struct plugin_info latent_entropy_plugin_info = {
> -	.version	= "201606141920vanilla",
> +	.version	= UTS_RELEASE,
>  	.help		= "disable\tturn off latent entropy instrumentation\n",
>  };
>  
> diff --git a/scripts/gcc-plugins/randomize_layout_plugin.c b/scripts/gcc-plugins/randomize_layout_plugin.c
> index 65aee5d6d91e..ea2aea570404 100644
> --- a/scripts/gcc-plugins/randomize_layout_plugin.c
> +++ b/scripts/gcc-plugins/randomize_layout_plugin.c
> @@ -34,7 +34,7 @@ __visible int plugin_is_GPL_compatible;
>  static int performance_mode;
>  
>  static struct plugin_info randomize_layout_plugin_info = {
> -	.version	= "201402201816vanilla",
> +	.version	= UTS_RELEASE,
>  	.help		= "disable\t\t\tdo not activate plugin\n"
>  			  "performance-mode\tenable cacheline-aware layout randomization\n"
>  };
> diff --git a/scripts/gcc-plugins/sancov_plugin.c b/scripts/gcc-plugins/sancov_plugin.c
> index 23bd023a283b..f3d629555b84 100644
> --- a/scripts/gcc-plugins/sancov_plugin.c
> +++ b/scripts/gcc-plugins/sancov_plugin.c
> @@ -26,7 +26,7 @@ __visible int plugin_is_GPL_compatible;
>  tree sancov_fndecl;
>  
>  static struct plugin_info sancov_plugin_info = {
> -	.version	= "20160402",
> +	.version	= UTS_RELEASE,
>  	.help		= "sancov plugin\n",
>  };
>  
> diff --git a/scripts/gcc-plugins/stackleak_plugin.c b/scripts/gcc-plugins/stackleak_plugin.c
> index 42f0252ee2a4..de817d54b8af 100644
> --- a/scripts/gcc-plugins/stackleak_plugin.c
> +++ b/scripts/gcc-plugins/stackleak_plugin.c
> @@ -44,7 +44,7 @@ static bool verbose = false;
>  static GTY(()) tree track_function_decl;
>  
>  static struct plugin_info stackleak_plugin_info = {
> -	.version = "201707101337",
> +	.version = UTS_RELEASE,
>  	.help = "track-min-size=nn\ttrack stack for functions with a stack frame size >= nn bytes\n"
>  		"arch=target_arch\tspecify target build arch\n"
>  		"disable\t\tdo not activate the plugin\n"
> diff --git a/scripts/gcc-plugins/structleak_plugin.c b/scripts/gcc-plugins/structleak_plugin.c
> index 74e319288389..86b608a24ec0 100644
> --- a/scripts/gcc-plugins/structleak_plugin.c
> +++ b/scripts/gcc-plugins/structleak_plugin.c
> @@ -37,7 +37,7 @@
>  __visible int plugin_is_GPL_compatible;
>  
>  static struct plugin_info structleak_plugin_info = {
> -	.version	= "20190125vanilla",
> +	.version	= UTS_RELEASE,
>  	.help		= "disable\tdo not activate plugin\n"
>  			  "byref\tinit structs passed by reference\n"
>  			  "byref-all\tinit anything passed by reference\n"
> -- 
> 2.32.0
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ