[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180127134033.vmesim52s5hqh4hp@pd.tnic>
Date: Sat, 27 Jan 2018 14:40:33 +0100
From: Borislav Petkov <bp@...en8.de>
To: tglx@...utronix.de, hpa@...or.com, linux-kernel@...r.kernel.org,
ak@...ux.intel.com, mingo@...nel.org, dwmw2@...radead.org
Cc: linux-tip-commits@...r.kernel.org
Subject: Re: [tip:x86/pti] module/retpoline: Warn about missing retpoline in
module
On Fri, Jan 26, 2018 at 06:59:06AM -0800, tip-bot for Andi Kleen wrote:
> Commit-ID: caf7501a1b4ec964190f31f9c3f163de252273b8
> Gitweb: https://git.kernel.org/tip/caf7501a1b4ec964190f31f9c3f163de252273b8
> Author: Andi Kleen <ak@...ux.intel.com>
> AuthorDate: Thu, 25 Jan 2018 15:50:28 -0800
> Committer: Thomas Gleixner <tglx@...utronix.de>
> CommitDate: Fri, 26 Jan 2018 15:03:56 +0100
>
> module/retpoline: Warn about missing retpoline in module
>
> There's a risk that a kernel which has full retpoline mitigations becomes
> vulnerable when a module gets loaded that hasn't been compiled with the
> right compiler or the right option.
>
> To enable detection of that mismatch at module load time, add a module info
> string "retpoline" at build time when the module was compiled with
> retpoline support. This only covers compiled C source, but assembler source
> or prebuilt object files are not checked.
>
> If a retpoline enabled kernel detects a non retpoline protected module at
> load time, print a warning and report it in the sysfs vulnerability file.
>
> [ tglx: Massaged changelog ]
>
> Signed-off-by: Andi Kleen <ak@...ux.intel.com>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> Cc: David Woodhouse <dwmw2@...radead.org>
> Cc: gregkh@...uxfoundation.org
> Cc: torvalds@...ux-foundation.org
> Cc: jeyu@...nel.org
> Cc: arjan@...ux.intel.com
> Link: https://lkml.kernel.org/r/20180125235028.31211-1-andi@firstfloor.org
> ---
> arch/x86/kernel/cpu/bugs.c | 17 ++++++++++++++++-
> include/linux/module.h | 9 +++++++++
> kernel/module.c | 11 +++++++++++
> scripts/mod/modpost.c | 9 +++++++++
> 4 files changed, 45 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
> index 390b3dc..4a39d7b 100644
> --- a/arch/x86/kernel/cpu/bugs.c
> +++ b/arch/x86/kernel/cpu/bugs.c
> @@ -11,6 +11,7 @@
> #include <linux/init.h>
> #include <linux/utsname.h>
> #include <linux/cpu.h>
> +#include <linux/module.h>
>
> #include <asm/nospec-branch.h>
> #include <asm/cmdline.h>
> @@ -93,6 +94,19 @@ static const char *spectre_v2_strings[] = {
> #define pr_fmt(fmt) "Spectre V2 mitigation: " fmt
>
> static enum spectre_v2_mitigation spectre_v2_enabled = SPECTRE_V2_NONE;
> +static bool spectre_v2_bad_module;
allnoconfig says:
arch/x86/kernel/cpu/bugs.c:97:13: warning: ‘spectre_v2_bad_module’ defined but not used [-Wunused-variable]
static bool spectre_v2_bad_module;
^
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
Powered by blists - more mailing lists