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=-8.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 146F6C3A5A1 for ; Wed, 28 Aug 2019 08:52:48 +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 C9CC5214DA for ; Wed, 28 Aug 2019 08:52:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="V4YHLUHg" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C9CC5214DA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none 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 1i2tgb-0005wE-Hi; Wed, 28 Aug 2019 08:52:13 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i2tga-0005w9-Ju for xen-devel@lists.xenproject.org; Wed, 28 Aug 2019 08:52:12 +0000 X-Inumbo-ID: 1e88e84a-c971-11e9-ae44-12813bfff9fa Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 1e88e84a-c971-11e9-ae44-12813bfff9fa; Wed, 28 Aug 2019 08:52:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1566982330; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=p/SVNBQZIO/J7JVgdGAIzKcSn8XfEhCt8xf+r7+7gDM=; b=V4YHLUHgWFU5LDu4ZP/OUM73f9UhMzPwb7Th2QxOdGdMyuXqmBpaNdB8 DUbWv4NeyiAD/XcaUzzNlI9O0uWCQEttcS2CDxjomE817B2YA71TvLDdN W92L5LharJ9X+fATMHH0v3NNKiDzvYpmfkY5HAfLaWQztFQMHG1TL3EkQ o=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=sergey.dyasli@citrix.com; spf=Pass smtp.mailfrom=sergey.dyasli@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of sergey.dyasli@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="sergey.dyasli@citrix.com"; x-sender="sergey.dyasli@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of sergey.dyasli@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="sergey.dyasli@citrix.com"; x-sender="sergey.dyasli@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="sergey.dyasli@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: MB5MFhvdb6+hWjMYqYVOaPd4KCPraFHioOy44TnrHba4YFr5GFx3ikCUnzZAYEjybqX7AArIDF uIrUhFiflrf4MuTcJbBYxlezkQ5YkmuY2x3/m6mu+b0CwlPQeV1mvXMoNCJX+GHOCRflXFP9Ae j/yx75azUuFUKHIR3A83OUWiJ67ozOwaCo/OmAr8ybHNbWTw8hpaqBOINR/EzEHTt9Xl0UJOat EM9nwKMHcNZawQokPIMdziJDM6Y/Khtfcq9aLYrT9Cwf7EEk4bHIOXlaiZHqRthc4KZ5h8K689 FrA= X-SBRS: 2.7 X-MesageID: 4860112 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,440,1559534400"; d="scan'208";a="4860112" To: Chao Gao References: <1566177928-19114-1-git-send-email-chao.gao@intel.com> <1566177928-19114-16-git-send-email-chao.gao@intel.com> <3b455c41-b5a3-2533-99a8-2200def4b19f@citrix.com> <20190826080759.GB11910@gao-cwp> <20190827045159.GA28509@gao-cwp> From: Sergey Dyasli Openpgp: preference=signencrypt Autocrypt: addr=sergey.dyasli@citrix.com; keydata= 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 Message-ID: <5b22b82b-e3cc-3ead-46f2-624ff9e5d2d7@citrix.com> Date: Wed, 28 Aug 2019 09:52:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190827045159.GA28509@gao-cwp> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH v9 15/15] microcode: block #NMI handling when loading an ucode 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: , Cc: "sergey.dyasli@citrix.com >> Sergey Dyasli" , Ashok Raj , Wei Liu , Andrew Cooper , Jan Beulich , xen-devel@lists.xenproject.org, =?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" T24gMjcvMDgvMjAxOSAwNTo1MiwgQ2hhbyBHYW8gd3JvdGU6Cj4gT24gTW9uLCBBdWcgMjYsIDIw MTkgYXQgMDQ6MDc6NTlQTSArMDgwMCwgQ2hhbyBHYW8gd3JvdGU6Cj4+IE9uIEZyaSwgQXVnIDIz LCAyMDE5IGF0IDA5OjQ2OjM3QU0gKzAxMDAsIFNlcmdleSBEeWFzbGkgd3JvdGU6Cj4+PiBPbiAx OS8wOC8yMDE5IDAyOjI1LCBDaGFvIEdhbyB3cm90ZToKPj4+PiByZWdpc3RlciBhbiBubWkgY2Fs bGJhY2suIEFuZCB0aGlzIGNhbGxiYWNrIGRvZXMgYnVzeS1sb29wIG9uIHRocmVhZHMKPj4+PiB3 aGljaCBhcmUgd2FpdGluZyBmb3IgbG9hZGluZyBjb21wbGV0aW9uLiBDb250cm9sIHRocmVhZHMg c2VuZCBOTUkgdG8KPj4+PiBzbGF2ZSB0aHJlYWRzIHRvIHByZXZlbnQgTk1JIGFjY2VwdGFuY2Ug ZHVyaW5nIHVjb2RlIGxvYWRpbmcuCj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBDaGFvIEdhbyA8 Y2hhby5nYW9AaW50ZWwuY29tPgo+Pj4+IC0tLQo+Pj4+IENoYW5nZXMgaW4gdjk6Cj4+Pj4gIC0g Y29udHJvbCB0aHJlYWRzIHNlbmQgTk1JIHRvIGFsbCBvdGhlciB0aHJlYWRzLiBTbGF2ZSB0aHJl YWRzIHdpbGwKPj4+PiAgc3RheSBpbiB0aGUgTk1JIGhhbmRsaW5nIHRvIHByZXZlbnQgTk1JIGFj Y2VwdGFuY2UgZHVyaW5nIHVjb2RlCj4+Pj4gIGxvYWRpbmcuIE5vdGUgdGhhdCBzZWxmLW5taSBp cyBpbnZhbGlkIGFjY29yZGluZyB0byBTRE0uCj4+Pgo+Pj4gVG8gbWUgdGhpcyBsb29rcyBsaWtl IGEgaGFsZi1tZWFzdXJlOiB3aHkga2VlcCBvbmx5IHNsYXZlIHRocmVhZHMgaW4KPj4+IHRoZSBO TUkgaGFuZGxlciwgd2hlbiBtYXN0ZXIgdGhyZWFkcyBjYW4gdXBkYXRlIHRoZSBtaWNyb2NvZGUg ZnJvbQo+Pj4gaW5zaWRlIHRoZSBOTUkgaGFuZGxlciBhcyB3ZWxsPwo+Pgo+PiBObyBzcGVjaWFs IHJlYXNvbi4gQmVjYXVzZSB0aGUgaXNzdWUgd2Ugd2FudCB0byBhZGRyZXNzIGlzIHRoYXQgc2xh dmUKPj4gdGhyZWFkcyBtaWdodCBnbyB0byBoYW5kbGUgTk1JIGFuZCBhY2Nlc3MgTVNScyB3aGVu IG1hc3RlciB0aHJlYWQgaXMKPj4gbG9hZGluZyB1Y29kZS4gU28gd2Ugb25seSBrZWVwIHNsYXZl IHRocmVhZHMgaW4gdGhlIE5NSSBoYW5kbGVyLgo+Pgo+Pj4KPj4+IFlvdSBtZW50aW9uIHRoYXQg c2VsZi1ubWkgaXMgaW52YWxpZCwgYnV0IFhlbiBoYXMgc2VsZl9ubWkoKSB3aGljaCBpcwo+Pj4g dXNlZCBmb3IgYXBwbHlfYWx0ZXJuYXRpdmVzKCkgZHVyaW5nIGJvb3QsIHNvIGNhbiBiZSB0cnVz dGVkIHRvIHdvcmsuCj4+Cj4+IFNvcnJ5LCBJIG1lYW50IHVzaW5nIHNlbGYgc2hvcnRoYW5kIHRv IHNlbmQgc2VsZi1ubWkuIEkgdHJpZWQgdG8gdXNlCj4+IHNlbGYgc2hvcnRoYW5kIGJ1dCBnb3Qg QVBJQyBlcnJvci4gQW5kIEkgYWdyZWUgdGhhdCBpdCBpcyBiZXR0ZXIgdG8KPj4gbWFrZSBzbGF2 ZSB0aHJlYWQgY2FsbCBzZWxmX25taSgpIGl0c2VsZi4KPj4KPj4+Cj4+PiBJIGV4cGVyaW1lbnRl ZCBhIGJpdCB3aXRoIHRoZSBmb2xsb3dpbmcgYXBwcm9hY2g6IGFmdGVyIGxvYWRpbmdfc3RhdGUK Pj4+IGJlY29tZXMgTE9BRElOR19DQUxMSU4sIGVhY2ggY3B1IGlzc3VlcyBhIHNlbGZfbm1pKCkg YW5kIHJlbmRlenZvdXMKPj4+IHZpYSBjcHVfY2FsbGluX21hcCBpbnRvIExPQURJTkdfRU5URVIg dG8gZG8gYSB1Y29kZSB1cGRhdGUgZGlyZWN0bHkgaW4KPj4+IHRoZSBOTUkgaGFuZGxlci4gQW5k IGl0IHNlZW1zIHRvIHdvcmsuCj4+Pgo+Pj4gU2VwYXJhdGUgcXVlc3Rpb24gaXMgYWJvdXQgdGhl IHNhZmV0eSBvZiB0aGlzIGFwcHJvYWNoOiBjYW4gd2UgYmUgc3VyZQo+Pj4gdGhhdCBhIHVjb2Rl IHVwZGF0ZSB3b3VsZCBub3QgcmVzZXQgdGhlIHN0YXR1cyBvZiB0aGUgTk1JIGxhdGNoPyBJLmUu Cj4+PiBjYW4gaXQgY2F1c2UgYW5vdGhlciBOTUkgdG8gYmUgZGVsaXZlcmVkIHdoaWxlIFhlbiBh bHJlYWR5IGhhbmRsZXMgb25lPwo+Pgo+PiBBc2hvaywgd2hhdCdzIHlvdXIgb3BpbmlvbiBvbiBT ZXJnZXkncyBhcHByb2FjaCBhbmQgaGlzIGNvbmNlcm4/Cj4gCj4gSGkgU2VyZ2V5LAo+IAo+IEkg dGFsa2VkIHdpdGggQXNob2suIFdlIHRoaW5rIHlvdXIgYXBwcm9hY2ggaXMgYmV0dGVyLiBJIHdp bGwgZm9sbG93Cj4geW91ciBhcHByb2FjaCBpbiB2MTAuIEl0IHdvdWxkIGJlIG11Y2ggaGVscGZ1 bCBpZiB5b3UgcG9zdCB5b3VyIHBhdGNoCj4gc28gdGhhdCBJIGNhbiBqdXN0IHJlYmFzZSBpdCBv bnRvIG90aGVyIHBhdGNoZXMuCgpTdXJlIHRoaW5nLiBUaGUgYmVsb3cgY29kZSBpcyBteSBmaXJz dCBhdHRlbXB0IGF0IGltcHJvdmluZyB0aGUgb3JpZ2luYWwKcGF0Y2guIEl0IGNhbiBiZW5lZml0 IGZyb20gc29tZSBmdXJ0aGVyIHJlZmFjdG9yaW5nLgoKLS0tCiB4ZW4vYXJjaC94ODYvbWljcm9j b2RlLmMgfCAxMDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L21pY3JvY29kZS5jIGIveGVuL2FyY2gveDg2L21pY3JvY29kZS5jCmlu ZGV4IDkxZjllODExZjguLmJhMjM2MzQwNmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNy b2NvZGUuYworKysgYi94ZW4vYXJjaC94ODYvbWljcm9jb2RlLmMKQEAgLTM2LDggKzM2LDEwIEBA CiAjaW5jbHVkZSA8eGVuL2Vhcmx5Y3Bpby5oPgogI2luY2x1ZGUgPHhlbi93YXRjaGRvZy5oPgoK KyNpbmNsdWRlIDxhc20vYXBpYy5oPgogI2luY2x1ZGUgPGFzbS9kZWxheS5oPgogI2luY2x1ZGUg PGFzbS9tc3IuaD4KKyNpbmNsdWRlIDxhc20vbm1pLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nv ci5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9taWNyb2NvZGUuaD4K QEAgLTIzMiw2ICsyMzQsNyBAQCBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgY3B1X3NpZ25hdHVyZSwg Y3B1X3NpZyk7CiAgKi8KIHN0YXRpYyBjcHVtYXNrX3QgY3B1X2NhbGxpbl9tYXA7CiBzdGF0aWMg YXRvbWljX3QgY3B1X291dCwgY3B1X3VwZGF0ZWQ7CitzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpu bWlfcGF0Y2g7CgogLyoKICAqIFJldHVybiBhIHBhdGNoIHRoYXQgY292ZXJzIGN1cnJlbnQgQ1BV LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgcGF0Y2hlcywKQEAgLTMzNywxNSArMzQwLDI1IEBAIHN0 YXRpYyBpbnQgbWljcm9jb2RlX3VwZGF0ZV9jcHUoY29uc3Qgc3RydWN0IG1pY3JvY29kZV9wYXRj aCAqcGF0Y2gpCiAgICAgcmV0dXJuIGVycjsKIH0KCitzdGF0aWMgdm9pZCBzbGF2ZV90aHJlYWRf d29yayh2b2lkKQoreworICAgIC8qIERvIG5vdGhpbmcsIGp1c3Qgd2FpdCAqLworICAgIHdoaWxl ICggbG9hZGluZ19zdGF0ZSAhPSBMT0FESU5HX0VYSVQgKQorICAgICAgICBjcHVfcmVsYXgoKTsK K30KKwogc3RhdGljIGludCBzbGF2ZV90aHJlYWRfZm4odm9pZCkKIHsKLSAgICB1bnNpZ25lZCBp bnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogICAgIHVuc2lnbmVkIGludCBtYXN0ZXIgPSBj cHVtYXNrX2ZpcnN0KHRoaXNfY3B1KGNwdV9zaWJsaW5nX21hc2spKTsKCiAgICAgd2hpbGUgKCBs b2FkaW5nX3N0YXRlICE9IExPQURJTkdfQ0FMTElOICkKKyAgICB7CisgICAgICAgIGlmICggbG9h ZGluZ19zdGF0ZSA9PSBMT0FESU5HX0VYSVQgKQorICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAg ICAgIGNwdV9yZWxheCgpOworICAgIH0KCi0gICAgY3B1bWFza19zZXRfY3B1KGNwdSwgJmNwdV9j YWxsaW5fbWFwKTsKKyAgICBzZWxmX25taSgpOwoKICAgICB3aGlsZSAoIGxvYWRpbmdfc3RhdGUg IT0gTE9BRElOR19FWElUICkKICAgICAgICAgY3B1X3JlbGF4KCk7CkBAIC0zNTYsMzAgKzM2OSwz NSBAQCBzdGF0aWMgaW50IHNsYXZlX3RocmVhZF9mbih2b2lkKQogICAgIHJldHVybiAwOwogfQoK LXN0YXRpYyBpbnQgbWFzdGVyX3RocmVhZF9mbihjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNo ICpwYXRjaCkKK3N0YXRpYyB2b2lkIG1hc3Rlcl90aHJlYWRfd29yayh2b2lkKQogewotICAgIHVu c2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0gICAgaW50IHJldCA9IDA7Ci0K LSAgICB3aGlsZSAoIGxvYWRpbmdfc3RhdGUgIT0gTE9BRElOR19DQUxMSU4gKQotICAgICAgICBj cHVfcmVsYXgoKTsKLQotICAgIGNwdW1hc2tfc2V0X2NwdShjcHUsICZjcHVfY2FsbGluX21hcCk7 CisgICAgaW50IHJldDsKCiAgICAgd2hpbGUgKCBsb2FkaW5nX3N0YXRlICE9IExPQURJTkdfRU5U RVIgKQorICAgIHsKKyAgICAgICAgaWYgKCBsb2FkaW5nX3N0YXRlID09IExPQURJTkdfRVhJVCAp CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNwdV9yZWxheCgpOworICAgIH0KCi0gICAg LyoKLSAgICAgKiBJZiBhbiBlcnJvciBoYXBwZW5lZCwgY29udHJvbCB0aHJlYWQgd291bGQgc2V0 ICdsb2FkaW5nX3N0YXRlJwotICAgICAqIHRvIExPQURJTkdfRVhJVC4gRG9uJ3QgcGVyZm9ybSB1 Y29kZSBsb2FkaW5nIGZvciB0aGlzIGNhc2UKLSAgICAgKi8KLSAgICBpZiAoIGxvYWRpbmdfc3Rh dGUgPT0gTE9BRElOR19FWElUICkKLSAgICAgICAgcmV0dXJuIHJldDsKLQotICAgIHJldCA9IG1p Y3JvY29kZV9vcHMtPmFwcGx5X21pY3JvY29kZShwYXRjaCk7CisgICAgcmV0ID0gbWljcm9jb2Rl X29wcy0+YXBwbHlfbWljcm9jb2RlKG5taV9wYXRjaCk7CiAgICAgaWYgKCAhcmV0ICkKICAgICAg ICAgYXRvbWljX2luYygmY3B1X3VwZGF0ZWQpOwogICAgIGF0b21pY19pbmMoJmNwdV9vdXQpOwor fQorCitzdGF0aWMgaW50IG1hc3Rlcl90aHJlYWRfZm4oY29uc3Qgc3RydWN0IG1pY3JvY29kZV9w YXRjaCAqcGF0Y2gpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICB3aGlsZSAoIGxvYWRpbmdf c3RhdGUgIT0gTE9BRElOR19DQUxMSU4gKQorICAgIHsKKyAgICAgICAgaWYgKCBsb2FkaW5nX3N0 YXRlID09IExPQURJTkdfRVhJVCApCisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBj cHVfcmVsYXgoKTsKKyAgICB9CisKKyAgICBzZWxmX25taSgpOwoKICAgICB3aGlsZSAoIGxvYWRp bmdfc3RhdGUgIT0gTE9BRElOR19FWElUICkKICAgICAgICAgY3B1X3JlbGF4KCk7CkBAIC0zODcs MzUgKzQwNSw0MCBAQCBzdGF0aWMgaW50IG1hc3Rlcl90aHJlYWRfZm4oY29uc3Qgc3RydWN0IG1p Y3JvY29kZV9wYXRjaCAqcGF0Y2gpCiAgICAgcmV0dXJuIHJldDsKIH0KCi1zdGF0aWMgaW50IGNv bnRyb2xfdGhyZWFkX2ZuKGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoKQorc3Rh dGljIHZvaWQgY29udHJvbF90aHJlYWRfd29yayh2b2lkKQogewotICAgIHVuc2lnbmVkIGludCBj cHUgPSBzbXBfcHJvY2Vzc29yX2lkKCksIGRvbmU7Ci0gICAgdW5zaWduZWQgbG9uZyB0aWNrOwog ICAgIGludCByZXQ7CgotICAgIC8qIEFsbG93IHRocmVhZHMgdG8gY2FsbCBpbiAqLwotICAgIGxv YWRpbmdfc3RhdGUgPSBMT0FESU5HX0NBTExJTjsKLSAgICBzbXBfbWIoKTsKLQotICAgIGNwdW1h c2tfc2V0X2NwdShjcHUsICZjcHVfY2FsbGluX21hcCk7Ci0KICAgICAvKiBXYWl0aW5nIGZvciBh bGwgdGhyZWFkcyBjYWxsaW5nIGluICovCiAgICAgcmV0ID0gd2FpdF9mb3JfY29uZGl0aW9uKHdh aXRfY3B1X2NhbGxpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikodW5z aWduZWQgbG9uZyludW1fb25saW5lX2NwdXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTUlDUk9DT0RFX0NBTExJTl9USU1FT1VUX1VTKTsKICAgICBpZiAoIHJldCApIHsKICAgICAg ICAgbG9hZGluZ19zdGF0ZSA9IExPQURJTkdfRVhJVDsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAg ICAgICAgcmV0dXJuOwogICAgIH0KCiAgICAgLyogTGV0IG1hc3RlciB0aHJlYWRzIGxvYWQgdGhl IGdpdmVuIHVjb2RlIHVwZGF0ZSAqLwogICAgIGxvYWRpbmdfc3RhdGUgPSBMT0FESU5HX0VOVEVS OwogICAgIHNtcF9tYigpOwoKLSAgICByZXQgPSBtaWNyb2NvZGVfb3BzLT5hcHBseV9taWNyb2Nv ZGUocGF0Y2gpOworICAgIHJldCA9IG1pY3JvY29kZV9vcHMtPmFwcGx5X21pY3JvY29kZShubWlf cGF0Y2gpOwogICAgIGlmICggIXJldCApCiAgICAgICAgIGF0b21pY19pbmMoJmNwdV91cGRhdGVk KTsKICAgICBhdG9taWNfaW5jKCZjcHVfb3V0KTsKK30KKworc3RhdGljIGludCBjb250cm9sX3Ro cmVhZF9mbihjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpwYXRjaCkKK3sKKyAgICB1bnNp Z25lZCBpbnQgZG9uZTsKKyAgICB1bnNpZ25lZCBsb25nIHRpY2s7CisgICAgaW50IHJldDsKKwor ICAgIC8qIEFsbG93IHRocmVhZHMgdG8gY2FsbCBpbiAqLworICAgIGxvYWRpbmdfc3RhdGUgPSBM T0FESU5HX0NBTExJTjsKKyAgICBzbXBfbWIoKTsKKworICAgIHNlbGZfbm1pKCk7CgogICAgIHRp Y2sgPSByZHRzY19vcmRlcmVkKCk7CiAgICAgLyogV2FpdGluZyBmb3IgbWFzdGVyIHRocmVhZHMg ZmluaXNoaW5nIHVwZGF0ZSAqLwpAQCAtNDgxLDEyICs1MDQsMzUgQEAgc3RhdGljIGludCBkb19t aWNyb2NvZGVfdXBkYXRlKHZvaWQgKnBhdGNoKQogICAgIHJldHVybiByZXQ7CiB9Cgorc3RhdGlj IGludCBtaWNyb2NvZGVfbm1pX2NhbGxiYWNrKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzLCBpbnQgY3B1KQoreworICAgIHVuc2lnbmVkIGludCBtYXN0ZXIgPSBjcHVtYXNrX2ZpcnN0 KHRoaXNfY3B1KGNwdV9zaWJsaW5nX21hc2spKTsKKyAgICB1bnNpZ25lZCBpbnQgY29udHJvbGxl ciA9IGNwdW1hc2tfZmlyc3QoJmNwdV9vbmxpbmVfbWFwKTsKKworICAgIC8qIFN5c3RlbS1nZW5l cmF0ZWQgTk1JLCB3aWxsIGJlIGlnbm9yZWQgKi8KKyAgICBpZiAoIGxvYWRpbmdfc3RhdGUgPT0g TE9BRElOR19QUkVQQVJFICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBBU1NFUlQobG9hZGlu Z19zdGF0ZSA9PSBMT0FESU5HX0NBTExJTik7CisgICAgY3B1bWFza19zZXRfY3B1KGNwdSwgJmNw dV9jYWxsaW5fbWFwKTsKKworICAgIGlmICggY3B1ID09IGNvbnRyb2xsZXIgKQorICAgICAgICBj b250cm9sX3RocmVhZF93b3JrKCk7CisgICAgZWxzZSBpZiAoIGNwdSA9PSBtYXN0ZXIgKQorICAg ICAgICBtYXN0ZXJfdGhyZWFkX3dvcmsoKTsKKyAgICBlbHNlCisgICAgICAgIHNsYXZlX3RocmVh ZF93b3JrKCk7CisKKyAgICByZXR1cm4gMDsKK30KKwogaW50IG1pY3JvY29kZV91cGRhdGUoWEVO X0dVRVNUX0hBTkRMRV9QQVJBTShjb25zdF92b2lkKSBidWYsIHVuc2lnbmVkIGxvbmcgbGVuKQog ewogICAgIGludCByZXQ7CiAgICAgdm9pZCAqYnVmZmVyOwogICAgIHVuc2lnbmVkIGludCBjcHUs IHVwZGF0ZWQ7CiAgICAgc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqcGF0Y2g7CisgICAgbm1pX2Nh bGxiYWNrX3QgKnNhdmVkX25taV9jYWxsYmFjazsKCiAgICAgaWYgKCBsZW4gIT0gKHVpbnQzMl90 KWxlbiApCiAgICAgICAgIHJldHVybiAtRTJCSUc7CkBAIC01NTEsNiArNTk3LDkgQEAgaW50IG1p Y3JvY29kZV91cGRhdGUoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShjb25zdF92b2lkKSBidWYsIHVu c2lnbmVkIGxvbmcgbGVuKQogICAgICAqIHdhdGNoZG9nIHRpbWVvdXQuCiAgICAgICovCiAgICAg d2F0Y2hkb2dfZGlzYWJsZSgpOworCisgICAgbm1pX3BhdGNoID0gcGF0Y2g7CisgICAgc2F2ZWRf bm1pX2NhbGxiYWNrID0gc2V0X25taV9jYWxsYmFjayhtaWNyb2NvZGVfbm1pX2NhbGxiYWNrKTsK ICAgICAvKgogICAgICAqIExhdGUgbG9hZGluZyBkYW5jZS4gV2h5IHRoZSBoZWF2eS1oYW5kZWQg c3RvcF9tYWNoaW5lIGVmZm9ydD8KICAgICAgKgpAQCAtNTYzLDYgKzYxMiw3IEBAIGludCBtaWNy b2NvZGVfdXBkYXRlKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oY29uc3Rfdm9pZCkgYnVmLCB1bnNp Z25lZCBsb25nIGxlbikKICAgICAgKiAgIGNvbnNlcnZhdGl2ZSBhbmQgZ29vZC4KICAgICAgKi8K ICAgICByZXQgPSBzdG9wX21hY2hpbmVfcnVuKGRvX21pY3JvY29kZV91cGRhdGUsIHBhdGNoLCBO Ul9DUFVTKTsKKyAgICBzZXRfbm1pX2NhbGxiYWNrKHNhdmVkX25taV9jYWxsYmFjayk7CiAgICAg d2F0Y2hkb2dfZW5hYmxlKCk7CgogICAgIHVwZGF0ZWQgPSBhdG9taWNfcmVhZCgmY3B1X3VwZGF0 ZWQpOwotLSAKMi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==