Description of problem:
kdump initialization always fails on x86_64
Version-Release number of selected component:
2.6.18-15.el5 or later
Always on x86_64
Steps to Reproduce:
0. setup kdump
1. pass "crashkernel=128M@16M" boot parameter to kernel
2. do "service kdump start"
3. grep "Crash" /proc/iomem
The step 2 fails.
The step 3 shows "00000000-00000000 : Crash kernel".
dmesg shows "Memory for crash kernel (0x1000000 to 0x8ffffff) notwithin
permissible range" "disabling kdump".
The step 2 succeeds.
The step 3 shows "01000000-08ffffff : Crash kernel".
This is a regression introduced since 2.6.18-15.el5.
The following patch is a suspect.
The patch adds a code to check the boundary based on max_low_pfn.
The code for x86_64 is implemented in setup_arch(), which is called
earlier than mem_init(), which sets max_low_pfn.
So the check always fails.
Created attachment 156293 [details]
use end_pfn instead of uninitialized max_low_pfn
max_low_pfn is not yet initialized in setup_arch().
Using end_pfn would solve the issue.
Tested on x86_64.
*** This bug has been marked as a duplicate of 242648 ***