aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2013-07-23 21:49:05 +0100
committerMatt Fleming <matt.fleming@intel.com>2013-07-23 21:57:42 +0100
commit33c4ab1b6b4d68a88d3c263bd28edd94b9864a0e (patch)
tree6b6ee335349bb4e853e8dacfcfa3061a7353c498
parent88904d69a8539595dca0a91eefe05e5bd32761a5 (diff)
downloadsyslinux-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.c2
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) {