git: rtld - do not allow both dynamic DTV index and static TLS offset

Sergey Zigachev szi at crater.dragonflybsd.org
Tue Oct 22 01:31:24 PDT 2024


commit ccab79cf9e490edd7b16267464a4873ffda1ddd9
Author: Sergey Zigachev <szi at dragonflybsd.org>
Date:   Tue Oct 22 13:00:23 2024 +0500

    rtld - do not allow both dynamic DTV index and static TLS offset
    
    * If we are allocating static offset for an object with dynamic index,
      return failure. In the opposite case, if dynamic index is requested for
      statically allocated TLS area, directly use the offset instead of
      setting the index.
      Taken from FreeBSD, commit 91880e07f605edb90339685bc934699a4344de3b.
    
    * While there, fix dtv timing race between threads.
    
    Co-authored-by: Matthew Dillon <dillon at apollo.backplane.com>
    Reported-by: Stephane Russell <srussell at prodigeinfo.qc.ca>

Summary of changes:
 libexec/rtld-elf/map_object.c   |  2 +-
 libexec/rtld-elf/rtld.c         | 26 +++++++++++++++++++++-----
 libexec/rtld-elf/rtld.h         |  3 ++-
 libexec/rtld-elf/x86_64/reloc.c |  4 ++--
 4 files changed, 26 insertions(+), 9 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ccab79cf9e490edd7b16267464a4873ffda1ddd9


-- 
DragonFly BSD source repository


More information about the Commits mailing list