From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v7 02/10] microcode/intel: extend microcode_update_match() Date: Mon, 27 May 2019 16:31:23 +0800 Message-ID: <1558945891-3015-3-git-send-email-chao.gao@intel.com> References: <1558945891-3015-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVAye-00049q-Kf for xen-devel@lists.xenproject.org; Mon, 27 May 2019 08:27:28 +0000 In-Reply-To: <1558945891-3015-1-git-send-email-chao.gao@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Sergey Dyasli , Ashok Raj , Wei Liu , Andrew Cooper , Jan Beulich , Chao Gao , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org dG8gYSBtb3JlIGdlbmVyaWMgZnVuY3Rpb24uIFRoZW4sIHRoaXMgZnVuY3Rpb24gY2FuIGNvbXBh cmUgdHdvIGdpdmVuCm1pY3JvY29kZXMnIHNpZ25hdHVyZS9yZXZpc2lvbiBhcyB3ZWxsLiBDb21w YXJpbmcgdHdvIG1pY3JvY29kZXMgaXMKdXNlZCB0byB1cGRhdGUgdGhlIGdsb2JhbCBtaWNyb2Nv ZGUgY2FjaGUgKGludHJvZHVjZWQgYnkgdGhlIGxhdGVyCnBhdGNoZXMgaW4gdGhpcyBzZXJpZXMp IHdoZW4gYSBuZXcgbWljcm9jb2RlIGlzIGdpdmVuLgoKTm90ZSB0aGF0IGVudW0gbWljcm9jb2Rl X21hdGNoX3Jlc3VsdCB3aWxsIGJlIHVzZWQgaW4gY29tbW9uIGNvZGUKKGFrYSBtaWNyb2NvZGUu YyksIGl0IGhhcyBiZWVuIHBsYWNlZCBpbiB0aGUgY29tbW9uIGhlYWRlci4KClNpZ25lZC1vZmYt Ynk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUg TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgaW4gdjY6CiAtIGVsaW1p bmF0ZSB1bm5lY2Vzc2FyeSB0eXBlIGNhc3RpbmcgaW4gbWljcm9jb2RlX3VwZGF0ZV9tYXRjaAog LSBjaGVjayBpZiBhIHBhdGNoIGhhcyBhbiBleHRlbmQgaGVhZGVyCgpDaGFuZ2VzIGluIHY1Ogog LSBjb25zdGlmeSB0aGUgZXh0ZW5kZWRfc2lnbmF0dXJlCiAtIHVzZSBuYW1lZCBlbnVtIHR5cGUg Zm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgbWljcm9jb2RlX3VwZGF0ZV9tYXRjaAotLS0KIHhlbi9h cmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYyAgfCA0OCArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaCB8ICA2ICsr KysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMgYi94ZW4vYXJjaC94 ODYvbWljcm9jb2RlX2ludGVsLmMKaW5kZXggMjJmZGVjYS4uZWNlYzgzYiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9taWNyb2Nv ZGVfaW50ZWwuYwpAQCAtMTM0LDE0ICsxMzQsMjggQEAgc3RhdGljIGludCBjb2xsZWN0X2NwdV9p bmZvKHVuc2lnbmVkIGludCBjcHVfbnVtLCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKICAg ICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgbWljcm9jb2RlX3VwZGF0ZV9tYXRj aCgKLSAgICB1bnNpZ25lZCBpbnQgY3B1X251bSwgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFk ZXJfaW50ZWwgKm1jX2hlYWRlciwKLSAgICBpbnQgc2lnLCBpbnQgcGYpCitzdGF0aWMgZW51bSBt aWNyb2NvZGVfbWF0Y2hfcmVzdWx0IG1pY3JvY29kZV91cGRhdGVfbWF0Y2goCisgICAgY29uc3Qg c3RydWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwgKm1jX2hlYWRlciwgdW5zaWduZWQgaW50IHNp ZywKKyAgICB1bnNpZ25lZCBpbnQgcGYsIHVuc2lnbmVkIGludCByZXYpCiB7Ci0gICAgc3RydWN0 IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1X251bSk7 CisgICAgY29uc3Qgc3RydWN0IGV4dGVuZGVkX3NpZ3RhYmxlICpleHRfaGVhZGVyOworICAgIGNv bnN0IHN0cnVjdCBleHRlbmRlZF9zaWduYXR1cmUgKmV4dF9zaWc7CisgICAgdW5zaWduZWQgbG9u ZyBkYXRhX3NpemUgPSBnZXRfZGF0YXNpemUobWNfaGVhZGVyKTsKKyAgICB1bnNpZ25lZCBpbnQg aTsKKworICAgIGlmICggc2lnbWF0Y2goc2lnLCBtY19oZWFkZXItPnNpZywgcGYsIG1jX2hlYWRl ci0+cGYpICkKKyAgICAgICAgcmV0dXJuIChtY19oZWFkZXItPnJldiA+IHJldikgPyBORVdfVUNP REUgOiBPTERfVUNPREU7CiAKLSAgICByZXR1cm4gKHNpZ21hdGNoKHNpZywgdWNpLT5jcHVfc2ln LnNpZywgcGYsIHVjaS0+Y3B1X3NpZy5wZikgJiYKLSAgICAgICAgICAgIChtY19oZWFkZXItPnJl diA+IHVjaS0+Y3B1X3NpZy5yZXYpKTsKKyAgICBpZiAoIGdldF90b3RhbHNpemUobWNfaGVhZGVy KSA9PSAoZGF0YV9zaXplICsgTUNfSEVBREVSX1NJWkUpICkKKyAgICAgICAgcmV0dXJuIE1JU19V Q09ERTsKKworICAgIGV4dF9oZWFkZXIgPSAoY29uc3Qgdm9pZCAqKShtY19oZWFkZXIgKyAxKSAr IGRhdGFfc2l6ZTsKKyAgICBleHRfc2lnID0gKGNvbnN0IHZvaWQgKikoZXh0X2hlYWRlciArIDEp OworICAgIGZvciAoIGkgPSAwOyBpIDwgZXh0X2hlYWRlci0+Y291bnQ7IGkrKyApCisgICAgICAg IGlmICggc2lnbWF0Y2goc2lnLCBleHRfc2lnW2ldLnNpZywgcGYsIGV4dF9zaWdbaV0ucGYpICkK KyAgICAgICAgICAgIHJldHVybiAobWNfaGVhZGVyLT5yZXYgPiByZXYpID8gTkVXX1VDT0RFIDog T0xEX1VDT0RFOworCisgICAgcmV0dXJuIE1JU19VQ09ERTsKIH0KIAogc3RhdGljIGludCBtaWNy b2NvZGVfc2FuaXR5X2NoZWNrKHZvaWQgKm1jKQpAQCAtMjQzLDMxICsyNTcsMTMgQEAgc3RhdGlj IGludCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0IHZvaWQgKm1jLCB1bnNpZ25lZCBpbnQg Y3B1KQogewogICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVf Y3B1X2luZm8sIGNwdSk7CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwg Km1jX2hlYWRlciA9IG1jOwotICAgIGNvbnN0IHN0cnVjdCBleHRlbmRlZF9zaWd0YWJsZSAqZXh0 X2hlYWRlcjsKICAgICB1bnNpZ25lZCBsb25nIHRvdGFsX3NpemUgPSBnZXRfdG90YWxzaXplKG1j X2hlYWRlcik7Ci0gICAgaW50IGV4dF9zaWdjb3VudCwgaTsKLSAgICBzdHJ1Y3QgZXh0ZW5kZWRf c2lnbmF0dXJlICpleHRfc2lnOwogICAgIHZvaWQgKm5ld19tYzsKIAotICAgIGlmICggbWljcm9j b2RlX3VwZGF0ZV9tYXRjaChjcHUsIG1jX2hlYWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWNfaGVhZGVyLT5zaWcsIG1jX2hlYWRlci0+cGYpICkKLSAgICAgICAgZ290byBm aW5kOwotCi0gICAgaWYgKCB0b3RhbF9zaXplIDw9IChnZXRfZGF0YXNpemUobWNfaGVhZGVyKSAr IE1DX0hFQURFUl9TSVpFKSApCisgICAgaWYgKCBtaWNyb2NvZGVfdXBkYXRlX21hdGNoKG1jLCB1 Y2ktPmNwdV9zaWcuc2lnLCB1Y2ktPmNwdV9zaWcucGYsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVjaS0+Y3B1X3NpZy5yZXYpICE9IE5FV19VQ09ERSApCiAgICAgICAgIHJldHVy biAwOwogCi0gICAgZXh0X2hlYWRlciA9IG1jICsgZ2V0X2RhdGFzaXplKG1jX2hlYWRlcikgKyBN Q19IRUFERVJfU0laRTsKLSAgICBleHRfc2lnY291bnQgPSBleHRfaGVhZGVyLT5jb3VudDsKLSAg ICBleHRfc2lnID0gKHZvaWQgKilleHRfaGVhZGVyICsgRVhUX0hFQURFUl9TSVpFOwotICAgIGZv ciAoIGkgPSAwOyBpIDwgZXh0X3NpZ2NvdW50OyBpKysgKQotICAgIHsKLSAgICAgICAgaWYgKCBt aWNyb2NvZGVfdXBkYXRlX21hdGNoKGNwdSwgbWNfaGVhZGVyLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZXh0X3NpZy0+c2lnLCBleHRfc2lnLT5wZikgKQotICAgICAgICAg ICAgZ290byBmaW5kOwotICAgICAgICBleHRfc2lnKys7Ci0gICAgfQotICAgIHJldHVybiAwOwot IGZpbmQ6CiAgICAgcHJfZGVidWcoIm1pY3JvY29kZTogQ1BVJWQgZm91bmQgYSBtYXRjaGluZyBt aWNyb2NvZGUgdXBkYXRlIHdpdGgiCiAgICAgICAgICAgICAgIiB2ZXJzaW9uICUjeCAoY3VycmVu dD0lI3gpXG4iLAogICAgICAgICAgICAgIGNwdSwgbWNfaGVhZGVyLT5yZXYsIHVjaS0+Y3B1X3Np Zy5yZXYpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaCBiL3hl bi9pbmNsdWRlL2FzbS14ODYvbWljcm9jb2RlLmgKaW5kZXggMjNlYTk1NC4uNzNlYmU5YSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L21pY3JvY29kZS5oCkBAIC0zLDYgKzMsMTIgQEAKIAogI2luY2x1ZGUgPHhlbi9w ZXJjcHUuaD4KIAorZW51bSBtaWNyb2NvZGVfbWF0Y2hfcmVzdWx0IHsKKyAgICBPTERfVUNPREUs IC8qIHNpZ25hdHVyZSBtYXRjaGVkLCBidXQgcmV2aXNpb24gaWQgaXNuJ3QgbmV3ZXIgKi8KKyAg ICBORVdfVUNPREUsIC8qIHNpZ25hdHVyZSBtYXRjaGVkLCBidXQgcmV2aXNpb24gaWQgaXMgbmV3 ZXIgKi8KKyAgICBNSVNfVUNPREUsIC8qIHNpZ25hdHVyZSBtaXNtYXRjaGVkICovCit9OworCiBz dHJ1Y3QgY3B1X3NpZ25hdHVyZTsKIHN0cnVjdCB1Y29kZV9jcHVfaW5mbzsKIAotLSAKMS44LjMu MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= 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=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT 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 C4AF9C07542 for ; Mon, 27 May 2019 08:27:51 +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 A5D4F21734 for ; Mon, 27 May 2019 08:27:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A5D4F21734 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.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 1hVAyg-0004A3-IP; Mon, 27 May 2019 08:27:30 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVAye-00049q-Kf for xen-devel@lists.xenproject.org; Mon, 27 May 2019 08:27:28 +0000 X-Inumbo-ID: 42f5e26a-8059-11e9-8980-bc764e045a96 Received: from mga12.intel.com (unknown [192.55.52.136]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 42f5e26a-8059-11e9-8980-bc764e045a96; Mon, 27 May 2019 08:27:27 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 May 2019 01:27:27 -0700 X-ExtLoop1: 1 Received: from gao-cwp.sh.intel.com ([10.239.159.26]) by orsmga005.jf.intel.com with ESMTP; 27 May 2019 01:27:25 -0700 From: Chao Gao To: xen-devel@lists.xenproject.org Date: Mon, 27 May 2019 16:31:23 +0800 Message-Id: <1558945891-3015-3-git-send-email-chao.gao@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1558945891-3015-1-git-send-email-chao.gao@intel.com> References: <1558945891-3015-1-git-send-email-chao.gao@intel.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v7 02/10] microcode/intel: extend microcode_update_match() 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 , Ashok Raj , Wei Liu , Andrew Cooper , Jan Beulich , Chao Gao , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190527083123.2ie7Y4joBCGwDCk75d6O78y4FfK1nalrC5oqOViVg30@z> dG8gYSBtb3JlIGdlbmVyaWMgZnVuY3Rpb24uIFRoZW4sIHRoaXMgZnVuY3Rpb24gY2FuIGNvbXBh cmUgdHdvIGdpdmVuCm1pY3JvY29kZXMnIHNpZ25hdHVyZS9yZXZpc2lvbiBhcyB3ZWxsLiBDb21w YXJpbmcgdHdvIG1pY3JvY29kZXMgaXMKdXNlZCB0byB1cGRhdGUgdGhlIGdsb2JhbCBtaWNyb2Nv ZGUgY2FjaGUgKGludHJvZHVjZWQgYnkgdGhlIGxhdGVyCnBhdGNoZXMgaW4gdGhpcyBzZXJpZXMp IHdoZW4gYSBuZXcgbWljcm9jb2RlIGlzIGdpdmVuLgoKTm90ZSB0aGF0IGVudW0gbWljcm9jb2Rl X21hdGNoX3Jlc3VsdCB3aWxsIGJlIHVzZWQgaW4gY29tbW9uIGNvZGUKKGFrYSBtaWNyb2NvZGUu YyksIGl0IGhhcyBiZWVuIHBsYWNlZCBpbiB0aGUgY29tbW9uIGhlYWRlci4KClNpZ25lZC1vZmYt Ynk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUg TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgaW4gdjY6CiAtIGVsaW1p bmF0ZSB1bm5lY2Vzc2FyeSB0eXBlIGNhc3RpbmcgaW4gbWljcm9jb2RlX3VwZGF0ZV9tYXRjaAog LSBjaGVjayBpZiBhIHBhdGNoIGhhcyBhbiBleHRlbmQgaGVhZGVyCgpDaGFuZ2VzIGluIHY1Ogog LSBjb25zdGlmeSB0aGUgZXh0ZW5kZWRfc2lnbmF0dXJlCiAtIHVzZSBuYW1lZCBlbnVtIHR5cGUg Zm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgbWljcm9jb2RlX3VwZGF0ZV9tYXRjaAotLS0KIHhlbi9h cmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYyAgfCA0OCArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaCB8ICA2ICsr KysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMgYi94ZW4vYXJjaC94 ODYvbWljcm9jb2RlX2ludGVsLmMKaW5kZXggMjJmZGVjYS4uZWNlYzgzYiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9taWNyb2Nv ZGVfaW50ZWwuYwpAQCAtMTM0LDE0ICsxMzQsMjggQEAgc3RhdGljIGludCBjb2xsZWN0X2NwdV9p bmZvKHVuc2lnbmVkIGludCBjcHVfbnVtLCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKICAg ICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgbWljcm9jb2RlX3VwZGF0ZV9tYXRj aCgKLSAgICB1bnNpZ25lZCBpbnQgY3B1X251bSwgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFk ZXJfaW50ZWwgKm1jX2hlYWRlciwKLSAgICBpbnQgc2lnLCBpbnQgcGYpCitzdGF0aWMgZW51bSBt aWNyb2NvZGVfbWF0Y2hfcmVzdWx0IG1pY3JvY29kZV91cGRhdGVfbWF0Y2goCisgICAgY29uc3Qg c3RydWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwgKm1jX2hlYWRlciwgdW5zaWduZWQgaW50IHNp ZywKKyAgICB1bnNpZ25lZCBpbnQgcGYsIHVuc2lnbmVkIGludCByZXYpCiB7Ci0gICAgc3RydWN0 IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1X251bSk7 CisgICAgY29uc3Qgc3RydWN0IGV4dGVuZGVkX3NpZ3RhYmxlICpleHRfaGVhZGVyOworICAgIGNv bnN0IHN0cnVjdCBleHRlbmRlZF9zaWduYXR1cmUgKmV4dF9zaWc7CisgICAgdW5zaWduZWQgbG9u ZyBkYXRhX3NpemUgPSBnZXRfZGF0YXNpemUobWNfaGVhZGVyKTsKKyAgICB1bnNpZ25lZCBpbnQg aTsKKworICAgIGlmICggc2lnbWF0Y2goc2lnLCBtY19oZWFkZXItPnNpZywgcGYsIG1jX2hlYWRl ci0+cGYpICkKKyAgICAgICAgcmV0dXJuIChtY19oZWFkZXItPnJldiA+IHJldikgPyBORVdfVUNP REUgOiBPTERfVUNPREU7CiAKLSAgICByZXR1cm4gKHNpZ21hdGNoKHNpZywgdWNpLT5jcHVfc2ln LnNpZywgcGYsIHVjaS0+Y3B1X3NpZy5wZikgJiYKLSAgICAgICAgICAgIChtY19oZWFkZXItPnJl diA+IHVjaS0+Y3B1X3NpZy5yZXYpKTsKKyAgICBpZiAoIGdldF90b3RhbHNpemUobWNfaGVhZGVy KSA9PSAoZGF0YV9zaXplICsgTUNfSEVBREVSX1NJWkUpICkKKyAgICAgICAgcmV0dXJuIE1JU19V Q09ERTsKKworICAgIGV4dF9oZWFkZXIgPSAoY29uc3Qgdm9pZCAqKShtY19oZWFkZXIgKyAxKSAr IGRhdGFfc2l6ZTsKKyAgICBleHRfc2lnID0gKGNvbnN0IHZvaWQgKikoZXh0X2hlYWRlciArIDEp OworICAgIGZvciAoIGkgPSAwOyBpIDwgZXh0X2hlYWRlci0+Y291bnQ7IGkrKyApCisgICAgICAg IGlmICggc2lnbWF0Y2goc2lnLCBleHRfc2lnW2ldLnNpZywgcGYsIGV4dF9zaWdbaV0ucGYpICkK KyAgICAgICAgICAgIHJldHVybiAobWNfaGVhZGVyLT5yZXYgPiByZXYpID8gTkVXX1VDT0RFIDog T0xEX1VDT0RFOworCisgICAgcmV0dXJuIE1JU19VQ09ERTsKIH0KIAogc3RhdGljIGludCBtaWNy b2NvZGVfc2FuaXR5X2NoZWNrKHZvaWQgKm1jKQpAQCAtMjQzLDMxICsyNTcsMTMgQEAgc3RhdGlj IGludCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0IHZvaWQgKm1jLCB1bnNpZ25lZCBpbnQg Y3B1KQogewogICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVf Y3B1X2luZm8sIGNwdSk7CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwg Km1jX2hlYWRlciA9IG1jOwotICAgIGNvbnN0IHN0cnVjdCBleHRlbmRlZF9zaWd0YWJsZSAqZXh0 X2hlYWRlcjsKICAgICB1bnNpZ25lZCBsb25nIHRvdGFsX3NpemUgPSBnZXRfdG90YWxzaXplKG1j X2hlYWRlcik7Ci0gICAgaW50IGV4dF9zaWdjb3VudCwgaTsKLSAgICBzdHJ1Y3QgZXh0ZW5kZWRf c2lnbmF0dXJlICpleHRfc2lnOwogICAgIHZvaWQgKm5ld19tYzsKIAotICAgIGlmICggbWljcm9j b2RlX3VwZGF0ZV9tYXRjaChjcHUsIG1jX2hlYWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWNfaGVhZGVyLT5zaWcsIG1jX2hlYWRlci0+cGYpICkKLSAgICAgICAgZ290byBm aW5kOwotCi0gICAgaWYgKCB0b3RhbF9zaXplIDw9IChnZXRfZGF0YXNpemUobWNfaGVhZGVyKSAr IE1DX0hFQURFUl9TSVpFKSApCisgICAgaWYgKCBtaWNyb2NvZGVfdXBkYXRlX21hdGNoKG1jLCB1 Y2ktPmNwdV9zaWcuc2lnLCB1Y2ktPmNwdV9zaWcucGYsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVjaS0+Y3B1X3NpZy5yZXYpICE9IE5FV19VQ09ERSApCiAgICAgICAgIHJldHVy biAwOwogCi0gICAgZXh0X2hlYWRlciA9IG1jICsgZ2V0X2RhdGFzaXplKG1jX2hlYWRlcikgKyBN Q19IRUFERVJfU0laRTsKLSAgICBleHRfc2lnY291bnQgPSBleHRfaGVhZGVyLT5jb3VudDsKLSAg ICBleHRfc2lnID0gKHZvaWQgKilleHRfaGVhZGVyICsgRVhUX0hFQURFUl9TSVpFOwotICAgIGZv ciAoIGkgPSAwOyBpIDwgZXh0X3NpZ2NvdW50OyBpKysgKQotICAgIHsKLSAgICAgICAgaWYgKCBt aWNyb2NvZGVfdXBkYXRlX21hdGNoKGNwdSwgbWNfaGVhZGVyLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZXh0X3NpZy0+c2lnLCBleHRfc2lnLT5wZikgKQotICAgICAgICAg ICAgZ290byBmaW5kOwotICAgICAgICBleHRfc2lnKys7Ci0gICAgfQotICAgIHJldHVybiAwOwot IGZpbmQ6CiAgICAgcHJfZGVidWcoIm1pY3JvY29kZTogQ1BVJWQgZm91bmQgYSBtYXRjaGluZyBt aWNyb2NvZGUgdXBkYXRlIHdpdGgiCiAgICAgICAgICAgICAgIiB2ZXJzaW9uICUjeCAoY3VycmVu dD0lI3gpXG4iLAogICAgICAgICAgICAgIGNwdSwgbWNfaGVhZGVyLT5yZXYsIHVjaS0+Y3B1X3Np Zy5yZXYpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaCBiL3hl bi9pbmNsdWRlL2FzbS14ODYvbWljcm9jb2RlLmgKaW5kZXggMjNlYTk1NC4uNzNlYmU5YSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L21pY3JvY29kZS5oCkBAIC0zLDYgKzMsMTIgQEAKIAogI2luY2x1ZGUgPHhlbi9w ZXJjcHUuaD4KIAorZW51bSBtaWNyb2NvZGVfbWF0Y2hfcmVzdWx0IHsKKyAgICBPTERfVUNPREUs IC8qIHNpZ25hdHVyZSBtYXRjaGVkLCBidXQgcmV2aXNpb24gaWQgaXNuJ3QgbmV3ZXIgKi8KKyAg ICBORVdfVUNPREUsIC8qIHNpZ25hdHVyZSBtYXRjaGVkLCBidXQgcmV2aXNpb24gaWQgaXMgbmV3 ZXIgKi8KKyAgICBNSVNfVUNPREUsIC8qIHNpZ25hdHVyZSBtaXNtYXRjaGVkICovCit9OworCiBz dHJ1Y3QgY3B1X3NpZ25hdHVyZTsKIHN0cnVjdCB1Y29kZV9jcHVfaW5mbzsKIAotLSAKMS44LjMu MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=