[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] NPT: temporarily retain page table mapping in do_recalc()

At 11:31 +0100 on 05 May (1399285915), Jan Beulich wrote:
> Commit b3e024f3 ("x86/NPT: don't walk page tables when changing types
> on a range") neglected the fact that p2m_next_level() replaces the
> previous level's mapping with the new level's one, hence dereferencing
> a stale pointer the translation for which may no longer be available
> (timing dependent). Add a parameter to that function allowing the
> caller to request that the mapping be retained (the unmapping will be
> taken care of by the caller then).
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

That's not a very nice interface, but I can't see a way around it,
since do_recalc() needs to have the lower-level mapping available before
it writes the upper-level entry, and having all callers of
p2m_next_level() do their own unmap would be awful too.

Reviewed-by: Tim Deegan <tim@xxxxxxx>

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.