From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A64E6C4332D for ; Fri, 20 Mar 2020 13:34:36 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 697A020739 for ; Fri, 20 Mar 2020 13:34:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rCerj//z" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 697A020739 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jFHmk-0002zT-QA; Fri, 20 Mar 2020 13:34:02 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jFHmk-0002yw-2L for xen-devel@lists.xenproject.org; Fri, 20 Mar 2020 13:34:02 +0000 X-Inumbo-ID: 7511d232-6aaf-11ea-bec1-bc764e2007e4 Received: from mail-ed1-x541.google.com (unknown [2a00:1450:4864:20::541]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 7511d232-6aaf-11ea-bec1-bc764e2007e4; Fri, 20 Mar 2020 13:34:00 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id w26so771417edu.7 for ; Fri, 20 Mar 2020 06:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:reply-to:to:cc:references:in-reply-to:subject:date:message-id :mime-version:content-transfer-encoding:content-language :thread-index; bh=sZtPYPayOiGsyypntCvXm8leDYy7pyT1S+smGdWZpec=; b=rCerj//zj1+1PlfYW4z4McvKrZplGapsPQTNw40/cPYqyRObtctOC6MHK4fwm6t0tf 6JmVaN7SU+4w5XQzzzk5da7ETLQ9MDDwDT8BqEYu0uI6aO1r/zYY82+AZkvkwYVTjKRL X3VyOS8bA72ePVay8uMDw5WGZG7LLin3Bc3x5shppJPrASi6Q7vuEZBNQryfwqpUIytV p8Sjf1jndmNwIe7YLVyxhHrp5kZSzPOyV6Qxz47rrl96FmfKW6MshOx6gZ3u37JG7B+4 55v0ZEPh61mfsT7T104lEGH+pQr85/ij5Rd1NK9hk28LLXHj/ll/kvXBIwrzZ/IhzV8F 5yQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:reply-to:to:cc:references:in-reply-to :subject:date:message-id:mime-version:content-transfer-encoding :content-language:thread-index; bh=sZtPYPayOiGsyypntCvXm8leDYy7pyT1S+smGdWZpec=; b=JY2zkHE7G7SVV7hLHiTt8h6gA8zEn3cq63137dslqpbJincXBZqFR2Nck0g3lONb8n lQVUqZFsY8itmSkjOsmYdHNZMw4jGpa1LR+yxbLMy3+QJU9Z0cgD8Gq595c+kO9dbH1a kTeCesayKyAWB4FyfbfOLBaQnEcBcDWv+4zW/fV0QhPxVFIDG7lkg6xECYorp/y67WTj +bZoK9lblvzXhh7K4Bu6ArDTcwCI+rax+evahvHTY74Hbz7gQ8KgQTfiILtgxoX6nxrU CvWhRKO+CjJZUiWKIMH7uqs5MvarStrAmBIVY/yR5pAQxfvGnuBaf6/tytS1ol+Xk7lN I0Og== X-Gm-Message-State: ANhLgQ1sCfeAoQifpDPm7/y2i5zujTKOZBTOd6pfR/J4N1YJiWF175qi 00q46PbN/72xp/B+NtNfq2o= X-Google-Smtp-Source: ADFU+vtS1Y0txdNWBRQPXBB+Vsk21S7CkOw0AsP04maOFZrtwm0FnI3rRFKzaT268op2M/HfMVVBcw== X-Received: by 2002:a17:906:a856:: with SMTP id dx22mr7906392ejb.143.1584711239954; Fri, 20 Mar 2020 06:33:59 -0700 (PDT) Received: from CBGR90WXYV0 ([54.239.6.187]) by smtp.gmail.com with ESMTPSA id cz12sm367060edb.96.2020.03.20.06.33.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Mar 2020 06:33:59 -0700 (PDT) From: Paul Durrant X-Google-Original-From: "Paul Durrant" To: "'David Woodhouse'" , References: <759b48cc361af1136e3cf1658f3dcb1d2937db9c.camel@infradead.org> <20200319212150.2651419-1-dwmw2@infradead.org> <20200319212150.2651419-2-dwmw2@infradead.org> In-Reply-To: <20200319212150.2651419-2-dwmw2@infradead.org> Date: Fri, 20 Mar 2020 13:33:57 -0000 Message-ID: <004701d5febc$3632bfe0$a2983fa0$@xen.org> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Content-Language: en-gb Thread-Index: AQGJbqioGx3P4niv5vow+yMv52QyWAKu4aI2AYweJd2oyL5zcA== Subject: Re: [Xen-devel] [PATCH 2/2] xen/mm: Introduce PGC_state_uninitialised X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: paul@xen.org Cc: 'Stefano Stabellini' , 'Julien Grall' , 'Wei Liu' , 'Andrew Cooper' , 'Ian Jackson' , 'George Dunlap' , hongyxia@amazon.com, 'Jan Beulich' , 'Volodymyr Babchuk' , =?utf-8?Q?'Roger_Pau_Monn=C3=A9'?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFhlbi1kZXZlbCA8eGVuLWRldmVs LWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBEYXZpZCBXb29kaG91 c2UKPiBTZW50OiAxOSBNYXJjaCAyMDIwIDIxOjIyCj4gVG86IHhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwo+IENjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5v cmc+OyBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgV2VpIExpdSA8d2xAeGVuLm9yZz47 Cj4gQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT47IElhbiBKYWNrc29u IDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPjsgR2VvcmdlIER1bmxhcAo+IDxnZW9yZ2UuZHVu bGFwQGNpdHJpeC5jb20+OyBob25neXhpYUBhbWF6b24uY29tOyBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+OyBWb2xvZHlteXIgQmFiY2h1awo+IDxWb2xvZHlteXJfQmFiY2h1a0BlcGFt LmNvbT47IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgo+IFN1YmplY3Q6 IFtYZW4tZGV2ZWxdIFtQQVRDSCAyLzJdIHhlbi9tbTogSW50cm9kdWNlIFBHQ19zdGF0ZV91bmlu aXRpYWxpc2VkCj4gCj4gRnJvbTogRGF2aWQgV29vZGhvdXNlIDxkd213QGFtYXpvbi5jby51az4K PiAKPiBJdCBpcyBwb3NzaWJsZSBmb3IgcGFnZXMgdG8gZW50ZXIgZ2VuZXJhbCBjaXJjdWxhdGlv biB3aXRob3V0IGV2ZXIKPiBiZWluZyBwcm9jZXNzIGJ5IGluaXRfaGVhcF9wYWdlcygpLgo+IAo+ IEZvciBleGFtcGxlLCBwYWdlcyBvZiB0aGUgbXVsdGlib290IG1vZHVsZSBjb250YWluaW5nIHRo ZSBpbml0cmFtZnMgbWF5Cj4gYmUgYXNzaWduZWQgdmlhIGFzc2lnbl9wYWdlcygpIHRvIGRvbTAg YXMgaXQgaXMgY3JlYXRlZC4gQW5kIHNvbWUgY29kZQo+IGluY2x1ZGluZyBtYXBfcGFnZXNfdG9f eGVuKCkgaGFzIGNoZWNrcyBvbiAnc3lzdGVtX3N0YXRlJyB0byBkZXRlcm1pbmUKPiB3aGV0aGVy IHRvIHVzZSB0aGUgYm9vdCBvciB0aGUgaGVhcCBhbGxvY2F0b3IsIGJ1dCBpdCBzZWVtcyBpbXBv c3NpYmxlCj4gdG8gcHJvdmUgdGhhdCBwYWdlcyBhbGxvY2F0ZWQgYnkgdGhlIGJvb3QgYWxsb2Nh dG9yIGFyZSBub3Qgc3Vic2VxdWVudGx5Cj4gZnJlZWQgd2l0aCBmcmVlX2hlYXBfcGFnZXMoKS4K PiAKPiBUaGlzIGFjdHVhbGx5IHdvcmtzIGZpbmUgaW4gdGhlIG1ham9yaXR5IG9mIGNhc2VzOyB0 aGVyZSBhcmUgb25seSBhIGZldwo+IGVzb3RlcmljIGNvcm5lciBjYXNlcyB3aGljaCBpbml0X2hl YXBfcGFnZXMoKSBoYW5kbGVzIGJlZm9yZSBoYW5kaW5nIHRoZQo+IHBhZ2UgcmFuZ2Ugb2ZmIHRv IGZyZWVfaGVhcF9wYWdlcygpOgo+ICDigKIgRXhjbHVkaW5nIE1GTiAjMCB0byBhdm9pZCBpbmFw cHJvcHJpYXRlIGNyb3NzLXpvbmUgbWVyZ2luZy4KPiAg4oCiIEVuc3VyaW5nIHRoYXQgdGhlIG5v ZGUgaW5mb3JtYXRpb24gc3RydWN0dXJlcyBleGlzdCwgd2hlbiB0aGUgZmlyc3QKPiAgICBwYWdl KHMpIG9mIGEgZ2l2ZW4gbm9kZSBhcmUgaGFuZGxlZC4KPiAg4oCiIEhpZ2ggb3JkZXIgYWxsb2Nh dGlvbnMgY3Jvc3NpbmcgZnJvbSBvbmUgbm9kZSB0byBhbm90aGVyLgo+IAo+IFRvIGhhbmRsZSB0 aGlzIGNhc2UsIHNoaWZ0IFBHX3N0YXRlX2ludXNlIGZyb20gaXRzIGN1cnJlbnQgdmFsdWUgb2YK PiB6ZXJvLCB0byBhbm90aGVyIHZhbHVlLiBVc2UgemVybywgd2hpY2ggaXMgdGhlIGluaXRpYWwg c3RhdGUgb2YgdGhlCj4gZW50aXJlIGZyYW1lIHRhYmxlLCBhcyBQR19zdGF0ZV91bmluaXRpYWxp c2VkLgo+IAo+IEZpeCBhIGNvdXBsZSBvZiBhc3NlcnRpb25zIHdoaWNoIHdlcmUgYXNzdW1pbmcg dGhhdCBQR19zdGF0ZV9pbnVzZSBpcwo+IHplcm8sIGFuZCBtYWtlIHRoZW0gY29wZSB3aXRoIHRo ZSBQR19zdGF0ZV91bmluaXRpYWxpc2VkIGNhc2UgdG9vIHdoZXJlCj4gYXBwb3ByaWF0ZS4KPiAK PiBGaW5hbGx5LCBtYWtlIGZyZWVfaGVhcF9wYWdlcygpIGNhbGwgdGhyb3VnaCB0byBpbml0X2hl YXBfcGFnZXMoKSB3aGVuCj4gZ2l2ZW4gYSBwYWdlIHJhbmdlIHdoaWNoIGhhcyBub3QgYmVlbiBp bml0aWFsaXNlZC4gVGhpcyBjYW5ub3Qga2VlcAo+IHJlY3Vyc2luZyBiZWNhdXNlIGluaXRfaGVh cF9wYWdlcygpIHdpbGwgc2V0IGVhY2ggcGFnZSBzdGF0ZSB0bwo+IFBHQ19zdGF0ZV9pbnVzZSBi ZWZvcmUgcGFzc2luZyBpdCBiYWNrIHRvIGZyZWVfaGVhcF9wYWdlcygpIGZvciB0aGUKPiBzZWNv bmQgdGltZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBXb29kaG91c2UgPGR3bXdAYW1hem9u LmNvLnVrPgo+IC0tLQo+ICB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgfCAgMyArKy0KPiAgeGVu L2NvbW1vbi9wYWdlX2FsbG9jLmMgIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLQo+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL21tLmggfCAgMyArKy0KPiAgeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9tbS5oIHwgIDMgKystCj4gIDQgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS5jIGIveGVuL2FyY2gveDg2L21tLmMKPiBpbmRleCA2MjUwN2NhNjUxLi41ZjA1ODFjMDcyIDEw MDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tLmMK PiBAQCAtNDkxLDcgKzQ5MSw4IEBAIHZvaWQgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdChzdHJ1 Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgZG9tYWluICpkLAo+IAo+ICAgICAgcGFnZV9zZXRf b3duZXIocGFnZSwgZCk7Cj4gICAgICBzbXBfd21iKCk7IC8qIGluc3RhbGwgdmFsaWQgZG9tYWlu IHB0ciBiZWZvcmUgdXBkYXRpbmcgcmVmY250LiAqLwo+IC0gICAgQVNTRVJUKChwYWdlLT5jb3Vu dF9pbmZvICYgflBHQ194ZW5faGVhcCkgPT0gMCk7Cj4gKyAgICBBU1NFUlQoKHBhZ2UtPmNvdW50 X2luZm8gJiB+UEdDX3hlbl9oZWFwKSA9PSBQR0Nfc3RhdGVfaW51c2UgfHwKPiArICAgICAgICAg ICAocGFnZS0+Y291bnRfaW5mbyAmIH5QR0NfeGVuX2hlYXApID09IFBHQ19zdGF0ZV91bmluaXRp YWxpc2VkKTsKCkNvdWxkIHRoZSBwYWdlIHN0YXRlIHBlcmhhcHMgYmUgYnVtcGVkIHRvIGludXNl IGluIHRoaXMgY2FzZT8gSXQgc2VlbXMgb2RkIHRvIGxlYXZlIHN0YXRlIHVuaW5pdGlhbGl6ZWQg eWV0IHN1Y2NlZWQgaW4gc2hhcmluZyB3aXRoIGEgZ3Vlc3QuCgo+IAo+ICAgICAgLyogT25seSBh ZGQgdG8gdGhlIGFsbG9jYXRpb24gbGlzdCBpZiB0aGUgZG9tYWluIGlzbid0IGR5aW5nLiAqLwo+ ICAgICAgaWYgKCAhZC0+aXNfZHlpbmcgKQo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3BhZ2Vf YWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCj4gaW5kZXggOGQ3MmE2NGY0ZS4uNGY3 OTcxZjJhMSAxMDA2NDQKPiAtLS0gYS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwo+ICsrKyBiL3hl bi9jb21tb24vcGFnZV9hbGxvYy5jCj4gQEAgLTI1Miw2ICsyNTIsOCBAQCBzdHJ1Y3QgYm9vdG1l bV9yZWdpb24gewo+ICBzdGF0aWMgc3RydWN0IGJvb3RtZW1fcmVnaW9uIF9faW5pdGRhdGEKPiAg ICAgIGJvb3RtZW1fcmVnaW9uX2xpc3RbUEFHRV9TSVpFIC8gc2l6ZW9mKHN0cnVjdCBib290bWVt X3JlZ2lvbildOwo+ICBzdGF0aWMgdW5zaWduZWQgaW50IF9faW5pdGRhdGEgbnJfYm9vdG1lbV9y ZWdpb25zOwo+ICtzdGF0aWMgdm9pZCBpbml0X2hlYXBfcGFnZXMoc3RydWN0IHBhZ2VfaW5mbyAq cGcsIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sIHNjcnViKTsKPiAKPiAgc3RydWN0IHNjcnViX3JlZ2lvbiB7Cj4gICAgICB1bnNpZ25l ZCBsb25nIG9mZnNldDsKPiBAQCAtMTM5MCw2ICsxMzkyLDE3IEBAIHN0YXRpYyB2b2lkIGZyZWVf aGVhcF9wYWdlcygKPiAgICAgIEFTU0VSVChvcmRlciA8PSBNQVhfT1JERVIpOwo+ICAgICAgQVNT RVJUKG5vZGUgPj0gMCk7Cj4gCj4gKyAgICBpZiAoIHBhZ2Vfc3RhdGVfaXMocGcsIHVuaW5pdGlh bGlzZWQpICkKPiArICAgIHsKPiArICAgICAgICBpbml0X2hlYXBfcGFnZXMocGcsIDEgPDwgb3Jk ZXIsIG5lZWRfc2NydWIpOwo+ICsgICAgICAgIC8qCj4gKyAgICAgICAgICogaW5pdF9oZWFwX3Bh Z2VzKCkgd2lsbCBjYWxsIGJhY2sgaW50byBmcmVlX2hlYXBfcGFnZXMoKSBmb3IKPiArICAgICAg ICAgKiBlYWNoIHBhZ2UgYnV0IGNhbm5vdCBrZWVwIHJlY3Vyc2luZyBiZWNhdXNlIGVhY2ggcGFn ZSB3aWxsCj4gKyAgICAgICAgICogYmUgc2V0IHRvIFBHQ19zdGF0ZV9pbnVzZSBmaXJzdC4KPiAr ICAgICAgICAgKi8KPiArICAgICAgICByZXR1cm47Cj4gKyAgICB9Cj4gKwo+ICAgICAgc3Bpbl9s b2NrKCZoZWFwX2xvY2spOwo+IAo+ICAgICAgZm9yICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7 IGkrKyApCj4gQEAgLTE3NzEsMTEgKzE3ODQsMTAgQEAgaW50IHF1ZXJ5X3BhZ2Vfb2ZmbGluZSht Zm5fdCBtZm4sIHVpbnQzMl90ICpzdGF0dXMpCj4gICAqIGxhdHRlciBpcyBub3Qgb24gYSBNQVhf T1JERVIgYm91bmRhcnksIHRoZW4gd2UgcmVzZXJ2ZSB0aGUgcGFnZSBieQo+ICAgKiBub3QgZnJl ZWluZyBpdCB0byB0aGUgYnVkZHkgYWxsb2NhdG9yLgo+ICAgKi8KPiAtc3RhdGljIHZvaWQgaW5p dF9oZWFwX3BhZ2VzKAo+IC0gICAgc3RydWN0IHBhZ2VfaW5mbyAqcGcsIHVuc2lnbmVkIGxvbmcg bnJfcGFnZXMpCj4gK3N0YXRpYyB2b2lkIGluaXRfaGVhcF9wYWdlcyhzdHJ1Y3QgcGFnZV9pbmZv ICpwZywgdW5zaWduZWQgbG9uZyBucl9wYWdlcywKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJvb2wgc2NydWIpCj4gIHsKPiAgICAgIHVuc2lnbmVkIGxvbmcgaTsKPiAtICAgIGJvb2wg aWRsZV9zY3J1YiA9IGZhbHNlOwo+IAo+ICAgICAgLyoKPiAgICAgICAqIEtlZXAgTUZOIDAgYXdh eSBmcm9tIHRoZSBidWRkeSBhbGxvY2F0b3IgdG8gYXZvaWQgY3Jvc3Npbmcgem9uZQo+IEBAIC0x ODAwLDcgKzE4MTIsNyBAQCBzdGF0aWMgdm9pZCBpbml0X2hlYXBfcGFnZXMoCj4gICAgICBzcGlu X3VubG9jaygmaGVhcF9sb2NrKTsKPiAKPiAgICAgIGlmICggc3lzdGVtX3N0YXRlIDwgU1lTX1NU QVRFX2FjdGl2ZSAmJiBvcHRfYm9vdHNjcnViID09IEJPT1RTQ1JVQl9JRExFICkKPiAtICAgICAg ICBpZGxlX3NjcnViID0gdHJ1ZTsKPiArICAgICAgICBzY3J1YiA9IHRydWU7Cj4gCj4gICAgICBm b3IgKCBpID0gMDsgaSA8IG5yX3BhZ2VzOyBpKysgKQo+ICAgICAgewo+IEBAIC0xODI4LDcgKzE4 NDAsOCBAQCBzdGF0aWMgdm9pZCBpbml0X2hlYXBfcGFnZXMoCj4gICAgICAgICAgICAgIG5yX3Bh Z2VzIC09IG47Cj4gICAgICAgICAgfQo+IAo+IC0gICAgICAgIGZyZWVfaGVhcF9wYWdlcyhwZyAr IGksIDAsIHNjcnViX2RlYnVnIHx8IGlkbGVfc2NydWIpOwoKV291bGQgaXQgYmUgd29ydGggYW4g QVNTRVJUKCFwZ1tpXS5jb3VudF9pbmZvKSBoZXJlIGluIGNhc2Ugc29tZXRoaW5nIGlzIGFkZGVk IHdoaWNoIGVycm9uZW91c2x5IG1vZGlmaWVzIHRoZSBwYWdlIGNvdW50IGluZm8gYmVmb3JlIHRo aXMgaXMgZG9uZT8KCj4gKyAgICAgICAgcGdbaV0uY291bnRfaW5mbyA9IFBHQ19zdGF0ZV9pbnVz ZTsKPiArICAgICAgICBmcmVlX2hlYXBfcGFnZXMocGcgKyBpLCAwLCBzY3J1Yl9kZWJ1ZyB8fCBz Y3J1Yik7Cj4gICAgICB9Cj4gIH0KPiAKPiBAQCAtMTg2NCw3ICsxODc3LDcgQEAgdm9pZCBfX2lu aXQgZW5kX2Jvb3RfYWxsb2NhdG9yKHZvaWQpCj4gICAgICAgICAgaWYgKCAoci0+cyA8IHItPmUp ICYmCj4gICAgICAgICAgICAgICAocGh5c190b19uaWQocGZuX3RvX3BhZGRyKHItPnMpKSA9PSBj cHVfdG9fbm9kZSgwKSkgKQo+ICAgICAgICAgIHsKPiAtICAgICAgICAgICAgaW5pdF9oZWFwX3Bh Z2VzKG1mbl90b19wYWdlKF9tZm4oci0+cykpLCByLT5lIC0gci0+cyk7Cj4gKyAgICAgICAgICAg IGluaXRfaGVhcF9wYWdlcyhtZm5fdG9fcGFnZShfbWZuKHItPnMpKSwgci0+ZSAtIHItPnMsIGZh bHNlKTsKPiAgICAgICAgICAgICAgci0+ZSA9IHItPnM7Cj4gICAgICAgICAgICAgIGJyZWFrOwo+ ICAgICAgICAgIH0KPiBAQCAtMTg3Myw3ICsxODg2LDcgQEAgdm9pZCBfX2luaXQgZW5kX2Jvb3Rf YWxsb2NhdG9yKHZvaWQpCj4gICAgICB7Cj4gICAgICAgICAgc3RydWN0IGJvb3RtZW1fcmVnaW9u ICpyID0gJmJvb3RtZW1fcmVnaW9uX2xpc3RbaV07Cj4gICAgICAgICAgaWYgKCByLT5zIDwgci0+ ZSApCj4gLSAgICAgICAgICAgIGluaXRfaGVhcF9wYWdlcyhtZm5fdG9fcGFnZShfbWZuKHItPnMp KSwgci0+ZSAtIHItPnMpOwo+ICsgICAgICAgICAgICBpbml0X2hlYXBfcGFnZXMobWZuX3RvX3Bh Z2UoX21mbihyLT5zKSksIHItPmUgLSByLT5zLCBmYWxzZSk7Cj4gICAgICB9Cj4gICAgICBucl9i b290bWVtX3JlZ2lvbnMgPSAwOwo+IAo+IEBAIC0yMTQyLDcgKzIxNTUsNyBAQCB2b2lkIGluaXRf eGVuaGVhcF9wYWdlcyhwYWRkcl90IHBzLCBwYWRkcl90IHBlKQo+IAo+ICAgICAgbWVtZ3VhcmRf Z3VhcmRfcmFuZ2UobWFkZHJfdG9fdmlydChwcyksIHBlIC0gcHMpOwo+IAo+IC0gICAgaW5pdF9o ZWFwX3BhZ2VzKG1hZGRyX3RvX3BhZ2UocHMpLCAocGUgLSBwcykgPj4gUEFHRV9TSElGVCk7Cj4g KyAgICBpbml0X2hlYXBfcGFnZXMobWFkZHJfdG9fcGFnZShwcyksIChwZSAtIHBzKSA+PiBQQUdF X1NISUZULCBmYWxzZSk7Cj4gIH0KPiAKPiAKPiBAQCAtMjI1MSw3ICsyMjY0LDcgQEAgdm9pZCBp bml0X2RvbWhlYXBfcGFnZXMocGFkZHJfdCBwcywgcGFkZHJfdCBwZSkKPiAgICAgIGlmICggbWZu X3goZW1mbikgPD0gbWZuX3goc21mbikgKQo+ICAgICAgICAgIHJldHVybjsKPiAKPiAtICAgIGlu aXRfaGVhcF9wYWdlcyhtZm5fdG9fcGFnZShzbWZuKSwgbWZuX3goZW1mbikgLSBtZm5feChzbWZu KSk7Cj4gKyAgICBpbml0X2hlYXBfcGFnZXMobWZuX3RvX3BhZ2Uoc21mbiksIG1mbl94KGVtZm4p IC0gbWZuX3goc21mbiksIGZhbHNlKTsKPiAgfQo+IAo+IAo+IEBAIC0yMjgwLDcgKzIyOTMsOCBA QCBpbnQgYXNzaWduX3BhZ2VzKAo+IAo+ICAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgKDF1bCA8 PCBvcmRlcik7IGkrKyApCj4gICAgICAgICAgewo+IC0gICAgICAgICAgICBBU1NFUlQoIShwZ1tp XS5jb3VudF9pbmZvICYgflBHQ19leHRyYSkpOwo+ICsgICAgICAgICAgICBBU1NFUlQoKHBnW2ld LmNvdW50X2luZm8gJiB+UEdDX2V4dHJhKSA9PSBQR0Nfc3RhdGVfaW51c2UgfHwKPiArICAgICAg ICAgICAgICAgICAgIChwZ1tpXS5jb3VudF9pbmZvICYgflBHQ19leHRyYSkgPT0gUEdDX3N0YXRl X3VuaW5pdGlhbGlzZWQpOwoKQWdhaW4sIHBlcmhhcHMgYnVtcCB0aGUgc3RhdGUgdG8gaW51c2Ug aWYgaXQgaXMgdW5pbml0aWFsaXplZC4uLgoKPiAgICAgICAgICAgICAgaWYgKCBwZ1tpXS5jb3Vu dF9pbmZvICYgUEdDX2V4dHJhICkKPiAgICAgICAgICAgICAgICAgIGV4dHJhX3BhZ2VzKys7Cj4g ICAgICAgICAgfQo+IEBAIC0yMzE2LDEwICsyMzMwLDE2IEBAIGludCBhc3NpZ25fcGFnZXMoCj4g ICAgICBmb3IgKCBpID0gMDsgaSA8ICgxIDw8IG9yZGVyKTsgaSsrICkKPiAgICAgIHsKPiAgICAg ICAgICBBU1NFUlQocGFnZV9nZXRfb3duZXIoJnBnW2ldKSA9PSBOVUxMKTsKPiArICAgICAgICAv Kgo+ICsgICAgICAgICAqIE5vdGU6IE5vdCB1c2luZyBwYWdlX3N0YXRlX2lzKCkgaGVyZS4gVGhl IEFTU0VSVCByZXF1aXJlcyB0aGF0Cj4gKyAgICAgICAgICogYWxsIG90aGVyIGJpdHMgaW4gY291 bnRfaW5mbyBhcmUgemVybywgaW4gYWRkaXRpb24gdG8gUEdDX3N0YXRlCj4gKyAgICAgICAgICog YmVpbmcgYXBwcm9wcmlhdGUuCj4gKyAgICAgICAgICovCj4gKyAgICAgICAgQVNTRVJUKChwZ1tp XS5jb3VudF9pbmZvICYgflBHQ19leHRyYSkgPT0gUEdDX3N0YXRlX2ludXNlIHx8Cj4gKyAgICAg ICAgICAgICAgIChwZ1tpXS5jb3VudF9pbmZvICYgflBHQ19leHRyYSkgPT0gUEdDX3N0YXRlX3Vu aW5pdGlhbGlzZWQpOwoKLi4udGhlbiB0aGlzIEFTU0VSVCBjYW4gYmUgdGlnaHRlbmVkLgoKPiAg ICAgICAgICBwYWdlX3NldF9vd25lcigmcGdbaV0sIGQpOwo+ICAgICAgICAgIHNtcF93bWIoKTsg LyogRG9tYWluIHBvaW50ZXIgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB1cGRhdGluZyByZWZjbnQu ICovCj4gLSAgICAgICAgcGdbaV0uY291bnRfaW5mbyA9Cj4gLSAgICAgICAgICAgIChwZ1tpXS5j b3VudF9pbmZvICYgUEdDX2V4dHJhKSB8IFBHQ19hbGxvY2F0ZWQgfCAxOwo+ICsgICAgICAgIHBn W2ldLmNvdW50X2luZm8gPSAocGdbaV0uY291bnRfaW5mbyAmIFBHQ19zdGF0ZSkgfCBQR0NfYWxs b2NhdGVkIHwgMTsKClRoZSBQR0NfZXh0cmEgc2VlbXMgdG8gaGF2ZSB2YXBvdXJpemVkIGhlcmUu CgogIFBhdWwKCj4gICAgICAgICAgcGFnZV9saXN0X2FkZF90YWlsKCZwZ1tpXSwgJmQtPnBhZ2Vf bGlzdCk7Cj4gICAgICB9Cj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0u aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaAo+IGluZGV4IGE4Nzc3OTFkMWMuLjQ5NjYzZmE5 OGEgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oCj4gKysrIGIveGVuL2lu Y2x1ZGUvYXNtLWFybS9tbS5oCj4gQEAgLTExMywxMiArMTEzLDEzIEBAIHN0cnVjdCBwYWdlX2lu Zm8KPiAgICAqIHsgaW51c2UsIG9mZmxpbmluZywgb2ZmbGluZWQsIGZyZWUsIGJyb2tlbl9vZmZs aW5pbmcsIGJyb2tlbiB9Cj4gICAgKi8KPiAgI2RlZmluZSBQR0Nfc3RhdGUgICAgICAgICAgICAg ICAgICBQR19tYXNrKDcsIDkpCj4gLSNkZWZpbmUgUEdDX3N0YXRlX2ludXNlICAgICAgICAgICAg UEdfbWFzaygwLCA5KQo+ICsjZGVmaW5lIFBHQ19zdGF0ZV91bmluaXRpYWxpc2VkICAgIFBHX21h c2soMCwgOSkKPiAgI2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGluaW5nICAgICAgICBQR19tYXNrKDEs IDkpCj4gICNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmVkICAgICAgICAgUEdfbWFzaygyLCA5KQo+ ICAjZGVmaW5lIFBHQ19zdGF0ZV9mcmVlICAgICAgICAgICAgIFBHX21hc2soMywgOSkKPiAgI2Rl ZmluZSBQR0Nfc3RhdGVfYnJva2VuX29mZmxpbmluZyBQR19tYXNrKDQsIDkpIC8qIEJyb2tlbiBh bmQgb2ZmbGluaW5nICovCj4gICNkZWZpbmUgUEdDX3N0YXRlX2Jyb2tlbiAgICAgICAgICAgUEdf bWFzayg1LCA5KSAvKiBCcm9rZW4gYW5kIG9mZmxpbmVkICovCj4gKyNkZWZpbmUgUEdDX3N0YXRl X2ludXNlICAgICAgICAgICAgUEdfbWFzayg2LCA5KQo+IAo+ICAjZGVmaW5lIHBnY19pcyhwZ2Ms IHN0KSAgICAgICAgICAgICgoKHBnYykgJiBQR0Nfc3RhdGUpID09IFBHQ19zdGF0ZV8jI3N0KQo+ ICAjZGVmaW5lIHBhZ2Vfc3RhdGVfaXMocGcsIHN0KSAgICAgICBwZ2NfaXMoKHBnKS0+Y291bnRf aW5mbywgc3QpCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvbW0uaAo+IGluZGV4IDEyMDNmMWIxNzkuLjVmYmJjYTVmMDUgMTAwNjQ0 Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9tbS5oCj4gQEAgLTcyLDEyICs3MiwxMyBAQAo+ICAgICogeyBpbnVzZSwgb2ZmbGluaW5n LCBvZmZsaW5lZCwgZnJlZSwgYnJva2VuX29mZmxpbmluZywgYnJva2VuIH0KPiAgICAqLwo+ICAj ZGVmaW5lIFBHQ19zdGF0ZSAgICAgICAgICAgICAgICAgIFBHX21hc2soNywgOSkKPiAtI2RlZmlu ZSBQR0Nfc3RhdGVfaW51c2UgICAgICAgICAgICBQR19tYXNrKDAsIDkpCj4gKyNkZWZpbmUgUEdD X3N0YXRlX3VuaW5pdGlhbGlzZWQgICAgUEdfbWFzaygwLCA5KQo+ICAjZGVmaW5lIFBHQ19zdGF0 ZV9vZmZsaW5pbmcgICAgICAgIFBHX21hc2soMSwgOSkKPiAgI2RlZmluZSBQR0Nfc3RhdGVfb2Zm bGluZWQgICAgICAgICBQR19tYXNrKDIsIDkpCj4gICNkZWZpbmUgUEdDX3N0YXRlX2ZyZWUgICAg ICAgICAgICAgUEdfbWFzaygzLCA5KQo+ICAjZGVmaW5lIFBHQ19zdGF0ZV9icm9rZW5fb2ZmbGlu aW5nIFBHX21hc2soNCwgOSkgLyogQnJva2VuIGFuZCBvZmZsaW5pbmcgKi8KPiAgI2RlZmluZSBQ R0Nfc3RhdGVfYnJva2VuICAgICAgICAgICBQR19tYXNrKDUsIDkpIC8qIEJyb2tlbiBhbmQgb2Zm bGluZWQgKi8KPiArI2RlZmluZSBQR0Nfc3RhdGVfaW51c2UgICAgICAgICAgICBQR19tYXNrKDYs IDkpCj4gCj4gICNkZWZpbmUgcGdjX2lzKHBnYywgc3QpICAgICAgICAgICAgKCgocGdjKSAmIFBH Q19zdGF0ZSkgPT0gUEdDX3N0YXRlXyMjc3QpCj4gICNkZWZpbmUgcGFnZV9zdGF0ZV9pcyhwZywg c3QpICAgICAgIHBnY19pcygocGcpLT5jb3VudF9pbmZvLCBzdCkKPiAtLQo+IDIuMjEuMAo+IAo+ IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gWGVu LWRldmVsIG1haWxpbmcgbGlzdAo+IFhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwo+IGh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWwKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs