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]
Message-ID: <20250722142254.GAaH-evk-BqchvvIaZ@renoirsky.local>
Date: Tue, 22 Jul 2025 16:22:54 +0200
From: Borislav Petkov <bp@...en8.de>
To: Michael Zhivich <mzhivich@...mai.com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: stable@...r.kernel.org, tglx@...utronix.de, mingo@...hat.com,
	dave.hansen@...ux.intel.com, x86@...nel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] x86/bugs: Fix use of possibly uninit value in
 amd_check_tsa_microcode()

On Tue, Jul 22, 2025 at 08:28:44AM -0400, Michael Zhivich wrote:
> For kernels compiled with CONFIG_INIT_STACK_NONE=y, the value of __reserved
> field in zen_patch_rev union on the stack may be garbage.  If so, it will
> prevent correct microcode check when consulting p.ucode_rev, resulting in
> incorrect mitigation selection.

"This is a stable-only fix." so that the AI is happy. :-P

> Cc: <stable@...r.kernel.org>
> Signed-off-by:  Michael Zhivich <mzhivich@...mai.com>

Acked-by: Borislav Petkov (AMD) <bp@...en8.de>

> Fixes: 7a0395f6607a5 ("x86/bugs: Add a Transient Scheduler Attacks mitigation")

That commit in Fixes: is the 6.12 stable one.

The 6.6 one is:

Fixes: 90293047df18 ("x86/bugs: Add a Transient Scheduler Attacks mitigation")

The 6.1 is:

Fixes: d12145e8454f ("x86/bugs: Add a Transient Scheduler Attacks mitigation")

The 5.15 one:

Fixes: f2b75f1368af ("x86/bugs: Add a Transient Scheduler Attacks mitigation")

and the 5.10 one is

Fixes: 78192f511f40 ("x86/bugs: Add a Transient Scheduler Attacks mitigation")

and since all stable kernels above have INIT_STACK_NONE, that same
one-liner should be applied to all of them.

Greg, I'm thinking this one-liner should apply to all of the above with
some fuzz. Can you simply add it to each stable version with a different
Fixes: tag each?

Or do you prefer separate submissions?

Thx.

>  arch/x86/kernel/cpu/amd.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index efd42ee9d1cc..289ff197b1b3 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -378,6 +378,8 @@ static bool amd_check_tsa_microcode(void)
>  	p.model		= c->x86_model;
>  	p.ext_model	= c->x86_model >> 4;
>  	p.stepping	= c->x86_stepping;
> +	/* reserved bits are expected to be 0 in test below */
> +	p.__reserved    = 0;
>  
>  	if (cpu_has(c, X86_FEATURE_ZEN3) ||
>  	    cpu_has(c, X86_FEATURE_ZEN4)) {
> -- 

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ