[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1370629568.9844.87.camel@gandalf.local.home>
Date: Fri, 07 Jun 2013 14:26:08 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: "Steinar H. Gunderson" <sgunderson@...foot.com>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
linux-kernel@...r.kernel.org, davem@...emloft.net,
netdev@...r.kernel.org, Rusty Russell <rusty@...tcorp.com.au>,
Pravin B Shelar <pshelar@...ira.com>
Subject: Re: NULL pointer dereference when loading the gre module
(3.10.0-rc4)
On Fri, 2013-06-07 at 19:52 +0200, Steinar H. Gunderson wrote:
> On Fri, Jun 07, 2013 at 12:12:23PM -0400, Steven Rostedt wrote:
> >> Ffffffffa0e76000 u ip_tunnel_init_net [ip_gre]
> > What do you get if you do an objdump -Dr ip_gre.ko
> >
> > And then look for ipgre_init, and then subtract 0xb053 (45139) from its
> > address. As that is: ffffffffa0e81055 - ffffffffa0e76002, then see if
> > that object file has anything in that location.
>
> pannekake:~> objdump -Dr /lib/modules/3.10.0-rc4/kernel/net/ipv4/ip_gre.ko | grep ipgre_init
> 0000000000000000 <ipgre_init_net>:
> 0: 8b 35 00 00 00 00 mov 0x0(%rip),%esi # 6 <ipgre_init_net+0x6>
> 13: e8 00 00 00 00 callq 18 <ipgre_init_net+0x18>
>
> Ie., the symbol doesn't show up in the disassembly (for whatever reason).
Ah, that's because of this: module_init(ipgre_init); Where it makes it
into:
00000000 <init_module>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 53 push %ebx
4: 83 ec 08 sub $0x8,%esp
7: c7 04 24 00 00 00 00 movl $0x0,(%esp)
a: R_386_32 .rodata.str1.4
We can use ipgre_tap_init_net, and the offset of 0xb032 (45106) as that
was 0xffffffffa0e5d034 - 0xffffffffa0e52002. Do you have CONFIG_NET_NS
set?
You can also cat /proc/modules. It gives you where the modules are
located.
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists