diff options
author | Matt Fleming <matt.fleming@intel.com> | 2013-07-23 21:49:05 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-07-23 21:57:42 +0100 |
commit | 33c4ab1b6b4d68a88d3c263bd28edd94b9864a0e (patch) | |
tree | 6b6ee335349bb4e853e8dacfcfa3061a7353c498 | |
parent | 88904d69a8539595dca0a91eefe05e5bd32761a5 (diff) | |
download | syslinux-33c4ab1b6b4d68a88d3c263bd28edd94b9864a0e.tar.gz syslinux-33c4ab1b6b4d68a88d3c263bd28edd94b9864a0e.tar.xz syslinux-33c4ab1b6b4d68a88d3c263bd28edd94b9864a0e.zip |
mem: fix regression in recent memscan changessyslinux-6.02-pre10
A thinko in commit a1331f8d ("memscan: pass enum syslinux_memmap_types
around") causes many machines not to boot because the expression
"!SMT_FREE" always evaluates to "false", regardless of the value of
'type', which means that mem_init() may use reserved memory regions for
general allocation.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
-rw-r--r-- | core/mem/init.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/mem/init.c b/core/mem/init.c index c8aa96b3..dc28de04 100644 --- a/core/mem/init.c +++ b/core/mem/init.c @@ -22,7 +22,7 @@ int scan_highmem_area(void *data, addr_t start, addr_t len, dprintf("start = %x, len = %x, type = %d", start, len, type); if (start < 0x100000 || start > E820_MEM_MAX - || !SMT_FREE) + || type != SMT_FREE) return 0; if (start < __com32.cs_memsize) { |