https://bugs.kde.org/show_bug.cgi?id=381805

            Bug ID: 381805
           Summary: arm32 needs ld.so index hardwire for new glibc
                    security fixes
           Product: valgrind
           Version: 3.13.0
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: m...@klomp.org
  Target Milestone: ---

Created attachment 106374
  --> https://bugs.kde.org/attachment.cgi?id=106374&action=edit
ARM hardwire for ld.so index function

Originally reported as https://bugzilla.redhat.com/show_bug.cgi?id=1466017

glibc added some security hardening adding (optimized) index/strchr calls in
the LD_PRELOAD path:

commit 6d0ba622891bed9d8394eef1935add53003b12e8
Author: Florian Weimer <fwei...@redhat.com>
Date:   Mon Jun 19 22:31:04 2017 +0200

    ld.so: Reject overly long LD_PRELOAD path elements

arm32 doesn't have an ld.so hardwire for index/strchr like other architectures
and so will always complain during early startup:

==9495== Conditional jump or move depends on uninitialised value(s)
==9495==    at 0x401CF84: index (in /usr/lib/ld-2.25.so)
==9495== 
==9495== Conditional jump or move depends on uninitialised value(s)
==9495==    at 0x401CF88: index (in /usr/lib/ld-2.25.so)

index/strchr is doing a word load from a partially-written stack-allocated
buffer, therefore accessing uninitialized data.  This is normal for an
optimized string function.  The uninitialized data does not affect the function
result.

This can be suppressed by adding a index hardwire for ld.so on arm32 like on
other arches. There even is already some commented out code to do that.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to