----- "Reinoud Koornstra" <koornstra(a)hp.com> wrote:
> -----Original Message-----
> From: crash-utility-bounces(a)redhat.com [mailto:crash-utility-
> bounces(a)redhat.com] On Behalf Of Dave Anderson
> Sent: Thursday, August 12, 2010 12:18 PM
> To: Discussion list for crash utility usage, maintenance and
> development
> Subject: Re: [Crash-utility] crash: invalid structure member offset
>
>
> ----- "Reinoud Koornstra" <koornstra(a)hp.com> wrote:
>
> > Thanks,
> >
> > Using crash 5.0.6 worked nicely.
> > However, I can't really look at a lot because of a bad EIP code.
> >
> > [ 726.601381] 802.1Q VLAN Support v1.8 Ben Greear
<greearb(a)candelatech.com>
> > [ 726.601384] All bugs added by David S. Miller <davem(a)redhat.com>
> > [ 726.646757] BUG: unable to handle kernel NULL pointer dereference at
00000000
> > [ 726.732410] IP: [<00000000>]
> > [ 726.766933] *pdpt = 0000000000431001 *pde = 0000000000000000
> > [ 726.766937] Oops: 0010 [#1] SMP
> > [ 726.790844] Modules linked in: 8021q iptable_filter ip_tables
> > x_tables ip_gre af_packet i2c_dev i2c_qs i2c_algo_bit i2c_core garp
> > stp llc ixgbe inet_lro psmouse serio_raw intel_agp shpchp iTCO_wdt
> > pci_hotplug iTCO_vendor_support agpgart ext3 jbd mbcache sd_mod
> > crc_t10dif sg ata_piix ata_generic ahci libata scsi_mod ehci_hcd
> > uhci_hcd usbcore [last unloaded: 8021q]
> > [ 726.790844]
> > [ 726.790844] Pid: 4, comm: ksoftirqd/0 Tainted: P (2.6.27)
> > [ 726.790844] EIP: 0060:[<00000000>] EFLAGS: 00010202 CPU: 0
> > [ 726.790844] EIP is at 0x0
> > [ 726.790844] EAX: e7f4c498 EBX: 00000000 ECX: 77470000 EDX: e7f4c498
> > [ 726.790844] ESI: 4bd1d300 EDI: 00000007 EBP: f784df88 ESP: f784df78
> > [ 726.790844] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
> > [ 726.790844] Process ksoftirqd/0 (pid: 4, ti=f784c000 task=f783a5b0
task.ti=f784c000)
> > [ 726.790844] Stack: 40168080 00000001 403daaa0 4042c500 f784df90 401681bf
f784dfb0 4012fe92
> > [ 726.790844] 0000000a 00000000 40429340 00000246 00000000 40130120
f784dfbc 4012ff55
> > [ 726.790844] 4042c500 f784dfcc 40130182 fffffffc 00000000
> f784dfe0 4013e707 4013e6c0
> > [ 726.790844] Call Trace:
> > [ 726.790844] [<40168080>] ? __rcu_process_callbacks+0x70/0x190
> > [ 726.790844] [<401681bf>] ? rcu_process_callbacks+0x1f/0x40
> > [ 726.790844] [<4012fe92>] ? __do_softirq+0x82/0x100
> > [ 726.790844] [<40130120>] ? ksoftirqd+0x0/0xe0
> > [ 726.790844] [<4012ff55>] ? do_softirq+0x45/0x50
> > [ 726.790844] [<40130182>] ? ksoftirqd+0x62/0xe0
> > [ 726.790844] [<4013e707>] ? kthread+0x47/0x80
> > [ 726.790844] [<4013e6c0>] ? kthread+0x0/0x80
> > [ 726.790844] [<4010494f>] ? kernel_thread_helper+0x7/0x10
> > [ 726.790844] =======================
> > [ 726.790844] Code: Bad EIP value.
> > [ 726.790844] EIP: [<00000000>] 0x0 SS:ESP 0068:f784df78
> >
> > So now I can't figure out the piece of code where this dereferencing
> > occurred. :(
>
> Yeah, I don't know why the exception frame didn't displayed below in the
> bt output, but I think it may have been confusion due the kernel text
> region starting a 4000000 (instead of the typical 3G/1G user/kernel virtual
> address split). I'm guessing your kernel is configured as 1G/3G user-kernel?
That's right, the kernel is configured as 1G/3G user/kernel.
> (I've never seen that before...)
It's a weird config indeed. I'll try rewriting some stuff so it
consumes way less memory so a normal kernel/user split can be used.
Never the less, why the pointer became null remains unsolved for the moment. :-)
Would the user/kernel split also be an issue in 64 bit?
I wouldn't expect you'd ever need to modify the user-kernel split in x86_64,
if that's what you're asking? The 64-bit virtual address range is so vast
that it's hard to conceive of a need to do anything like that.
Dave