From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by sourceware.org (Postfix) with ESMTPS id EC4AB3858023 for ; Thu, 27 May 2021 13:55:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EC4AB3858023 Received: by mail-lj1-x231.google.com with SMTP id c15so917157ljr.7 for ; Thu, 27 May 2021 06:55:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=MjLMouSnmY4k83TK6HYAIM1q1twpABE9YgISFOeueUs=; b=JbDfAkvNNojwU6UoeZLl/360C4J09nvG+t1eTloA+IjtVwUsVKxhY1ZXPxtxx+GTCf wL3QRTUIHfsR0GQ2kDJ4Ph2VmUmKP+UbTzwIJAEddvpD0VLWquv17sFBMEF5a5SjyepY 4F/M8N2FnsaEB4V0Lrbdn1WZhRIlFjxs5ceu8L8RsjPsYeY5+MtKdQ0dPg9TOw3KjKim Hqqdg2ZK9Qoxe1VVTTHqTI8lrkm8iqOSvCApRghinG4BhoJ/inJB5axlhLsHnn5ySYKH Vug3215ENI7yEKrqRccUrXZCDKun+9hAntTC0Pk4UxxXEYjAwHqGkYPuEGrZFj7KeRdC QVqA== X-Gm-Message-State: AOAM531vhdrUOa4sL2oLbJU7EFoZ0mOtNlZWBY5J9DKiHzU6V+260sNa JCCQZI2VPx/O6EK8IvJ9KXLU6X2XEP9wQO6rdz4eGiI1xci6lQ== X-Google-Smtp-Source: ABdhPJwHp3+koBZJqM3WOKik5F5t1Whw2UNK9qe6ktIzhYht4i4V9FvjQ1ReK89qzALHTspV2J9sUFAvrTqj1YKee+I= X-Received: by 2002:a05:651c:156:: with SMTP id c22mr2749563ljd.175.1622123757038; Thu, 27 May 2021 06:55:57 -0700 (PDT) MIME-Version: 1.0 From: Fergus Dall Date: Thu, 27 May 2021 23:55:45 +1000 Message-ID: Subject: [PATCH v2 1/2] rtld: Add --no-default-paths option To: libc-alpha@sourceware.org Cc: chromeos-toolchain@google.com, clumptini , Mike Frysinger Content-Type: multipart/mixed; boundary="000000000000526b2105c3501ed8" X-Spam-Status: No, score=-26.1 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2021 13:56:01 -0000 --000000000000526b2105c3501ed8 Content-Type: text/plain; charset="UTF-8" Changes from previous patchset: I've taken vapier's suggestion to use positive variable names, added a NEWS entry, and a pair of tests. The tests turned out to be much larger than the primary change, so I've split them into a separate patch. -- 8< -- This option causes the default library search path to be skipped, using only the paths in DT_RPATH, LD_LIBRARY_PATH, and DT_RUNPATH. This option implies --inhibit-cache, as there is no point in searching a cache of system libraries when we are not using the system libraries at all. This is necessary to preserve negative search results when isolating applications from the system libraries. This can be important when an application uses dlopen at run time to load optional libraries. When a shared library is required by the application, it can be isolated by putting appropriate versions of the libraries in directories specified in LD_LIBRARY_PATH, because the library search will always terminate before potentially loading any system libraries. On the other hand, if the application should be run without an optional library, the search will proceed past the LD_LIBRARY_PATH directories into the default system libraries, potentially causing an incorrect library to be linked. --000000000000526b2105c3501ed8 Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-rtld-Add-no-default-paths-option.patch" Content-Disposition: attachment; filename="v2-0001-rtld-Add-no-default-paths-option.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kp6ykgiw0 RnJvbSA2MWQ2NmU3ZGRjYTVmN2EyZGVkZjI0MGM5NDBjY2I3NmI0NTk0NmE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGZXJndXMgRGFsbCA8c2lkZXJlYWxAZ29vZ2xlLmNvbT4KRGF0 ZTogRnJpLCAyMSBNYXkgMjAyMSAxNzoxNjozOCArMTAwMApTdWJqZWN0OiBbUEFUQ0ggdjIgMS8y XSBydGxkOiBBZGQgLS1uby1kZWZhdWx0LXBhdGhzIG9wdGlvbgpUbzogbGliYy1hbHBoYUBzb3Vy Y2V3YXJlLm9yZwpDYzogY2hyb21lb3MtdG9vbGNoYWluQGdvb2dsZS5jb20sCiAgICBjbHVtcHRp bmlAZ29vZ2xlLmNvbSwKICAgIHZhcGllckBnb29nbGUuY29tCgpUaGlzIG9wdGlvbiBjYXVzZXMg dGhlIGRlZmF1bHQgbGlicmFyeSBzZWFyY2ggcGF0aCB0byBiZSBza2lwcGVkLAp1c2luZyBvbmx5 IHRoZSBwYXRocyBpbiBEVF9SUEFUSCwgTERfTElCUkFSWV9QQVRILCBhbmQKRFRfUlVOUEFUSC4g VGhpcyBvcHRpb24gaW1wbGllcyAtLWluaGliaXQtY2FjaGUsIGFzIHRoZXJlIGlzIG5vIHBvaW50 CmluIHNlYXJjaGluZyBhIGNhY2hlIG9mIHN5c3RlbSBsaWJyYXJpZXMgd2hlbiB3ZSBhcmUgbm90 IHVzaW5nIHRoZQpzeXN0ZW0gbGlicmFyaWVzIGF0IGFsbC4KClRoaXMgaXMgbmVjZXNzYXJ5IHRv IHByZXNlcnZlIG5lZ2F0aXZlIHNlYXJjaCByZXN1bHRzIHdoZW4gaXNvbGF0aW5nCmFwcGxpY2F0 aW9ucyBmcm9tIHRoZSBzeXN0ZW0gbGlicmFyaWVzLiBUaGlzIGNhbiBiZSBpbXBvcnRhbnQgd2hl biBhbgphcHBsaWNhdGlvbiB1c2VzIGRsb3BlbiBhdCBydW4gdGltZSB0byBsb2FkIG9wdGlvbmFs IGxpYnJhcmllcy4KCldoZW4gYSBzaGFyZWQgbGlicmFyeSBpcyByZXF1aXJlZCBieSB0aGUgYXBw bGljYXRpb24sIGl0IGNhbiBiZQppc29sYXRlZCBieSBwdXR0aW5nIGFwcHJvcHJpYXRlIHZlcnNp b25zIG9mIHRoZSBsaWJyYXJpZXMgaW4KZGlyZWN0b3JpZXMgc3BlY2lmaWVkIGluIExEX0xJQlJB UllfUEFUSCwgYmVjYXVzZSB0aGUgbGlicmFyeSBzZWFyY2gKd2lsbCBhbHdheXMgdGVybWluYXRl IGJlZm9yZSBwb3RlbnRpYWxseSBsb2FkaW5nIGFueSBzeXN0ZW0gbGlicmFyaWVzLgoKT24gdGhl IG90aGVyIGhhbmQsIGlmIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW4K b3B0aW9uYWwgbGlicmFyeSwgdGhlIHNlYXJjaCB3aWxsIHByb2NlZWQgcGFzdCB0aGUgTERfTElC UkFSWV9QQVRICmRpcmVjdG9yaWVzIGludG8gdGhlIGRlZmF1bHQgc3lzdGVtIGxpYnJhcmllcywg cG90ZW50aWFsbHkgY2F1c2luZyBhbgppbmNvcnJlY3QgbGlicmFyeSB0byBiZSBsaW5rZWQuCi0t LQogTkVXUyAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCiBlbGYvZGwtbG9hZC5jICAg ICAgICAgICAgICB8ICA2ICsrKystLQogZWxmL2RsLXN1cHBvcnQuYyAgICAgICAgICAgfCAgMiAr KwogZWxmL2RsLXVzYWdlLmMgICAgICAgICAgICAgfCAgMiArKwogZWxmL3J0bGQuYyAgICAgICAg ICAgICAgICAgfCAxMCArKysrKysrKysrCiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCB8ICAz ICsrKwogNiBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IDI2NjgzN2JmMmQuLjlmYjRjZjdlNzIgMTAw NjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVXUwpAQCAtMjUsNiArMjUsMTAgQEAgTWFqb3IgbmV3IGZl YXR1cmVzOgogCiAqIFRoZSBJU08gQzJYIGZ1bmN0aW9uIHRpbWVzcGVjX2dldHJlcyBoYXMgYmVl biBhZGRlZC4KIAorKiBUaGUgZHluYW1pYyBsaW5rZXIgaGFzIGdhaW5lZCB0aGUgLS1uby1kZWZh dWx0LXBhdGhzIG9wdGlvbiwgd2hpY2gKKyAgY2F1c2VzIGl0IHRvIGlnbm9yZSBsaWJyYXJpZXMg aW4gdGhlIGRlZmF1bHQgc3lzdGVtIHBhdGhzIGV2ZW4gaWYgYWxsCisgIGhpZ2hlciBwcmVjZWRl bmNlIGxvY2F0aW9ucyBoYXZlIGJlZW4gc2VhcmNoZWQuCisKIERlcHJlY2F0ZWQgYW5kIHJlbW92 ZWQgZmVhdHVyZXMsIGFuZCBvdGhlciBjaGFuZ2VzIGFmZmVjdGluZyBjb21wYXRpYmlsaXR5Ogog CiAqIFRoZSBmdW5jdGlvbiBwdGhyZWFkX211dGV4X2NvbnNpc3RlbnRfbnAgaGFzIGJlZW4gZGVw cmVjYXRlZDsgcHJvZ3JhbXMKZGlmZiAtLWdpdCBhL2VsZi9kbC1sb2FkLmMgYi9lbGYvZGwtbG9h ZC5jCmluZGV4IDkxOGVjNzU0NmMuLmNjMDI2OTliZWMgMTAwNjQ0Ci0tLSBhL2VsZi9kbC1sb2Fk LmMKKysrIGIvZWxmL2RsLWxvYWQuYwpAQCAtMjI1OCw3ICsyMjU4LDggQEAgX2RsX21hcF9vYmpl Y3QgKHN0cnVjdCBsaW5rX21hcCAqbG9hZGVyLCBjb25zdCBjaGFyICpuYW1lLAogICAgICAgaWYg KGZkID09IC0xCiAJICAmJiAoKGwgPSBsb2FkZXIgPzogR0woZGxfbnMpW25zaWRdLl9uc19sb2Fk ZWQpID09IE5VTEwKIAkgICAgICB8fCBfX2dsaWJjX2xpa2VseSAoIShsLT5sX2ZsYWdzXzEgJiBE Rl8xX05PREVGTElCKSkpCi0JICAmJiBfX3J0bGRfc2VhcmNoX2RpcnMuZGlycyAhPSAodm9pZCAq KSAtMSkKKwkgICYmIF9fcnRsZF9zZWFyY2hfZGlycy5kaXJzICE9ICh2b2lkICopIC0xCisJICAm JiBfX2dsaWJjX2xpa2VseSAoR0xSTyhkbF9zZWFyY2hfZGVmYXVsdF9wYXRocykpKQogCWZkID0g b3Blbl9wYXRoIChuYW1lLCBuYW1lbGVuLCBtb2RlLCAmX19ydGxkX3NlYXJjaF9kaXJzLAogCQkJ JnJlYWxuYW1lLCAmZmIsIGwsIExBX1NFUl9ERUZBVUxULCAmZm91bmRfb3RoZXJfY2xhc3MpOwog CkBAIC0yNDM4LDcgKzI0MzksOCBAQCBfZGxfcnRsZF9kaV9zZXJpbmZvIChzdHJ1Y3QgbGlua19t YXAgKmxvYWRlciwgRGxfc2VyaW5mbyAqc2ksIGJvb2wgY291bnRpbmcpCiAgICAgIGEgd2F5IHRv IGluZGljYXRlIHRoYXQgaW4gdGhlIHJlc3VsdHMgZm9yIERsX3NlcmluZm8uICAqLwogCiAgIC8q IEZpbmFsbHksIHRyeSB0aGUgZGVmYXVsdCBwYXRoLiAgKi8KLSAgaWYgKCEobG9hZGVyLT5sX2Zs YWdzXzEgJiBERl8xX05PREVGTElCKSkKKyAgaWYgKCEobG9hZGVyLT5sX2ZsYWdzXzEgJiBERl8x X05PREVGTElCKQorICAgICAgJiYgX19nbGliY19saWtlbHkgKEdMUk8oZGxfc2VhcmNoX2RlZmF1 bHRfcGF0aHMpKSkKICAgICBhZGRfcGF0aCAoJnAsICZfX3J0bGRfc2VhcmNoX2RpcnMsIFhYWF9k ZWZhdWx0KTsKIAogICBpZiAoY291bnRpbmcpCmRpZmYgLS1naXQgYS9lbGYvZGwtc3VwcG9ydC5j IGIvZWxmL2RsLXN1cHBvcnQuYwppbmRleCBkZmM5YWI3NjBlLi5kZWY3NTU1MGFhIDEwMDY0NAot LS0gYS9lbGYvZGwtc3VwcG9ydC5jCisrKyBiL2VsZi9kbC1zdXBwb3J0LmMKQEAgLTE0NCw2ICsx NDQsOCBAQCBzaXplX3QgX2RsX21pbnNpZ3N0YWNrc2l6ZSA9IENPTlNUQU5UX01JTlNJR1NUS1Na OwogCiBpbnQgX2RsX2luaGliaXRfY2FjaGU7CiAKK2ludCBfZGxfc2VhcmNoX2RlZmF1bHRfcGF0 aHM7CisKIHVuc2lnbmVkIGludCBfZGxfb3N2ZXJzaW9uOwogCiAvKiBBbGwga25vd24gZGlyZWN0 b3JpZXMgaW4gc29ydGVkIG9yZGVyLiAgKi8KZGlmZiAtLWdpdCBhL2VsZi9kbC11c2FnZS5jIGIv ZWxmL2RsLXVzYWdlLmMKaW5kZXggNWFkM2E3MjU1OS4uYjVhZTQ0OTMyYSAxMDA2NDQKLS0tIGEv ZWxmL2RsLXVzYWdlLmMKKysrIGIvZWxmL2RsLXVzYWdlLmMKQEAgLTI0Nyw2ICsyNDcsOCBAQCBz ZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyAod2hpY2ggd291bGQgYmUgaW5oZXJpdGVkIGJ5 IHN1YnByb2Nlc3NlcykuXG5cCiAgIC0taW5oaWJpdC1jYWNoZSAgICAgICBEbyBub3QgdXNlICIg TERfU09fQ0FDSEUgIlxuXAogICAtLWxpYnJhcnktcGF0aCBQQVRIICAgdXNlIGdpdmVuIFBBVEgg aW5zdGVhZCBvZiBjb250ZW50IG9mIHRoZSBlbnZpcm9ubWVudFxuXAogICAgICAgICAgICAgICAg ICAgICAgICAgdmFyaWFibGUgTERfTElCUkFSWV9QQVRIXG5cCisgIC0tbm8tZGVmYXVsdC1wYXRo cyAgICBkbyBub3QgdXNlIHRoZSBkZWZhdWx0IGxpYnJhcnkgc2VhcmNoIHBhdGhcblwKKyAgICAg ICAgICAgICAgICAgICAgICAgICh0aGlzIG9wdGlvbiBpbXBsaWVzIC0taW5oaWJpdC1jYWNoZSlc blwKICAgLS1nbGliYy1od2NhcHMtcHJlcGVuZCBMSVNUXG5cCiAgICAgICAgICAgICAgICAgICAg ICAgICBzZWFyY2ggZ2xpYmMtaHdjYXBzIHN1YmRpcmVjdG9yaWVzIGluIExJU1RcblwKICAgLS1n bGliYy1od2NhcHMtbWFzayBMSVNUXG5cCmRpZmYgLS1naXQgYS9lbGYvcnRsZC5jIGIvZWxmL3J0 bGQuYwppbmRleCBmYmJkNjBiNDQ2Li42ZjliZmNiYWRiIDEwMDY0NAotLS0gYS9lbGYvcnRsZC5j CisrKyBiL2VsZi9ydGxkLmMKQEAgLTM2MCw2ICszNjAsNyBAQCBzdHJ1Y3QgcnRsZF9nbG9iYWxf cm8gX3J0bGRfZ2xvYmFsX3JvIGF0dHJpYnV0ZV9yZWxybyA9CiAgICAgLl9kbF9mcHVfY29udHJv bCA9IF9GUFVfREVGQVVMVCwKICAgICAuX2RsX3BhZ2VzaXplID0gRVhFQ19QQUdFU0laRSwKICAg ICAuX2RsX2luaGliaXRfY2FjaGUgPSAwLAorICAgIC5fZGxfc2VhcmNoX2RlZmF1bHRfcGF0aHMg PSAxLAogCiAgICAgLyogRnVuY3Rpb24gcG9pbnRlcnMuICAqLwogICAgIC5fZGxfZGVidWdfcHJp bnRmID0gX2RsX2RlYnVnX3ByaW50ZiwKQEAgLTEyMDQsNiArMTIwNSwxNSBAQCBkbF9tYWluIChj b25zdCBFbGZXKFBoZHIpICpwaGRyLAogCSAgICBfZGxfYXJnYyAtPSAyOwogCSAgICBfZGxfYXJn diArPSAyOwogCSAgfQorICAgICAgICBlbHNlIGlmICghIHN0cmNtcCAoX2RsX2FyZ3ZbMV0sICIt LW5vLWRlZmF1bHQtcGF0aHMiKSkKKyAgICAgICAgICB7CisgICAgICAgICAgICBHTFJPKGRsX3Nl YXJjaF9kZWZhdWx0X3BhdGhzKSA9IDA7CisgICAgICAgICAgICBHTFJPKGRsX2luaGliaXRfY2Fj aGUpID0gMTsKKworCSAgICArK19kbF9za2lwX2FyZ3M7CisJICAgIC0tX2RsX2FyZ2M7CisJICAg ICsrX2RsX2FyZ3Y7CisgICAgICAgICAgfQogCWVsc2UgaWYgKCEgc3RyY21wIChfZGxfYXJndlsx XSwgIi0taW5oaWJpdC1ycGF0aCIpCiAJCSAmJiBfZGxfYXJnYyA+IDIpCiAJICB7CmRpZmYgLS1n aXQgYS9zeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCBiL3N5c2RlcHMvZ2VuZXJpYy9sZHNvZGVm cy5oCmluZGV4IGUzODNhYTFkYzMuLmY5ZjJjNDEyNmEgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvZ2Vu ZXJpYy9sZHNvZGVmcy5oCisrKyBiL3N5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oCkBAIC01NTEs NiArNTUxLDkgQEAgc3RydWN0IHJ0bGRfZ2xvYmFsX3JvCiAgIC8qIERvIHdlIHJlYWQgZnJvbSBs ZC5zby5jYWNoZT8gICovCiAgIEVYVEVSTiBpbnQgX2RsX2luaGliaXRfY2FjaGU7CiAKKyAgLyog RG8gd2Ugc2VhcmNoIHRoZSBkZWZhdWx0IHN5c3RlbSBwYXRocz8gKi8KKyAgRVhURVJOIGludCBf ZGxfc2VhcmNoX2RlZmF1bHRfcGF0aHM7CisKICAgLyogQ29weSBvZiB0aGUgY29udGVudCBvZiBg X2RsX21haW5fc2VhcmNobGlzdCcgYXQgc3RhcnR1cCB0aW1lLiAgKi8KICAgRVhURVJOIHN0cnVj dCByX3Njb3BlX2VsZW0gX2RsX2luaXRpYWxfc2VhcmNobGlzdDsKIAotLSAKMi4zMS4xLjgxOC5n NDZhYWQ2Y2I5ZS1nb29nCgo= --000000000000526b2105c3501ed8--