From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/12015 Path: news.gmane.org!.POSTED!not-for-mail From: Petr Skocik Newsgroups: gmane.linux.lib.musl.general Subject: Re: musl 1.1.17 released Date: Fri, 20 Oct 2017 02:11:35 +0200 Message-ID: References: <20171019201337.GA335@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a113d0298e4d68c055bef50cb" X-Trace: blaine.gmane.org 1508458332 24284 195.159.176.226 (20 Oct 2017 00:12:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 20 Oct 2017 00:12:12 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-12028-gllmg-musl=m.gmane.org@lists.openwall.com Fri Oct 20 02:12:06 2017 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.84_2) (envelope-from ) id 1e5Kue-0002yF-2O for gllmg-musl@m.gmane.org; Fri, 20 Oct 2017 02:11:44 +0200 Original-Received: (qmail 21880 invoked by uid 550); 20 Oct 2017 00:11:48 -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 21862 invoked from network); 20 Oct 2017 00:11:48 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=UhbAX+SJkZ9LXZaMdCRgJ8kKylUpfe0YUqnHbGtlS/Y=; b=uXR6TNJN5+yMYNLlFYHSoSxLMgNlqQP1g+H5iHDXLV6iV2pRKCqqwu91VUDmTKsiDV Jw4IsFtZ5YPxzx55ZzZIOPVO4hP1zMnnxuSEnPPz3ztvJLeQLUxru3gYT3EFRMAQyo6w RvZOpK17hh0C3DVswO0WrH314PbJxLzJayMLse1JritrSMkK4RCqS32HyxJJWX8qkX9s AGHMXf8k0oVb0jWscMlaY3NowwZxHmKiWINTxDH7EW5VGKt486qIB5Jc3svjBpk8HCd1 hogUk+Fh6RA/k3FET2h3vFv3ar60Dc9EX39H3q+EIW9NvnGHjS+cFb4ZRWpjBk5Xzl20 j+tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=UhbAX+SJkZ9LXZaMdCRgJ8kKylUpfe0YUqnHbGtlS/Y=; b=HIdu/Re7X+06jlK+PAVfcJ6og0XH3fQ386mAya+bFruDm9btsQadZJFazXNDk+Hdzz ua0V9k4ga6mJTMZNR5TQyuQrsW8ZBVDq3TjCFF8cA/7abuOHed66TJF3stwwcclYL3Iu BTWsR7vxMGeMb/Y6D+b67BgzuAPCAt8CBLbB770ewU91vS3uUn+2v2N3V0DRQ/eO/x1U fLFYLMr8AOtEcvJn2VJYMIFy54ZoqfEQY04vLU+/9kiZbbUKP9jJBbYrCNHhsGiVf5oC TFrYzZNxtwnKPnhOQYeDDCD1JZdSnTyf/WdCQFWl7+Km104ASh46K/P/v85JoWuA0Dma kNcg== X-Gm-Message-State: AMCzsaV/BNH1+YknCj1cz8J01X5SFPf8eap3fr2UWwRsbJd6TnH+SlGO Rvr//1tz7ftw2uXkEJRBIo+yElNUUs6rlBvyGnFWBA== X-Google-Smtp-Source: ABhQp+RUBZ97pqdNFEjlf38JI+9ZHzxLXARpI6FoXzIiZaqkQCKsN0MAQHBhA9Bv+bpU/4lPJ24WbNuBEQP+HcORnWI= X-Received: by 10.157.7.75 with SMTP id 69mr1811926ote.170.1508458296031; Thu, 19 Oct 2017 17:11:36 -0700 (PDT) Original-Sender: thorx89@gmail.com In-Reply-To: <20171019201337.GA335@brightrain.aerifal.cx> X-Google-Sender-Auth: D4sdg1btlI03475cEZ3obQaI48s Xref: news.gmane.org gmane.linux.lib.musl.general:12015 Archived-At: --001a113d0298e4d68c055bef50cb Content-Type: multipart/alternative; boundary="001a113d0298e4d688055bef50c9" --001a113d0298e4d688055bef50c9 Content-Type: text/plain; charset="UTF-8" Hi. Since posix_spawn is being discussed, I'd like to report a what I think is a bug in the current implementation: Since the child is unmasking its signals only after it's performed its file actions, the process may get blocked indefinitely (e.g., on a FIFO open) while being unresponsive to signals. Example program (with close to no error checking): #define _GNU_SOURCE #include #include #include #include #include #include #include int main() { pid_t pid; mkfifo("fifo", 0640); posix_spawn_file_actions_t fa; posix_spawn_file_actions_init(&fa); posix_spawn_file_actions_addopen(&fa, 0, "fifo", O_RDONLY, 0); posix_spawnp(&pid, "tr", &fa, 0, (char *const[]){ "tr", "a-z", "A-Z", 0}, environ); //will get stuck here } It think the pthread_mask call should be moved above the file actions, which fixes this problem. Additionally, as far as extensions to the current POSIX standard are concerned, adding the herein (http://austingroupbugs.net/view.php?id=411) proposed change to *adddup2 semantics (clearing the FD_CLOEXEC flag on the (given target in dup2 file actions where the source and target filedescriptor are identical) would be super nice (the reasoning for it should be in the link). Finally, I noticed the error passing code can be reduced to a simple write to a volatile int made from the child (purely cosmetic). Attached are patches for these 3 things in case you wanted them. (I hope I'm not doing something stupid.) Best regards and thanks for the project! On Thu, Oct 19, 2017 at 10:13 PM, Rich Felker wrote: > *** Due to at least one fairly serious security bug, all users should > upgrade or patch. *** > > > This release fixes numerous bugs affecting visible behavior and > safety/internal consistency, including a stack-based buffer overflow > in dns parsing and multiple sources of invalid memory accesses that > may lead to crashes. See the release notes in WHATSNEW for details. > > Many new features have also been added, including deferred symbol > binding in the dynamic linker (RTLD_LAZY emulation), an option to > overrid argv[0] when running ldso to execute a program, support for > starting new sessions via posix_spawn (POSIX_SPAWN_SETSID, accepted > for standardization), and ability to query the active thread-local > locale (via _NL_LOCALE_NAME extension). Improvements in compatibility > with applications, build tools, and platforms have also been made. > > https://www.musl-libc.org/releases/musl-1.1.17.tar.gz > https://www.musl-libc.org/releases/musl-1.1.17.tar.gz.asc > > Special thanks to musl's release sponsors (patreon.com/musl): > > * Justin Cormack > * Jevin Sweval > * Les Aker > * Neal Gompa > * Hurricane Labs (hurricanelabs.com) > * The Midipix Project (midipix.org) > --001a113d0298e4d688055bef50c9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi.
Since posix_spawn is being discussed, I'd like= to report a what I think is a bug in the current implementation:
Since the child is unmasking its signals only after it's performed its= file actions, the process may get blocked indefinitely (e.g., on a FIFO op= en)=C2=A0while being unresponsive to signals.

Example p= rogram (with close to no error checking):

#define _GNU_SOU= RCE
#include <unistd.h>
#in= clude <spawn.h>
#include <stdlib.h>
<= /div>
#include <fcntl.h>
#include <s= ys/types.h>
#include <sys/stat.h>
=
#include <sys/wait.h>
int main()
=
{
pid_t pid;
mkfifo("fifo", 0640);
posix_spawn_file_actions_t fa;
posix_spawn_file_actions_init(&fa);=
posix_spawn_f= ile_actions_addopen(&fa, 0, "fifo", O_RDONLY, 0);
=
posix_spawnp(&pid, &q= uot;tr", &fa, 0, (char *const[]){ "tr", "a-z",= "A-Z", 0}, environ);
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 //will get stuck here
}

It=C2=A0 think the pthread_mask call should be moved a= bove the file actions, which fixes this problem.

A= dditionally, as far as extensions to the current POSIX standard are concern= ed, adding the herein (http://austingroupbugs.net/view.php?id=3D411)=C2=A0 proposed chang= e to *adddup2 semantics (clearing the FD_CLOEXEC flag on=C2=A0the =C2=A0(gi= ven=C2=A0target in dup2 file actions where the source and target filedescri= ptor are identical) would be super nice (the reasoning for it should be in = the link).

Finally, I noticed the error passing co= de can be reduced to a simple write to a volatile int made from the child (= purely cosmetic).

Attached are patches for these 3= things in case you wanted them. (I hope I'm not doing something stupid= .)

Best regards and thanks for the project!
<= /div>

On Thu, Oct = 19, 2017 at 10:13 PM, Rich Felker <dalias@libc.org> wrote:
=
*** Due to at least one fairly serious secur= ity bug, all users should
upgrade or patch. ***


This release fixes numerous bugs affecting visible behavior and
safety/internal consistency, including a stack-based buffer overflow
in dns parsing and multiple sources of invalid memory accesses that
may lead to crashes. See the release notes in WHATSNEW for details.

Many new features have also been added, including deferred symbol
binding in the dynamic linker (RTLD_LAZY emulation), an option to
overrid argv[0] when running ldso to execute a program, support for
starting new sessions via posix_spawn (POSIX_SPAWN_SETSID, accepted
for standardization), and ability to query the active thread-local
locale (via _NL_LOCALE_NAME extension). Improvements in compatibility
with applications, build tools, and platforms have also been made.

https://www.musl-libc.org/releases/musl-1.= 1.17.tar.gz
https://www.musl-libc.org/releases/m= usl-1.1.17.tar.gz.asc

Special thanks to musl's release sponsors (patreon.com/musl):

* Justin Cormack
* Jevin Sweval
* Les Aker
* Neal Gompa
* Hurricane Labs (hurricanelabs.com)
* The Midipix Project (midipix.org)

--001a113d0298e4d688055bef50c9-- --001a113d0298e4d68c055bef50cb Content-Type: text/x-patch; charset="US-ASCII"; name="0001-simplify-posix_spawn-by-avoiding-the-error-pipe.patch" Content-Disposition: attachment; filename="0001-simplify-posix_spawn-by-avoiding-the-error-pipe.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j8z4n7jk0 RnJvbSBjMjQxZjYyMjYyNGZiMDg0OTg2NGQ2OGM3MDQ4ZTk4ZjYzODEyYjQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIFNrb2NpayA8Z21haWxAcHNrb2Npay5jb20+CkRhdGU6 IFR1ZSwgMTcgT2N0IDIwMTcgMDA6MTM6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDEvM10gc2lt cGxpZnkgcG9zaXhfc3Bhd24gYnkgYXZvaWRpbmcgdGhlIGVycm9yIHBpcGUKCi0tLQogc3JjL3By b2Nlc3MvcG9zaXhfc3Bhd24uYyB8IDMyICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvcHJvY2Vzcy9wb3NpeF9zcGF3bi5jIGIvc3JjL3Byb2Nlc3MvcG9zaXhfc3Bh d24uYwppbmRleCBlYTVkMjk5OC4uZDQzNzcyODggMTAwNjQ0Ci0tLSBhL3NyYy9wcm9jZXNzL3Bv c2l4X3NwYXduLmMKKysrIGIvc3JjL3Byb2Nlc3MvcG9zaXhfc3Bhd24uYwpAQCAtMTEsNyArMTEs NyBAQAogI2luY2x1ZGUgImxpYmMuaCIKIAogc3RydWN0IGFyZ3MgewotCWludCBwWzJdOworCXZv bGF0aWxlIGludCByZXQ7CiAJc2lnc2V0X3Qgb2xkbWFzazsKIAljb25zdCBjaGFyICpwYXRoOwog CWludCAoKmV4ZWMpKGNvbnN0IGNoYXIgKiwgY2hhciAqY29uc3QgKiwgY2hhciAqY29uc3QgKik7 CkBAIC00MSwxMiArNDEsMTAgQEAgc3RhdGljIGludCBjaGlsZCh2b2lkICphcmdzX3ZwKQogCWlu dCBpLCByZXQ7CiAJc3RydWN0IHNpZ2FjdGlvbiBzYSA9IHswfTsKIAlzdHJ1Y3QgYXJncyAqYXJn cyA9IGFyZ3NfdnA7Ci0JaW50IHAgPSBhcmdzLT5wWzFdOwogCWNvbnN0IHBvc2l4X3NwYXduX2Zp bGVfYWN0aW9uc190ICpmYSA9IGFyZ3MtPmZhOwogCWNvbnN0IHBvc2l4X3NwYXduYXR0cl90ICpy ZXN0cmljdCBhdHRyID0gYXJncy0+YXR0cjsKIAlzaWdzZXRfdCBoc2V0OwogCi0JY2xvc2UoYXJn cy0+cFswXSk7CiAKIAkvKiBBbGwgc2lnbmFsIGRpc3Bvc2l0aW9ucyBtdXN0IGJlIGVpdGhlciBT SUdfREZMIG9yIFNJR19JR04KIAkgKiBiZWZvcmUgc2lnbmFscyBhcmUgdW5ibG9ja2VkLiBPdGhl cndpc2UgYSBzaWduYWwgaGFuZGxlcgpAQCAtOTQsMTYgKzkyLDYgQEAgc3RhdGljIGludCBjaGls ZCh2b2lkICphcmdzX3ZwKQogCQlpbnQgZmQ7CiAJCWZvciAob3AgPSBmYS0+X19hY3Rpb25zOyBv cC0+bmV4dDsgb3AgPSBvcC0+bmV4dCk7CiAJCWZvciAoOyBvcDsgb3AgPSBvcC0+cHJldikgewot CQkJLyogSXQncyBwb3NzaWJsZSB0aGF0IGEgZmlsZSBvcGVyYXRpb24gd291bGQgY2xvYmJlcgot CQkJICogdGhlIHBpcGUgZmQgdXNlZCBmb3Igc3luY2hyb25pemluZyB3aXRoIHRoZQotCQkJICog cGFyZW50LiBUbyBhdm9pZCB0aGF0LCB3ZSBkdXAgdGhlIHBpcGUgb250bwotCQkJICogYW4gdW5v Y2N1cGllZCBmZC4gKi8KLQkJCWlmIChvcC0+ZmQgPT0gcCkgewotCQkJCXJldCA9IF9fc3lzY2Fs bChTWVNfZHVwLCBwKTsKLQkJCQlpZiAocmV0IDwgMCkgZ290byBmYWlsOwotCQkJCV9fc3lzY2Fs bChTWVNfY2xvc2UsIHApOwotCQkJCXAgPSByZXQ7Ci0JCQl9CiAJCQlzd2l0Y2gob3AtPmNtZCkg ewogCQkJY2FzZSBGRE9QX0NMT1NFOgogCQkJCV9fc3lzY2FsbChTWVNfY2xvc2UsIG9wLT5mZCk7 CkBAIC0xMjUsMTIgKzExMyw2IEBAIHN0YXRpYyBpbnQgY2hpbGQodm9pZCAqYXJnc192cCkKIAkJ fQogCX0KIAotCS8qIENsb3NlLW9uLWV4ZWMgZmxhZyBtYXkgaGF2ZSBiZWVuIGxvc3QgaWYgd2Ug bW92ZWQgdGhlIHBpcGUKLQkgKiB0byBhIGRpZmZlcmVudCBmZC4gV2UgZG9uJ3QgdXNlIEZfRFVQ RkRfQ0xPRVhFQyBhYm92ZSBiZWNhdXNlCi0JICogaXQgd291bGQgZmFpbCBvbiBvbGRlciBrZXJu ZWxzIGFuZCBhdG9taWNpdHkgaXMgbm90IG5lZWRlZCAtLQotCSAqIGluIHRoaXMgcHJvY2VzcyB0 aGVyZSBhcmUgbm8gdGhyZWFkcyBvciBzaWduYWwgaGFuZGxlcnMuICovCi0JX19zeXNjYWxsKFNZ U19mY250bCwgcCwgRl9TRVRGRCwgRkRfQ0xPRVhFQyk7Ci0KIAlwdGhyZWFkX3NpZ21hc2soU0lH X1NFVE1BU0ssIChhdHRyLT5fX2ZsYWdzICYgUE9TSVhfU1BBV05fU0VUU0lHTUFTSykKIAkJPyAm YXR0ci0+X19tYXNrIDogJmFyZ3MtPm9sZG1hc2ssIDApOwogCkBAIC0xNDAsNyArMTIyLDcgQEAg c3RhdGljIGludCBjaGlsZCh2b2lkICphcmdzX3ZwKQogZmFpbDoKIAkvKiBTaW5jZSBzaXplb2Yg ZXJybm8gPCBQSVBFX0JVRiwgdGhlIHdyaXRlIGlzIGF0b21pYy4gKi8KIAlyZXQgPSAtcmV0Owot CWlmIChyZXQpIHdoaWxlIChfX3N5c2NhbGwoU1lTX3dyaXRlLCBwLCAmcmV0LCBzaXplb2YgcmV0 KSA8IDApOworCWlmIChyZXQpIGFyZ3MtPnJldCA9IHJldDsKIAlfZXhpdCgxMjcpOwogfQogCkBA IC0xNTYsOSArMTM4LDYgQEAgaW50IF9fcG9zaXhfc3Bhd254KHBpZF90ICpyZXN0cmljdCByZXMs IGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsCiAJaW50IGVjPTAsIGNzOwogCXN0cnVjdCBhcmdz IGFyZ3M7CiAKLQlpZiAocGlwZTIoYXJncy5wLCBPX0NMT0VYRUMpKQotCQlyZXR1cm4gZXJybm87 Ci0KIAlwdGhyZWFkX3NldGNhbmNlbHN0YXRlKFBUSFJFQURfQ0FOQ0VMX0RJU0FCTEUsICZjcyk7 CiAKIAlhcmdzLnBhdGggPSBwYXRoOwpAQCAtMTcxLDE3ICsxNTAsMTQgQEAgaW50IF9fcG9zaXhf c3Bhd254KHBpZF90ICpyZXN0cmljdCByZXMsIGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsCiAK IAlwaWQgPSBfX2Nsb25lKGNoaWxkLCBzdGFjaytzaXplb2Ygc3RhY2ssCiAJCUNMT05FX1ZNfENM T05FX1ZGT1JLfFNJR0NITEQsICZhcmdzKTsKLQljbG9zZShhcmdzLnBbMV0pOwogCiAJaWYgKHBp ZCA+IDApIHsKLQkJaWYgKHJlYWQoYXJncy5wWzBdLCAmZWMsIHNpemVvZiBlYykgIT0gc2l6ZW9m IGVjKSBlYyA9IDA7Ci0JCWVsc2Ugd2FpdHBpZChwaWQsICYoaW50KXswfSwgMCk7CisJCWlmICgw IT0oZWM9YXJncy5yZXQpKSAKKwkJCXdhaXRwaWQocGlkLCAmKGludCl7MH0sIDApOwogCX0gZWxz ZSB7CiAJCWVjID0gLXBpZDsKIAl9CiAKLQljbG9zZShhcmdzLnBbMF0pOwotCiAJaWYgKCFlYyAm JiByZXMpICpyZXMgPSBwaWQ7CiAKIAlwdGhyZWFkX3NpZ21hc2soU0lHX1NFVE1BU0ssICZhcmdz Lm9sZG1hc2ssIDApOwotLSAKMi4xNC4yCgo= --001a113d0298e4d68c055bef50cb Content-Type: text/x-patch; charset="US-ASCII"; name="0002-make-addup2-remove-FD_CLOEXEC-if-the-descriptors-are.patch" Content-Disposition: attachment; filename="0002-make-addup2-remove-FD_CLOEXEC-if-the-descriptors-are.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j8z4n7ke1 RnJvbSBlMzhiODIyNTI1YTdlNGNkNWViYmE1YmM4MWM0ZmVmODNmNmVjMjc3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIFNrb2NpayA8Z21haWxAcHNrb2Npay5jb20+CkRhdGU6 IFdlZCwgMTggT2N0IDIwMTcgMDI6MjU6MTkgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvM10gbWFr ZSBhZGR1cDIgcmVtb3ZlIEZEX0NMT0VYRUMgaWYgdGhlIGRlc2NyaXB0b3JzIGFyZQogZXF1YWwK CkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW86CgoxLiBUaGUgdXNlciBpcyBpbiBhIG11 bHRpdGhyZWFkZWQgcHJvZ3JhbS4KMi4gVGhleSBkb24ndCB3YW50IHRvIHVzZSBtdWx0aXBsZSBw b3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkb3BlbgogICBiZWNhdXNlIHBvc2l4X3NwYXduIGNh bid0IHJlcG9ydCBfd2hpY2hfIG9wZW4gZmFpbGVkCjMuIFNvIHRoZXkgb3BlbiB3aXRoIE9fQ0xP RVhFQyBpbiB0aGUgcGFyZW50IGFuZCB1c2UgcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGR1 cDIKICAgdG8gZHVwIGl0IG9udG8gdGhlIHJpZ2h0IGZkIGluIHRoZSBjaGlsZCB3aGlsZSByZW1v dmluZyB0aGUgT19DTE9FWEVDCiAgIGZsYWcKNC4gSWYsIGJ5IGNoYW5jZSwgdGhlIGZpbGUgb3Bl bmVkIGF0IHRoZSByaWdodCBmaWxlZGVzY3JpcHRvciwKICAgdGhlbiBkdWUgdG8gdGhlIHNlbWFu dGljcyBvZiBkdXAyLCBpdCB3aWxsIHJlbWFpbiBGRF9DTE9FWEVDCiAgIGFuZCBoZW5jZSB3b24n dCBjYXJyeSBvdmVyIGFjcm9zcyBleGVjdmUuCgpMb3NpbmcgdGhlIE9fQ0xPRVhFQyBmbGFnIGlu IHRoZSBNVCBwYXJlbnQgd291bGQgbGVhZCB0byByYWNlcwphbmQgc2luY2UgdGhlcmUncyBub3Qg cG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGZjbnRsLCBJIHRoaW5rIHRoZQpzb2x1dGlvbiBz aG91bGQgYmUgdG8gcmVtb3ZlIHRoZSBDTE9FWEVDIGZsYWcgaW4gdGhlIGNoaWxkIGlmCnRoZSBk dXAyIHNvdXJjZSBhbmQgdGFyZ2V0IGFyZSBpZGVudGljYWwuCi0tLQogc3JjL3Byb2Nlc3MvcG9z aXhfc3Bhd24uYyB8IDE1ICsrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Byb2Nlc3MvcG9zaXhf c3Bhd24uYyBiL3NyYy9wcm9jZXNzL3Bvc2l4X3NwYXduLmMKaW5kZXggZDQzNzcyODguLjEzNzg5 OGQ4IDEwMDY0NAotLS0gYS9zcmMvcHJvY2Vzcy9wb3NpeF9zcGF3bi5jCisrKyBiL3NyYy9wcm9j ZXNzL3Bvc2l4X3NwYXduLmMKQEAgLTEwLDYgKzEwLDE3IEBACiAjaW5jbHVkZSAiZmRvcC5oIgog I2luY2x1ZGUgImxpYmMuaCIKIAorLyoKKyB0aGUgdXNlciBtYXkgd2lzaCB0byBhZGRkdXAyIGEg Q0xPRVhFQyBmaWxlZGVzY3JpcHRvciAKKyB0aGlzIHNob3VsZCByZW1vdmUgdGhlIENMT0VYRUMg ZmxhZyBhbmQgdGhlIHVzZXIgc2hvdWxkbid0IGJlIGV4cGVjdGVkIHRvIGRvIGl0CisgYmVjYXVz ZSBpZiB0aGUgQ0xPRVhFQyBmbGFnIGlzIG9uLCBpdCBwcm9iYWJseSBuZWVkcyB0byBiZSBvbiwg YmVjYXVzZSB0aGUgcGFyZW50CisgaXMgbXVsdGl0aHJlYWRlZAorKi8KK3N0YXRpYyBpbnQgZHVw M19vcl9zZXRfY2xvZXhlYyhpbnQgU3JjRmQsIGludCBEZXN0RmQsIGludCBGbGcpCit7CisJcnQg KERlc3RGZCE9U3JjRmQpID8gZHVwMyhTcmNGZCxEZXN0RmQsRmxnKSA6IGZjbnRsKERlc3RGZCxG X1NFVEZELEZsZyk7Cit9CisKIHN0cnVjdCBhcmdzIHsKIAl2b2xhdGlsZSBpbnQgcmV0OwogCXNp Z3NldF90IG9sZG1hc2s7CkBAIC05NywxNCArMTA4LDE0IEBAIHN0YXRpYyBpbnQgY2hpbGQodm9p ZCAqYXJnc192cCkKIAkJCQlfX3N5c2NhbGwoU1lTX2Nsb3NlLCBvcC0+ZmQpOwogCQkJCWJyZWFr OwogCQkJY2FzZSBGRE9QX0RVUDI6Ci0JCQkJaWYgKChyZXQ9X19zeXNfZHVwMihvcC0+c3JjZmQs IG9wLT5mZCkpPDApCisJCQkJaWYgKChyZXQ9ZHVwM19vcl9zZXRfY2xvZXhlYyhvcC0+c3JjZmQs IG9wLT5mZCwgMCkpPDApCiAJCQkJCWdvdG8gZmFpbDsKIAkJCQlicmVhazsKIAkJCWNhc2UgRkRP UF9PUEVOOgogCQkJCWZkID0gX19zeXNfb3BlbihvcC0+cGF0aCwgb3AtPm9mbGFnLCBvcC0+bW9k ZSk7CiAJCQkJaWYgKChyZXQ9ZmQpIDwgMCkgZ290byBmYWlsOwogCQkJCWlmIChmZCAhPSBvcC0+ ZmQpIHsKLQkJCQkJaWYgKChyZXQ9X19zeXNfZHVwMihmZCwgb3AtPmZkKSk8MCkKKwkJCQkJaWYg KChyZXQ9ZHVwM19vcl9zZXRfY2xvZXhlYyhmZCwgb3AtPmZkLCAwKSk8MCkKIAkJCQkJCWdvdG8g ZmFpbDsKIAkJCQkJX19zeXNjYWxsKFNZU19jbG9zZSwgZmQpOwogCQkJCX0KLS0gCjIuMTQuMgoK --001a113d0298e4d68c055bef50cb Content-Type: text/x-patch; charset="US-ASCII"; name="0003-posix_spawn-unmask-signals-before-potentially-long-b.patch" Content-Disposition: attachment; filename="0003-posix_spawn-unmask-signals-before-potentially-long-b.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j8z4n7kk2 RnJvbSA5ZTI5YmQ5ZTU5ZGMxN2I2NTA1ZjcyMzAzZmQzN2QxNWM5NWQxYjAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIFNrb2NpayA8Z21haWxAcHNrb2Npay5jb20+CkRhdGU6 IFdlZCwgMTggT2N0IDIwMTcgMTE6NDY6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDMvM10gcG9z aXhfc3Bhd246IHVubWFzayBzaWduYWxzIGJlZm9yZSBwb3RlbnRpYWxseQogbG9uZy1ibG9ja2lu ZyBjYWxscwoKLS0tCiBzcmMvcHJvY2Vzcy9wb3NpeF9zcGF3bi5jIHwgMTggKysrKysrKystLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvcHJvY2Vzcy9wb3NpeF9zcGF3bi5jIGIvc3JjL3Byb2Nlc3MvcG9z aXhfc3Bhd24uYwppbmRleCAxMzc4OThkOC4uNzJhOTVhNDUgMTAwNjQ0Ci0tLSBhL3NyYy9wcm9j ZXNzL3Bvc2l4X3NwYXduLmMKKysrIGIvc3JjL3Byb2Nlc3MvcG9zaXhfc3Bhd24uYwpAQCAtMTAs MTUgKzEwLDkgQEAKICNpbmNsdWRlICJmZG9wLmgiCiAjaW5jbHVkZSAibGliYy5oIgogCi0vKgot IHRoZSB1c2VyIG1heSB3aXNoIHRvIGFkZGR1cDIgYSBDTE9FWEVDIGZpbGVkZXNjcmlwdG9yIAot IHRoaXMgc2hvdWxkIHJlbW92ZSB0aGUgQ0xPRVhFQyBmbGFnIGFuZCB0aGUgdXNlciBzaG91bGRu J3QgYmUgZXhwZWN0ZWQgdG8gZG8gaXQKLSBiZWNhdXNlIGlmIHRoZSBDTE9FWEVDIGZsYWcgaXMg b24sIGl0IHByb2JhYmx5IG5lZWRzIHRvIGJlIG9uLCBiZWNhdXNlIHRoZSBwYXJlbnQKLSBpcyBt dWx0aXRocmVhZGVkCi0qLwogc3RhdGljIGludCBkdXAzX29yX3NldF9jbG9leGVjKGludCBTcmNG ZCwgaW50IERlc3RGZCwgaW50IEZsZykKIHsKLQlydCAoRGVzdEZkIT1TcmNGZCkgPyBkdXAzKFNy Y0ZkLERlc3RGZCxGbGcpIDogZmNudGwoRGVzdEZkLEZfU0VURkQsRmxnKTsKKwlyZXR1cm4gKERl c3RGZCE9U3JjRmQpID8gZHVwMyhTcmNGZCxEZXN0RmQsRmxnKSA6IGZjbnRsKERlc3RGZCxGX1NF VEZELEZsZyk7CiB9CiAKIHN0cnVjdCBhcmdzIHsKQEAgLTgxLDYgKzc1LDcgQEAgc3RhdGljIGlu dCBjaGlsZCh2b2lkICphcmdzX3ZwKQogCQl9CiAJCV9fbGliY19zaWdhY3Rpb24oaSwgJnNhLCAw KTsKIAl9CisJCiAKIAlpZiAoYXR0ci0+X19mbGFncyAmIFBPU0lYX1NQQVdOX1NFVFNJRCkKIAkJ aWYgKChyZXQ9X19zeXNjYWxsKFNZU19zZXRzaWQpKSA8IDApCkBAIC05OCw2ICs5MywxMiBAQCBz dGF0aWMgaW50IGNoaWxkKHZvaWQgKmFyZ3NfdnApCiAJCSAgICAocmV0PV9fc3lzY2FsbChTWVNf c2V0dWlkLCBfX3N5c2NhbGwoU1lTX2dldHVpZCkpKSApCiAJCQlnb3RvIGZhaWw7CiAKKwkvKmZp bGUgYWN0aW9ucyAob3BlbnMpIGFyZSBwb3RlbnRpYWxseSBsb25nLWJsb2NraW5nLCBzbyB0aGUg cHJvY2VzcyBzaG91bGQKKwkgYmVjb21lIGludGVycnVwdGlibGUgYmVmb3JlIHRoZXkncmUgaW52 b2tlZCAqLworCXB0aHJlYWRfc2lnbWFzayhTSUdfU0VUTUFTSywgKGF0dHItPl9fZmxhZ3MgJiBQ T1NJWF9TUEFXTl9TRVRTSUdNQVNLKQorCQk/ICZhdHRyLT5fX21hc2sgOiAmYXJncy0+b2xkbWFz aywgMCk7CisKKwogCWlmIChmYSAmJiBmYS0+X19hY3Rpb25zKSB7CiAJCXN0cnVjdCBmZG9wICpv cDsKIAkJaW50IGZkOwpAQCAtMTI0LDkgKzEyNSw2IEBAIHN0YXRpYyBpbnQgY2hpbGQodm9pZCAq YXJnc192cCkKIAkJfQogCX0KIAotCXB0aHJlYWRfc2lnbWFzayhTSUdfU0VUTUFTSywgKGF0dHIt Pl9fZmxhZ3MgJiBQT1NJWF9TUEFXTl9TRVRTSUdNQVNLKQotCQk/ICZhdHRyLT5fX21hc2sgOiAm YXJncy0+b2xkbWFzaywgMCk7Ci0KIAlhcmdzLT5leGVjKGFyZ3MtPnBhdGgsIGFyZ3MtPmFyZ3Ys IGFyZ3MtPmVudnApOwogCXJldCA9IC1lcnJubzsKIAotLSAKMi4xNC4yCgo= --001a113d0298e4d68c055bef50cb--