https://bugzilla.novell.com/show_bug.cgi?id=394216
Summary: kexec cannot unload the kdump kernel
Product: openSUSE 10.3
Version: Beta 1
Platform: PowerPC-64
OS/Version: All
Status: NEW
Severity: Major
Priority: P5 - None
Component: Kernel
AssignedTo: bnc-team-screening@forge.provo.novell.com
ReportedBy: bugproxy@us.ibm.com
QAContact: kernel-maintainers@forge.provo.novell.com
Found By: Third Party Developer/Partner
Partner ID: LTC 41619
=Comment: #0=================================================
Mohammed Omar - 2008-01-17 05:29 EDT
---Problem description:--
Kdump service not able to stop properly. It gives the message
" Unloading kdumpkexec_load (0 segments) failed: Invalid argument
failed" while running
service kdump stop.
--rpm used---
kexec-tools-1.101-139
---service kdump restart---
service kdump restart
Unloading kdumpkexec_load (0 segments) failed: Invalid argument
failed
Loading kdump get memory ranges:1
Modified cmdline:CRASH=1 root=/dev/sda6 quiet sysrq=1 xmon=off
elevator=deadline sysrq=1 reset_devices 2 elfcorehdr=39888K savemaxmem=3840M
segment[0].mem:0x2000000 memsz:7225344
segment[1].mem:0x26e4000 memsz:65536
segment[2].mem:0x26f4000 memsz:4096
segment[3].mem:0x26f5000 memsz:16384
segment[4].mem:0x26f9000 memsz:2441216
segment[5].mem:0xf710000 memsz:32768
done
----uname -a -------
Linux p55lp3 2.6.22.5-31-ppc64 #1 SMP 2007/09/21 22:29:00 UTC ppc64 ppc64 ppc64
GNU/Linux
------Hardware Environment---
Machine type : p55
Cpu type :power5
---Is this reproducible?--
Yes
-----More Information-------
When I replace KEXEC variable in /etc/init.d/kdump to point kexec of
kexec-tools-testing-20071017-rc.tar.gz, It works.
It properly loads and unloads the kernel.
=Comment: #1=================================================
Mohammed Omar - 2008-01-17 08:50 EDT
Latest kexec-tools rpm kexec-tools-1.101-150 from the factory also has this
issue.
--Regards
Omar M
=Comment: #4=================================================
Mohammed Omar - 2008-02-18 08:44 EDT
Sharyathi,
OpenSUSE-11.0-Alpha2 doesn't have the kdump kernel in repo.Probably need to
wait
for another release. I picked up the factory kernel(2.6.24-8-ppc64) from the
opensuse mirror, this version had kdump kernel, but after installing , it's
version doesn't match the FIRST kernel.So decided to wait till next release.
--uname -a-----
Linux p55lp3 2.6.24-6-ppc64 #1 SMP 2008/01/31 14:27:52 UTC ppc64 ppc64 ppc64
GNU/Linux
--Regards
Omar
=Comment: #17=================================================
Nagesh Sharyathi - 2008-05-21 04:21 EDT
Hi
This is what is I have understood till now, kexec tool calls kexec_load()
system
call as
====================
int k_unload (unsigned long kexec_flags)
{
int result;
result = kexec_load(NULL, 0, NULL, kexec_flags);
=====================
Where kexec flag is set to 0x1,
=====================
In the kernel compat_sys_kernel()
if ((flags & KEXEC_ARCH_MASK) == KEXEC_ARCH_DEFAULT)
return -EINVAL; <== exits from here
flags & Kexec_ARCH_MASK equals 0x0 and hence matches with KEXEC_ARCH_DEFAULT
(0x0) and hence it exits with EINVAL.
=====================
I need to understand what is the best way to fix the problem.
Thanks
Sharyathi
=Comment: #19=================================================
Nagesh Sharyathi - 2008-05-23 07:39 EDT
Fix to the problem
I am attaching the fix to the problem. It has been mirrored to lkml and waiting
on response.
=Comment: #21=================================================
Michael Ranweiler - 2008-05-23 16:34 EDT
Patch to fix problem with service kdump start
Hi
Before debugging the problem I came to know service kdump start was not
working. This patch is just a hack to make it work. Hope it helps
Thanks
Sharyathi
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.