From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id 7653A3858C83; Sat, 22 Apr 2023 08:32:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7653A3858C83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1a66e7a52d3so23848545ad.0; Sat, 22 Apr 2023 01:32:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682152363; x=1684744363; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=YR1s48OxhpVJPq6rpECl/EbO0c7upi7RpGc1HFATJk4=; b=REuVduNkd5+FBEg2v5UArimQiUed12kF8+J7EbyFDeV1I1uEQ4inYuGzHgg9iq5fj1 G5oNX/XDnXguiyHSfVm3A29pXSwuoo7Htq0lm6QJf+dJvs+SNaEQR/vK1zw0+/nymYJi lUVePWOe/IJdGI85WDYTqZGLCe633XrGNqqZ4HGbn7g7yDPUBy5cfDzLdeuQgOaXmVSv S2+nTs8jvTd9oL+3Ah8zKzPzCTvEwZORVI/e9mx8nJb2Xl6zc08WJV4LgxgmKd5u0z5H UUoR0Vc3pC42UDyxX6VeHILeW8OTnXtQm/UdFkR+gebDjfbuZhBJ9lIlhuCpRZyDhwlG jKpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682152363; x=1684744363; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=YR1s48OxhpVJPq6rpECl/EbO0c7upi7RpGc1HFATJk4=; b=AP+FhU5JZSGLLS1aLuZOxKJUsrKRV21bR2aHgHjJm80QaIiVb94B0iDJBdjaZIRn7G U3BVzc6aE9J+2sKvLCkJV0rHYCI6UqdG/rDDkH5MaQgUKdZgsv9LxXWvM2PH7HLd37sf wDvVHsxE3Vo2vzs6kexs7q+XBoTp2ywANaHo8OzGDW5vk612ThkRyMaIk5O5WC02IEwT UeNR8j1gj/7f0jMG/0uoy6KTnRlS2RNwqUVMS8hh3v1u+G5v7nmczn7ueJryt6Fctepr 9wFCoD+O5Mkhygp61fkFFZ3cyocLA5dJ0tBxS2MY9+VKQkdLJHtJi3C39AJzKRR2WQdq kk3g== X-Gm-Message-State: AAQBX9dbNTgRraMw1sZuz1eL/uNIXtHJ81TiMXiBgJYGpe3yv2gwmmXx A+AjX6d8m6URJri5B8B1uGZ9kJFRhPlkUrw1TDxNjRQX X-Google-Smtp-Source: AKy350ZHbDmvjXNQTCK9TAtxJlqnAlmsLCotVgPdXOqEI80jgEsEP9nHa4euMHdaknBAYHvxAd4ZfkVBd/3MJ5Y1pj0= X-Received: by 2002:a17:902:e381:b0:1a8:1c9a:f68 with SMTP id g1-20020a170902e38100b001a81c9a0f68mr6955147ple.36.1682152362530; Sat, 22 Apr 2023 01:32:42 -0700 (PDT) MIME-Version: 1.0 From: Paul Richard Thomas Date: Sat, 22 Apr 2023 09:32:30 +0100 Message-ID: Subject: [Patch, fortran] PRs 105152, 100193, 87946, 103389, 104429 and 82774 To: "fortran@gcc.gnu.org" , gcc-patches Content-Type: multipart/mixed; boundary="0000000000000730ec05f9e89e39" X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000000730ec05f9e89e39 Content-Type: multipart/alternative; boundary="0000000000000730eb05f9e89e37" --0000000000000730eb05f9e89e37 Content-Type: text/plain; charset="UTF-8" Hi All, As usual, I received a string of emails on retargeting for PRs for which I was either responsible or was on the cc list. This time I decided to take a look at them all, in order to reward the tireless efforts of Richi, Jakub and Martin with some attention at least. I have fixed the PRs in the title line: See the attached changelog, patch and testcases. OK for 14-branch? Of the others: PR100815 - fixed already for 12-branch on. Martin located the fix from Tobias, for which thanks. It's quite large but has stood the test of time. Should I backport to 11-branch? PR103366 - fixed on 12-branch on. I closed it. PR103715 - might be fixed but the report is for gcc with checking enabled. I will give that a go. PR103716 - a gimple problem with assumed shape characters. A TODO. PR103931 - I couldn't reproduce the bug, which involves 'ambiguous c_ptr'. To judge by the comments, it seems that this bug is a bit elusive. PR65381 - Seems to be fixed for 12-branch on PR82064 - Seems to be fixed. PR83209 - Coarray allocation - seems to be fixed. PR84244 - Coarray segfault. I have no acquaintance with the inner works of coarrays and so don't think that I can fix this one. PR87674 - Segfault in runtime with non-overridable proc-pointer. A TODO. PR96087 - A module procedure problem. A TODO. I have dejagnu-ified testcases for the already fixed PRs ready to go. Should these be committed or do we assume that the fixes already provided adequate tests? Regards Paul --0000000000000730eb05f9e89e37-- --0000000000000730ec05f9e89e39 Content-Type: text/x-fortran; charset="US-ASCII"; name="pr105152.f90" Content-Disposition: attachment; filename="pr105152.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrp85ri1 ISB7IGRnLWRvIGNvbXBpbGUgfQohCiEgQ29udHJpYnV0ZWQgYnkgR2VyaGFy ZCBTdGVpbm1ldHogIDxnc2NmcUB0LW9ubGluZS5kZT4KIQpwcm9ncmFtIHAK ICAgdXNlIGlzb19jX2JpbmRpbmcKICAgdHlwZSwgYmluZChjKSA6OiB0CiAg ICAgIGludGVnZXIoY19pbnQpIDo6IGEKICAgZW5kIHR5cGUKICAgaW50ZXJm YWNlCiAgICAgIGZ1bmN0aW9uIGYoeCkgYmluZChjKSByZXN1bHQoeikKICAg ICAgICAgaW1wb3J0IDo6IGNfaW50LCB0CiAgICAgICAgIHR5cGUodCkgOjog eCg6KQogICAgICAgICBpbnRlZ2VyKGNfaW50KSA6OiB6CiAgICAgIGVuZAog ICBlbmQgaW50ZXJmYWNlCiAgIGNsYXNzKCopLCBhbGxvY2F0YWJsZSA6OiB5 KDopCiAgIG4gPSBmKHkpICEgeyBkZy1lcnJvciAiZWl0aGVyIGFuIHVubGlt aXRlZCBwb2x5bW9ycGhpYyBvciBhc3N1bWVkIHR5cGUiIH0KZW5kCg== --0000000000000730ec05f9e89e39 Content-Type: text/x-fortran; charset="US-ASCII"; name="pr100193.f90" Content-Disposition: attachment; filename="pr100193.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrp9vhb2 ISB7IGRnLWRvIGNvbXBpbGUgfQohCiEgQ29udHJpYnV0ZWQgYnkgR2VyaGFy ZCBTdGVpbm1ldHogIDxnc2NmcUB0LW9ubGluZS5kZT4KIQptb2R1bGUgbQog ICBpbXBsaWNpdCBub25lCiAgIHR5cGUgdAogICAgICBwcm9jZWR1cmUoZiks IHBvaW50ZXIsIG5vcGFzcyA6OiBnCiAgIGVuZCB0eXBlCmNvbnRhaW5zCiAg IGZ1bmN0aW9uIGYoKQogICAgICBjaGFyYWN0ZXIoOiksIGFsbG9jYXRhYmxl IDo6IGYKICAgICAgZiA9ICdhYmMnCiAgIGVuZAogICBzdWJyb3V0aW5lIHMK ICAgICAgdHlwZSh0KSA6OiB6CiAgICAgIHolZyA9ICd4JyAgISB7IGRnLWVy cm9yICJpcyBhIHByb2NlZHVyZSBwb2ludGVyIiB9CiAgICAgIGlmICggeiVn KCkgLz0gJ2FiYycgKSBzdG9wCiAgIGVuZAplbmQKcHJvZ3JhbSBwCiAgIHVz ZSBtCiAgIGltcGxpY2l0IG5vbmUKICAgY2FsbCBzCmVuZAo= --0000000000000730ec05f9e89e39 Content-Type: text/x-fortran; charset="US-ASCII"; name="pr87946.f90" Content-Disposition: attachment; filename="pr87946.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrpa76g3 ISB7IGRnLWRvIHJ1biB9CiEKISBDb250cmlidXRlZCBieSBHZXJoYXJkIFN0 ZWlubWV0eiAgPGdzY2ZxQHQtb25saW5lLmRlPgohCm1vZHVsZSBtCiAgIHR5 cGUgdAogICBjb250YWlucwogICAgICBnZW5lcmljIDo6IGggPT4gZwogICAg ICBwcm9jZWR1cmUsIHByaXZhdGUgOjogZwogICBlbmQgdHlwZQpjb250YWlu cwogICBmdW5jdGlvbiBnKHgsIHkpIHJlc3VsdCh6KQogICAgICBjbGFzcyh0 KSwgaW50ZW50KGluKSA6OiB4CiAgICAgIHJlYWwsIGludGVudChpbikgOjog eSg6LCA6KQogICAgICByZWFsIDo6IHooc2l6ZSh5LCAyKSkKICAgICAgaW50 ZWdlciA6OiBpCiAgICAgIGRvIGkgPSAxLCBzaXplKHksIDIpCiAgICAgICAg eihpKSA9IGkKICAgICAgZW5kIGRvCiAgIGVuZAplbmQKbW9kdWxlIG0yCiAg IHVzZSBtCiAgIHR5cGUgdDIKICAgICAgY2xhc3ModCksIGFsbG9jYXRhYmxl IDo6IHUoOikKICAgZW5kIHR5cGUKZW5kCiAgIHVzZSBtMgogICB0eXBlKHQy KSA6OiB4CiAgIHJlYWwgOjogeSgxLDUpCiAgIGFsbG9jYXRlICh4JXUoMSkp CiAgIGlmIChhbnkgKGludChmICh4LCB5KSkgLm5lLiBbMSwyLDMsNCw1XSkp IHN0b3AgMQogICBkZWFsbG9jYXRlICh4JXUpCmNvbnRhaW5zCiAgIGZ1bmN0 aW9uIGYoeCwgeSkgcmVzdWx0KHopCiAgICAgIHVzZSBtMgogICAgICB0eXBl KHQyKSA6OiB4CiAgICAgIHJlYWwgOjogeSg6LCA6KQogICAgICByZWFsIDo6 IHooc2l6ZSh5LCAyKSkKICAgICAgeiA9IHgldSgxKSVoKHkpICAgICAgICAg ICEgVXNlZCB0byBzZWdmYXVsdCBoZXJlCiAgIGVuZAplbmQK --0000000000000730ec05f9e89e39 Content-Type: text/x-fortran; charset="US-ASCII"; name="pr103389.f90" Content-Disposition: attachment; filename="pr103389.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrpbr2g3 ISB7IGRnLWRvIHJ1biB9CiEKISBDb250cmlidXRlZCBieSBHZXJoYXJkIFN0 ZWlubWV0eiAgPGdzY2ZxQHQtb25saW5lLmRlPgohCnByb2dyYW0gcAogICB0 eXBlIHQKICAgICAgaW50ZWdlciwgYWxsb2NhdGFibGUgOjogYSg6KQogICBl bmQgdHlwZQogICB0eXBlKHQpIDo6IHkKICAgeSVhID0gWzEsMl0KICAgY2Fs bCBzKCh5KSkKICAgaWYgKGFueSAoeSVhIC5uZS4gWzMsNF0pKSBzdG9wIDEK Y29udGFpbnMKICAgc3Vicm91dGluZSBzKHgpCiAgICAgIGNsYXNzKCopIDo6 IHgKICAgICAgc2VsZWN0IHR5cGUgKHgpCiAgICAgICAgdHlwZSBpcyAodCkK ICAgICAgICAgIHglYSA9IHglYSArIDIKICAgICAgICBjbGFzcyBkZWZhdWx0 CiAgICAgICAgICBzdG9wIDIKICAgICAgZW5kIHNlbGVjdAogICBlbmQKZW5k Cg== --0000000000000730ec05f9e89e39 Content-Type: text/x-fortran; charset="US-ASCII"; name="pr104429.f90" Content-Disposition: attachment; filename="pr104429.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrpbxnm4 ISB7IGRnLWRvIHJ1biB9Cm1vZHVsZSBtCiAgIHR5cGUgdAogICAgICByZWFs IDo6IHIKICAgY29udGFpbnMKICAgICAgcHJvY2VkdXJlIDo6IG9wCiAgICAg IHByb2NlZHVyZSA6OiBhc3NpZ24KICAgICAgZ2VuZXJpYyA6OiBvcGVyYXRv cigqKSA9PiBvcAogICAgICBnZW5lcmljIDo6IGFzc2lnbm1lbnQoPSkgPT4g YXNzaWduCiAgIGVuZCB0eXBlCmNvbnRhaW5zCiAgIGZ1bmN0aW9uIG9wICh4 LCB5KQogICAgICBjbGFzcyh0KSwgYWxsb2NhdGFibGUgOjogb3AKICAgICAg Y2xhc3ModCksIGludGVudChpbikgOjogeAogICAgICByZWFsLCBpbnRlbnQo aW4pIDo6IHkKICAgICAgYWxsb2NhdGUgKG9wLCBzb3VyY2UgPSB0ICh4JXIg KiB5KSkKICAgZW5kCiAgIHN1YnJvdXRpbmUgYXNzaWduICh6LCB4KQogICAg ICB0eXBlKHQpLCBpbnRlbnQoaW4pIDo6IHgKICAgICAgY2xhc3ModCksIGlu dGVudChvdXQpIDo6IHoKICAgICAgeiVyID0geCVyCiAgIGVuZAplbmQKcHJv Z3JhbSBwCiAgIHVzZSBtCiAgIGNsYXNzKHQpLCBhbGxvY2F0YWJsZSA6OiB4 CiAgIHJlYWwgOjogeSA9IDIKICAgYWxsb2NhdGUgKHgsIHNvdXJjZSA9IHQg KDIuMCkpCiAgIHggPSB4ICogeQogICBpZiAoaW50ICh4JXIpIC5uZS4gNCkg c3RvcCAxCiAgIGlmIChhbGxvY2F0ZWQgKHgpKSBkZWFsbG9jYXRlICh4KQpl bmQK --0000000000000730ec05f9e89e39 Content-Type: text/x-fortran; charset="US-ASCII"; name="pr82774.f90" Content-Disposition: attachment; filename="pr82774.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrpc4j45 ISB7IGRnLWRvIHJ1biB9CiEKISBDb250cmlidXRlZCBieSBTdGV2ZSBLYXJn bCAgPGthcmdsQGdjYy5nbnUub3JnPgohCnByb2dyYW0gbWFpbgogICBpbXBs aWNpdCBub25lCiAgIHR5cGUgc3R1ZmYKICAgICAgY2hhcmFjdGVyKDopLCBh bGxvY2F0YWJsZSA6OiBrZXkKICAgZW5kIHR5cGUgc3R1ZmYKICAgdHlwZShz dHVmZikgbm9uc2Vuc2UsIHRvdGFsCiAgIG5vbnNlbnNlID0gc3R1ZmYoJ1hl JykKICAgdG90YWwgPSBzdHVmZihub25zZW5zZSVrZXkpICEgdHJpbSBub25z ZW5zZSVrZXkgbWFkZSB0aGlzIHdvcmsKICAgaWYgKG5vbnNlbnNlJWtleSAv PSB0b3RhbCVrZXkpIGNhbGwgYWJvcnQKICAgaWYgKGxlbih0b3RhbCVrZXkp IC89IDIpIGNhbGwgYWJvcnQKZW5kIHByb2dyYW0gbWFpbgo= --0000000000000730ec05f9e89e39 Content-Type: application/octet-stream; name="Change.Logs" Content-Disposition: attachment; filename="Change.Logs" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrpcek96 Rm9ydHJhbjogRml4IGFuIGFzc29ydG1lbnQgb2YgYnVncwoKMjAyMy0wNC0y MiAgUGF1bCBUaG9tYXMgIDxwYXVsdEBnY2MuZ251Lm9yZz4KCmdjYy9mb3J0 cmFuCglQUiBmb3J0cmFuLzEwNTE1MgoJKiBpbnRlcmZhY2UuY2MgKGdmY19j b21wYXJlX2FjdHVhbF9mb3JtYWwpOiBFbWl0IGFuIGVycm9yIGlmIGFuCgl1 bmxpbWl0ZWQgcG9seW1vcnBoaWMgYWN0dWFsIGlzIG5vdCBtYXRjaGVkIGVp dGhlciB0byBhbgoJdW5saW1pdGVkIG9yIGFzc3VtZWQgdHlwZSBmb3JtYWwg YXJndW1lbnQuCgoJUFIgZm9ydHJhbi8xMDAxOTMKCSogcmVzb2x2ZS5jYyAo cmVzb2x2ZV9vcmRpbmFyeV9hc3NpZ24pOiBFbWl0IGFuIGVycm9yIGlmIHRo ZQoJdmFyIGV4cHJlc3Npb24gb2YgYW4gb3JkaW5hcnkgYXNzaWdubWVudCBp cyBhIHByb2MgcG9pbnRlcgoJY29tcG9uZW50LgoKCVBSIGZvcnRyYW4vODc0 OTYKCSogdHJhbnMtYXJyYXkuY2MgKGdmY193YWxrX2FycmF5X3JlZik6IFBy b3ZpZGUgYXNzdW1lZCBzaGFwZQoJYXJyYXlzIGNvbWluZyBmcm9tIGludGVy ZmFjZSBtYXBwaW5nIHdpdGggYSB2aWFibGUgYXJyYXlzcGVjLgoKCVBSIGZv cnRyYW4vMTAzMzg5CgkqIHRyYW5zLWV4cHIuY2MgKGdmY19jb252X2ludHJp bnNpY190b19jbGFzcyk6IFRpZHkgdXAgZmxhZ2dpbmcKCW9mIHVubGltaXRl ZCBwb2x5bW9ycGhpYyAnY2xhc3NfdHMnLgoJKGdmY19jb252X2dmY19kZXNj X3RvX2NmaV9kZXNjKTogQXNzdW1lZCB0eXBlIGlzIHVubGltaXRlZAoJcG9s eW1vcnBoaWMgYW5kIHNob3VsZCBhY2NlcHQgYW55IGFjdHVhbCB0eXBlLgoK CVBSIGZvcnRyYW4vMTA0NDI5CgkoZ2ZjX2NvbnZfcHJvY2VkdXJlX2NhbGwp OiBSZXBsYWNlIGRyZWFkZnVsIGtsdWRnZSB3aXRoIGEgY2FsbAoJdG8gZ2Zj X2ZpbmFsaXplX3RyZWVfZXhwci4gQXZvaWQgZGVyZWZlcmVuY2luZyBhIHZv aWQgcG9pbnRlcgoJYnkgZ2l2aW5nIGl0IHRoZSBwb2ludGVyIHR5cGUgb2Yg dGhlIGFjdHVhbCBhcmd1bWVudC4KCglQUiBmb3J0cmFuLzgyNzc0CgkoYWxs b2Nfc2NhbGFyX2FsbG9jYXRhYmxlX3N1YmNvbXBvbmVudCk6IFNob3J0ZW4g dGhlIGZ1bmN0aW9uCgluYW1lIGFuZCByZXBsYWNlIHRoZSBzeW1ib2wgYXJn dW1lbnQgd2l0aCB0aGUgc2Ugc3RyaW5nIGxlbmd0aC4KCUlmIGEgZGVmZXJy ZWQgbGVuZ3RoIGNoYXJhY3RlciBsZW5ndGggaXMgZWl0aGVyIG5vdCBwcmVz ZW50IG9yCglpcyBub3QgYSB2YXJpYWJsZSwgZ2l2ZSB0aGUgdHlwZXNwZWMg YSB2YXJpYWJsZSBhbmQgYXNzaWduIHRoZQoJc3RyaW5nIGxlbmd0aCB0byB0 aGF0LiBVc2UgZ2ZjX2RlZmVycmVkX3N0cmxlbiB0byBmaW5kIHRoZQoJaGlk ZGVuIHN0cmluZyBsZW5ndGggY29tcG9uZW50LgoJKGdmY190cmFuc19zdWJj b21wb25lbnRfYXNzaWduKTogQ29udmVydCB0aGUgZXhwcmVzc2lvbiBiZWZv cmUKCXRoZSBjYWxsIHRvIGFsbG9jX3NjYWxhcl9hbGxvY2F0YWJsZV9zdWJj b21wb25lbnQgc28gdGhhdCBhCglnb29kIHN0cmluZyBsZW5ndGggaXMgcHJv dmlkZWQuCgkoZ2ZjX3RyYW5zX3N0cnVjdHVyZV9hc3NpZ24pOiBSZW1vdmUg dGhlIHVubmVlZGVkIGRlcml2ZWQgdHlwZQoJc3ltYm9sIGZyb20gY2FsbHMg dG8gZ2ZjX3RyYW5zX3N1YmNvbXBvbmVudF9hc3NpZ24uCgpnY2MvdGVzdHN1 aXRlLwoJUFIgZm9ydHJhbi8xMDUxNTIKCSogZ2ZvcnRyYW4uZGcvcHIxMDUx NTIuZjkwIDogTmV3IHRlc3QKCglQUiBmb3J0cmFuLzEwMDE5MwoJKiBnZm9y dHJhbi5kZy9wcjEwMDE5My5mOTAgOiBOZXcgdGVzdAoKCVBSIGZvcnRyYW4v ODc5NDYKCSogZ2ZvcnRyYW4uZGcvcHI4Nzk0Ni5mOTAgOiBOZXcgdGVzdAoK CVBSIGZvcnRyYW4vMTAzMzg5CgkqIGdmb3J0cmFuLmRnL3ByMTAzMzg5LmY5 MCA6IE5ldyB0ZXN0CgoJUFIgZm9ydHJhbi8xMDQ0MjkKCSogZ2ZvcnRyYW4u ZGcvcHIxMDAxOTMuZjkwIDogTmV3IHRlc3QKCglQUiBmb3J0cmFuLzgyNzc0 CgkqIGdmb3J0cmFuLmRnL3ByMTAwMTkzLmY5MCA6IE5ldyB0ZXN0Cg== --0000000000000730ec05f9e89e39 Content-Type: text/x-patch; charset="US-ASCII"; name="submit.diff" Content-Disposition: attachment; filename="submit.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgrpd2v67 ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2ludGVyZmFjZS5jYyBiL2djYy9m b3J0cmFuL2ludGVyZmFjZS5jYwppbmRleCBlOTg0M2U5NTQ5Yy4uZmE1MDVh YjdlZDkgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL2ludGVyZmFjZS5jYwor KysgYi9nY2MvZm9ydHJhbi9pbnRlcmZhY2UuY2MKQEAgLTMzMTIsNiArMzMx MiwxNiBAQCBnZmNfY29tcGFyZV9hY3R1YWxfZm9ybWFsIChnZmNfYWN0dWFs X2FyZ2xpc3QgKiphcCwgZ2ZjX2Zvcm1hbF9hcmdsaXN0ICpmb3JtYWwsCiAJ ICAgIH0KIAl9CiAKKyAgICAgIGlmIChVTkxJTUlURURfUE9MWSAoYS0+ZXhw cikKKwkgICYmICEoZi0+c3ltLT50cy50eXBlID09IEJUX0FTU1VNRUQgfHwg VU5MSU1JVEVEX1BPTFkgKGYtPnN5bSkpKQorCXsKKwkgIGdmY19lcnJvciAo IlVubGltaXRlZCBwb2x5bW9ycGhpYyBhY3R1YWwgYXJndW1lbnQgYXQgJUwg aXMgbm90ICIKKwkJICAgICAibWF0Y2hlZCB3aXRoIGVpdGhlciBhbiB1bmxp bWl0ZWQgcG9seW1vcnBoaWMgb3IgIgorCQkgICAgICJhc3N1bWVkIHR5cGUg ZHVtbXkgYXJndW1lbnQiLCAmYS0+ZXhwci0+d2hlcmUpOworCSAgb2sgPSBm YWxzZTsKKwkgIGdvdG8gbWF0Y2g7CisJfQorCiAgICAgICAvKiBTcGVjaWFs IGNhc2UgZm9yIGNoYXJhY3RlciBhcmd1bWVudHMuICBGb3IgYWxsb2NhdGFi bGUsIHBvaW50ZXIKIAkgYW5kIGFzc3VtZWQtc2hhcGUgZHVtbWllcywgdGhl IHN0cmluZyBsZW5ndGggbmVlZHMgdG8gbWF0Y2gKIAkgZXhhY3RseS4gICov CmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjIGIvZ2NjL2Zv cnRyYW4vcmVzb2x2ZS5jYwppbmRleCA1NWQ4ZTMyNmE4Ny4uYWFjYTc3MjMy MGEgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MKKysrIGIv Z2NjL2ZvcnRyYW4vcmVzb2x2ZS5jYwpAQCAtMTExMjksNiArMTExMjksMTcg QEAgcmVzb2x2ZV9vcmRpbmFyeV9hc3NpZ24gKGdmY19jb2RlICpjb2RlLCBn ZmNfbmFtZXNwYWNlICpucykKICAgbGhzID0gY29kZS0+ZXhwcjE7CiAgIHJo cyA9IGNvZGUtPmV4cHIyOwogCisgIGlmICgobGhzLT5zeW10cmVlLT5uLnN5 bS0+dHMudHlwZSA9PSBCVF9ERVJJVkVECisgICAgICAgfHwgbGhzLT5zeW10 cmVlLT5uLnN5bS0+dHMudHlwZSA9PSBCVF9DTEFTUykKKyAgICAgICYmICFs aHMtPnN5bXRyZWUtPm4uc3ltLT5hdHRyLnByb2NfcG9pbnRlcgorICAgICAg JiYgZ2ZjX2V4cHJfYXR0ciAobGhzKS5wcm9jX3BvaW50ZXIpCisgICAgewor ICAgICAgZ2ZjX2Vycm9yICgiVmFyaWFibGUgaW4gdGhlIG9yZGluYXJ5IGFz c2lnbm1lbnQgYXQgJUwgaXMgYSBwcm9jZWR1cmUgIgorCQkgInBvaW50ZXIg Y29tcG9uZW50IiwKKwkJICZsaHMtPndoZXJlKTsKKyAgICAgIHJldHVybiBm YWxzZTsKKyAgICB9CisKICAgaWYgKChnZmNfbnVtZXJpY190cyAoJmxocy0+ dHMpIHx8IGxocy0+dHMudHlwZSA9PSBCVF9MT0dJQ0FMKQogICAgICAgJiYg cmhzLT50cy50eXBlID09IEJUX0NIQVJBQ1RFUgogICAgICAgJiYgKHJocy0+ ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQgfHwgIWZsYWdfZGVjX2NoYXJf Y29udmVyc2lvbnMpKQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vdHJhbnMt YXJyYXkuY2MgYi9nY2MvZm9ydHJhbi90cmFucy1hcnJheS5jYwppbmRleCBl MTcyNTgwODAzMy4uNmM0N2I1MzdkZmMgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0 cmFuL3RyYW5zLWFycmF5LmNjCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLWFy cmF5LmNjCkBAIC0xMTQ3MSw2ICsxMTQ3MSwxMiBAQCBnZmNfd2Fsa19hcnJh eV9yZWYgKGdmY19zcyAqIHNzLCBnZmNfZXhwciAqIGV4cHIsIGdmY19yZWYg KiByZWYpCiAJICBicmVhazsKIAogCWNhc2UgQVJfRlVMTDoKKwkgIC8qIEFz c3VtZWQgc2hhcGUgYXJyYXlzIGZyb20gaW50ZXJmYWNlIG1hcHBpbmcgbmVl ZCB0aGlzIGZpeC4gICovCisJICBpZiAoIWFyLT5hcyAmJiBleHByLT5zeW10 cmVlLT5uLnN5bS0+YXMpCisJICAgIHsKKwkgICAgICBhci0+YXMgPSBnZmNf Z2V0X2FycmF5X3NwZWMoKTsKKwkgICAgICAqYXItPmFzID0gKmV4cHItPnN5 bXRyZWUtPm4uc3ltLT5hczsKKwkgICAgfQogCSAgbmV3c3MgPSBnZmNfZ2V0 X2FycmF5X3NzIChzcywgZXhwciwgYXItPmFzLT5yYW5rLCBHRkNfU1NfU0VD VElPTik7CiAJICBuZXdzcy0+aW5mby0+ZGF0YS5hcnJheS5yZWYgPSByZWY7 CiAKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLWV4cHIuY2MgYi9n Y2MvZm9ydHJhbi90cmFucy1leHByLmNjCmluZGV4IDA5Y2RkOTI2M2M0Li43 NGQ2OTQ4YjBhZSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vdHJhbnMtZXhw ci5jYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1leHByLmNjCkBAIC05OTYs NiArOTk2LDEyIEBAIGdmY19jb252X2ludHJpbnNpY190b19jbGFzcyAoZ2Zj X3NlICpwYXJtc2UsIGdmY19leHByICplLAogICB0cmVlIHZhcjsKICAgdHJl ZSB0bXA7CiAgIGludCBkaW07CisgIGJvb2wgdW5saW1pdGVkX3BvbHk7CisK KyAgdW5saW1pdGVkX3BvbHkgPSBjbGFzc190cy50eXBlID09IEJUX0NMQVNT CisJCSAgICYmIGNsYXNzX3RzLnUuZGVyaXZlZC0+Y29tcG9uZW50cy0+dHMu dHlwZSA9PSBCVF9ERVJJVkVECisJCSAgICYmIGNsYXNzX3RzLnUuZGVyaXZl ZC0+Y29tcG9uZW50cy0+dHMudS5kZXJpdmVkCisJCQkJCQktPmF0dHIudW5s aW1pdGVkX3BvbHltb3JwaGljOwogCiAgIC8qIFRoZSBpbnRyaW5zaWMgdHlw ZSBuZWVkcyB0byBiZSBjb252ZXJ0ZWQgdG8gYSB0ZW1wb3JhcnkKICAgICAg Q0xBU1Mgb2JqZWN0LiAgKi8KQEAgLTEwNjcsOSArMTA3Myw3IEBAIGdmY19j b252X2ludHJpbnNpY190b19jbGFzcyAoZ2ZjX3NlICpwYXJtc2UsIGdmY19l eHByICplLAogICAgIH0KIAogICBnY2NfYXNzZXJ0IChjbGFzc190cy50eXBl ID09IEJUX0NMQVNTKTsKLSAgaWYgKGNsYXNzX3RzLnUuZGVyaXZlZC0+Y29t cG9uZW50cy0+dHMudHlwZSA9PSBCVF9ERVJJVkVECi0gICAgICAmJiBjbGFz c190cy51LmRlcml2ZWQtPmNvbXBvbmVudHMtPnRzLnUuZGVyaXZlZAotCQkg LT5hdHRyLnVubGltaXRlZF9wb2x5bW9ycGhpYykKKyAgaWYgKHVubGltaXRl ZF9wb2x5KQogICAgIHsKICAgICAgIGN0cmVlID0gZ2ZjX2NsYXNzX2xlbl9n ZXQgKHZhcik7CiAgICAgICAvKiBXaGVuIHRoZSBhY3R1YWwgYXJnIGlzIGEg Y2hhciBhcnJheSwgdGhlbiBzZXQgdGhlIF9sZW4gY29tcG9uZW50IG9mIHRo ZQpAQCAtMTExNiwxMCArMTEyMCw3IEBAIGdmY19jb252X2ludHJpbnNpY190 b19jbGFzcyAoZ2ZjX3NlICpwYXJtc2UsIGdmY19leHByICplLAogCiAgICAg ICBnZmNfYWRkX21vZGlmeSAoJnBhcm1zZS0+cHJlLCBjdHJlZSwgZm9sZF9j b252ZXJ0IChUUkVFX1RZUEUgKGN0cmVlKSwgdG1wKSk7CiAgICAgfQotICBl bHNlIGlmIChjbGFzc190cy50eXBlID09IEJUX0NMQVNTCi0JICAgJiYgY2xh c3NfdHMudS5kZXJpdmVkLT5jb21wb25lbnRzCi0JICAgJiYgY2xhc3NfdHMu dS5kZXJpdmVkLT5jb21wb25lbnRzLT50cy51Ci0JCS5kZXJpdmVkLT5hdHRy LnVubGltaXRlZF9wb2x5bW9ycGhpYykKKyAgZWxzZSBpZiAodW5saW1pdGVk X3BvbHkpCiAgICAgewogICAgICAgY3RyZWUgPSBnZmNfY2xhc3NfbGVuX2dl dCAodmFyKTsKICAgICAgIGdmY19hZGRfbW9kaWZ5ICgmcGFybXNlLT5wcmUs IGN0cmVlLApAQCAtNTY1MCw3ICs1NjUxLDcgQEAgZ2ZjX2NvbnZfZ2ZjX2Rl c2NfdG9fY2ZpX2Rlc2MgKGdmY19zZSAqcGFybXNlLCBnZmNfZXhwciAqZSwg Z2ZjX3N5bWJvbCAqZnN5bSkKIAkgIGl0eXBlID0gQ0ZJX3R5cGVfb3RoZXI7 ICAvLyBGSVhNRTogT3IgQ0ZJX3R5cGVfY3B0ciA/CiAJICBicmVhazsKIAlj YXNlIEJUX0NMQVNTOgotCSAgaWYgKFVOTElNSVRFRF9QT0xZIChlKSAmJiBm c3ltLT50cy50eXBlID09IEJUX0FTU1VNRUQpCisJICBpZiAoZnN5bS0+dHMu dHlwZSA9PSBCVF9BU1NVTUVEKQogCSAgICB7CiAJICAgICAgLy8gRjIwMTc6 IDcuMy4yLjI6ICJBbiBlbnRpdHkgdGhhdCBpcyBkZWNsYXJlZCB1c2luZyB0 aGUgVFlQRSgqKQogCSAgICAgIC8vIHR5cGUgc3BlY2lmaWVyIGlzIGFzc3Vt ZWQtdHlwZSBhbmQgaXMgYW4gdW5saW1pdGVkIHBvbHltb3JwaGljCkBAIC02 NjgyLDIwICs2NjgzLDExIEBAIGdmY19jb252X3Byb2NlZHVyZV9jYWxsIChn ZmNfc2UgKiBzZSwgZ2ZjX3N5bWJvbCAqIHN5bSwKIAkJCXsKIAkJCSAgdHJl ZSB6ZXJvOwogCi0JCQkgIGdmY19leHByICp2YXI7Ci0KLQkJCSAgLyogQm9y cm93IHRoZSBmdW5jdGlvbiBzeW1ib2wgdG8gbWFrZSBhIGNhbGwgdG8KLQkJ CSAgICAgZ2ZjX2FkZF9maW5hbGl6ZXJfY2FsbCBhbmQgdGhlbiByZXN0b3Jl IGl0LiAgKi8KLQkJCSAgdG1wID0gZS0+c3ltdHJlZS0+bi5zeW0tPmJhY2tl bmRfZGVjbDsKLQkJCSAgZS0+c3ltdHJlZS0+bi5zeW0tPmJhY2tlbmRfZGVj bAotCQkJCQk9IFRSRUVfT1BFUkFORCAocGFybXNlLmV4cHIsIDApOwotCQkJ ICBlLT5zeW10cmVlLT5uLnN5bS0+YXR0ci5mbGF2b3IgPSBGTF9WQVJJQUJM RTsKLQkJCSAgdmFyID0gZ2ZjX2x2YWxfZXhwcl9mcm9tX3N5bSAoZS0+c3lt dHJlZS0+bi5zeW0pOwotCQkJICBmaW5hbGl6ZWQgPSBnZmNfYWRkX2ZpbmFs aXplcl9jYWxsICgmcGFybXNlLnBvc3QsCi0JCQkJCQkJICAgICAgdmFyKTsK LQkJCSAgZ2ZjX2ZyZWVfZXhwciAodmFyKTsKLQkJCSAgZS0+c3ltdHJlZS0+ bi5zeW0tPmJhY2tlbmRfZGVjbCA9IHRtcDsKLQkJCSAgZS0+c3ltdHJlZS0+ bi5zeW0tPmF0dHIuZmxhdm9yID0gRkxfUFJPQ0VEVVJFOworCQkJICAvKiBG aW5hbGl6ZSB0aGUgZXhwcmVzc2lvbi4gICovCisJCQkgIGdmY19maW5hbGl6 ZV90cmVlX2V4cHIgKCZwYXJtc2UsIE5VTEwsCisJCQkJCQkgIGdmY19leHBy X2F0dHIgKGUpLCBlLT5yYW5rKTsKKwkJCSAgZ2ZjX2FkZF9ibG9ja190b19i bG9jayAoJnBhcm1zZS5wb3N0LAorCQkJCQkJICAmcGFybXNlLmZpbmFsYmxv Y2spOwogCiAJCQkgIC8qIFRoZW4gZnJlZSB0aGUgY2xhc3MgX2RhdGEuICAq LwogCQkJICB6ZXJvID0gYnVpbGRfaW50X2NzdCAoVFJFRV9UWVBFIChwYXJt c2UuZXhwciksIDApOwpAQCAtNzEzMSw3ICs3MTIzLDE1IEBAIGdmY19jb252 X3Byb2NlZHVyZV9jYWxsIChnZmNfc2UgKiBzZSwgZ2ZjX3N5bWJvbCAqIHN5 bSwKIAkJIHR5cGVzIHBhc3NlZCB0byBjbGFzcyBmb3JtYWxzIG5lZWQgdGhl IF9kYXRhIGNvbXBvbmVudC4gICovCiAJICAgICAgdG1wID0gZ2ZjX2NsYXNz X2RhdGFfZ2V0ICh0bXApOwogCSAgICAgIGlmICghQ0xBU1NfREFUQSAoZnN5 bSktPmF0dHIuZGltZW5zaW9uKQotCQl0bXAgPSBidWlsZF9mb2xkX2luZGly ZWN0X3JlZl9sb2MgKGlucHV0X2xvY2F0aW9uLCB0bXApOworCQl7CisJCSAg aWYgKFVOTElNSVRFRF9QT0xZIChmc3ltKSkKKwkJICAgIHsKKwkJICAgICAg dHJlZSB0eXBlID0gZ2ZjX3R5cGVub2RlX2Zvcl9zcGVjICgmZS0+dHMpOwor CQkgICAgICB0eXBlID0gYnVpbGRfcG9pbnRlcl90eXBlICh0eXBlKTsKKwkJ ICAgICAgdG1wID0gZm9sZF9jb252ZXJ0ICh0eXBlLCB0bXApOworCQkgICAg fQorCQkgIHRtcCA9IGJ1aWxkX2ZvbGRfaW5kaXJlY3RfcmVmX2xvYyAoaW5w dXRfbG9jYXRpb24sIHRtcCk7CisJCX0KIAkgICAgfQogCiAJICBpZiAoZS0+ ZXhwcl90eXBlID09IEVYUFJfT1AKQEAgLTg3NjcsMTEgKzg3NjcsOSBAQCBn ZmNfdHJhbnNfYWxsb2Nfc3ViYXJyYXlfYXNzaWduICh0cmVlIGRlc3QsIGdm Y19jb21wb25lbnQgKiBjbSwKIC8qIEFsbG9jYXRlIG9yIHJlYWxsb2NhdGUg c2NhbGFyIGNvbXBvbmVudCwgYXMgbmVjZXNzYXJ5LiAgKi8KIAogc3RhdGlj IHZvaWQKLWFsbG9jX3NjYWxhcl9hbGxvY2F0YWJsZV9mb3Jfc3ViY29tcG9u ZW50X2Fzc2lnbm1lbnQgKHN0bXRibG9ja190ICpibG9jaywKLQkJCQkJCSAg ICAgIHRyZWUgY29tcCwKLQkJCQkJCSAgICAgIGdmY19jb21wb25lbnQgKmNt LAotCQkJCQkJICAgICAgZ2ZjX2V4cHIgKmV4cHIyLAotCQkJCQkJICAgICAg Z2ZjX3N5bWJvbCAqc3ltKQorYWxsb2Nfc2NhbGFyX2FsbG9jYXRhYmxlX3N1 YmNvbXBvbmVudCAoc3RtdGJsb2NrX3QgKmJsb2NrLCB0cmVlIGNvbXAsCisJ CQkJICAgICAgIGdmY19jb21wb25lbnQgKmNtLCBnZmNfZXhwciAqZXhwcjIs CisJCQkJICAgICAgIHRyZWUgc2xlbikKIHsKICAgdHJlZSB0bXA7CiAgIHRy ZWUgcHRyOwpAQCAtODc4OSwyNiArODc4NywyMCBAQCBhbGxvY19zY2FsYXJf YWxsb2NhdGFibGVfZm9yX3N1YmNvbXBvbmVudF9hc3NpZ25tZW50IChzdG10 YmxvY2tfdCAqYmxvY2ssCiAKICAgaWYgKGNtLT50cy50eXBlID09IEJUX0NI QVJBQ1RFUiAmJiBjbS0+dHMuZGVmZXJyZWQpCiAgICAgewotICAgICAgY2hh ciBuYW1lW0dGQ19NQVhfU1lNQk9MX0xFTis5XTsKLSAgICAgIGdmY19jb21w b25lbnQgKnN0cmxlbjsKLSAgICAgIC8qIFVzZSB0aGUgcmhzIHN0cmluZyBs ZW5ndGggYW5kIHRoZSBsaHMgZWxlbWVudCBzaXplLiAgKi8KICAgICAgIGdj Y19hc3NlcnQgKGV4cHIyLT50cy50eXBlID09IEJUX0NIQVJBQ1RFUik7Ci0g ICAgICBpZiAoIWV4cHIyLT50cy51LmNsLT5iYWNrZW5kX2RlY2wpCi0Jewot CSAgZ2ZjX2NvbnZfc3RyaW5nX2xlbmd0aCAoZXhwcjItPnRzLnUuY2wsIGV4 cHIyLCBibG9jayk7Ci0JICBnY2NfYXNzZXJ0IChleHByMi0+dHMudS5jbC0+ YmFja2VuZF9kZWNsKTsKLQl9CisgICAgICBpZiAoIWV4cHIyLT50cy51LmNs LT5iYWNrZW5kX2RlY2wKKwkgIHx8ICFWQVJfUCAoZXhwcjItPnRzLnUuY2wt PmJhY2tlbmRfZGVjbCkpCisJZXhwcjItPnRzLnUuY2wtPmJhY2tlbmRfZGVj bCA9IGdmY19jcmVhdGVfdmFyIChUUkVFX1RZUEUgKHNsZW4pLAorCQkJCQkJ ICAgICAgICJzbGVuIik7CisgICAgICBnZmNfYWRkX21vZGlmeSAoYmxvY2ss IGV4cHIyLT50cy51LmNsLT5iYWNrZW5kX2RlY2wsIHNsZW4pOwogCiAgICAg ICBzaXplID0gZXhwcjItPnRzLnUuY2wtPmJhY2tlbmRfZGVjbDsKIAotICAg ICAgLyogRW5zdXJlIHRoYXQgY20tPnRzLnUuY2wtPmJhY2tlbmRfZGVjbCBp cyBhIGNvbXBvbmVudHJlZiB0byBfJXNfbGVuZ3RoCi0JIGNvbXBvbmVudC4g ICovCi0gICAgICBzcHJpbnRmIChuYW1lLCAiXyVzX2xlbmd0aCIsIGNtLT5u YW1lKTsKLSAgICAgIHN0cmxlbiA9IGdmY19maW5kX2NvbXBvbmVudCAoc3lt LCBuYW1lLCB0cnVlLCB0cnVlLCBOVUxMKTsKKyAgICAgIGdmY19kZWZlcnJl ZF9zdHJsZW4gKGNtLCAmdG1wKTsKICAgICAgIGxoc19jbF9zaXplID0gZm9s ZF9idWlsZDNfbG9jIChpbnB1dF9sb2NhdGlvbiwgQ09NUE9ORU5UX1JFRiwK IAkJCQkgICAgIGdmY19jaGFybGVuX3R5cGVfbm9kZSwKIAkJCQkgICAgIFRS RUVfT1BFUkFORCAoY29tcCwgMCksCi0JCQkJICAgICBzdHJsZW4tPmJhY2tl bmRfZGVjbCwgTlVMTF9UUkVFKTsKKwkJCQkgICAgIHRtcCwgTlVMTF9UUkVF KTsKIAogICAgICAgdG1wID0gVFJFRV9UWVBFIChnZmNfdHlwZW5vZGVfZm9y X3NwZWMgKCZjbS0+dHMpKTsKICAgICAgIHRtcCA9IFRZUEVfU0laRV9VTklU ICh0bXApOwpAQCAtODg4MSw4ICs4ODczLDggQEAgYWxsb2Nfc2NhbGFyX2Fs bG9jYXRhYmxlX2Zvcl9zdWJjb21wb25lbnRfYXNzaWdubWVudCAoc3RtdGJs b2NrX3QgKmJsb2NrLAogLyogQXNzaWduIGEgc2luZ2xlIGNvbXBvbmVudCBv ZiBhIGRlcml2ZWQgdHlwZSBjb25zdHJ1Y3Rvci4gICovCiAKIHN0YXRpYyB0 cmVlCi1nZmNfdHJhbnNfc3ViY29tcG9uZW50X2Fzc2lnbiAodHJlZSBkZXN0 LCBnZmNfY29tcG9uZW50ICogY20sIGdmY19leHByICogZXhwciwKLQkJCSAg ICAgICBnZmNfc3ltYm9sICpzeW0sIGJvb2wgaW5pdCkKK2dmY190cmFuc19z dWJjb21wb25lbnRfYXNzaWduICh0cmVlIGRlc3QsIGdmY19jb21wb25lbnQg KiBjbSwKKwkJCSAgICAgICBnZmNfZXhwciAqIGV4cHIsIGJvb2wgaW5pdCkK IHsKICAgZ2ZjX3NlIHNlOwogICBnZmNfc2UgbHNlOwpAQCAtODk3NiwxOSAr ODk2OCwxNyBAQCBnZmNfdHJhbnNfc3ViY29tcG9uZW50X2Fzc2lnbiAodHJl ZSBkZXN0LCBnZmNfY29tcG9uZW50ICogY20sIGdmY19leHByICogZXhwciwK IAkgICB8fCAoY20tPnRzLnR5cGUgPT0gQlRfQ0xBU1MgJiYgQ0xBU1NfREFU QSAoY20pLT5hdHRyLmFsbG9jYXRhYmxlCiAJICAgICAgICYmIGV4cHItPnRz LnR5cGUgIT0gQlRfQ0xBU1MpKSkKICAgICB7CisgICAgICBnZmNfaW5pdF9z ZSAoJnNlLCBOVUxMKTsKKyAgICAgIGdmY19jb252X2V4cHIgKCZzZSwgZXhw cik7CisKICAgICAgIC8qIFRha2UgY2FyZSBhYm91dCBub24tYXJyYXkgYWxs b2NhdGFibGUgY29tcG9uZW50cyBoZXJlLiAgVGhlIGFsbG9jXyoKIAkgcm91 dGluZSBiZWxvdyBpcyBtb3RpdmF0ZWQgYnkgdGhlIGFsbG9jX3NjYWxhcl9h bGxvY2F0YWJsZV9mb3JfCiAJIGFzc2lnbm1lbnQoKSByb3V0aW5lLCBidXQg d2l0aCB0aGUgcmVhbGxvYyBwb3J0aW9ucyByZW1vdmVkIGFuZAogCSBkaWZm ZXJlbnQgaW5wdXQuICAqLwotICAgICAgYWxsb2Nfc2NhbGFyX2FsbG9jYXRh YmxlX2Zvcl9zdWJjb21wb25lbnRfYXNzaWdubWVudCAoJmJsb2NrLAotCQkJ CQkJCSAgICBkZXN0LAotCQkJCQkJCSAgICBjbSwKLQkJCQkJCQkgICAgZXhw ciwKLQkJCQkJCQkgICAgc3ltKTsKKyAgICAgIGFsbG9jX3NjYWxhcl9hbGxv Y2F0YWJsZV9zdWJjb21wb25lbnQgKCZibG9jaywgZGVzdCwgY20sIGV4cHIs CisJCQkJCSAgICAgc2Uuc3RyaW5nX2xlbmd0aCk7CiAgICAgICAvKiBUaGUg cmVtYWluZGVyIG9mIHRoZXNlIGluc3RydWN0aW9ucyBmb2xsb3cgdGhlIGlm IChjbS0+YXR0ci5wb2ludGVyKQogCSBpZiAoIWNtLT5hdHRyLmRpbWVuc2lv bikgcGFydCBhYm92ZS4gICovCi0gICAgICBnZmNfaW5pdF9zZSAoJnNlLCBO VUxMKTsKLSAgICAgIGdmY19jb252X2V4cHIgKCZzZSwgZXhwcik7CiAgICAg ICBnZmNfYWRkX2Jsb2NrX3RvX2Jsb2NrICgmYmxvY2ssICZzZS5wcmUpOwog CiAgICAgICBpZiAoZXhwci0+c3ltdHJlZSAmJiBleHByLT5zeW10cmVlLT5u LnN5bS0+YXR0ci5wcm9jX3BvaW50ZXIKQEAgLTkyNTIsMTMgKzkyNDIsMTEg QEAgZ2ZjX3RyYW5zX3N0cnVjdHVyZV9hc3NpZ24gKHRyZWUgZGVzdCwgZ2Zj X2V4cHIgKiBleHByLCBib29sIGluaXQsIGJvb2wgY29hcnJheSkKICAgICAg IGlmICghYy0+ZXhwcikKIAl7CiAJICBnZmNfZXhwciAqZSA9IGdmY19nZXRf bnVsbF9leHByIChOVUxMKTsKLQkgIHRtcCA9IGdmY190cmFuc19zdWJjb21w b25lbnRfYXNzaWduICh0bXAsIGNtLCBlLCBleHByLT50cy51LmRlcml2ZWQs Ci0JCQkJCSAgICAgICBpbml0KTsKKwkgIHRtcCA9IGdmY190cmFuc19zdWJj b21wb25lbnRfYXNzaWduICh0bXAsIGNtLCBlLCBpbml0KTsKIAkgIGdmY19m cmVlX2V4cHIgKGUpOwogCX0KICAgICAgIGVsc2UKLSAgICAgICAgdG1wID0g Z2ZjX3RyYW5zX3N1YmNvbXBvbmVudF9hc3NpZ24gKHRtcCwgY20sIGMtPmV4 cHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBleHByLT50cy51LmRlcml2ZWQsIGluaXQpOworICAgICAgICB0bXAg PSBnZmNfdHJhbnNfc3ViY29tcG9uZW50X2Fzc2lnbiAodG1wLCBjbSwgYy0+ ZXhwciwgaW5pdCk7CiAgICAgICBnZmNfYWRkX2V4cHJfdG9fYmxvY2sgKCZi bG9jaywgdG1wKTsKICAgICB9CiAgIHJldHVybiBnZmNfZmluaXNoX2Jsb2Nr ICgmYmxvY2spOwo= --0000000000000730ec05f9e89e39--