From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14382 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: James Y Knight Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH] Fix the use of sigaltstack to return to the saved main stack. Date: Wed, 10 Jul 2019 16:11:23 -0400 Message-ID: References: <20190709193004.GQ1506@brightrain.aerifal.cx> <20190710183931.GT1506@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000009eab0c058d594906" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="99701"; mail-complaints-to="usenet@blaine.gmane.org" To: musl@lists.openwall.com Original-X-From: musl-return-14398-gllmg-musl=m.gmane.org@lists.openwall.com Wed Jul 10 22:12:07 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1hlIwg-000PpW-Bd for gllmg-musl@m.gmane.org; Wed, 10 Jul 2019 22:12:06 +0200 Original-Received: (qmail 11960 invoked by uid 550); 10 Jul 2019 20:12:03 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 11930 invoked from network); 10 Jul 2019 20:12:03 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=RzHxHcH7LjMAd3jJZW+rFmoUAdgi1wAb4LEcaT6FBnc=; b=MAy8Rkc+UOKD7KliLI9YJaaCY+oMKhrfvIdaf4oiey7+5UWoJWbepBaZtF6c1doxkB gfvkWTR7PkYOYgeTU6O2mRxRBOqaWE1kOESgbEcbY7z1IEICoRFXtu62LcmoNtkuERPW SZ+JrG2yH5+sG57Ui4H5zkWoFKtzqC/3hw1hJ/3OlX5nHqkQ11a2X8G/hhAcDI4uht2l cEcSrUoURy7r0nLu7iV7HslatLqoKSehiOGCHXwU4r8VdkGMIe3wnW4ELdKKONzyc8Gg mRAppRGrrOQPsCjli2CSHnbYY31LNAp1CUIBULKCFQunH9ejt/rWlmAVspoUvjOojFlk LomA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=RzHxHcH7LjMAd3jJZW+rFmoUAdgi1wAb4LEcaT6FBnc=; b=QnHuoi/McoShL6Fy7FsiS1hwEntdJIO4nWIGYPOsLHBBc4o/5nvZrQZwKraq6PVm3+ unSMy1NSKFG6z4RunP7ziHxxWLV+vlIUgqu9L2Kl9K4ByLc8FN8oNR8PxOx/FVKvaWFx aJvI9c480YexsqtQ/WM8R4FhUzlcs4yfXSAPieIgPhYA78JgZqa7i6u9nmmGfZ6fBE8U CcakMN1EwMVU5wV+ow+yPzW62QPL9PYSLzBSt/HU/Q/K+PNN7Y8PfkEuGYVeLni9q5hd hkC5I4EHzovMG8fa73GAlKahDzWiSYmS1B+n4yM35Ku5vUQf4U1nrCfs18JsqficjYrN RcZw== X-Gm-Message-State: APjAAAXugOgjDBl0BelBA//CAwKcVKWgvE1ACDK3pKh9t1qRSSiXuoC4 oD9fTBVcKLbxuD1eVTLnucn6wSPtiTuDu/Qqn+PQyD9zYkg= X-Google-Smtp-Source: APXvYqzlHGQjsaAQLlZ1ayrLMfKHeZGLMY31GozvUKobycCrG/9vDk2t7kGPVDCBvWh98gfQeWGRcjPydChPnW3zzAc= X-Received: by 2002:a67:db89:: with SMTP id f9mr17882174vsk.150.1562789510256; Wed, 10 Jul 2019 13:11:50 -0700 (PDT) In-Reply-To: <20190710183931.GT1506@brightrain.aerifal.cx> Xref: news.gmane.org gmane.linux.lib.musl.general:14382 Archived-At: --0000000000009eab0c058d594906 Content-Type: multipart/alternative; boundary="0000000000009eab0a058d594904" --0000000000009eab0a058d594904 Content-Type: text/plain; charset="UTF-8" Updated patches attached. W.r.t.: > Here, "set to" is > probably something the resolution of Austin Group issue 1187 failed to > fix; it should probably be "includes" rather than "is set to". But I'm > not sure it makes sense to have any flags set alongside SS_DISABLE > anyway. While the SS_AUTODISARM flag has no effect if specified alongside SS_DISABLE, the kernel still accepts and stores it. So A subsequent call to sigaltstack can return SS_DISABLE|SS_AUTODISARM in the "old" flags value. To avoid the case where the old value returned from sigaltstack is not accepted back as the input, I used the "includes" semantics here. On Wed, Jul 10, 2019 at 2:39 PM Rich Felker wrote: > On Wed, Jul 10, 2019 at 02:04:18PM -0400, James Y Knight wrote: > > On Tue, Jul 9, 2019 at 3:30 PM Rich Felker wrote: > > --0000000000009eab0a058d594904 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Updated patches attached.=C2=A0

<= /div>
W.r.t.:
> Here, "set to" is
> probab= ly something the resolution of Austin Group issue 1187 failed to
> fi= x; it should probably be "includes" rather than "is set to&q= uot;. But I'm
> not sure it makes sense to have any flags set alo= ngside SS_DISABLE
> anyway.

While the SS= _AUTODISARM flag has no effect if specified alongside SS_DISABLE, the kerne= l still accepts and stores it. So A subsequent call to sigaltstack can retu= rn SS_DISABLE|SS_AUTODISARM in the "old" flags value. To avoid th= e case where the old value returned from sigaltstack is not accepted back a= s the input, I used the "includes" semantics here.

=

On Wed, Jul 10, 2019 at 2:39 PM Rich Felker <dalias@libc.org> wrote:
On Wed, Jul 10, 2019 at 02:04:18PM -0400, Jame= s Y Knight wrote:
> On Tue, Jul 9, 2019 at 3:30 PM Rich Felker <dalias@libc.org> wrote:

--0000000000009eab0a058d594904-- --0000000000009eab0c058d594906 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-the-use-of-sigaltstack-to-return-to-the-saved-ma.patch" Content-Disposition: attachment; filename="0001-Fix-the-use-of-sigaltstack-to-return-to-the-saved-ma.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jxxohcp40 RnJvbSBmNmE4M2I0NzdiNWIxYjdiZDE3MDYzMjdmOWQ2ZGUxOWI2ZWZlMzg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBZIEtuaWdodCA8anlrbmlnaHRAZ29vZ2xlLmNvbT4K RGF0ZTogV2VkLCAxMCBKdWwgMjAxOSAxNToyMjo1OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEZp eCB0aGUgdXNlIG9mIHNpZ2FsdHN0YWNrIHRvIHJldHVybiB0byB0aGUgc2F2ZWQgbWFpbiBzdGFj ay4KClByZXZpb3VzbHksIG11c2wgd291bGQgcmVqZWN0IHRoZSBjYWxsIHdpdGggLUVOT01FTSwg YmVjYXVzZSB0aGUgbWFpbgpzdGFjayB0eXBpY2FsbHkgaGFzIHNzX3NpemUgPT0gMCBhbmQgc3Nf ZmxhZ3MgPT0gU1NfRElTQUJMRS4KLS0tCiBzcmMvc2lnbmFsL3NpZ2FsdHN0YWNrLmMgfCAxMCAr KysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL3NpZ25hbC9zaWdhbHRzdGFjay5jIGIvc3JjL3NpZ25hbC9zaWdh bHRzdGFjay5jCmluZGV4IGNmYTNmNWMxLi5iMGQ3OTlkMiAxMDA2NDQKLS0tIGEvc3JjL3NpZ25h bC9zaWdhbHRzdGFjay5jCisrKyBiL3NyYy9zaWduYWwvc2lnYWx0c3RhY2suYwpAQCAtNCwxMSAr NCwxOSBAQAogCiBpbnQgc2lnYWx0c3RhY2soY29uc3Qgc3RhY2tfdCAqcmVzdHJpY3Qgc3MsIHN0 YWNrX3QgKnJlc3RyaWN0IG9sZCkKIHsKKwkvLyBXZSBtdXN0IGNoZWNrIHJlcXVpcmVtZW50cyB3 aGljaCBMaW51eCBmYWlscyB0byB2ZXJpZnkgaW4gdGhlIHN5c2NhbGwKKwkvLyBpdHNlbGYuCiAJ aWYgKHNzKSB7Ci0JCWlmIChzcy0+c3Nfc2l6ZSA8IE1JTlNJR1NUS1NaKSB7CisJCS8vIFRoZSBz eXNjYWxsIGRvZXMgYWxyZWFkeSBjaGVjayBhZ2FpbnN0IE1JTlNJR1NUS1NaLCBob3dldmVyLAor CQkvLyB0aGUga2VybmVsJ3MgdmFsdWUgaXMgc21hbGxlciB0aGFuIG11c2wncyB2YWx1ZSBvbiBz b21lCisJCS8vIGFyY2hpdGVjdHVyZXMuIFRodXMsIGFsdGhvdWdoIHRoaXMgY2hlY2sgbWF5IGFw cGVhcgorCQkvLyByZWR1bmRhbnQsIGl0IGlzIG5vdC4KKwkJaWYgKCEoc3MtPnNzX2ZsYWdzICYg U1NfRElTQUJMRSkgJiYgc3MtPnNzX3NpemUgPCBNSU5TSUdTVEtTWikgewogCQkJZXJybm8gPSBF Tk9NRU07CiAJCQlyZXR1cm4gLTE7CiAJCX0KKwkJLy8gTGludXggaWdub3JlcyBTU19PTlNUQUNL IG9uIGlucHV0LCBidXQgUE9TSVggcmVxdWlyZXMgYW4KKwkJLy8gZXJyb3IuCiAJCWlmIChzcy0+ c3NfZmxhZ3MgJiBTU19PTlNUQUNLKSB7CiAJCQllcnJubyA9IEVJTlZBTDsKIAkJCXJldHVybiAt MTsKLS0gCjIuMjIuMC40MTAuZ2Q4ZmRiZTIxYjUtZ29vZwoK --0000000000009eab0c058d594906 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Verify-that-returning-to-the-original-stack-doesn-t-.patch" Content-Disposition: attachment; filename="0001-Verify-that-returning-to-the-original-stack-doesn-t-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jxxoi60a1 RnJvbSAzMTM2MThjOGUwMGRmMTA2NTI4ZTI0Y2FiYzM4Mzc5YjQ3ODNmNTFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBZIEtuaWdodCA8anlrbmlnaHRAZ29vZ2xlLmNvbT4K RGF0ZTogVHVlLCA5IEp1bCAyMDE5IDE0OjMxOjI0IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gVmVy aWZ5IHRoYXQgcmV0dXJuaW5nIHRvIHRoZSBvcmlnaW5hbCBzdGFjayBkb2Vzbid0IHJldHVybiBh bgogZXJyb3IgKGUuZy4gRU5PTUVNKS4KCi0tLQogc3JjL3JlZ3Jlc3Npb24vc2lnYWx0c3RhY2su YyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9yZWdyZXNzaW9uL3NpZ2FsdHN0YWNrLmMgYi9zcmMvcmVn cmVzc2lvbi9zaWdhbHRzdGFjay5jCmluZGV4IGJmZGM0NGEuLjJiZmUzMjkgMTAwNjQ0Ci0tLSBh L3NyYy9yZWdyZXNzaW9uL3NpZ2FsdHN0YWNrLmMKKysrIGIvc3JjL3JlZ3Jlc3Npb24vc2lnYWx0 c3RhY2suYwpAQCAtMzAsNyArMzAsNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVyKGludCBzaWcpCiAK IGludCBtYWluKHZvaWQpCiB7Ci0Jc3RhY2tfdCBzczsKKwlzdGFja190IHNzLCBvbGRzczsKIAlz dHJ1Y3Qgc2lnYWN0aW9uIHNhOwogCiAJc3Muc3Nfc3AgPSBzdGFjazsKQEAgLTM5LDcgKzM5LDcg QEAgaW50IG1haW4odm9pZCkKIAlzYS5zYV9oYW5kbGVyID0gaGFuZGxlcjsKIAlzYS5zYV9mbGFn cyA9IFNBX09OU1RBQ0s7CiAKLQlUKHNpZ2FsdHN0YWNrKCZzcywgMCkpOworCVQoc2lnYWx0c3Rh Y2soJnNzLCAmb2xkc3MpKTsKIAlUKHNpZ2ZpbGxzZXQoJnNhLnNhX21hc2spKTsKIAlUKHNpZ2Fj dGlvbihTSUdVU1IxLCAmc2EsIDApKTsKIAlUKHJhaXNlKFNJR1VTUjEpKTsKQEAgLTU2LDcgKzU2 LDcgQEAgaW50IG1haW4odm9pZCkKIAkJdF9lcnJvcigic2lnYWx0c3RhY2sgd2l0aCBiYWQgc3Nf ZmxhZ3Mgc2hvdWxkIGhhdmUgZmFpbGVkIHdpdGggRUlOVkFMLCAiCiAJCQkiZ290ICVzXG4iLCBz dHJlcnJvcihlcnJubykpOwogCWVycm5vID0gMDsKLQlUKHNpZ2FsdHN0YWNrKDAsIDApKTsKKwlU KHNpZ2FsdHN0YWNrKCZvbGRzcywgMCkpOwogCiAJcmV0dXJuIHRfc3RhdHVzOwogfQotLSAKMi4y Mi4wLjQxMC5nZDhmZGJlMjFiNS1nb29nCgo= --0000000000009eab0c058d594906--