Bug 242817

Summary: [regression] kdump initialization always fails on x86_64
Product: Red Hat Enterprise Linux 5 Reporter: Jun'ichi Nomura (Red Hat) <jnomura>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED DUPLICATE QA Contact: Martin Jenner <mjenner>
Severity: high Docs Contact:
Priority: high    
Version: 5.1CC: coughlan, kueda, prarit
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-07 14:27:28 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:
Attachments:
Description Flags
use end_pfn instead of uninitialized max_low_pfn none

Description Jun'ichi Nomura (Red Hat) 2007-06-05 22:56:34 UTC
Description of problem:
  kdump initialization always fails on x86_64

Version-Release number of selected component:
  2.6.18-15.el5 or later

How reproducible:
  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

Actual results:
  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".

Expected results:
  The step 2 succeeds.
  The step 3 shows "01000000-08ffffff : Crash kernel".

Hardware info:

Additional Info:
  This is a regression introduced since 2.6.18-15.el5.

  The following patch is a suspect.
    linux-2.6-kdump-bounds-checking-for-crashkernel-args.patch

  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.

Comment 1 Jun'ichi Nomura (Red Hat) 2007-06-05 23:01:39 UTC
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.

Comment 2 Jun'ichi Nomura (Red Hat) 2007-06-07 14:27:28 UTC

*** This bug has been marked as a duplicate of 242648 ***