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: <20100609083559.GC5875@cr0.nay.redhat.com>
Date:	Wed, 9 Jun 2010 16:35:59 +0800
From:	Américo Wang <xiyou.wangcong@...il.com>
To:	Alan <alan@...eserver.org>
Cc:	Américo Wang <xiyou.wangcong@...il.com>,
	Michal Marek <mmarek@...e.cz>, linux-kernel@...r.kernel.org
Subject: Re: Additional info on modpost segfault

On Tue, Jun 08, 2010 at 11:24:18AM -0700, Alan wrote:
>On Tue, 2010-06-08 at 13:51 +0800, Américo Wang wrote: 
>> On Mon, Jun 07, 2010 at 09:59:39AM -0700, Alan wrote:
>> >On Fri, 2010-06-04 at 09:22 +0200, Michal Marek wrote: 
>> >> On 4.6.2010 06:51, Américo Wang wrote:
>> >> > On Thu, Jun 03, 2010 at 08:10:30PM -0700, alan wrote:
>> >> >> Missed adding the actual segfault message:
>> >> >>
>> >> >>  LD      drivers/usb/built-in.o
>> >> >>  LD      drivers/built-in.o
>> >> >>  LD      vmlinux.o
>> >> >>  MODPOST vmlinux.o
>> >> >> /bin/sh: line 1: 20665 Segmentation fault      (core dumped)
>> >> >> scripts/mod/modpost -o
>> >> >> /home/alan/GitTrees/linux-2.6-mid-ref/Module.symvers -S vmlinux.o
>> >> >> make[1]: *** [vmlinux.o] Error 139
>> >> >> make: *** [vmlinux.o] Error 2
>> >> >>
>> >> >> I have looked at the gcc 4.4.4 changelog and I can't see anything
>> >> >> that should cause this.
>> >> >>
>> >> > 
>> >> > Hmm, you need to find which program segfaults here.
>> >> 
>> >> It's the modpost command run on vmlinux.o. Alan, can you try
>> >> $ gdb --args scripts/mod/modpost -o Module.symvers -S vmlinux.o
>> >> (gdb) r
>> >> (wait for the segfault)
>> >> (gdb) bt full
>> >> 
>> >> and post the backtrace?
>> >
>> >Don't know if this will help much.
>> >
>> >This GDB was configured as "x86_64-redhat-linux-gnu".
>> >For bug reporting instructions, please see:
>> ><http://www.gnu.org/software/gdb/bugs/>...
>> >Reading symbols
>> >from /home/alan/GitTrees/linux-2.6-mid-ref/scripts/mod/modpost...(no
>> >debugging symbols found)...done.
>> >(gdb) r
>> >Starting
>> >program: /home/alan/GitTrees/linux-2.6-mid-ref/scripts/mod/modpost -o
>> >Module.symvers -S vmlinux.o
>> >
>> >Program received signal SIGSEGV, Segmentation fault.
>> >0x0000000000403711 in main ()
>> >(gdb) bt full
>> >#0  0x0000000000403711 in main ()
>> >No symbol table info available.
>> >
>> >Trying to get it to compile with debugging info.
>> >
>> 
>> Try to append "-g" to HOSTCFLAGS in the top Makefile. ;)
>
>Thanks. Tried CFLAGS and that did not work...
>
>Here is the backtrace:
>(gdb) bt full
>#0  read_symbols (argc=5, argv=0x7fffffffe198) at
>scripts/mod/modpost.c:1564
>        license = <value optimized out>
>        info = {size = 209695023, hdr = 0x7fffeb263000, 
>          sechdrs = 0x7ffff48fcc2c, symtab_start = 0x7ffff7863e2c, 
>          symtab_stop = 0x7ffff794341c, export_sec = 37, 
>          export_unused_sec = 0, export_gpl_sec = 48, 
>          export_unused_gpl_sec = 0, export_gpl_future_sec = 0, 
>          strtab = 0x7ffff794341c "", modinfo = 0x0, modinfo_len = 0}
>        sym = <value optimized out>
>        symname = <value optimized out>
>        version = <value optimized out>
>        mod = 0x610010
>#1  main (argc=5, argv=0x7fffffffe198) at scripts/mod/modpost.c:1999
>        mod = <value optimized out>
>        buf = {p = 0x0, pos = 0, size = 0}
>        kernel_read = <value optimized out>
>        module_read = <value optimized out>
>        dump_write = 0x7fffffffe4ed "Module.symvers"
>        opt = <value optimized out>
>        err = <value optimized out>
>        extsym_iter = <value optimized out>
>        extsym_start = <value optimized out>
>
>The line is does not like is:
>
>  read_symbols(argv[optind++]);
>
>Not certain why...

Hmm, it seems the segfault happens at 'license = get_modinfo(...)'?
I can't spot any bug around that.

If I were you, I would do a step by step debug with gdb.

Thanks!
--
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