From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#39962: 27.0.90; Crash in Emacs 27.0.90 Date: Sat, 14 Mar 2020 15:34:14 +0000 Message-ID: References: <24162.58107.725366.668639@cochabamba.vanoostrum.org> <329e58b1-6255-311e-bdd8-b6f5b3d5208f@cs.ucla.edu> <22225b66-44f6-d132-3036-92181d53c28d@cs.ucla.edu> <89A83582-358F-43DC-B96E-04EE9D655D5F@vanoostrum.org> <63b88e2d-9888-f3ce-a4b0-fcf344e803e5@cs.ucla.edu> <83d09lbgk5.fsf@gnu.org> <83y2s48yn7.fsf@gnu.org> <83pndg8vde.fsf@gnu.org> <83lfo372nn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000b84ceb05a0d253b5" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="99472"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 39962@debbugs.gnu.org, pieter-l@vanoostrum.org, rms@gnu.org, eggert@cs.ucla.edu To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Mar 14 16:35:20 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jD8oq-000Pkd-BV for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 14 Mar 2020 16:35:20 +0100 Original-Received: from localhost ([::1]:45792 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jD8op-0005RC-8I for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 14 Mar 2020 11:35:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42250) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jD8oc-0005R5-Ki for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2020 11:35:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jD8oY-0000qN-QW for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2020 11:35:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jD8oY-0000pr-Lx for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2020 11:35:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jD8oY-00032e-IP for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2020 11:35:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Mar 2020 15:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39962 X-GNU-PR-Package: emacs Original-Received: via spool by 39962-submit@debbugs.gnu.org id=B39962.158420009911680 (code B ref 39962); Sat, 14 Mar 2020 15:35:02 +0000 Original-Received: (at 39962) by debbugs.gnu.org; 14 Mar 2020 15:34:59 +0000 Original-Received: from localhost ([127.0.0.1]:33829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jD8oU-00032K-T5 for submit@debbugs.gnu.org; Sat, 14 Mar 2020 11:34:59 -0400 Original-Received: from mail-ot1-f53.google.com ([209.85.210.53]:44057) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jD8oT-000327-C7 for 39962@debbugs.gnu.org; Sat, 14 Mar 2020 11:34:57 -0400 Original-Received: by mail-ot1-f53.google.com with SMTP id a49so10562813otc.11 for <39962@debbugs.gnu.org>; Sat, 14 Mar 2020 08:34:57 -0700 (PDT) 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=VeThAz9+bthZigJSXOtRhCvdiDH3Bkjvvw6Dhc2w5ek=; b=plkKjCZVbiDpYvlwBdELKF+OrZ8jPxOku5aeApKX3CQrZs8D2N+M9q3Gu+zHf8wksm mJQxEFjiMhz1Yi81qLDPsF6GmesaHdWhMMwIxXB3T3DxbBuzeXp5W2SjV2iXBIwDFDLx L48T3spm5RO9tYIWjOc93YYwrJQIRiD3oRAIs2auGWh1NdkZ7rbgWUT16zwy1Wvn/V/6 HY+g16FFEtG5oSRce9U2LkuiJiei5A660jQCUwa94YNYCvjZuLTEUXcc5d8+snF657GY hNMTPUQltvzbh+6MrpIuUxNjzQLbwnffYDgLZvuICP79wstXdU6nPsTXwB5teUHe8DKZ Y4eA== 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:cc; bh=VeThAz9+bthZigJSXOtRhCvdiDH3Bkjvvw6Dhc2w5ek=; b=Sl0JzWGlYaFXqfjKF4atMmH8DOZhEWUeZbffSUU2YMTF61Mrhrh+H7LUt/WKsmh2WK lZHyf9VOfym5z3UBAa9ezNFBLtnzk/2f1q2I3GEJvbLhfuMXgmLrwdx5DIjd2JkIfUMQ 97x8m9eLPvErt5dedhGAWRyYWN5FyaydooInFa8Q3eP9GRz/JI5ll65gw0jG0+uVUxEJ ktPxjLvug4o6g+TqrSdsiUizmht60Jz1l0KqoGsycdsMyMKTvp3DVISgB2u9BQW34VGc 2zQ7O+SfrrDPVIOVSsds/eBeR3IKxF5tkJapIGhnLCI0eOotGQElA/xjmg7Aa2GqPQfp J/sQ== X-Gm-Message-State: ANhLgQ0YDXSUXupvp6zaELBP3Av4nvCZGJT5jvPdzGtc0SZfRxpJmBkr GJqct/CWXOYJLWo5GHSN9H8wf2JDuizq+AQQA4g= X-Google-Smtp-Source: ADFU+vvLXd2onZZQtaZrNRn8G0nxmAM3UfU1EVuPVcqKQ+UrCdq8YKolUI76nyHkroRVKIIb6zL8pXTk0tYqcvuxnEA= X-Received: by 2002:a05:6830:11:: with SMTP id c17mr15425390otp.292.1584200091688; Sat, 14 Mar 2020 08:34:51 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:177350 Archived-At: --000000000000b84ceb05a0d253b5 Content-Type: text/plain; charset="UTF-8" On Sat, Mar 14, 2020 at 9:16 AM Pip Cet wrote: > I don't think it's desirable as default behavior, at this point. It > seems not entirely trivial to get it to work, at least in the case > where system libraries aren't built with -fsplit-stack. It turns out my problems were due to vfork, which doesn't appear to work with -fsplit-stack and non-split-stack libraries. The attached patch works, but it appears the standard behavior of -fsplit-stack is to allocate the stack one page at a time, so it runs into Linux system limits after 128K stack pages (with guard pages). That corresponds to somewhere between 4M and 8M symbols in the linked list, using my test program. To make this work, configure with CFLAGS="-fsplit-stack", edit config.h to define USE_SPLIT_STACK and #define vfork fork. Note that this version marks the entire mapped stack, not just the area that is actually used; that should be easy enough to fix, but it doesn't appear to cause any immediate problems. So, in summary, it's possible to get it to work, but you have to work around the vfork limitation, and it doesn't help all that much because the allocation strategy needs to be adjusted, and even then it would need some extra work not to mark stack areas that were once used but now aren't. --000000000000b84ceb05a0d253b5 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-split-stack-support.patch" Content-Disposition: attachment; filename="0001-split-stack-support.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k7rrovvf0 RnJvbSA2ZjhkMTU1YTU5NmU1MTRlYjVjYzk2YzRkN2M0Y2M0M2JiZTAyNzM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTYXQs IDE0IE1hciAyMDIwIDE1OjMwOjE1ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gc3BsaXQtc3RhY2sg c3VwcG9ydAoKLS0tCiBzcmMvYWxsb2MuYyAgfCAxNyArKysrKysrKysrKysrKysrKwogc3JjL2Vt YWNzLmMgIHwgIDQgKysrKwogc3JjL2V2YWwuYyAgIHwgIDUgKysrKy0KIHNyYy9saXNwLmggICB8 IDE0ICsrKysrKysrKysrKystCiBzcmMvbHJlYWQuYyAgfCAgMiArKwogc3JjL3ByaW50LmMgIHwg IDIgKysKIHNyYy9zeXNkZXAuYyB8ICAyICstCiBzcmMvdGhyZWFkLmMgfCA1MCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogc3JjL3RocmVhZC5oIHwg IDggKysrKysrKysKIDkgZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2FsbG9jLmMgYi9zcmMvYWxsb2MuYwppbmRleCBhMzVi NDhjZmIyLi43NmViZjRkYjkyIDEwMDY0NAotLS0gYS9zcmMvYWxsb2MuYworKysgYi9zcmMvYWxs b2MuYwpAQCAtNTA2MiwxMyArNTA2MiwyNiBAQCBtYXJrX3N0YWNrIChjaGFyIGNvbnN0ICpib3R0 b20sIGNoYXIgY29uc3QgKmVuZCkKICAgIEl0IGlzIGludmFsaWQgdG8gcnVuIGFueSBMaXNwIGNv ZGUgb3IgdG8gYWxsb2NhdGUgYW55IEdDIG1lbW9yeQogICAgZnJvbSBGVU5DLiAgKi8KIAorZXh0 ZXJuIHZvaWQgKiBfX3NwbGl0c3RhY2tfZmluZCAodm9pZCAqc2VnbWVudF9hcmcsIHZvaWQgKnNw LCBzaXplX3QgKmxlbiwKKwkJCQkgdm9pZCAqKm5leHRfc2VnbWVudCwgdm9pZCAqKm5leHRfc3As CisJCQkJIHZvaWQgKippbml0aWFsX3NwKTsKKworCiBOT19JTkxJTkUgdm9pZAogZmx1c2hfc3Rh Y2tfY2FsbF9mdW5jICh2b2lkICgqZnVuYykgKHZvaWQgKmFyZyksIHZvaWQgKmFyZykKIHsKICAg dm9pZCAqZW5kOwogICBzdHJ1Y3QgdGhyZWFkX3N0YXRlICpzZWxmID0gY3VycmVudF90aHJlYWQ7 CiAgIFNFVF9TVEFDS19UT1BfQUREUkVTUyAoJmVuZCk7CisjaWZkZWYgVVNFX1NQTElUX1NUQUNL CisgIHNlbGYtPnNwbGl0c3RhY2tfc3RhY2sgPQorICAgIF9fc3BsaXRzdGFja19maW5kIChOVUxM LCBOVUxMLCAmc2VsZi0+c3BsaXRzdGFja19zdGFja19zaXplLAorCQkgICAgICAgJnNlbGYtPnNw bGl0c3RhY2tfbmV4dF9zZWdtZW50LAorCQkgICAgICAgJnNlbGYtPnNwbGl0c3RhY2tfbmV4dF9z cCwKKwkJICAgICAgICZzZWxmLT5zcGxpdHN0YWNrX2luaXRpYWxfc3ApOworI2Vsc2UKICAgc2Vs Zi0+c3RhY2tfdG9wID0gZW5kOworI2VuZGlmCiAgIGZ1bmMgKGFyZyk7CiAgIGVhc3NlcnQgKGN1 cnJlbnRfdGhyZWFkID09IHNlbGYpOwogfQpAQCAtNTk3Myw3ICs1OTg2LDkgQEAgbWF5YmVfZ2Fy YmFnZV9jb2xsZWN0ICh2b2lkKQogZ2FyYmFnZV9jb2xsZWN0ICh2b2lkKQogewogICBzdHJ1Y3Qg YnVmZmVyICpuZXh0YjsKKyNpZm5kZWYgVVNFX1NQTElUX1NUQUNLCiAgIGNoYXIgc3RhY2tfdG9w X3ZhcmlhYmxlOworI2VuZGlmCiAgIGJvb2wgbWVzc2FnZV9wOwogICBwdHJkaWZmX3QgY291bnQg PSBTUEVDUERMX0lOREVYICgpOwogICBzdHJ1Y3QgdGltZXNwZWMgc3RhcnQ7CkBAIC02MDEzLDYg KzYwMjgsNyBAQCBnYXJiYWdlX2NvbGxlY3QgKHZvaWQpCiAgICAgbWVzc2FnZV9wID0gZmFsc2U7 CiAKICAgLyogU2F2ZSBhIGNvcHkgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBzdGFjaywgZm9yIGRl YnVnZ2luZy4gICovCisjaWZuZGVmIFVTRV9TUExJVF9TVEFDSwogI2lmIE1BWF9TQVZFX1NUQUNL ID4gMAogICBpZiAoTklMUCAoVnB1cmlmeV9mbGFnKSkKICAgICB7CkBAIC02MDQwLDYgKzYwNTYs NyBAQCBnYXJiYWdlX2NvbGxlY3QgKHZvaWQpCiAJfQogICAgIH0KICNlbmRpZiAvKiBNQVhfU0FW RV9TVEFDSyA+IDAgKi8KKyNlbmRpZgogCiAgIGlmIChnYXJiYWdlX2NvbGxlY3Rpb25fbWVzc2Fn ZXMpCiAgICAgbWVzc2FnZTFfbm9sb2cgKCJHYXJiYWdlIGNvbGxlY3RpbmcuLi4iKTsKZGlmZiAt LWdpdCBhL3NyYy9lbWFjcy5jIGIvc3JjL2VtYWNzLmMKaW5kZXggZWE5YzRjZDc5ZC4uZjhiOTQ3 ZTJkOCAxMDA2NDQKLS0tIGEvc3JjL2VtYWNzLmMKKysrIGIvc3JjL2VtYWNzLmMKQEAgLTkyOCw3 ICs5MjgsOSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiB7CiAgIC8qIFZhcmlhYmxl IG5lYXIgdGhlIGJvdHRvbSBvZiB0aGUgc3RhY2ssIGFuZCBhbGlnbmVkIGFwcHJvcHJpYXRlbHkK ICAgICAgZm9yIHBvaW50ZXJzLiAgKi8KKyNpZm5kZWYgVVNFX1NQTElUX1NUQUNLCiAgIHZvaWQg KnN0YWNrX2JvdHRvbV92YXJpYWJsZTsKKyNlbmRpZgogCiAgIGJvb2wgbm9fbG9hZHVwID0gZmFs c2U7CiAgIGNoYXIgKmp1bmsgPSAwOwpAQCAtOTQxLDggKzk0MywxMCBAQCBtYWluIChpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAgIC8qIElmIHdlIHVzZSAtLWNoZGlyLCB0aGlzIHJlY29yZHMgdGhl IG9yaWdpbmFsIGRpcmVjdG9yeS4gICovCiAgIGNoYXIgY29uc3QgKm9yaWdpbmFsX3B3ZCA9IDA7 CiAKKyNpZm5kZWYgVVNFX1NQTElUX1NUQUNLCiAgIC8qIFJlY29yZCAoYXBwcm94aW1hdGVseSkg d2hlcmUgdGhlIHN0YWNrIGJlZ2lucy4gICovCiAgIHN0YWNrX2JvdHRvbSA9IChjaGFyICopICZz dGFja19ib3R0b21fdmFyaWFibGU7CisjZW5kaWYKIAogICBjb25zdCBjaGFyICpkdW1wX21vZGUg PSBOVUxMOwogICBpbnQgc2tpcF9hcmdzID0gMDsKZGlmZiAtLWdpdCBhL3NyYy9ldmFsLmMgYi9z cmMvZXZhbC5jCmluZGV4IDQ1NTlhMGUxZjYuLjBmNTczODM1ODEgMTAwNjQ0Ci0tLSBhL3NyYy9l dmFsLmMKKysrIGIvc3JjL2V2YWwuYwpAQCAtMjE0Nyw3ICsyMTQ3LDEwIEBAIHJlY29yZF9pbl9i YWNrdHJhY2UgKExpc3BfT2JqZWN0IGZ1bmN0aW9uLCBMaXNwX09iamVjdCAqYXJncywgcHRyZGlm Zl90IG5hcmdzKQogICBzcGVjcGRsX3B0ci0+YnQua2luZCA9IFNQRUNQRExfQkFDS1RSQUNFOwog ICBzcGVjcGRsX3B0ci0+YnQuZGVidWdfb25fZXhpdCA9IGZhbHNlOwogICBzcGVjcGRsX3B0ci0+ YnQuZnVuY3Rpb24gPSBmdW5jdGlvbjsKLSAgY3VycmVudF90aHJlYWQtPnN0YWNrX3RvcCA9IHNw ZWNwZGxfcHRyLT5idC5hcmdzID0gYXJnczsKKyNpZm5kZWYgVVNFX1NQTElUX1NUQUNLCisgIGN1 cnJlbnRfdGhyZWFkLT5zdGFja190b3AgPQorI2VuZGlmCisgICAgc3BlY3BkbF9wdHItPmJ0LmFy Z3MgPSBhcmdzOwogICBzcGVjcGRsX3B0ci0+YnQubmFyZ3MgPSBuYXJnczsKICAgZ3Jvd19zcGVj cGRsICgpOwogCmRpZmYgLS1naXQgYS9zcmMvbGlzcC5oIGIvc3JjL2xpc3AuaAppbmRleCBhMzc5 OTc3ZDM1Li5hMDljYTI3M2E4IDEwMDY0NAotLS0gYS9zcmMvbGlzcC5oCisrKyBiL3NyYy9saXNw LmgKQEAgLTIxNDUsNyArMjE0NSwxOSBAQCBDSEFSX1RBQkxFX0VYVFJBX1NMT1RTIChzdHJ1Y3Qg TGlzcF9DaGFyX1RhYmxlICpjdCkKIC8qIFNhdmUgYW5kIHJlc3RvcmUgdGhlIGluc3RydWN0aW9u IGFuZCBlbnZpcm9ubWVudCBwb2ludGVycywKICAgIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzaWdu YWwgbWFzay4gICovCiAKLSNpZmRlZiBIQVZFX19TRVRKTVAKKyNkZWZpbmUgVVNFX1NQTElUU1RB Q0sKKyNpZmRlZiBVU0VfU1BMSVRTVEFDSwordHlwZWRlZiBzdHJ1Y3QgeworICBzaWdqbXBfYnVm IGptcGJ1ZjsKKyAgdm9pZCAqc3BsaXRzdGFja19jb250ZXh0WzEwXTsKK30gc3lzX2ptcF9idWZb MV07CisKK2V4dGVybiB2b2lkIF9fc3BsaXRzdGFja19nZXRjb250ZXh0ICh2b2lkICpjb250ZXh0 WzEwXSk7CitleHRlcm4gdm9pZCBfX3NwbGl0c3RhY2tfc2V0Y29udGV4dCAodm9pZCAqY29udGV4 dFsxMF0pOworCisjIGRlZmluZSBzeXNfc2V0am1wKGopIChfX3NwbGl0c3RhY2tfZ2V0Y29udGV4 dChqWzBdLnNwbGl0c3RhY2tfY29udGV4dCksIChzaWdzZXRqbXAgKGpbMF0uam1wYnVmLCAwKSA/ ICh7IF9fc3BsaXRzdGFja19zZXRjb250ZXh0KGpbMF0uc3BsaXRzdGFja19jb250ZXh0KTsgMTsg fSkgOiAoeyBfX3NwbGl0c3RhY2tfc2V0Y29udGV4dChqWzBdLnNwbGl0c3RhY2tfY29udGV4dCk7 IDA7IH0pKSkKKyMgZGVmaW5lIHN5c19sb25nam1wKGosIHYpIHNpZ2xvbmdqbXAgKGpbMF0uam1w YnVmLCB2KQorI2VsaWYgZGVmaW5lZCBIQVZFX19TRVRKTVAKIHR5cGVkZWYgam1wX2J1ZiBzeXNf am1wX2J1ZjsKICMgZGVmaW5lIHN5c19zZXRqbXAoaikgX3NldGptcCAoaikKICMgZGVmaW5lIHN5 c19sb25nam1wKGosIHYpIF9sb25nam1wIChqLCB2KQpkaWZmIC0tZ2l0IGEvc3JjL2xyZWFkLmMg Yi9zcmMvbHJlYWQuYwppbmRleCBlYWJmM2I5MzhjLi5hM2RhN2Y5OTY1IDEwMDY0NAotLS0gYS9z cmMvbHJlYWQuYworKysgYi9zcmMvbHJlYWQuYwpAQCAtMjc0NSw3ICsyNzQ1LDkgQEAgcmVhZDEg KExpc3BfT2JqZWN0IHJlYWRjaGFyZnVuLCBpbnQgKnBjaCwgYm9vbCBmaXJzdF9pbl9saXN0KQog ICBib29sIHVuaW50ZXJuZWRfc3ltYm9sID0gZmFsc2U7CiAgIGJvb2wgbXVsdGlieXRlOwogICBj aGFyIHN0YWNrYnVmW3N0YWNrYnVmc2l6ZV07CisjaWZuZGVmIFVTRV9TUExJVF9TVEFDSwogICBj dXJyZW50X3RocmVhZC0+c3RhY2tfdG9wID0gc3RhY2tidWY7CisjZW5kaWYKIAogICAqcGNoID0g MDsKIApkaWZmIC0tZ2l0IGEvc3JjL3ByaW50LmMgYi9zcmMvcHJpbnQuYwppbmRleCA2MzQxNjlk YmRiLi5jYTY4NGI2ZDg2IDEwMDY0NAotLS0gYS9zcmMvcHJpbnQuYworKysgYi9zcmMvcHJpbnQu YwpAQCAtMTg1Myw3ICsxODUzLDkgQEAgcHJpbnRfb2JqZWN0IChMaXNwX09iamVjdCBvYmosIExp c3BfT2JqZWN0IHByaW50Y2hhcmZ1biwgYm9vbCBlc2NhcGVmbGFnKQogCQkgICAgIG1heCAoKHNp emVvZiAiIHdpdGggZGF0YSAweCIKIAkJCSAgICsgKHNpemVvZiAodWludG1heF90KSAqIENIQVJf QklUICsgNCAtIDEpIC8gNCksCiAJCQkgIDQwKSkpXTsKKyNpZm5kZWYgVVNFX1NQTElUX1NUQUNL CiAgIGN1cnJlbnRfdGhyZWFkLT5zdGFja190b3AgPSBidWY7CisjZW5kaWYKICAgbWF5YmVfcXVp dCAoKTsKIAogICAvKiBEZXRlY3QgY2lyY3VsYXJpdGllcyBhbmQgdHJ1bmNhdGUgdGhlbS4gICov CmRpZmYgLS1naXQgYS9zcmMvc3lzZGVwLmMgYi9zcmMvc3lzZGVwLmMKaW5kZXggMTQ5ZDgwZjE5 ZS4uZTRkMGY2N2QyNyAxMDA2NDQKLS0tIGEvc3JjL3N5c2RlcC5jCisrKyBiL3NyYy9zeXNkZXAu YwpAQCAtMTgwNyw3ICsxODA3LDcgQEAgaGFuZGxlX2FyaXRoX3NpZ25hbCAoaW50IHNpZykKICAg eHNpZ25hbDAgKFFhcml0aF9lcnJvcik7CiB9CiAKLSNpZiBkZWZpbmVkIEhBVkVfU1RBQ0tfT1ZF UkZMT1dfSEFORExJTkcgJiYgIWRlZmluZWQgV0lORE9XU05UCisjaWYgZGVmaW5lZCBIQVZFX1NU QUNLX09WRVJGTE9XX0hBTkRMSU5HICYmICFkZWZpbmVkIFdJTkRPV1NOVCAmJiAhZGVmaW5lZCBV U0VfU1BMSVRfU1RBQ0sKIAogLyogQWx0ZXJuYXRlIHN0YWNrIHVzZWQgYnkgU0lHU0VHViBoYW5k bGVyIGJlbG93LiAgKi8KIApkaWZmIC0tZ2l0IGEvc3JjL3RocmVhZC5jIGIvc3JjL3RocmVhZC5j CmluZGV4IGRmMWE3MDUzODIuLmU5ZTJjODQzNDAgMTAwNjQ0Ci0tLSBhL3NyYy90aHJlYWQuYwor KysgYi9zcmMvdGhyZWFkLmMKQEAgLTYxOSw2ICs2MTksNTEgQEAgdGhyZWFkX3NlbGVjdCAoc2Vs ZWN0X2Z1bmMgKmZ1bmMsIGludCBtYXhfZmRzLCBmZF9zZXQgKnJmZHMsCiAKIAwKIAorI2lmZGVm IFVTRV9TUExJVF9TVEFDSworZXh0ZXJuIHZvaWQgKiBfX3NwbGl0c3RhY2tfZmluZCAodm9pZCAq c2VnbWVudF9hcmcsIHZvaWQgKnNwLCBzaXplX3QgKmxlbiwKKwkJCQkgdm9pZCAqKm5leHRfc2Vn bWVudCwgdm9pZCAqKm5leHRfc3AsCisJCQkJIHZvaWQgKippbml0aWFsX3NwKTsKKworCitzdGF0 aWMgdm9pZAorbWFya19vbmVfdGhyZWFkIChzdHJ1Y3QgdGhyZWFkX3N0YXRlICp0aHJlYWQpCit7 CisgIG1hcmtfc3BlY3BkbCAodGhyZWFkLT5tX3NwZWNwZGwsIHRocmVhZC0+bV9zcGVjcGRsX3B0 cik7CisKKyAgbWFya19zdGFjayAodGhyZWFkLT5zcGxpdHN0YWNrX3N0YWNrLCAoKGNoYXIgKil0 aHJlYWQtPnNwbGl0c3RhY2tfc3RhY2spICsgdGhyZWFkLT5zcGxpdHN0YWNrX3N0YWNrX3NpemUp OworICB7CisgICAgdm9pZCAqbmV4dF9zZWdtZW50ID0gdGhyZWFkLT5zcGxpdHN0YWNrX25leHRf c2VnbWVudDsKKyAgICB2b2lkICpuZXh0X3NwID0gdGhyZWFkLT5zcGxpdHN0YWNrX25leHRfc3A7 CisgICAgdm9pZCAqaW5pdGlhbF9zcCA9IHRocmVhZC0+c3BsaXRzdGFja19pbml0aWFsX3NwOwor ICAgIHZvaWQgKnN0YWNrOworICAgIHNpemVfdCBzdGFja19zaXplOworCisgICAgd2hpbGUgKChz dGFjayA9IF9fc3BsaXRzdGFja19maW5kIChuZXh0X3NlZ21lbnQsIG5leHRfc3AsICZzdGFja19z aXplLAorCQkJCSAgICAgICAmbmV4dF9zZWdtZW50LCAmbmV4dF9zcCwKKwkJCQkgICAgICAgJmlu aXRpYWxfc3ApKSAhPSBOVUxMKQorICAgICAgeworCW1hcmtfc3RhY2sgKHN0YWNrLCAoKGNoYXIg KilzdGFjaykgKyBzdGFja19zaXplKTsKKyAgICAgIH0KKyAgfQorCisgIGZvciAoc3RydWN0IGhh bmRsZXIgKmhhbmRsZXIgPSB0aHJlYWQtPm1faGFuZGxlcmxpc3Q7CisgICAgICAgaGFuZGxlcjsg aGFuZGxlciA9IGhhbmRsZXItPm5leHQpCisgICAgeworICAgICAgbWFya19vYmplY3QgKGhhbmRs ZXItPnRhZ19vcl9jaCk7CisgICAgICBtYXJrX29iamVjdCAoaGFuZGxlci0+dmFsKTsKKyAgICB9 CisKKyAgaWYgKHRocmVhZC0+bV9jdXJyZW50X2J1ZmZlcikKKyAgICB7CisgICAgICBMaXNwX09i amVjdCB0ZW07CisgICAgICBYU0VUQlVGRkVSICh0ZW0sIHRocmVhZC0+bV9jdXJyZW50X2J1ZmZl cik7CisgICAgICBtYXJrX29iamVjdCAodGVtKTsKKyAgICB9CisKKyAgLyogTm8gbmVlZCB0byBt YXJrIExpc3BfT2JqZWN0IG1lbWJlcnMgbGlrZSBtX2xhc3RfdGhpbmdfc2VhcmNoZWQsCisgICAg IGFzIG1hcmtfdGhyZWFkc19jYWxsYmFjayBkb2VzIHRoYXQgYnkgY2FsbGluZyBtYXJrX29iamVj dC4gICovCit9CisjZWxzZQogc3RhdGljIHZvaWQKIG1hcmtfb25lX3RocmVhZCAoc3RydWN0IHRo cmVhZF9zdGF0ZSAqdGhyZWFkKQogewpAQCAtNjQ2LDYgKzY5MSw3IEBAIG1hcmtfb25lX3RocmVh ZCAoc3RydWN0IHRocmVhZF9zdGF0ZSAqdGhyZWFkKQogICAvKiBObyBuZWVkIHRvIG1hcmsgTGlz cF9PYmplY3QgbWVtYmVycyBsaWtlIG1fbGFzdF90aGluZ19zZWFyY2hlZCwKICAgICAgYXMgbWFy a190aHJlYWRzX2NhbGxiYWNrIGRvZXMgdGhhdCBieSBjYWxsaW5nIG1hcmtfb2JqZWN0LiAgKi8K IH0KKyNlbmRpZgogCiBzdGF0aWMgdm9pZAogbWFya190aHJlYWRzX2NhbGxiYWNrICh2b2lkICpp Z25vcmUpCkBAIC03MTcsMTIgKzc2MywxNCBAQCBydW5fdGhyZWFkICh2b2lkICpzdGF0ZSkKIHsK ICAgLyogTWFrZSBzdXJlIHN0YWNrX3RvcCBhbmQgbV9zdGFja19ib3R0b20gYXJlIHByb3Blcmx5 IGFsaWduZWQgYXMgR0MKICAgICAgZXhwZWN0cy4gICovCi0gIG1heF9hbGlnbl90IHN0YWNrX3Bv czsKIAogICBzdHJ1Y3QgdGhyZWFkX3N0YXRlICpzZWxmID0gc3RhdGU7CiAgIHN0cnVjdCB0aHJl YWRfc3RhdGUgKippdGVyOwogCisjaWZuZGVmIFVTRV9TUExJVF9TVEFDSworICBtYXhfYWxpZ25f dCBzdGFja19wb3M7CiAgIHNlbGYtPm1fc3RhY2tfYm90dG9tID0gc2VsZi0+c3RhY2tfdG9wID0g KGNoYXIgKikgJnN0YWNrX3BvczsKKyNlbmRpZgogICBzZWxmLT50aHJlYWRfaWQgPSBzeXNfdGhy ZWFkX3NlbGYgKCk7CiAKICAgaWYgKHNlbGYtPnRocmVhZF9uYW1lKQpkaWZmIC0tZ2l0IGEvc3Jj L3RocmVhZC5oIGIvc3JjL3RocmVhZC5oCmluZGV4IGEwOTkyOWZhNDQuLjRmNDlhYWNkOGUgMTAw NjQ0Ci0tLSBhL3NyYy90aHJlYWQuaAorKysgYi9zcmMvdGhyZWFkLmgKQEAgLTYzLDYgKzYzLDEz IEBAICNkZWZpbmUgc2F2ZWRfbGFzdF90aGluZ19zZWFyY2hlZCAoY3VycmVudF90aHJlYWQtPm1f c2F2ZWRfbGFzdF90aGluZ19zZWFyY2hlZCkKICAgTGlzcF9PYmplY3QgZXZlbnRfb2JqZWN0Owog ICAvKiBldmVudF9vYmplY3QgbXVzdCBiZSB0aGUgbGFzdCBMaXNwIGZpZWxkLiAgKi8KIAorI2lm ZGVmIFVTRV9TUExJVF9TVEFDSworICB2b2lkICpzcGxpdHN0YWNrX3N0YWNrOworICB2b2lkICpz cGxpdHN0YWNrX25leHRfc2VnbWVudDsKKyAgdm9pZCAqc3BsaXRzdGFja19uZXh0X3NwOworICB2 b2lkICpzcGxpdHN0YWNrX2luaXRpYWxfc3A7CisgIHNpemVfdCBzcGxpdHN0YWNrX3N0YWNrX3Np emU7CisjZWxzZQogICAvKiBBbiBhZGRyZXNzIG5lYXIgdGhlIGJvdHRvbSBvZiB0aGUgc3RhY2su CiAgICAgIFRlbGxzIEdDIGhvdyB0byBzYXZlIGEgY29weSBvZiB0aGUgc3RhY2suICAqLwogICBj aGFyIGNvbnN0ICptX3N0YWNrX2JvdHRvbTsKQEAgLTc2LDYgKzgzLDcgQEAgI2RlZmluZSBzdGFj a19ib3R0b20gKGN1cnJlbnRfdGhyZWFkLT5tX3N0YWNrX2JvdHRvbSkKICAgICAgY2FsbHMgLi4u IEYsIHRoZW4gYXQgbGVhc3Qgb25lIG9mIHRoZSBmdW5jdGlvbnMgaW4gdGhlIGNoYWluCiAgICAg IHNob3VsZCBzZXQgdGhpcyB0byB0aGUgYWRkcmVzcyBvZiBhIGxvY2FsIHZhcmlhYmxlLiAgKi8K ICAgdm9pZCBjb25zdCAqc3RhY2tfdG9wOworI2VuZGlmCiAKICAgc3RydWN0IGNhdGNodGFnICpt X2NhdGNobGlzdDsKICNkZWZpbmUgY2F0Y2hsaXN0IChjdXJyZW50X3RocmVhZC0+bV9jYXRjaGxp c3QpCi0tIAoyLjI1LjEKCg== --000000000000b84ceb05a0d253b5--