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]
Date:	Fri, 8 May 2009 13:38:31 +0100
From:	Ian Campbell <Ian.Campbell@...citrix.com>
To:	Ingo Molnar <mingo@...e.hu>
CC:	Jeremy Fitzhardinge <jeremy@...p.org>,
	"H. Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Yinghai Lu <yinghai@...nel.org>,
	Suresh Siddha <suresh.b.siddha@...el.com>,
	"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>,
	Arjan van de Ven <arjan@...radead.org>,
	the arch/x86 maintainers <x86@...nel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Xen-devel <xen-devel@...ts.xensource.com>,
	Jeremy Fitzhardinge <Jeremy.Fitzhardinge@...rix.com>
Subject: Re: [PATCH 06/16] xen: disable PAT

On Fri, 2009-05-08 at 07:14 -0400, Ingo Molnar wrote:
> * Jeremy Fitzhardinge <jeremy@...p.org> wrote:
> 
> > From: Ian Campbell <ian.campbell@...rix.com>
> > 
> > Impact: disable PAT under Xen
> > 
> > Xen imposes a particular PAT layout on all paravirtual guests which
> > does not match the layout Linux would like to use.
> > 
> > Force PAT to be disabled until this is resolved.
> > 
> > Signed-off-by: Ian Campbell <ian.campbell@...rix.com>
> > Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>
> 
> hm, what will the resolution be?

Roughly speaking the kernel needs to cope with different values written
to MSR_IA32_CR_PAT than the single hard coded value it would write
itself if given the chance. Essentially _PAGE_CACHE_* need to become
dynamic (or I guess we could change the native layout to match Xen's, I
don't know why native differs from the initial state, I guess just to
avoid using the PAT bit for some reason).

The various mappings used are:
	PAT PCD PWT	NATIVE	XEN	BIOS	INIT
        0   0   0	WB	WB	WB	WB
        0   0   1	WC	WT	WT	WT
        0   1   0	UC-	UC-	UC-	UC-
        0   1   1	UC	UC	-	UC
        1   0   0	-	WC	WB	WB
        1   0   1	-	WP	WT	WT
        1   1   0	-	-	UC-	UC-
        1   1   1	-	-	-	UC-
(INIT is the processors initial state and BIOS is apparently commonly
set by the BIOS).

At the time this changeset was originally written using the actual PAT
bit (required by Xen's layout to get at WC) led to strange errors (to do
with swap masking various bits IIRC) but I believe those have been fixed
since by Jan Beulich.

I'm not sure how _PAGE_PAT_LARGE fits in -- native cunning avoids having
to worry about it by not using the PAT bit at all.

Ian.


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