lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ