From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.0 required=3.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id DB0671F5A2 for ; Sat, 8 Feb 2020 19:01:07 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:message-id:date:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=d3T GJW/LcUuq64NzoTiWg+V+8ltwfKgxu2YLBXLcSjNTDoM2tSwLAEVmK2B8uR0gj58 q2SrwrJccyJjZ8U2uRPoHkyOZzcmLBFtVY8sd1sD3L4j+QyRHJbRwMlvhRC4U6Yi K+PdLoZs0X1uVc/cV+KztgD2GfRURhIwfxSTFoRA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:message-id:date:mime-version :content-type:content-transfer-encoding; s=default; bh=FVJbhzss3 O3T/H7iGvXKXzs7bhg=; b=o8yh/tqqx4LEEP44h2PyyNTYi/VyvkjnNMFXKVnVS aKIfL+x/HefBm4URySdLSy1v1TRYlJLKqVyGSU4sl/Q2+WuBZq+lUTtpAHS1Kd/s b40Scs7hJA3L4cwaAr1Djob8atj0eQBj5ZzzJAIpeE7EL6N8NX8MUXgsH+Va+6Fa Fo= Received: (qmail 65683 invoked by alias); 8 Feb 2020 19:01:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 65610 invoked by uid 89); 8 Feb 2020 19:00:53 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: us-smtp-1.mimecast.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1581188450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n/dBXWmy05e4qllyn9sm8Fgf46Yr4WBqRkrmGX98cFc=; b=X95BrJKbBcLLhbY5MHZ/Mr9pdetiMK0i7MG19MQvZOwfll/t4ohdS2SQ7fL4iR4Zp2c9x5 N0QOZZczaKsiQd+pLo2T2y/q3LoUqeSeBmQaHuPZL3O9OhNPEd737CQJxuPy+gPQRbRb0t RGWAAdx54dZU4UdOt2dBcDFjc0O9U44= From: Florian Weimer To: libc-alpha@sourceware.org Subject: [PATCH 0/4] Avoid malloc symbol interposition in the dynamic loader [BZ #25486] Message-Id: Date: Sat, 08 Feb 2020 20:00:40 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: quoted-printable I initially wanted to close this bug, but Carlos suggested to treat it as an RFE. The changes seem a net improvement to me. This does not completely resolve the issue because we use symbol interposition for other, more obscure things. Florian Weimer (4): elf: Introduce the rtld-stubbed-symbols makefile variable elf: Extract _dl_sym_post, _dl_sym_find_caller_map from elf/dl-sym.c Remove weak declaration of free from ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486] elf/Makefile | 26 +++-- elf/Versions | 3 - elf/dl-lookup.c | 4 +- elf/dl-minimal.c | 96 +++++++++++++--- elf/dl-sym-post.h | 106 ++++++++++++++++++ elf/dl-sym.c | 86 +------------- elf/rtld.c | 12 ++ include/inline-hashtab.h | 15 +-- include/libc-symbols.h | 9 +- include/malloc.h | 2 + include/rtld-malloc.h | 85 ++++++++++++++ include/stdlib.h | 2 + sysdeps/generic/localplt.data | 6 - sysdeps/mach/hurd/i386/ld.abilist | 4 - sysdeps/mach/hurd/i386/localplt.data | 6 - sysdeps/unix/sysv/linux/aarch64/ld.abilist | 4 - sysdeps/unix/sysv/linux/aarch64/localplt.data | 6 - sysdeps/unix/sysv/linux/alpha/ld.abilist | 4 - sysdeps/unix/sysv/linux/alpha/localplt.data | 6 - sysdeps/unix/sysv/linux/arm/be/ld.abilist | 4 - sysdeps/unix/sysv/linux/arm/le/ld.abilist | 4 - sysdeps/unix/sysv/linux/arm/localplt.data | 6 - sysdeps/unix/sysv/linux/csky/ld.abilist | 4 - sysdeps/unix/sysv/linux/csky/localplt.data | 6 - sysdeps/unix/sysv/linux/hppa/ld.abilist | 4 - sysdeps/unix/sysv/linux/hppa/localplt.data | 6 - sysdeps/unix/sysv/linux/i386/ld.abilist | 4 - sysdeps/unix/sysv/linux/i386/localplt.data | 6 - sysdeps/unix/sysv/linux/ia64/ld.abilist | 4 - sysdeps/unix/sysv/linux/ia64/localplt.data | 6 - .../unix/sysv/linux/m68k/coldfire/ld.abilist | 4 - .../sysv/linux/m68k/coldfire/localplt.data | 6 - .../unix/sysv/linux/m68k/m680x0/ld.abilist | 4 - .../unix/sysv/linux/m68k/m680x0/localplt.data | 6 - sysdeps/unix/sysv/linux/microblaze/ld.abilist | 4 - .../unix/sysv/linux/microblaze/localplt.data | 6 - .../unix/sysv/linux/mips/mips32/ld.abilist | 4 - .../sysv/linux/mips/mips64/n32/ld.abilist | 4 - .../sysv/linux/mips/mips64/n64/ld.abilist | 4 - sysdeps/unix/sysv/linux/nios2/ld.abilist | 4 - sysdeps/unix/sysv/linux/nios2/localplt.data | 6 - .../linux/powerpc/powerpc32/fpu/localplt.data | 6 - .../sysv/linux/powerpc/powerpc32/ld.abilist | 4 - .../powerpc/powerpc32/nofpu/localplt.data | 6 - .../linux/powerpc/powerpc64/be/ld.abilist | 4 - .../linux/powerpc/powerpc64/le/ld.abilist | 4 - .../linux/powerpc/powerpc64/localplt.data | 6 - sysdeps/unix/sysv/linux/riscv/localplt.data | 6 - sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist | 4 - sysdeps/unix/sysv/linux/s390/localplt.data | 6 - .../unix/sysv/linux/s390/s390-32/ld.abilist | 4 - .../unix/sysv/linux/s390/s390-64/ld.abilist | 4 - sysdeps/unix/sysv/linux/sh/be/ld.abilist | 4 - sysdeps/unix/sysv/linux/sh/le/ld.abilist | 4 - sysdeps/unix/sysv/linux/sh/localplt.data | 6 - .../unix/sysv/linux/sparc/sparc32/ld.abilist | 4 - .../sysv/linux/sparc/sparc32/localplt.data | 6 - .../unix/sysv/linux/sparc/sparc64/ld.abilist | 4 - .../sysv/linux/sparc/sparc64/localplt.data | 6 - sysdeps/unix/sysv/linux/x86_64/64/ld.abilist | 4 - sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist | 4 - sysdeps/x86_64/localplt.data | 6 - 62 files changed, 326 insertions(+), 364 deletions(-) create mode 100644 elf/dl-sym-post.h create mode 100644 include/rtld-malloc.h --=20 2.24.1