Messages in this thread | | | Date | Sat, 18 Apr 2009 11:17:20 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/3] x86/pci: fix -1 calling to e820_all_mapped with mmconfig |
| |
* Yinghai Lu <yinghai@kernel.org> wrote:
> e820_all_mapped need end is (addr + size) instead of (addr + size - 1) > > [Impact: fix -1 offset calling] > > Signed-off-by: Yinghai Lu <yinghai@kernel.org> > > --- > arch/x86/pci/mmconfig-shared.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > Index: linux-2.6/arch/x86/pci/mmconfig-shared.c > =================================================================== > --- linux-2.6.orig/arch/x86/pci/mmconfig-shared.c > +++ linux-2.6/arch/x86/pci/mmconfig-shared.c > @@ -375,7 +375,7 @@ static acpi_status __init check_mcfg_res > if (!fixmem32) > return AE_OK; > if ((mcfg_res->start >= fixmem32->address) && > - (mcfg_res->end < (fixmem32->address + > + (mcfg_res->end <= (fixmem32->address + > fixmem32->address_length))) { > mcfg_res->flags = 1; > return AE_CTRL_TERMINATE; > @@ -392,7 +392,7 @@ static acpi_status __init check_mcfg_res > return AE_OK; > > if ((mcfg_res->start >= address.minimum) && > - (mcfg_res->end < (address.minimum + address.address_length))) { > + (mcfg_res->end <= (address.minimum + address.address_length))) { > mcfg_res->flags = 1; > return AE_CTRL_TERMINATE; > } > @@ -439,7 +439,7 @@ static int __init is_mmconf_reserved(che > u64 old_size = size; > int valid = 0; > > - while (!is_reserved(addr, addr + size - 1, E820_RESERVED)) { > + while (!is_reserved(addr, addr + size, E820_RESERVED)) { > size >>= 1; > if (size < (16UL<<20)) > break;
good catch. Probably also needed for -stable.
Acked-by: Ingo Molnar <mingo@elte.hu>
Ingo
| |