From 2020190f945dbc264963abec22659df95cd61f04 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 2 Nov 2014 00:32:46 +0100 Subject: pc, pc64: more sanity checking for lowraminit() --- sys/src/9/pc/memory.c | 2 ++ sys/src/9/pc64/memory.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/src/9/pc/memory.c b/sys/src/9/pc/memory.c index 851f1b1d7..5f2429265 100644 --- a/sys/src/9/pc/memory.c +++ b/sys/src/9/pc/memory.c @@ -388,6 +388,8 @@ lowraminit(void) x = PADDR(CPU0END); bda = (uchar*)KADDR(0x400); pa = ((bda[0x14]<<8)|bda[0x13])*KB; + if(pa > 640*KB) + pa = 640*KB; if(x < pa){ mapfree(&rmapram, x, pa-x); memset(KADDR(x), 0, pa-x); /* keep us honest */ diff --git a/sys/src/9/pc64/memory.c b/sys/src/9/pc64/memory.c index 27e01de64..a4ff047d6 100644 --- a/sys/src/9/pc64/memory.c +++ b/sys/src/9/pc64/memory.c @@ -386,6 +386,8 @@ lowraminit(void) x = PADDR(CPU0END); bda = (uchar*)KADDR(0x400); pa = ((bda[0x14]<<8)|bda[0x13])*KB; + if(pa > 640*KB) + pa = 640*KB; if(x < pa){ mapfree(&rmapram, x, pa-x); memset(KADDR(x), 0, pa-x); /* keep us honest */ -- cgit v1.2.3