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-next>] [day] [month] [year] [list]
Date:	Wed, 16 May 2012 17:36:16 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Tejun Heo <tj@...nel.org>, Rusty Russell <rusty@...tcorp.com.au>,
	Christoph Lameter <cl@...ux-foundation.org>,
	Ingo Molnar <mingo@...e.hu>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Suresh Siddha <suresh.b.siddha@...el.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...e.hu>, "H. Peter Anvin" <hpa@...or.com>,
	Peter Zijlstra <peterz@...radead.org>,
	Alex Shi <alex.shi@...el.com>
Subject: linux-next: manual merge of the percpu tree with the tip tree

Hi all,

Today's linux-next merge of the percpu tree got a conflict in
arch/x86/mm/tlb.c between commit a6fca40f1d7f ("x86, tlb: Switch cr3 in
leave_mm() only when needed") from the tip tree and commit c6ae41e7d469
("x86: replace percpu_xxx funcs with this_cpu_xxx") from the percpu tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc arch/x86/mm/tlb.c
index 125bcad,3804471..0000000
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@@ -61,13 -61,11 +61,13 @@@ static DEFINE_PER_CPU_READ_MOSTLY(int, 
   */
  void leave_mm(int cpu)
  {
- 	struct mm_struct *active_mm = percpu_read(cpu_tlbstate.active_mm);
- 	if (percpu_read(cpu_tlbstate.state) == TLBSTATE_OK)
++	struct mm_struct *active_mm = this_cpu_read(cpu_tlbstate.active_mm);
+ 	if (this_cpu_read(cpu_tlbstate.state) == TLBSTATE_OK)
  		BUG();
 -	cpumask_clear_cpu(cpu,
 -			  mm_cpumask(this_cpu_read(cpu_tlbstate.active_mm)));
 -	load_cr3(swapper_pg_dir);
 +	if (cpumask_test_cpu(cpu, mm_cpumask(active_mm))) {
 +		cpumask_clear_cpu(cpu, mm_cpumask(active_mm));
 +		load_cr3(swapper_pg_dir);
 +	}
  }
  EXPORT_SYMBOL_GPL(leave_mm);
  

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ