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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <462FDF6D.8050903@goop.org>
Date:	Wed, 25 Apr 2007 16:08:29 -0700
From:	Jeremy Fitzhardinge <jeremy@...p.org>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
CC:	"H. Peter Anvin" <hpa@...or.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Andi Kleen <ak@...e.de>, Zachary Amsden <zach@...are.com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] i386: For debugging, make the initial page table setup
 less forgiving.

Eric W. Biederman wrote:
> No.  Please just remove the conditionals on the leaf pages.
>   

So, to be specific, you mean make updating the pte_t entries (and pmd_t
entries which refer to hugepages) entries unconditional?

> We know exactly what we require them to be, there is minimal
> cost and no downside to just setting the pte entries to
> what we want them to be for the identity mapping.
>
> It doesn't make sense for paravirtualization or anything else to 
> influence that.
>
> This may be redoing work that has been done before but it is
> doing it all one common place.
>   

The issue is not a matter of avoiding duplicate work, but making sure
all the pagetables are consistent from Xen's perspective.

Specifically, you may not ever, at any time, create a writable mapping
of a page which is currently part of an active pagetable.  This means
that when we're creating mappings of physical memory, the pages which
are part of the current pagetable must be mapped RO.  The easiest way I
found to guarantee that is to copy the Xen-provided pagetable as a
template, and only update pages which are missing.

The other way I could do this is to have special-purpose init-time
version of xen_set_pte which checks to see if it's making a RO mapping
RW, and refuse to do it.  That would minimize the changes to mm/init.c,
but give init-time set_pte rather unexpected hidden semantics.

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