|
@@ -206,7 +206,8 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
|
|
|
#ifdef CONFIG_BLK_DEV_INITRD
|
|
|
/* Now have to check initial ramdisk, so that bootmap does not overwrite it */
|
|
|
if (sparc_ramdisk_image) {
|
|
|
- sparc_ramdisk_image -= KERNBASE;
|
|
|
+ if (sparc_ramdisk_image >= (unsigned long)&_end - 2 * PAGE_SIZE)
|
|
|
+ sparc_ramdisk_image -= KERNBASE;
|
|
|
initrd_start = sparc_ramdisk_image + phys_base;
|
|
|
initrd_end = initrd_start + sparc_ramdisk_size;
|
|
|
if (initrd_end > end_of_phys_memory) {
|