Package: libdw1
Version: 0.143-1
Severity: normal

When run with this simple file:

    probe module("snd").function("snd_open").call {}

and when snd.ko is a module that has debuginfo produced by make-kpkg and
also contains .gnu_debuglink section that points to the debuginfo,
systemtap segfaults:

  % SYSTEMTAP_DEBUGINFO_PATH="/usr/lib/debug" stap test.stp
  WARNING: side-effect-free probe 'probe_1819': keyword at test.stp:1:1
   source: probe module("snd").function("snd_open").call {}
         ^
  zsh: segmentation fault  SYSTEMTAP_DEBUGINFO_PATH="/usr/lib/debug" stap 
test.stp

Segfault location is in libc, via libelf, via libdw (elfutils and systemtap are
compiled with noopt and nostrip):

#0  0x00007ffff6c6cd27 in *__GI_memmove (dest=0x5, src=0x7fffffffaeb0, len=0) 
at memmove.c:79
#1  0x00007ffff7980526 in elf64_xlatetof (dest=0x7fffffffae50, 
src=0x7fffffffae80, encode=1) at elf32_xlatetof.c:118
#2  0x00007ffff7990826 in gelf_xlatetof (elf=0x182b020, dest=0x7fffffffae50, 
src=0x7fffffffae80, encode=1) at gelf_xlatetof.c:71
#3  0x00007ffff7bb9818 in relocate (offset=5, addend=0x7fffffffaf90, rtype=11, 
symndx=12) at relocate.c:436                     
#4  0x00007ffff7bb914c in relocate_section (ehdr=0x7fffffffb160, shstrndx=41, 
reloc_symtab=0x7fffffffb120, scn=0x182b320, shdr=0x7fffffffb0e0, 
    tscn=0x182b268, debugscn=false, partial=true) at relocate.c:501             
                                                               
#5  0x00007ffff7bb9a3e in __libdwfl_relocate (mod=0x17d8950, 
debugfile=0x182b020, debug=false) at relocate.c:609                             
  
#6  0x00007ffff7bbf042 in dwfl_module_getelf (mod=0x17d8950, 
loadbase=0x7fffffffb2e0) at dwfl_module_getelf.c:76                             
  
#7  0x000000000048db16 in get_unwind_data (m=0x17d8950, 
debug_frame=0x7fffffffb630, eh_frame=0x7fffffffb620, debug_len=0x7fffffffb628,  
       
    eh_len=0x7fffffffb618, eh_addr=0x7fffffffb610) at translate.cxx:4495        
                                                               
#8  0x000000000048e9d8 in dump_unwindsyms (m=0x17d8950, userdata=0x17d8960, 
name=0x17ecca0 "snd", base=65536, arg=0x7fffffffb8b0)              
    at translate.cxx:4773                                                       
                                                               
#9  0x00007ffff7bbd141 in dwfl_getmodules (dwfl=0x17d8850, callback=0x48dd68 
<dump_unwindsyms>, arg=0x7fffffffb8b0, offset=0)                  
    at dwfl_getmodules.c:103                                                    
                                                               
#10 0x00000000004856f2 in emit_symbol_data (s=...) at translate.cxx:5049        
                                                               
#11 0x00000000004a38ba in translate_pass (s=...) at translate.cxx:5371          
                                                               
#12 0x000000000040e53d in main (argc=2, argv=0x7fffffffe248) at main.cxx:1153   
                                                               
(gdb) up
#1  0x00007ffff7980526 in elf64_xlatetof (dest=0x7fffffffae50, 
src=0x7fffffffae80, encode=1) at elf32_xlatetof.c:118
118             memmove (dest->d_buf, src->d_buf, src->d_size);

Note dest=0x5 in memmove. This is value of dest->d_buf in #1, #2.

This bug does not happen when unstripped modules are used.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-rc6 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libdw1 depends on:
ii  libbz2-1.0             1.0.5-3           high-quality block-sorting file co
ii  libc6                  2.10.1-7          GNU C Library: Shared libraries
ii  libelf1                0.143-1           library to read and write ELF file
ii  zlib1g                 1:1.2.3.3.dfsg-15 compression library - runtime

libdw1 recommends no packages.

libdw1 suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to