public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: "evvers at ya dot ru" <sourceware-bugzilla@sourceware.org>
To: elfutils-devel@sourceware.org
Subject: [Bug libdw/28720] UBSan: member access within misaligned address 0x7f6e8d80f142 for type 'struct Elf32_Phdr', which requires 4 byte alignment
Date: Tue, 04 Jan 2022 18:58:47 +0000	[thread overview]
Message-ID: <bug-28720-10460-ZI0VbdJ4ni@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-28720-10460@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=28720

--- Comment #8 from Evgeny Vereshchagin <evvers at ya dot ru> ---
(In reply to Mark Wielaard from comment #7)
> commit 9f70a762ab88ceebb8a48a7c9c3ce39ff7f205af
> Author: Mark Wielaard <mark@klomp.org>
> Date:   Fri Dec 24 02:01:32 2021 +0100
> 
>     libdwfl: Calculate addr to read by hand in link_map.c read_addrs.
>     
>     The gcc undefined sanitizer doesn't like the trick we use to calculate
>     the (possibly) unaligned addresses to read. So calculate them by hand
>     as unsigned char pointers.
>     
>     https://sourceware.org/bugzilla/show_bug.cgi?id=28720
>     
>     Signed-off-by: Mark Wielaard <mark@klomp.org>
> 
> Which should this particular issue.


I'm not sure but it seems it can still be triggered with that commit applied:
```
$ git log --oneline -5
9f70a762 (HEAD -> master, origin/master, origin/HEAD) libdwfl: Calculate addr
to read by hand in link_map.c read_addrs.
5b490793 libdwfl: Call xlatetom on aligned buffers in dwfl_link_map_report
1cf73965 libdwfl: Make sure dwfl_elf_phdr_memory_callback returns at least
minread
4fdd8588 libdwfl: Always clean up build_id.memory
8f8c78cc libdwfl: Handle unaligned Nhdr in dwfl_segment_report_module

$ autoreconf -i -f
$ ./configure --enable-maintainer-mode --enable-sanitize-undefined
$ make -j$(nproc) V=1

$ UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1
LD_LIBRARY_PATH="./libdw;./libelf" ./src/stack --core
./attachment.cgi\?id\=13875
gelf_xlate.h:48:1: runtime error: member access within misaligned address
0x7f5cd5612077 for type 'struct Elf32_Dyn', which requires 4 byte alignment
0x7f5cd5612077: note: pointer points here
 00 10 00 00 00  00 00 00 00 00 02 01 00  00 00 00 00 00 7f 45 46  4c 46 00 00
01 01 00 01  00 08 00
             ^
    #0 0x7f5cd74851fc in Elf32_cvt_Dyn
/home/vagrant/elfutils/libelf/gelf_xlate.h:48
    #1 0x7f5cd7484363 in elf32_xlatetom
/home/vagrant/elfutils/libelf/elf32_xlatetom.c:104
    #2 0x7f5cd73b4fbf in dwfl_segment_report_module
/home/vagrant/elfutils/libdwfl/dwfl_segment_report_module.c:848
    #3 0x7f5cd73b9fc9 in _new.dwfl_core_file_report
/home/vagrant/elfutils/libdwfl/core-file.c:563
    #4 0x402fa0 in parse_opt /home/vagrant/elfutils/src/stack.c:595
    #5 0x7f5cd6617471 in argp_parse (/lib64/libc.so.6+0x11e471)
    #6 0x4026aa in main /home/vagrant/elfutils/src/stack.c:695
    #7 0x7f5cd652655f in __libc_start_call_main (/lib64/libc.so.6+0x2d55f)
    #8 0x7f5cd652660b in __libc_start_main_impl (/lib64/libc.so.6+0x2d60b)
    #9 0x402944 in _start (/home/vagrant/elfutils/src/stack+0x402944)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior gelf_xlate.h:48:1 in
```

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2022-01-04 18:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22  0:35 [Bug libdw/28720] New: " evvers at ya dot ru
2021-12-22  1:00 ` [Bug libdw/28720] " evvers at ya dot ru
2021-12-24  1:10 ` mark at klomp dot org
2021-12-24  8:05 ` evvers at ya dot ru
2021-12-24  8:06 ` evvers at ya dot ru
2021-12-24  8:07 ` evvers at ya dot ru
2021-12-24  8:17 ` evvers at ya dot ru
2022-01-03 23:42 ` mark at klomp dot org
2022-01-04 18:58 ` evvers at ya dot ru [this message]
2022-01-04 19:21 ` evvers at ya dot ru
2022-01-04 21:37 ` mark at klomp dot org
2022-01-04 22:02 ` evvers at ya dot ru
2022-01-06  0:51 ` evvers at ya dot ru
2022-01-06 15:55 ` mark at klomp dot org
2022-01-06 16:41 ` mark at klomp dot org
2022-01-06 17:04 ` mark at klomp dot org
2022-01-06 17:36 ` evvers at ya dot ru
2022-01-06 20:52 ` evvers at ya dot ru
2022-01-07 16:39 ` mark at klomp dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-28720-10460-ZI0VbdJ4ni@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=elfutils-devel@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).