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: <20140926173546.GA9931@redhat.com>
Date:	Fri, 26 Sep 2014 13:35:46 -0400
From:	Dave Jones <davej@...hat.com>
To:	"Bryan O'Donoghue" <pure.logic@...us-software.ie>
Cc:	hpa@...or.org, mingo@...hat.com, tglx@...utronix.de,
	hmh@....eng.br, boon.leong.ong@...el.com, x86@...nel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86: Quark: Add if/else to setup_arch for Quark TLB bug

On Fri, Sep 26, 2014 at 06:19:45PM +0100, Bryan O'Donoghue wrote:
 > Quark X1000 incorrectly advertises PGE. In later the stages of boot
 > specifically in early_init_intel we setup_clear_cpu_cap for PGE.
 > At this point in time cpu_has_pge() will still be true.
 > 
 > Use the boot_cpu_data to decide if __flush_tlb_all() or __flush_tlb()
 > should be called subsequent to loading CR3
 
 > +	 * Flush the TLB after loading CR3
 > +	 *
 > +	 * Quark X1000 wrongly advertises PGE. Use boot_cpu_data to
 > +	 * to make sure the TLB is flushed correctly in the early
 > +	 * stage of setup_arch() for Quark X1000.
 > +	 * X86_FEATURE_PGE flag is only setup later stage at
 > +	 * early_cpu_init();
 > +	 */
 > +	if (boot_cpu_data.x86 == 5 && boot_cpu_data.x86_model == 9)
 > +		__flush_tlb();

This also needs a check for the cpu vendor, or this will apply
the workaround on for eg, AMD K6-III's.

	Dave
 
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ