<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>501348</bug_id>
          
          <creation_ts>2025-03-11 11:22:56 +0000</creation_ts>
          <short_desc>glibc built with -march=x86-64-v3 does not work due to ld.so memcmp</short_desc>
          <delta_ts>2025-03-12 13:59:56 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Developer tools</classification>
          <product>valgrind</product>
          <component>memcheck</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.kde.org/show_bug.cgi?id=485487</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Florian Weimer">fweimer</reporter>
          <assigned_to name="Julian Seward">jseward</assigned_to>
          <cc>mark</cc>
    
    <cc>pjfloyd</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2406660</commentid>
    <comment_count>0</comment_count>
      <attachid>179295</attachid>
    <who name="Florian Weimer">fweimer</who>
    <bug_when>2025-03-11 11:22:56 +0000</bug_when>
    <thetext>Created attachment 179295
Proposed memcmp interceptor

Same issue as bug 485487, but this time for `memcmp` instead of `strcmp`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2406993</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2025-03-12 13:05:45 +0000</bug_when>
    <thetext>Replicated with a dlopen of a library using RPATH.

# Invalid read of size 32
# at 0x40242D9: bcmp (memcmp-avx2-movbe.S:415)
# by 0x40069BD: fillin_rpath.isra.0 (dl-load.c:510)
# by 0x4006C6A: decompose_rpath (dl-load.c:654)
# by 0x4009375: _dl_map_object (dl-load.c:2040)
# by 0x4002934: openaux (dl-deps.c:64)
# by 0x40014E0: _dl_catch_exception (dl-catch.c:237)
# by 0x4002D97: _dl_map_object_deps (dl-deps.c:232)
# by 0x400CB70: dl_open_worker_begin (dl-open.c:613)
# by 0x40014E0: _dl_catch_exception (dl-catch.c:237)
# by 0x400C256: dl_open_worker (dl-open.c:778)
# by 0x40014E0: _dl_catch_exception (dl-catch.c:237)
# by 0x400C6B0: _dl_open (dl-open.c:880)

The string being compared is just 11 chars long.

It is pretty hard to replicate though any change in environment seems to hide it again.
But the patch does look correct and does resolve the issue by always using a simpler memcmp implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2407011</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2025-03-12 13:59:56 +0000</bug_when>
    <thetext>commit 9ffdeb4927b8505cc5a9ea54f608f4972166bb0e
Author: Mark Wielaard &lt;mark@klomp.org&gt;
Date:   Wed Mar 12 13:57:19 2025 +0100

    add_hardwired_spec for ld-linux-x86-64.so.2 memcmp
    
    With RPATH processing ld.so compiled for x86-64-v3 uses an optimized
    avx2 memcmp (bcmp) which causes (false postive) memcheck invalid reads
    of size 32 warnings.
    
    Fix this my adding a hardwire spec with a simpler memcmp for
    ld-linux-x86-64.so.2.
    
    https://bugs.kde.org/show_bug.cgi?id=501348
    
    Authored-by: Florian Weimer &lt;fweimer@redhat.com&gt;

And also on the VALGRIND_3_24_0_BRANCH as

commit 2c17a8a3e865816ee48e7f78148bbc7240c2a38c
Author: Mark Wielaard &lt;mark@klomp.org&gt;
Date:   Wed Mar 12 13:57:19 2025 +0100

    add_hardwired_spec for ld-linux-x86-64.so.2 memcmp
    
    With RPATH processing ld.so compiled for x86-64-v3 uses an optimized
    avx2 memcmp (bcmp) which causes (false postive) memcheck invalid reads
    of size 32 warnings.
    
    Fix this my adding a hardwire spec with a simpler memcmp for
    ld-linux-x86-64.so.2.
    
    https://bugs.kde.org/show_bug.cgi?id=501348
    
    Authored-by: Florian Weimer &lt;fweimer@redhat.com&gt;
    
    (cherry picked from commit 9ffdeb4927b8505cc5a9ea54f608f4972166bb0e)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>179295</attachid>
            <date>2025-03-11 11:22:56 +0000</date>
            <delta_ts>2025-03-11 11:22:56 +0000</delta_ts>
            <desc>Proposed memcmp interceptor</desc>
            <filename>valgrind-RHEL-82799.patch</filename>
            <type>text/plain</type>
            <size>2028</size>
            <attacher name="Florian Weimer">fweimer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2NvcmVncmluZC9tX3JlZGlyLmMgYi9jb3JlZ3JpbmQvbV9yZWRpci5jCmlu
ZGV4IGY5ZThkODgwMWExOTJlODkuLjY0ZWJlYTNiNjMwNGMyZDYgMTAwNjQ0Ci0tLSBhL2NvcmVn
cmluZC9tX3JlZGlyLmMKKysrIGIvY29yZWdyaW5kL21fcmVkaXIuYwpAQCAtMTQyNSw2ICsxNDI1
LDE1IEBAIHZvaWQgVkdfKHJlZGlyX2luaXRpYWxpc2UpICggdm9pZCApCiAgICAgICAgICBOVUxM
CiAjICAgICAgICBlbHNlCiAgICAgICAgICBjb21wbGFpbl9hYm91dF9zdHJpcHBlZF9nbGliY19s
ZHNvCisjICAgICAgICBlbmRpZgorICAgICAgKTsKKyAgICAgIGFkZF9oYXJkd2lyZWRfc3BlYygK
KyAgICAgICAgICJsZC1saW51eC14ODYtNjQuc28uMiIsICJtZW1jbXAiLAorICAgICAgICAgKEFk
ZHIpJlZHXyhhbWQ2NF9saW51eF9SRURJUl9GT1JfbWVtY21wKSwKKyMgICAgICAgIGlmbmRlZiBH
TElCQ19NQU5EQVRPUllfU1RSTEVOX1JFRElSRUNUCisgICAgICAgICBOVUxMCisjICAgICAgICBl
bHNlCisgICAgICAgICBjb21wbGFpbl9hYm91dF9zdHJpcHBlZF9nbGliY19sZHNvCiAjICAgICAg
ICBlbmRpZgogICAgICAgKTsKICAgIH0KZGlmZiAtLWdpdCBhL2NvcmVncmluZC9tX3RyYW1wb2xp
bmUuUyBiL2NvcmVncmluZC9tX3RyYW1wb2xpbmUuUwppbmRleCBlODk3OTYzYmUyMWE0NmFlLi4y
N2YxYjM1ZDJiMDg3NTUxIDEwMDY0NAotLS0gYS9jb3JlZ3JpbmQvbV90cmFtcG9saW5lLlMKKysr
IGIvY29yZWdyaW5kL21fdHJhbXBvbGluZS5TCkBAIC0yNDEsNiArMjQxLDI1IEBAIFZHXyhhbWQ2
NF9saW51eF9SRURJUl9GT1Jfc3RyY21wKToKIAlyZXQKIC5zaXplIFZHXyhhbWQ2NF9saW51eF9S
RURJUl9GT1Jfc3RyY21wKSwgLi1WR18oYW1kNjRfbGludXhfUkVESVJfRk9SX3N0cmNtcCkKIAor
Lmdsb2JhbCBWR18oYW1kNjRfbGludXhfUkVESVJfRk9SX21lbWNtcCkKKy50eXBlICAgVkdfKGFt
ZDY0X2xpbnV4X1JFRElSX0ZPUl9tZW1jbXApLCBAZnVuY3Rpb24KK1ZHXyhhbWQ2NF9saW51eF9S
RURJUl9GT1JfbWVtY21wKToKKwl4b3JsCSVlY3gsICVlY3gKKwlqbXAJMmYKKzE6CisJbW92emJs
CSglcmRpLCAlcmN4KSwgJWVheAorCW1vdnpibAkoJXJzaSwgJXJjeCksICVyOGQKKwlhZGRxCSQx
LCAlcmN4CisJc3VibAklcjhkLCAlZWF4CisJam5lCTNmCisyOgorCWNtcHEJJXJjeCwgJXJkeAor
CWpuZQkxYgorCXhvcmwJJWVheCwgJWVheAorMzoKKwlyZXQKKy5zaXplIFZHXyhhbWQ2NF9saW51
eF9SRURJUl9GT1JfbWVtY21wKSwgLi1WR18oYW1kNjRfbGludXhfUkVESVJfRk9SX21lbWNtcCkK
KwogLmdsb2JhbCBWR18oYW1kNjRfbGludXhfUkVESVJfRk9SX2luZGV4KQogLnR5cGUgICBWR18o
YW1kNjRfbGludXhfUkVESVJfRk9SX2luZGV4KSwgQGZ1bmN0aW9uCiBWR18oYW1kNjRfbGludXhf
UkVESVJfRk9SX2luZGV4KToKZGlmZiAtLWdpdCBhL2NvcmVncmluZC9wdWJfY29yZV90cmFtcG9s
aW5lLmggYi9jb3JlZ3JpbmQvcHViX2NvcmVfdHJhbXBvbGluZS5oCmluZGV4IGQwYmQ2Yjg1OTc0
MjI2M2UuLjNkMmY3ZTlmMzJiNzI5ZmUgMTAwNjQ0Ci0tLSBhL2NvcmVncmluZC9wdWJfY29yZV90
cmFtcG9saW5lLmgKKysrIGIvY29yZWdyaW5kL3B1Yl9jb3JlX3RyYW1wb2xpbmUuaApAQCAtODIs
NiArODIsNyBAQCBleHRlcm4gQWRkciBWR18oYW1kNjRfbGludXhfUkVESVJfRk9SX3Z0aW1lKTsK
IGV4dGVybiBBZGRyIFZHXyhhbWQ2NF9saW51eF9SRURJUl9GT1JfdmdldGNwdSk7CiBleHRlcm4g
VUludCBWR18oYW1kNjRfbGludXhfUkVESVJfRk9SX3N0cmxlbikoIHZvaWQqICk7CiBleHRlcm4g
SW50IFZHXyhhbWQ2NF9saW51eF9SRURJUl9GT1Jfc3RyY21wKSggdm9pZCosIHZvaWQqICk7Citl
eHRlcm4gSW50IFZHXyhhbWQ2NF9saW51eF9SRURJUl9GT1JfbWVtY21wKSggdm9pZCosIHZvaWQq
LCBTaXplVCApOwogZXh0ZXJuIENoYXIqIFZHXyhhbWQ2NF9saW51eF9SRURJUl9GT1JfaW5kZXgp
ICggY29uc3QgQ2hhciosIEludCApOwogI2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>