[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-4.1-testing] x86-64: Fix memory hotplug epfn upper limit test for updating the compat M2P table
# HG changeset patch # User Malcolm Crossley <malcolm.crossley@xxxxxxxxxx> # Date 1335878038 -3600 # Node ID b1e2ca715ae7f60ecb4bac84dcab48d9bb3006d9 # Parent 99517f769cc861094d35bd9e681d78a5a2573265 x86-64: Fix memory hotplug epfn upper limit test for updating the compat M2P table The epfn is being compared to (RDWR_COMPAT_MPT_VIRT_END - RDWR_COMPAT_MPT_VIRT_START) without a 2 bit shift, resulting in the epfn being compared to the size of the RDWR_COMPAT_MPT table in bytes instead of the maximum page frame number that the RDWR_COMPAT_MPT table can map. Signed-off-by: Malcolm Crossley <malcolm.crossley@xxxxxxxxxx> Committed-by: Jan Beulich <jbeulich@xxxxxxxx> xen-unstable changeset: 25242:b7ce6a88bebb xen-unstable date: Wed Apr 25 12:35:56 2012 +0200 --- diff -r 99517f769cc8 -r b1e2ca715ae7 xen/arch/x86/x86_64/mm.c --- a/xen/arch/x86/x86_64/mm.c Tue Apr 24 18:38:19 2012 +0100 +++ b/xen/arch/x86/x86_64/mm.c Tue May 01 14:13:58 2012 +0100 @@ -450,7 +450,7 @@ static int setup_compat_m2p_table(struct if ((smap > ((RDWR_COMPAT_MPT_VIRT_END - RDWR_COMPAT_MPT_VIRT_START) >> 2)) ) return 0; - if (epfn > (RDWR_COMPAT_MPT_VIRT_END - RDWR_COMPAT_MPT_VIRT_START)) + if ( epfn > ((RDWR_COMPAT_MPT_VIRT_END - RDWR_COMPAT_MPT_VIRT_START) >> 2) ) epfn = (RDWR_COMPAT_MPT_VIRT_END - RDWR_COMPAT_MPT_VIRT_START) >> 2; emap = ( (epfn + ((1UL << (L2_PAGETABLE_SHIFT - 2)) - 1 )) & _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |