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.8 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 EFD3CC19759 for ; Thu, 1 Aug 2019 10:19:23 +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 C1B84206B8 for ; Thu, 1 Aug 2019 10:19:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C1B84206B8 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 1ht8Ay-0001sZ-Qq; Thu, 01 Aug 2019 10:19:12 +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 1ht8Ax-0001rO-Dd for xen-devel@lists.xenproject.org; Thu, 01 Aug 2019 10:19:11 +0000 X-Inumbo-ID: cc48b514-b445-11e9-8be4-e7d33dada946 Received: from mga17.intel.com (unknown [192.55.52.151]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id cc48b514-b445-11e9-8be4-e7d33dada946; Thu, 01 Aug 2019 10:19:08 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Aug 2019 03:19:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,333,1559545200"; d="scan'208";a="175207934" Received: from gao-cwp.sh.intel.com ([10.239.159.26]) by orsmga003.jf.intel.com with ESMTP; 01 Aug 2019 03:19:06 -0700 From: Chao Gao To: xen-devel@lists.xenproject.org Date: Thu, 1 Aug 2019 18:22:44 +0800 Message-Id: <1564654971-31328-10-git-send-email-chao.gao@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1564654971-31328-1-git-send-email-chao.gao@intel.com> References: <1564654971-31328-1-git-send-email-chao.gao@intel.com> Subject: [Xen-devel] [PATCH v8 09/16] microcode: remove pointless 'cpu' parameter 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: Ashok Raj , Wei Liu , Andrew Cooper , Jan Beulich , Chao Gao , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" U29tZSBjYWxsYmFja3MgaW4gbWljcm9jb2RlX29wcyBvciByZWxhdGVkIGZ1bmN0aW9ucyB0YWtl IGEgY3B1CmlkIHBhcmFtZXRlci4gQnV0IGF0IGN1cnJlbnQgY2FsbCBzaXRlcywgdGhlIGNwdSBp ZCBwYXJhbWV0ZXIgaXMKYWx3YXlzIGVxdWFsIHRvIGN1cnJlbnQgY3B1IGlkLiBTb21lIG9mIHRo ZW0gZXZlbiB1c2UgYW4gYXNzZXJ0aW9uCnRvIGd1YXJhbnRlZSB0aGlzLiBSZW1vdmUgdGhpcyBy ZWR1bmRlbnQgJ2NwdScgcGFyYW1ldGVyLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8u Z2FvQGludGVsLmNvbT4KLS0tCkNoYW5nZXMgaW4gdjg6CiAtIFVzZSBjdXJyZW50X2NwdV9kYXRh IGluIGNvbGxlY3RfY3B1X2luZm8oKQogLSBrZWVwIHRoZSBjcHUgcGFyYW1ldGVyIG9mIGNoZWNr X2ZpbmFsX3BhdGNoX2xldmVscygpCiAtIHVzZSBzbXBfcHJvY2Vzc29yX2lkKCkgaW4gZ2V0X21h dGNoaW5nX21pY3JvY29kZSgpIHJhdGhlciB0aGFuCiBkZWZpbmUgYSBsb2NhbCB2YXJpYWJsZSBh bmQgbGFiZWwgaXQgIl9fbWF5YmVfdW51c2VkIgotLS0KIHhlbi9hcmNoL3g4Ni9hY3BpL3Bvd2Vy LmMgICAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L21pY3JvY29kZS5jICAgICAgICB8IDIwICsr KysrKysrLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvbWljcm9jb2RlX2FtZC5jICAgIHwgMzUg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9taWNyb2Nv ZGVfaW50ZWwuYyAgfCAyOCArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94 ODYvc21wYm9vdC5jICAgICAgICAgIHwgIDIgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvbWljcm9j b2RlLmggfCAgNyArKystLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIHwgIDIg Ky0KIDcgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2FjcGkvcG93ZXIuYyBiL3hlbi9hcmNoL3g4Ni9hY3Bp L3Bvd2VyLmMKaW5kZXggYWVjYzc1NC4uNGYyMTkwMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2FjcGkvcG93ZXIuYworKysgYi94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jCkBAIC0yNTMsNyAr MjUzLDcgQEAgc3RhdGljIGludCBlbnRlcl9zdGF0ZSh1MzIgc3RhdGUpCiAKICAgICBjb25zb2xl X2VuZF9zeW5jKCk7CiAKLSAgICBtaWNyb2NvZGVfcmVzdW1lX2NwdSgwKTsKKyAgICBtaWNyb2Nv ZGVfcmVzdW1lX2NwdSgpOwogCiAgICAgaWYgKCAhcmVjaGVja19jcHVfZmVhdHVyZXMoMCkgKQog ICAgICAgICBwYW5pYygiTWlzc2luZyBwcmV2aW91c2x5IGF2YWlsYWJsZSBmZWF0dXJlKHMpXG4i KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGUuYyBiL3hlbi9hcmNoL3g4Ni9t aWNyb2NvZGUuYwppbmRleCA5MjMxZGZiLi5iZmIwYWZiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvbWljcm9jb2RlLmMKKysrIGIveGVuL2FyY2gveDg2L21pY3JvY29kZS5jCkBAIC0xOTYsMTkg KzE5NiwxOSBAQCBzdHJ1Y3QgbWljcm9jb2RlX2luZm8gewogICAgIGNoYXIgYnVmZmVyWzFdOwog fTsKIAotaW50IG1pY3JvY29kZV9yZXN1bWVfY3B1KHVuc2lnbmVkIGludCBjcHUpCitpbnQgbWlj cm9jb2RlX3Jlc3VtZV9jcHUodm9pZCkKIHsKICAgICBpbnQgZXJyOwotICAgIHN0cnVjdCBjcHVf c2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOworICAgIHN0cnVjdCBjcHVf c2lnbmF0dXJlICpzaWcgPSAmdGhpc19jcHUoY3B1X3NpZyk7CiAKICAgICBpZiAoICFtaWNyb2Nv ZGVfb3BzICkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBzcGluX2xvY2soJm1pY3JvY29kZV9t dXRleCk7CiAKLSAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2NwdV9pbmZvKGNwdSwg c2lnKTsKKyAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2NwdV9pbmZvKHNpZyk7CiAg ICAgaWYgKCBsaWtlbHkoIWVycikgKQotICAgICAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5hcHBs eV9taWNyb2NvZGUoY3B1KTsKKyAgICAgICAgZXJyID0gbWljcm9jb2RlX29wcy0+YXBwbHlfbWlj cm9jb2RlKCk7CiAgICAgc3Bpbl91bmxvY2soJm1pY3JvY29kZV9tdXRleCk7CiAKICAgICByZXR1 cm4gZXJyOwpAQCAtMjU4LDkgKzI1OCw5IEBAIHN0YXRpYyBpbnQgbWljcm9jb2RlX3VwZGF0ZV9j cHUoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSkKIAogICAgIHNwaW5fbG9jaygmbWljcm9j b2RlX211dGV4KTsKIAotICAgIGVyciA9IG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2luZm8o Y3B1LCBzaWcpOworICAgIGVyciA9IG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2luZm8oc2ln KTsKICAgICBpZiAoIGxpa2VseSghZXJyKSApCi0gICAgICAgIGVyciA9IG1pY3JvY29kZV9vcHMt PmNwdV9yZXF1ZXN0X21pY3JvY29kZShjcHUsIGJ1Ziwgc2l6ZSk7CisgICAgICAgIGVyciA9IG1p Y3JvY29kZV9vcHMtPmNwdV9yZXF1ZXN0X21pY3JvY29kZShidWYsIHNpemUpOwogICAgIHNwaW5f dW5sb2NrKCZtaWNyb2NvZGVfbXV0ZXgpOwogCiAgICAgcmV0dXJuIGVycjsKQEAgLTM0OSw4ICsz NDksNiBAQCBfX2luaXRjYWxsKG1pY3JvY29kZV9pbml0KTsKIAogaW50IF9faW5pdCBlYXJseV9t aWNyb2NvZGVfdXBkYXRlX2NwdShib29sIHN0YXJ0X3VwZGF0ZSkKIHsKLSAgICB1bnNpZ25lZCBp bnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpz aWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIGludCByYyA9IDA7CiAgICAgdm9pZCAq ZGF0YSA9IE5VTEw7CiAgICAgc2l6ZV90IGxlbjsKQEAgLTM2OSw3ICszNjcsNyBAQCBpbnQgX19p bml0IGVhcmx5X21pY3JvY29kZV91cGRhdGVfY3B1KGJvb2wgc3RhcnRfdXBkYXRlKQogICAgICAg ICBkYXRhID0gYm9vdHN0cmFwX21hcCgmdWNvZGVfbW9kKTsKICAgICB9CiAKLSAgICBtaWNyb2Nv ZGVfb3BzLT5jb2xsZWN0X2NwdV9pbmZvKGNwdSwgc2lnKTsKKyAgICBtaWNyb2NvZGVfb3BzLT5j b2xsZWN0X2NwdV9pbmZvKCZ0aGlzX2NwdShjcHVfc2lnKSk7CiAKICAgICBpZiAoIGRhdGEgKQog ICAgIHsKQEAgLTM4Nyw4ICszODUsNiBAQCBpbnQgX19pbml0IGVhcmx5X21pY3JvY29kZV91cGRh dGVfY3B1KGJvb2wgc3RhcnRfdXBkYXRlKQogCiBpbnQgX19pbml0IGVhcmx5X21pY3JvY29kZV9p bml0KHZvaWQpCiB7Ci0gICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsK LSAgICBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnBlcl9jcHUoY3B1X3NpZywgY3B1KTsK ICAgICBpbnQgcmM7CiAKICAgICByYyA9IG1pY3JvY29kZV9pbml0X2ludGVsKCk7CkBAIC00MDEs NyArMzk3LDcgQEAgaW50IF9faW5pdCBlYXJseV9taWNyb2NvZGVfaW5pdCh2b2lkKQogCiAgICAg aWYgKCBtaWNyb2NvZGVfb3BzICkKICAgICB7Ci0gICAgICAgIG1pY3JvY29kZV9vcHMtPmNvbGxl Y3RfY3B1X2luZm8oY3B1LCBzaWcpOworICAgICAgICBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2Nw dV9pbmZvKCZ0aGlzX2NwdShjcHVfc2lnKSk7CiAKICAgICAgICAgaWYgKCB1Y29kZV9tb2QubW9k X2VuZCB8fCB1Y29kZV9ibG9iLnNpemUgKQogICAgICAgICAgICAgcmMgPSBlYXJseV9taWNyb2Nv ZGVfdXBkYXRlX2NwdSh0cnVlKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVf YW1kLmMgYi94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2FtZC5jCmluZGV4IDNmNDI3ODEuLjgzZWQ4 ZjkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfYW1kLmMKKysrIGIveGVuL2Fy Y2gveDg2L21pY3JvY29kZV9hbWQuYwpAQCAtNzgsMjMgKzc4LDIzIEBAIHN0cnVjdCBtcGJoZHIg ewogc3RhdGljIERFRklORV9TUElOTE9DSyhtaWNyb2NvZGVfdXBkYXRlX2xvY2spOwogCiAvKiBT ZWUgY29tbWVudCBpbiBzdGFydF91cGRhdGUoKSBmb3IgY2FzZXMgd2hlbiB0aGlzIHJvdXRpbmUg ZmFpbHMgKi8KLXN0YXRpYyBpbnQgY29sbGVjdF9jcHVfaW5mbyh1bnNpZ25lZCBpbnQgY3B1LCBz dHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKK3N0YXRpYyBpbnQgY29sbGVjdF9jcHVfaW5mbyhz dHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKIHsKLSAgICBzdHJ1Y3QgY3B1aW5mb194ODYgKmMg PSAmY3B1X2RhdGFbY3B1XTsKKyAgICBzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmY3VycmVudF9j cHVfZGF0YTsKIAogICAgIG1lbXNldChjc2lnLCAwLCBzaXplb2YoKmNzaWcpKTsKIAogICAgIGlm ICggKGMtPng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9BTUQpIHx8IChjLT54ODYgPCAweDEwKSAp CiAgICAgewogICAgICAgICBwcmludGsoS0VSTl9FUlIgIm1pY3JvY29kZTogQ1BVJWQgbm90IGEg Y2FwYWJsZSBBTUQgcHJvY2Vzc29yXG4iLAotICAgICAgICAgICAgICAgY3B1KTsKKyAgICAgICAg ICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAg IH0KIAogICAgIHJkbXNybChNU1JfQU1EX1BBVENITEVWRUwsIGNzaWctPnJldik7CiAKICAgICBw cl9kZWJ1ZygibWljcm9jb2RlOiBDUFUlZCBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0lI3hc biIsCi0gICAgICAgICAgICAgY3B1LCBjc2lnLT5yZXYpOworICAgICAgICAgICAgIHNtcF9wcm9j ZXNzb3JfaWQoKSwgY3NpZy0+cmV2KTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMTUzLDE3ICsx NTMsMTUgQEAgc3RhdGljIGJvb2xfdCBmaW5kX2VxdWl2X2NwdV9pZChjb25zdCBzdHJ1Y3QgZXF1 aXZfY3B1X2VudHJ5ICplcXVpdl9jcHVfdGFibGUsCiB9CiAKIHN0YXRpYyBlbnVtIG1pY3JvY29k ZV9tYXRjaF9yZXN1bHQgbWljcm9jb2RlX2ZpdHMoCi0gICAgY29uc3Qgc3RydWN0IG1pY3JvY29k ZV9hbWQgKm1jX2FtZCwgdW5zaWduZWQgaW50IGNwdSkKKyAgICBjb25zdCBzdHJ1Y3QgbWljcm9j b2RlX2FtZCAqbWNfYW1kKQogeworICAgIHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29y X2lkKCk7CiAgICAgY29uc3Qgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZwZXJfY3B1KGNw dV9zaWcsIGNwdSk7CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFkZXJfYW1kICptY19o ZWFkZXIgPSBtY19hbWQtPm1wYjsKICAgICBjb25zdCBzdHJ1Y3QgZXF1aXZfY3B1X2VudHJ5ICpl cXVpdl9jcHVfdGFibGUgPSBtY19hbWQtPmVxdWl2X2NwdV90YWJsZTsKICAgICB1bnNpZ25lZCBp bnQgY3VycmVudF9jcHVfaWQ7CiAgICAgdW5zaWduZWQgaW50IGVxdWl2X2NwdV9pZDsKIAotICAg IC8qIFdlIHNob3VsZCBiaW5kIHRoZSB0YXNrIHRvIHRoZSBDUFUgKi8KLSAgICBCVUdfT04oY3B1 ICE9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOwotCiAgICAgY3VycmVudF9jcHVfaWQgPSBjcHVp ZF9lYXgoMHgwMDAwMDAwMSk7CiAKICAgICBpZiAoICFmaW5kX2VxdWl2X2NwdV9pZChlcXVpdl9j cHVfdGFibGUsIGN1cnJlbnRfY3B1X2lkLCAmZXF1aXZfY3B1X2lkKSApCkBAIC0xOTIsOSArMTkw LDcgQEAgc3RhdGljIGVudW0gbWljcm9jb2RlX21hdGNoX3Jlc3VsdCBtaWNyb2NvZGVfZml0cygK IAogc3RhdGljIGJvb2wgbWF0Y2hfY3B1KGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBh dGNoKQogewotICAgIGlmICggIXBhdGNoICkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJl dHVybiBtaWNyb2NvZGVfZml0cyhwYXRjaC0+bWNfYW1kLCBzbXBfcHJvY2Vzc29yX2lkKCkpID09 IE5FV19VQ09ERTsKKyAgICByZXR1cm4gcGF0Y2ggJiYgKG1pY3JvY29kZV9maXRzKHBhdGNoLT5t Y19hbWQpID09IE5FV19VQ09ERSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNo ICphbGxvY19taWNyb2NvZGVfcGF0Y2goCkBAIC0yNTEsMTggKzI0NywxNiBAQCBzdGF0aWMgZW51 bSBtaWNyb2NvZGVfbWF0Y2hfcmVzdWx0IGNvbXBhcmVfcGF0Y2goCiAgICAgcmV0dXJuIE1JU19V Q09ERTsKIH0KIAotc3RhdGljIGludCBhcHBseV9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSkK K3N0YXRpYyBpbnQgYXBwbHlfbWljcm9jb2RlKHZvaWQpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKICAgICB1aW50MzJfdCByZXY7CiAgICAgaW50IGh3X2VycjsKKyAgICB1bnNpZ25lZCBp bnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpz aWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVf aGVhZGVyX2FtZCAqaGRyOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNo ID0gbWljcm9jb2RlX2dldF9jYWNoZSgpOwogCi0gICAgLyogV2Ugc2hvdWxkIGJpbmQgdGhlIHRh c2sgdG8gdGhlIENQVSAqLwotICAgIEJVR19PTihyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGNw dSk7Ci0KICAgICBpZiAoICFtYXRjaF9jcHUocGF0Y2gpICkKICAgICAgICAgcmV0dXJuIC1FSU5W QUw7CiAKQEAgLTQ1MywxOSArNDQ3LDE2IEBAIHN0YXRpYyBib29sX3QgY2hlY2tfZmluYWxfcGF0 Y2hfbGV2ZWxzKHVuc2lnbmVkIGludCBjcHUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBp bnQgY3B1X3JlcXVlc3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUsIGNvbnN0IHZvaWQgKmJ1 ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBidWZzaXplKQorc3Rh dGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgYnVm c2l6ZSkKIHsKICAgICBzdHJ1Y3QgbWljcm9jb2RlX2FtZCAqbWNfYW1kOwogICAgIHNpemVfdCBv ZmZzZXQgPSAwOwogICAgIGludCBlcnJvciA9IDA7CiAgICAgdW5zaWduZWQgaW50IGN1cnJlbnRf Y3B1X2lkOwogICAgIHVuc2lnbmVkIGludCBlcXVpdl9jcHVfaWQ7CisgICAgdW5zaWduZWQgaW50 IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKICAgICBjb25zdCBzdHJ1Y3QgY3B1X3NpZ25hdHVy ZSAqc2lnID0gJnBlcl9jcHUoY3B1X3NpZywgY3B1KTsKIAotICAgIC8qIFdlIHNob3VsZCBiaW5k IHRoZSB0YXNrIHRvIHRoZSBDUFUgKi8KLSAgICBCVUdfT04oY3B1ICE9IHJhd19zbXBfcHJvY2Vz c29yX2lkKCkpOwotCiAgICAgY3VycmVudF9jcHVfaWQgPSBjcHVpZF9lYXgoMHgwMDAwMDAwMSk7 CiAKICAgICBpZiAoICooY29uc3QgdWludDMyX3QgKilidWYgIT0gVUNPREVfTUFHSUMgKQpAQCAt NTY0LDE0ICs1NTUsMTQgQEAgc3RhdGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUodW5zaWdu ZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAogICAgICAgICB9CiAKICAgICAgICAgLyogVXBk YXRlIGNhY2hlIGlmIHRoaXMgcGF0Y2ggY292ZXJzIGN1cnJlbnQgQ1BVICovCi0gICAgICAgIGlm ICggbWljcm9jb2RlX2ZpdHMobmV3X3BhdGNoLT5tY19hbWQsIGNwdSkgIT0gTUlTX1VDT0RFICkK KyAgICAgICAgaWYgKCBtaWNyb2NvZGVfZml0cyhuZXdfcGF0Y2gtPm1jX2FtZCkgIT0gTUlTX1VD T0RFICkKICAgICAgICAgICAgIG1pY3JvY29kZV91cGRhdGVfY2FjaGUobmV3X3BhdGNoKTsKICAg ICAgICAgZWxzZQogICAgICAgICAgICAgbWljcm9jb2RlX2ZyZWVfcGF0Y2gobmV3X3BhdGNoKTsK IAogICAgICAgICBpZiAoIG1hdGNoX2NwdShtaWNyb2NvZGVfZ2V0X2NhY2hlKCkpICkKICAgICAg ICAgewotICAgICAgICAgICAgZXJyb3IgPSBhcHBseV9taWNyb2NvZGUoY3B1KTsKKyAgICAgICAg ICAgIGVycm9yID0gYXBwbHlfbWljcm9jb2RlKCk7CiAgICAgICAgICAgICBpZiAoIGVycm9yICkK ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L21pY3JvY29kZV9pbnRlbC5jIGIveGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCmlu ZGV4IDkxNDBlYmEuLjg2N2U0ZjIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVf aW50ZWwuYworKysgYi94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMKQEAgLTk2LDEzICs5 NiwxMiBAQCBzdHJ1Y3QgZXh0ZW5kZWRfc2lndGFibGUgewogLyogc2VyaWFsaXplIGFjY2VzcyB0 byB0aGUgcGh5c2ljYWwgd3JpdGUgdG8gTVNSIDB4NzkgKi8KIHN0YXRpYyBERUZJTkVfU1BJTkxP Q0sobWljcm9jb2RlX3VwZGF0ZV9sb2NrKTsKIAotc3RhdGljIGludCBjb2xsZWN0X2NwdV9pbmZv KHVuc2lnbmVkIGludCBjcHVfbnVtLCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKK3N0YXRp YyBpbnQgY29sbGVjdF9jcHVfaW5mbyhzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZykKIHsKKyAg ICB1bnNpZ25lZCBpbnQgY3B1X251bSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKICAgICBzdHJ1Y3Qg Y3B1aW5mb194ODYgKmMgPSAmY3B1X2RhdGFbY3B1X251bV07CiAgICAgdWludDY0X3QgbXNyX2Nv bnRlbnQ7CiAKLSAgICBCVUdfT04oY3B1X251bSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCiAg ICAgbWVtc2V0KGNzaWcsIDAsIHNpemVvZigqY3NpZykpOwogCiAgICAgaWYgKCAoYy0+eDg2X3Zl bmRvciAhPSBYODZfVkVORE9SX0lOVEVMKSB8fCAoYy0+eDg2IDwgNikgKQpAQCAtMjg1LDkgKzI4 NCw5IEBAIHN0YXRpYyBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1bHQgY29tcGFyZV9wYXRjaCgK ICAqIHJldHVybiAxIC0gZm91bmQgdXBkYXRlCiAgKiByZXR1cm4gPCAwIC0gZXJyb3IKICAqLwot c3RhdGljIGludCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0IHZvaWQgKm1jLCB1bnNpZ25l ZCBpbnQgY3B1KQorc3RhdGljIGludCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0IHZvaWQg Km1jKQogewotICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2ln LCBjcHUpOworICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmdGhpc19jcHUoY3B1X3Np Zyk7CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9oZWFkZXJfaW50ZWwgKm1jX2hlYWRlciA9 IG1jOwogICAgIHVuc2lnbmVkIGxvbmcgdG90YWxfc2l6ZSA9IGdldF90b3RhbHNpemUobWNfaGVh ZGVyKTsKICAgICB2b2lkICpuZXdfbWMgPSB4bWFsbG9jX2J5dGVzKHRvdGFsX3NpemUpOwpAQCAt MzE0LDI0ICszMTMsMjEgQEAgc3RhdGljIGludCBnZXRfbWF0Y2hpbmdfbWljcm9jb2RlKGNvbnN0 IHZvaWQgKm1jLCB1bnNpZ25lZCBpbnQgY3B1KQogCiAgICAgcHJfZGVidWcoIm1pY3JvY29kZTog Q1BVJWQgZm91bmQgYSBtYXRjaGluZyBtaWNyb2NvZGUgdXBkYXRlIHdpdGgiCiAgICAgICAgICAg ICAgIiB2ZXJzaW9uICUjeCAoY3VycmVudD0lI3gpXG4iLAotICAgICAgICAgICAgIGNwdSwgbWNf aGVhZGVyLT5yZXYsIHNpZy0+cmV2KTsKKyAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yZF9pZCgp LCBtY19oZWFkZXItPnJldiwgc2lnLT5yZXYpOwogCiAgICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRp YyBpbnQgYXBwbHlfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUpCitzdGF0aWMgaW50IGFwcGx5 X21pY3JvY29kZSh2b2lkKQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgdWludDY0 X3QgbXNyX2NvbnRlbnQ7CiAgICAgdW5zaWduZWQgaW50IHZhbFsyXTsKICAgICB1bnNpZ25lZCBp bnQgY3B1X251bSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7Ci0gICAgc3RydWN0IGNwdV9zaWdu YXR1cmUgKnNpZyA9ICZwZXJfY3B1KGNwdV9zaWcsIGNwdSk7CisgICAgc3RydWN0IGNwdV9zaWdu YXR1cmUgKnNpZyA9ICZ0aGlzX2NwdShjcHVfc2lnKTsKICAgICBjb25zdCBzdHJ1Y3QgbWljcm9j b2RlX2ludGVsICptY19pbnRlbDsKICAgICBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpw YXRjaCA9IG1pY3JvY29kZV9nZXRfY2FjaGUoKTsKIAotICAgIC8qIFdlIHNob3VsZCBiaW5kIHRo ZSB0YXNrIHRvIHRoZSBDUFUgKi8KLSAgICBCVUdfT04oY3B1X251bSAhPSBjcHUpOwotCiAgICAg aWYgKCAhbWF0Y2hfY3B1KHBhdGNoKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCkBAIC0z OTYsMjIgKzM5MiwxOCBAQCBzdGF0aWMgbG9uZyBnZXRfbmV4dF91Y29kZV9mcm9tX2J1ZmZlcih2 b2lkICoqbWMsIGNvbnN0IHU4ICpidWYsCiAgICAgcmV0dXJuIG9mZnNldCArIHRvdGFsX3NpemU7 CiB9CiAKLXN0YXRpYyBpbnQgY3B1X3JlcXVlc3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUs IGNvbnN0IHZvaWQgKmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf dCBzaXplKQorc3RhdGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUoY29uc3Qgdm9pZCAqYnVm LCBzaXplX3Qgc2l6ZSkKIHsKICAgICBsb25nIG9mZnNldCA9IDA7CiAgICAgaW50IGVycm9yID0g MDsKICAgICB2b2lkICptYzsKIAotICAgIC8qIFdlIHNob3VsZCBiaW5kIHRoZSB0YXNrIHRvIHRo ZSBDUFUgKi8KLSAgICBCVUdfT04oY3B1ICE9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOwotCiAg ICAgd2hpbGUgKCAob2Zmc2V0ID0gZ2V0X25leHRfdWNvZGVfZnJvbV9idWZmZXIoJm1jLCBidWYs IHNpemUsIG9mZnNldCkpID4gMCApCiAgICAgewogICAgICAgICBlcnJvciA9IG1pY3JvY29kZV9z YW5pdHlfY2hlY2sobWMpOwogICAgICAgICBpZiAoIGVycm9yICkKICAgICAgICAgICAgIGJyZWFr OwotICAgICAgICBlcnJvciA9IGdldF9tYXRjaGluZ19taWNyb2NvZGUobWMsIGNwdSk7CisgICAg ICAgIGVycm9yID0gZ2V0X21hdGNoaW5nX21pY3JvY29kZShtYyk7CiAgICAgICAgIGlmICggZXJy b3IgPCAwICkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAvKgpAQCAtNDI5LDcgKzQyMSw3 IEBAIHN0YXRpYyBpbnQgY3B1X3JlcXVlc3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUsIGNv bnN0IHZvaWQgKmJ1ZiwKICAgICAgICAgZXJyb3IgPSBvZmZzZXQ7CiAKICAgICBpZiAoICFlcnJv ciAmJiBtYXRjaF9jcHUobWljcm9jb2RlX2dldF9jYWNoZSgpKSApCi0gICAgICAgIGVycm9yID0g YXBwbHlfbWljcm9jb2RlKGNwdSk7CisgICAgICAgIGVycm9yID0gYXBwbHlfbWljcm9jb2RlKCk7 CiAKICAgICByZXR1cm4gZXJyb3I7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9v dC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCA2NWU5Y2VlLi5jODE4Y2ZjIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zbXBib290 LmMKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIHN0YXJ0X3NlY29uZGFyeSh2b2lkICp1bnVzZWQp CiAgICAgaWYgKCBzeXN0ZW1fc3RhdGUgPD0gU1lTX1NUQVRFX3NtcF9ib290ICkKICAgICAgICAg ZWFybHlfbWljcm9jb2RlX3VwZGF0ZV9jcHUoZmFsc2UpOwogICAgIGVsc2UKLSAgICAgICAgbWlj cm9jb2RlX3Jlc3VtZV9jcHUoY3B1KTsKKyAgICAgICAgbWljcm9jb2RlX3Jlc3VtZV9jcHUoKTsK IAogICAgIC8qCiAgICAgICogSWYgTVNSX1NQRUNfQ1RSTCBpcyBhdmFpbGFibGUsIGFwcGx5IFhl bidzIGRlZmF1bHQgc2V0dGluZyBhbmQgZGlzY2FyZApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9taWNyb2NvZGUuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbWljcm9jb2RlLmgKaW5k ZXggNWI4Mjg5Zi4uMzUyMjNlYiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNy b2NvZGUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21pY3JvY29kZS5oCkBAIC0yMCwxMCAr MjAsOSBAQCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoIHsKIH07CiAKIHN0cnVjdCBtaWNyb2NvZGVf b3BzIHsKLSAgICBpbnQgKCpjcHVfcmVxdWVzdF9taWNyb2NvZGUpKHVuc2lnbmVkIGludCBjcHUs IGNvbnN0IHZvaWQgKmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf dCBzaXplKTsKLSAgICBpbnQgKCpjb2xsZWN0X2NwdV9pbmZvKSh1bnNpZ25lZCBpbnQgY3B1LCBz dHJ1Y3QgY3B1X3NpZ25hdHVyZSAqY3NpZyk7Ci0gICAgaW50ICgqYXBwbHlfbWljcm9jb2RlKSh1 bnNpZ25lZCBpbnQgY3B1KTsKKyAgICBpbnQgKCpjcHVfcmVxdWVzdF9taWNyb2NvZGUpKGNvbnN0 IHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpOworICAgIGludCAoKmNvbGxlY3RfY3B1X2luZm8pKHN0 cnVjdCBjcHVfc2lnbmF0dXJlICpjc2lnKTsKKyAgICBpbnQgKCphcHBseV9taWNyb2NvZGUpKHZv aWQpOwogICAgIGludCAoKnN0YXJ0X3VwZGF0ZSkodm9pZCk7CiAgICAgdm9pZCAoKmZyZWVfcGF0 Y2gpKHZvaWQgKm1jKTsKICAgICBib29sICgqbWF0Y2hfY3B1KShjb25zdCBzdHJ1Y3QgbWljcm9j b2RlX3BhdGNoICpwYXRjaCk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nl c3Nvci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAppbmRleCAyODYyMzIxLi4x MDRmYWE5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTU2OCw3ICs1NjgsNyBAQCBpbnQg Z3Vlc3Rfd3Jtc3JfeGVuKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBpZHgsIHVpbnQ2NF90IHZh bCk7CiAKIHZvaWQgbWljcm9jb2RlX3NldF9tb2R1bGUodW5zaWduZWQgaW50KTsKIGludCBtaWNy b2NvZGVfdXBkYXRlKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oY29uc3Rfdm9pZCksIHVuc2lnbmVk IGxvbmcgbGVuKTsKLWludCBtaWNyb2NvZGVfcmVzdW1lX2NwdSh1bnNpZ25lZCBpbnQgY3B1KTsK K2ludCBtaWNyb2NvZGVfcmVzdW1lX2NwdSh2b2lkKTsKIGludCBlYXJseV9taWNyb2NvZGVfdXBk YXRlX2NwdShib29sIHN0YXJ0X3VwZGF0ZSk7CiBpbnQgZWFybHlfbWljcm9jb2RlX2luaXQodm9p ZCk7CiBpbnQgbWljcm9jb2RlX2luaXRfaW50ZWwodm9pZCk7Ci0tIAoxLjguMy4xCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==