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  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:	Fri, 23 May 2014 03:10:33 +0530
From:	"Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To:	Borislav Petkov <bp@...en8.de>
CC:	"Luck, Tony" <tony.luck@...el.com>,
	Andi Kleen <andi@...stfloor.org>,
	Peter Zijlstra <peterz@...radead.org>,
	Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
	Jacob Pan <jacob.jun.pan@...ux.intel.com>,
	LKML <linux-kernel@...r.kernel.org>,
	Borislav Petkov <bp@...e.de>, Ingo Molnar <mingo@...nel.org>,
	"Wysocki, Rafael J" <rafael.j.wysocki@...el.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	"ego@...ux.vnet.ibm.com" <ego@...ux.vnet.ibm.com>,
	Oleg Nesterov <oleg@...hat.com>
Subject: Re: [PATCH] x86, MCE: Kill CPU_POST_DEAD

On 05/23/2014 03:01 AM, Borislav Petkov wrote:
> On Fri, May 23, 2014 at 02:43:31AM +0530, Srivatsa S. Bhat wrote:
>>>> After you move the cmci_rediscover() call, it is now in a place where we are
>>>> no longer ignoring frozen (i.e. the old placement did the rediscover even if the
>>>> CPU_TASKS_FROZEN bit was set - with the new placement we will skip rediscovery.
>>>>
>>
>> That's not quite true. The existing code already ignores FROZEN for all the cases,
>> by ignoring it at the top of the switch-case itself:
> 
> No, Tony's right and you got confused:
> 
> Before my change, the code did:
> 
> 	if (action == CPU_POST_DEAD) {
> 		/* intentionally ignoring frozen here */
> 		cmci_rediscover();
> 	}
> 
> which is only CPU_POST_DEAD *without* the CPU_TASKS_FROZEN bit.
> 
> If I move it in the switch-case, cmci_rediscover() *ignores the FROZEN
> bit and gets executed for both:
> 
> 	CPU_DEAD:
> 	CPU_DEAD_FROZEN:
> 
> because with the FROZEN bit masked out, they're the same.
> 
> But we don't want to execute it for the FROZEN bit - look for the other
> two tests for CPU_TASKS_FROZEN in mce.c for an example.
> 
> So, before we go and change the FROZEN aspect and break things in
> strange ways, let's keep the _FROZEN ignore. I certainly don't want to
> go down that road and chase why we needed FROZEN or not.
> 
> Ok?
> 

Right, I got confused about who meant what by the term 'ignore' -
ignore the FROZEN _bit_ as in execute all the time irrespective of that
bit being set or unset, or ignore the FROZEN _case_ as in don't execute
during suspend/resume.

Anyway, sorry for the confusion! Your latest code looks correct to me.

Regards,
Srivatsa S. Bhat

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists