From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 119700 invoked by alias); 19 Feb 2020 11:35:56 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 119690 invoked by uid 89); 19 Feb 2020 11:35:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-15.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-ot1-f66.google.com Received: from mail-ot1-f66.google.com (HELO mail-ot1-f66.google.com) (209.85.210.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 19 Feb 2020 11:35:54 +0000 Received: by mail-ot1-f66.google.com with SMTP id j20so22807309otq.3 for ; Wed, 19 Feb 2020 03:35:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=D5wdp4gxZ/bEKuSMLZQhZD976XEDrO30R+AMYEvq7Q8=; b=bTGGP/zHuEwQsJJt0Iup3Qm4ESBORzTx4aFGq+TKuZpJKKpno4Wx96oPxoEo1aYiSk B0C7o/hEbQrH7oaN5KwxDF2WepnNgD/N4fv1lLf9tqridwBvq63Jy12hYb3E+oU8YZ6r yoRt1xZ0nyPJFxVUbvjRUSIaohe9NojsfXTfzUyPoyEIFp4Zwg3wdwcG2d2Y5azO9TmX 77aGOcE+AYZicrikNQB9S6YUitVF3H51HIvgmofTe7MOOGVGSYRpzmJTl31DNRVA7E4Z GGooNSB0xBoHFl0lK8931Fjk3S55y0jsBlaL4HqhgSETPkt6MLnfc9O1ho8MyScqgW5i whOw== MIME-Version: 1.0 References: <20200218125016.140100-1-hjl.tools@gmail.com> <20200219045924.GN5570@bubble.grove.modra.org> In-Reply-To: <20200219045924.GN5570@bubble.grove.modra.org> From: "H.J. Lu" Date: Wed, 19 Feb 2020 11:35:00 -0000 Message-ID: Subject: Re: [PATCH] plugin: Call dlclose before return in try_load_plugin To: Alan Modra Cc: Binutils Content-Type: multipart/mixed; boundary="000000000000db01ed059eec3090" X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00453.txt.bz2 --000000000000db01ed059eec3090 Content-Type: text/plain; charset="UTF-8" Content-length: 601 On Tue, Feb 18, 2020 at 8:59 PM Alan Modra wrote: > > On Tue, Feb 18, 2020 at 04:50:16AM -0800, H.J. Lu wrote: > > Since plugin can be used only once in try_load_plugin, call dlclose > > before return. > > > > OK for master and 2.34 branch? > > > > PR binutils/25355 > > * plugin.c (plugin_list_entry): Remove handle. > > (try_load_plugin): Call dlclose before return. > > Looks OK to me. > This is the patch I am checking in. It kept if (current_plugin) memset (current_plugin, 0, offsetof (struct plugin_list_entry, next)); -- H.J. --000000000000db01ed059eec3090 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-plugin-Call-dlclose-before-return-in-try_load_plugin.patch" Content-Disposition: attachment; filename="0001-plugin-Call-dlclose-before-return-in-try_load_plugin.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k6t8nudp0 Content-length: 4807 RnJvbSBkOWQ5MmJhY2I3YWRiNGJhYjBjMjZlYjc0NTgyMDMzNDVhMGZhZjEz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTggRmViIDIwMjAgMDQ6 MjI6MzQgLTA4MDAKU3ViamVjdDogW1BBVENIXSBwbHVnaW46IENhbGwgZGxj bG9zZSBiZWZvcmUgcmV0dXJuIGluIHRyeV9sb2FkX3BsdWdpbgoKU2luY2Ug cGx1Z2luIGNhbiBiZSB1c2VkIG9ubHkgb25jZSBpbiB0cnlfbG9hZF9wbHVn aW4sIGNhbGwgZGxjbG9zZQpiZWZvcmUgcmV0dXJuLgoKCVBSIGJpbnV0aWxz LzI1MzU1CgkqIHBsdWdpbi5jIChwbHVnaW5fbGlzdF9lbnRyeSk6IFJlbW92 ZSBoYW5kbGUuCgkodHJ5X2xvYWRfcGx1Z2luKTogQ2FsbCBkbGNsb3NlIGJl Zm9yZSByZXR1cm4uCi0tLQogYmZkL3BsdWdpbi5jIHwgMzkgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMTggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvYmZkL3BsdWdpbi5jIGIvYmZkL3BsdWdpbi5jCmluZGV4IDQ3YzM0 MzkwNDJjLi45M2Q1NjJiOWZlZCAxMDA2NDQKLS0tIGEvYmZkL3BsdWdpbi5j CisrKyBiL2JmZC9wbHVnaW4uYwpAQCAtMTI2LDcgKzEyNiw2IEBAIG1lc3Nh Z2UgKGludCBsZXZlbCBBVFRSSUJVVEVfVU5VU0VELAogc3RydWN0IHBsdWdp bl9saXN0X2VudHJ5CiB7CiAgIC8qIFRoZXNlIG11c3QgYmUgaW5pdGlhbGl6 ZWQgZm9yIGVhY2ggSVIgb2JqZWN0IHdpdGggTFRPIHdyYXBwZXIuICAqLwot ICB2b2lkICpoYW5kbGU7CiAgIGxkX3BsdWdpbl9jbGFpbV9maWxlX2hhbmRs ZXIgY2xhaW1fZmlsZTsKICAgbGRfcGx1Z2luX2FsbF9zeW1ib2xzX3JlYWRf aGFuZGxlciBhbGxfc3ltYm9sc19yZWFkOwogICBsZF9wbHVnaW5fYWxsX3N5 bWJvbHNfcmVhZF9oYW5kbGVyIGNsZWFudXBfaGFuZGxlcjsKQEAgLTU5Niwy MiArNTk1LDE4IEBAIHRyeV9sb2FkX3BsdWdpbiAoY29uc3QgY2hhciAqcG5h bWUsCiAJCSBzdHJ1Y3QgcGx1Z2luX2xpc3RfZW50cnkgKnBsdWdpbl9saXN0 X2l0ZXIsCiAJCSBiZmQgKmFiZmQsIGJmZF9ib29sZWFuIGJ1aWxkX2xpc3Rf cCkKIHsKLSAgdm9pZCAqcGx1Z2luX2hhbmRsZSA9IE5VTEw7CisgIHZvaWQg KnBsdWdpbl9oYW5kbGU7CiAgIHN0cnVjdCBsZF9wbHVnaW5fdHYgdHZbMTJd OwogICBpbnQgaTsKICAgbGRfcGx1Z2luX29ubG9hZCBvbmxvYWQ7CiAgIGVu dW0gbGRfcGx1Z2luX3N0YXR1cyBzdGF0dXM7CisgIGludCByZXN1bHQgPSAw OwogCiAgIC8qIE5COiBFYWNoIG9iamVjdCBpcyBpbmRlcGVuZGVudC4gIFJl dXNlIHRoZSBwcmV2aW91cyBwbHVnaW4gZnJvbQogICAgICB0aGUgbGFzdCBy dW4gd2lsbCBsZWFkIHRvIHdyb25nIHJlc3VsdC4gICovCiAgIGlmIChjdXJy ZW50X3BsdWdpbikKLSAgICB7Ci0gICAgICBpZiAoY3VycmVudF9wbHVnaW4t PmhhbmRsZSkKLQlkbGNsb3NlIChjdXJyZW50X3BsdWdpbi0+aGFuZGxlKTsK LSAgICAgIG1lbXNldCAoY3VycmVudF9wbHVnaW4sIDAsCi0JICAgICAgb2Zm c2V0b2YgKHN0cnVjdCBwbHVnaW5fbGlzdF9lbnRyeSwgbmV4dCkpOwotICAg ICAgY3VycmVudF9wbHVnaW4gPSBOVUxMOwotICAgIH0KKyAgICBtZW1zZXQg KGN1cnJlbnRfcGx1Z2luLCAwLAorCSAgICBvZmZzZXRvZiAoc3RydWN0IHBs dWdpbl9saXN0X2VudHJ5LCBuZXh0KSk7CiAKICAgaWYgKHBsdWdpbl9saXN0 X2l0ZXIpCiAgICAgcG5hbWUgPSBwbHVnaW5fbGlzdF9pdGVyLT5wbHVnaW5f bmFtZTsKQEAgLTYyOCwxMiArNjIzLDEyIEBAIHRyeV9sb2FkX3BsdWdpbiAo Y29uc3QgY2hhciAqcG5hbWUsCiAgICAgICBzaXplX3QgbGVuZ3RoX3BsdWdp bl9uYW1lID0gc3RybGVuIChwbmFtZSkgKyAxOwogICAgICAgY2hhciAqcGx1 Z2luX25hbWUgPSBiZmRfbWFsbG9jIChsZW5ndGhfcGx1Z2luX25hbWUpOwog ICAgICAgaWYgKHBsdWdpbl9uYW1lID09IE5VTEwpCi0JcmV0dXJuIDA7CisJ Z290byBzaG9ydF9jaXJjdWl0OwogICAgICAgcGx1Z2luX2xpc3RfaXRlciA9 IGJmZF9tYWxsb2MgKHNpemVvZiAqcGx1Z2luX2xpc3RfaXRlcik7CiAgICAg ICBpZiAocGx1Z2luX2xpc3RfaXRlciA9PSBOVUxMKQogCXsKIAkgIGZyZWUg KHBsdWdpbl9uYW1lKTsKLQkgIHJldHVybiAwOworCSAgZ290byBzaG9ydF9j aXJjdWl0OwogCX0KICAgICAgIC8qIE1ha2UgYSBjb3B5IG9mIFBOQU1FIHNp bmNlIFBOQU1FIGZyb20gbG9hZF9wbHVnaW4gKCkgd2lsbCBiZQogCSBmcmVl ZC4gICovCkBAIC02NDQsMTMgKzYzOSwxMyBAQCB0cnlfbG9hZF9wbHVnaW4g KGNvbnN0IGNoYXIgKnBuYW1lLAogICAgICAgcGx1Z2luX2xpc3QgPSBwbHVn aW5fbGlzdF9pdGVyOwogICAgIH0KIAotICBwbHVnaW5fbGlzdF9pdGVyLT5o YW5kbGUgPSBwbHVnaW5faGFuZGxlOworICBjdXJyZW50X3BsdWdpbiA9IHBs dWdpbl9saXN0X2l0ZXI7CiAgIGlmIChidWlsZF9saXN0X3ApCi0gICAgcmV0 dXJuIDA7CisgICAgZ290byBzaG9ydF9jaXJjdWl0OwogCiAgIG9ubG9hZCA9 IGRsc3ltIChwbHVnaW5faGFuZGxlLCAib25sb2FkIik7CiAgIGlmICghb25s b2FkKQotICAgIHJldHVybiAwOworICAgIGdvdG8gc2hvcnRfY2lyY3VpdDsK IAogICBpID0gMDsKICAgdHZbaV0udHZfdGFnID0gTERQVF9NRVNTQUdFOwpA QCAtNzAzLDI4ICs2OTgsMzAgQEAgdHJ5X2xvYWRfcGx1Z2luIChjb25zdCBj aGFyICpwbmFtZSwKICAgdHZbaV0udHZfdGFnID0gTERQVF9OVUxMOwogICB0 dltpXS50dl91LnR2X3ZhbCA9IDA7CiAKLSAgY3VycmVudF9wbHVnaW4gPSBw bHVnaW5fbGlzdF9pdGVyOwotCiAgIC8qIExUTyBwbHVnaW4gd2lsbCBjYWxs IGhhbmRsZXIgaG9va3MgdG8gc2V0IHVwIHBsdWdpbiBoYW5kbGVycy4gICov CiAgIHN0YXR1cyA9ICgqb25sb2FkKSh0dik7CiAKICAgaWYgKHN0YXR1cyAh PSBMRFBTX09LKQotICAgIHJldHVybiAwOworICAgIGdvdG8gc2hvcnRfY2ly Y3VpdDsKIAogICBpZiAoY3VycmVudF9wbHVnaW4tPmx0b193cmFwcGVyCiAg ICAgICAmJiBzZXR1cF9sdG9fd3JhcHBlcl9lbnYgKGN1cnJlbnRfcGx1Z2lu KSkKLSAgICByZXR1cm4gMDsKKyAgICBnb3RvIHNob3J0X2NpcmN1aXQ7CiAK ICAgYWJmZC0+cGx1Z2luX2Zvcm1hdCA9IGJmZF9wbHVnaW5fbm87CiAKICAg aWYgKCFjdXJyZW50X3BsdWdpbi0+Y2xhaW1fZmlsZSkKLSAgICByZXR1cm4g MDsKKyAgICBnb3RvIHNob3J0X2NpcmN1aXQ7CiAKICAgaWYgKCF0cnlfY2xh aW0gKGFiZmQpKQotICAgIHJldHVybiAwOworICAgIGdvdG8gc2hvcnRfY2ly Y3VpdDsKIAogICBhYmZkLT5wbHVnaW5fZm9ybWF0ID0gYmZkX3BsdWdpbl95 ZXM7Ci0gIHJldHVybiAxOworICByZXN1bHQgPSAxOworCitzaG9ydF9jaXJj dWl0OgorICBkbGNsb3NlIChwbHVnaW5faGFuZGxlKTsKKyAgcmV0dXJuIHJl c3VsdDsKIH0KIAogLyogVGhlcmUgbWF5IGJlIHBsdWdpbiBsaWJyYXJpZXMg aW4gbGliL2JmZC1wbHVnaW5zLiAgKi8KLS0gCjIuMjQuMQoK --000000000000db01ed059eec3090--