Bug 49808

Summary: IA-64 Linux is stopped by using commands control EFI mem.
Product: [Retired] Red Hat Linux Reporter: Shinya Narahara <naraha_s>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: high Docs Contact:
Priority: high    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-07-24 07:24:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Shinya Narahara 2001-07-24 07:24:21 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [ja] (WinNT; U)

Description of problem:
IA-64 Linux is stopped or dumped core by using
commands control EFI mem, with kernel-2.4.3-12.


How reproducible:
Sometimes

Steps to Reproduce:
1.boot the kernel 2.4.3-12
2.execute commands below:
	# efibootmgr -c -L 'Red Hat Linux' -p 1
	# hwclock --systohc
3.


Actual Results:  Core dump, kernel panic, stop or hungup.


Expected Results:  works good anytime.


Additional info:

This problem is related with BIOS(PAL/SAL) version and
physical memory size. But this is certainly kernel bug,
and we believe this should be fixed.
We guess this is not fixed even in 2.4.6-2.4.

CPU:	IA-64(1 or more)
Mem:	2G
kernel:	2.4.3-12(smp/nonsmp)
Cause:
	EFI map is below on 2G mem environment.

	Type       Start            End               # Pages          Attributes
	available  0000000000100000-000000007F932FFF  000000000007F833 0000000000000009
	RT_data    000000007F933000-000000007F933FFF  0000000000000001 8000000000000009

	and initrd is loaded onto 0x000000007F920000-0x000000007F932FFF.
	free_initrd_mem() is freed pages belong to 0x000000007F932FFF,
	with 0x000000007F933000-0x000000007F933FFF. This is
	EFI work area, so then conflicts be happened between
	kernel and EFI.

Quick hack:
We don't have confidence, but this patch works well on our test.
	--- arch/ia64/mm/init.c.orig    Tue Jul 24 09:16:33 2001
	+++ arch/ia64/mm/init.c Tue Jul 24 10:43:07 2001
	@@ -136,6 +136,7 @@
		* initrd_start and keep initrd_end as is.
		*/
		start = PAGE_ALIGN(start);
	+	end = end & PAGE_MASK;
	
		if (start < end)
			printk ("Freeing initrd memory: %ldkB freed\n", (end - start) >> 10);

Comment 1 Arjan van de Ven 2001-09-07 10:16:21 UTC
This is in the 2.4.9 kernel indeed; the fix is correct.