From: David Wilder <dwilder@us.ibm.com>
To: Linuxppc-dev@ozlabs.org
Subject: Unable to handle kernel paging request in show_instructions
Date: Mon, 19 Jun 2006 17:42:07 -0700 [thread overview]
Message-ID: <4497445F.50700@us.ibm.com> (raw)
I ran into the following problem during Oops processing:
Oops: Exception in kernel mode, sig: 4 [#1]
SMP NR_CPUS=128 NUMA PSERIES LPAR
Modules linked in: pitrace sg scsi_mod nfs lockd nfs_acl sunrpc ipv6
apparmor aa match_pcre loop dm_mod tg3
NIP: D000000000022014 LR: C000000000018FE4 CTR: C00000000036C718
REGS: c00000000043faf0 TRAP: 0700 Tainted: G U
(2.6.16.16-1.6-ppc64-wilder)
MSR: 8000000000089432 <EE,ME,IR,DR> CR: 24000088 XER: 000FFFFF
TASK = c00000000048a660[0] 'swapper' THREAD: c00000000043c000 CPU: 0
GPR00: C000000000018FE4 C00000000043FD70 C000000000624420 0000000000000000
GPR04: C00000000048A990 0000000000006DFF 0000000024000082 C00000000000F0B0
GPR08: 0000000000000000 C0000000004351C0 0000000001021A00 C000000001456BC0
GPR12: D0000000004CC2B8 C00000000048AE80 0000000000000000 0000000000000000
GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20: 4000000000400000 C00000000042BA00 C00000000042BEA8 C00000000042BC70
GPR24: C00000000048AE80 000000000082BA00 0000000000000000 C000000000000000
GPR28: 00000000FFFFFFFF C000000000629070 C0000000004C7BC8 C00000000F9F89D0
NIP [D000000000022014] 0xd000000000022014
LR [C000000000018FE4] .default_idle+0x98/0xcc
Call Trace:
[C00000000043FD70] [C000000000018FE4] .default_idle+0x98/0xcc (unreliable)
[C00000000043FE00] [C000000000018F38] .cpu_idle+0x40/0x54
[C00000000043FE70] [C000000000009274] .rest_init+0x44/0x5c
[C00000000043FEF0] [C0000000003FC75C] .start_kernel+0x270/0x288
[C00000000043FF90] [C000000000008594] .start_here_common+0x88/0x8c
Instruction dump:
>>>Unable to handle kernel paging request for data at address
0xd000000000021fe4
>>>Faulting instruction address: 0xc00000000036b960
I don't care about the original oops, only the second fault because it
prevents kdump from starting.
The problem occures in show_instructions(). Show_instructions() takes
the NIP (D00000000002201) and subtracts some number so it points several
instructs before the failing instructions. In this case the new value
is on a previous page and that page is not valid (it is not mapped).
When the new NIP is referenced we get a second fault.
show_instructions tries to validate addresses by checking if it is the
kernel segment (0xc.....) or the first vmalloc segment (0xD.......).
But in this case the validation passes even though the address is
invalid. Any ideas how to fix this? Is there a easy way to validate
if a page is valid before accessing it?
--
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA
dwilder@us.ibm.com
(503)578-3789
next reply other threads:[~2006-06-20 0:42 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-20 0:42 David Wilder [this message]
2006-06-20 0:44 ` Unable to handle kernel paging request in show_instructions Arnd Bergmann
2006-06-20 13:47 ` Anton Blanchard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4497445F.50700@us.ibm.com \
--to=dwilder@us.ibm.com \
--cc=Linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).