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
| ||
|
Date: Mon, 23 Nov 2020 15:27:46 +0100 From: Borislav Petkov <bp@...en8.de> To: Gabriele Paoloni <gabriele.paoloni@...el.com> Cc: tony.luck@...el.com, tglx@...utronix.de, mingo@...hat.com, x86@...nel.org, hpa@...or.com, linux-edac@...r.kernel.org, linux-kernel@...r.kernel.org, linux-safety@...ts.elisa.tech Subject: Re: [PATCH 2/4] x86/mce: move the mce_panic() call and kill_it assignments at the right places On Wed, Nov 18, 2020 at 03:15:50PM +0000, Gabriele Paoloni wrote: > Right now for local MCEs we panic(),if needed, right after lmce is > set. For global MCEs mce_reign() takes care of calling mce_panic(). > Hence this patch: > - improves readibility by moving the conditional evaluation of > tolerant up to when kill_it is set first > - moves the mce_panic() call up into the statement where mce_end() > fails Pls avoid using "this patch does this and that" in the commit message but say directly what it does: - Improve readability ... - Move mce_panic()... and so on. > Signed-off-by: Gabriele Paoloni <gabriele.paoloni@...el.com> > Reviewed-by: Tony Luck <tony.luck@...el.com> > --- > arch/x86/kernel/cpu/mce/core.c | 21 +++++++++------------ > 1 file changed, 9 insertions(+), 12 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c > index b990892c6766..e025ff04438f 100644 > --- a/arch/x86/kernel/cpu/mce/core.c > +++ b/arch/x86/kernel/cpu/mce/core.c > @@ -1350,8 +1350,7 @@ noinstr void do_machine_check(struct pt_regs *regs) > * severity is MCE_AR_SEVERITY we have other options. > */ > if (!(m.mcgstatus & MCG_STATUS_RIPV)) > - kill_it = 1; > - > + kill_it = (cfg->tolerant == 3) ? 0 : 1; So you just set kill_it using cfg->tolerant... > /* > * Check if this MCE is signaled to only this logical processor, > * on Intel, Zhaoxin only. > @@ -1384,8 +1383,15 @@ noinstr void do_machine_check(struct pt_regs *regs) > * When there's any problem use only local no_way_out state. > */ > if (!lmce) { > - if (mce_end(order) < 0) > + if (mce_end(order) < 0) { > no_way_out = no_way_out ? no_way_out : worst >= MCE_PANIC_SEVERITY; > + /* > + * mce_reign() has probably failed hence evaluate if we need > + * to panic > + */ > + if (no_way_out && mca_cfg.tolerant < 3) ... but here you're testing cfg->tolerant again. why not if (no_way_out && kill_it) ? Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists