From patchwork Tue Oct 17 13:05:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 78032 X-Patchwork-Delegate: siddhesh@gotplt.org Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3E7E73835E16 for ; Tue, 17 Oct 2023 13:08:39 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by sourceware.org (Postfix) with ESMTPS id A7BD13857357 for ; Tue, 17 Oct 2023 13:06:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A7BD13857357 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A7BD13857357 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::430 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697548010; cv=none; b=AohEKaS9zVSlMo2Q+fjhvH27W1gPW1cfLeEAsNMd+/HKA2Glf6RwMm3Wr78dvLqoHVnNNkV8kKHLdlpeZ2M/x8AOKlQ2+LEX+FeSCAZLXyodS8lhKdYoObzgPaxavpll9QmrNlJEtQaZvC+jYKAffuv1coRrbgMU/SqwuZDtDN0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697548010; c=relaxed/simple; bh=uofAC9D0T1jSR+uvqfAqv9BjgFc4EZqt5R4L2OlqKe8=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=snGAA3MbwPzgAXUxuS0zNVLIYlLo+tPyvJVaDnz2xLZfwJ479wm/AFiTACYDgwkQ3r8RPi8uKDXaLNAvLK2/VbQeelbtNtcs+OcmUZeAczdz/8zzWBioBVT0F1E1O0fjbCxIX826gFM/k7T8IWmNQcnZuJ8knLaO/b6vr9hMn/4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-68fb85afef4so4525964b3a.1 for ; Tue, 17 Oct 2023 06:06:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697548008; x=1698152808; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=xbdIEkPXf1TNi8Tg65MBpgFZidSq0Zsnzkd7udROqYU=; b=zNxbWtxKQ4+YAK6K3YT3ybsUXnozP5UsI7xOp+Ot13ReUegpmMfIV0SVp1yJWsu5Lo rTwnvzPcAfrhiMwiqgt0R+6VjaVZnl/to3XBtVy1+0SrELUcDcDCImLDGMi6ae8fflCf wMFAGnUtbCDUlg+QbuM5X+Ic/zkjawJCx6CJ0BIVP7+CbAG1ch2mlxO9Ap8LLEbqh/7N rnAyjNU6YX7RhvVg9gs7tRA7mKy7skBY5UvYl2zIuEjFsvEcH29/kILJhc6RbrXQgOLN 65FHWHEhAcQAscOS2vxsLDf5cI43xWdvafGIja4ks6X4mLDvz4yf1ReuRWoo0C9INFtG TH0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697548008; x=1698152808; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xbdIEkPXf1TNi8Tg65MBpgFZidSq0Zsnzkd7udROqYU=; b=u8RJPt9exzfUBSqKoQ5VDVSF5GBsmRc+nPxG4GShme8DYIXrrDSEPeEi04Xuylr815 nTn5o7T04FBFbXGfdAk8lkrbO6mpCP2OkrAsNVVPAOHUalQLiSbG0A49Wl9d2FpsIofh qsRhTUKO7XhCWquIaiM00WQH8RvmzFSeY2Uc204TySJXoHiVk4Y/4xsM0/u5xNsl/sOL Tghot/Qm/rGkO8kxoGeLY0CqFX6KOnq05unrGj+7jajprISl/rOsyEiF7gZv58d+pRns FwqolfknsfpOLHawCS0tPg6xl1+kxiqtegUjNTVRFkBnhaggbm6CMEKJ0XNNX99Vg4qB W4uw== X-Gm-Message-State: AOJu0YyhG1YZAkclh5uqABGUFmfmXglqJBczTFra+XZ8SRpiqZbrxlj8 Lr22GOU0+p+Bkox5C1b5SI5U+eWkIdjx/gL3NiiFdg== X-Google-Smtp-Source: AGHT+IHYaDG6FskpbeEzmTskW/1GSbtd+QKTBiU1ayOKba0KdNv3L4xKGw/L/Exk3DUtpHwkWP+FwA== X-Received: by 2002:a05:6a20:7295:b0:173:318:b1ec with SMTP id o21-20020a056a20729500b001730318b1ecmr2249734pzk.35.1697548008322; Tue, 17 Oct 2023 06:06:48 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:7f2e:11d:92b4:4d78:4197]) by smtp.gmail.com with ESMTPSA id l28-20020a635b5c000000b0056b6d1ac949sm1309788pgm.13.2023.10.17.06.06.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 06:06:47 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org, Siddhesh Poyarekar Subject: [PATCH v2 16/19] elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static Date: Tue, 17 Oct 2023 10:05:23 -0300 Message-Id: <20231017130526.2216827-17-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231017130526.2216827-1-adhemerval.zanella@linaro.org> References: <20231017130526.2216827-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org It mimics the ld.so behavior. Checked on x86_64-linux-gnu. --- elf/dl-support.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/elf/dl-support.c b/elf/dl-support.c index 31a608df87..837fa1c836 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -272,8 +272,6 @@ _dl_non_dynamic_init (void) _dl_main_map.l_phdr = GL(dl_phdr); _dl_main_map.l_phnum = GL(dl_phnum); - _dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1; - /* Set up the data structures for the system-supplied DSO early, so they can influence _dl_init_paths. */ setup_vdso (NULL, NULL); @@ -281,6 +279,22 @@ _dl_non_dynamic_init (void) /* With vDSO setup we can initialize the function pointers. */ setup_vdso_pointers (); + if (__libc_enable_secure) + { + static const char unsecure_envvars[] = + UNSECURE_ENVVARS + ; + const char *cp = unsecure_envvars; + + while (cp < unsecure_envvars + sizeof (unsecure_envvars)) + { + __unsetenv (cp); + cp = strchr (cp, '\0') + 1; + } + } + + _dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1; + /* Initialize the data structures for the search paths for shared objects. */ _dl_init_paths (getenv ("LD_LIBRARY_PATH"), "LD_LIBRARY_PATH", @@ -297,20 +311,6 @@ _dl_non_dynamic_init (void) _dl_dynamic_weak = *(getenv ("LD_DYNAMIC_WEAK") ?: "") == '\0'; - if (__libc_enable_secure) - { - static const char unsecure_envvars[] = - UNSECURE_ENVVARS - ; - const char *cp = unsecure_envvars; - - while (cp < unsecure_envvars + sizeof (unsecure_envvars)) - { - __unsetenv (cp); - cp = strchr (cp, '\0') + 1; - } - } - #ifdef DL_PLATFORM_INIT DL_PLATFORM_INIT; #endif