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 71DB5C07542 for ; Mon, 27 May 2019 08:27:52 +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 4799121734 for ; Mon, 27 May 2019 08:27:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4799121734 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 1hVAym-0004CC-By; Mon, 27 May 2019 08:27:36 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVAyk-0004Be-QO for xen-devel@lists.xenproject.org; Mon, 27 May 2019 08:27:34 +0000 X-Inumbo-ID: 4626625c-8059-11e9-8980-bc764e045a96 Received: from mga12.intel.com (unknown [192.55.52.136]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 4626625c-8059-11e9-8980-bc764e045a96; Mon, 27 May 2019 08:27:32 +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:32 -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:30 -0700 From: Chao Gao To: xen-devel@lists.xenproject.org Date: Mon, 27 May 2019 16:31:25 +0800 Message-Id: <1558945891-3015-5-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> Subject: [Xen-devel] [PATCH v7 04/10] microcode: remove struct ucode_cpu_info 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?= 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" Message-ID: <20190527083125.lITO7KgPmzHzttE-DDeEhdCZkB0bhPBKhC_bip_NA0w@z> V2UgY2FuIHJlbW92ZSB0aGUgcGVyLWNwdSBjYWNoZSBmaWVsZCBpbiBzdHJ1Y3QgdWNvZGVfY3B1 X2luZm8gc2luY2UKaXQgaGFzIGJlZW4gcmVwbGFjZWQgYnkgYSBnbG9iYWwgY2FjaGUuIEl0IHdv dWxkIGxlYWRzIHRvIG9ubHkgb25lIGZpZWxkCnJlbWFpbmluZyBpbiB1Y29kZV9jcHVfaW5mby4g VGhlbiwgdGhpcyBzdHJ1Y3QgaXMgcmVtb3ZlZCBhbmQgdGhlCnJlbWFpbmluZyBmaWVsZCAoY3B1 IHNpZ25hdHVyZSkgaXMgc3RvcmVkIGluIHBlci1jcHUgYXJlYS4KCkFsc28gcmVtb3ZlICdtaWNy b2NvZGVfcmVzdW1lX21hdGNoJyBmcm9tIG1pY3JvY29kZV9vcHMgYmVjYXVzZSB0aGUKY2hlY2sg aXMgZG9uZSBpbiBmaW5kX3BhdGNoKCkuIFRoZSBjcHUgc3RhdHVzIG5vdGlmaWVyIGlzIGFsc28K cmVtb3ZlZC4gSXQgd2FzIHVzZWQgdG8gZnJlZSB0aGUgIm1jIiBmaWVsZCB0byBhdm9pZCBtZW1v cnkgbGVhay4KClNpZ25lZC1vZmYtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0t LQpDaGFuZ2VzIGluIHY2OgogLSByZW1vdmUgdGhlIHdob2xlIHN0cnVjdCB1Y29kZV9jcHVfaW5m byBpbnN0ZWFkIG9mIHRoZSBwZXItY3B1IGNhY2hlCiBpbiBpdC4KLS0tCiB4ZW4vYXJjaC94ODYv YXBpYy5jICAgICAgICAgICAgIHwgICAyICstCiB4ZW4vYXJjaC94ODYvbWljcm9jb2RlLmMgICAg ICAgIHwgIDkxICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gv eDg2L21pY3JvY29kZV9hbWQuYyAgICB8IDEwMCArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMgIHwgIDMzICsrKyst LS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyAgICAgICAgfCAgIDIgKy0KIHhlbi9p bmNsdWRlL2FzbS14ODYvbWljcm9jb2RlLmggfCAgMTMgKy0tLS0tCiA2IGZpbGVzIGNoYW5nZWQs IDMwIGluc2VydGlvbnMoKyksIDIxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvYXBpYy5jIGIveGVuL2FyY2gveDg2L2FwaWMuYwppbmRleCBmYWZjMGJkLi5kMjE2NDU1 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hcGlj LmMKQEAgLTExODgsNyArMTE4OCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBjaGVja19kZWFkbGlu ZV9lcnJhdGEodm9pZCkKICAgICBlbHNlCiAgICAgICAgIHJldiA9ICh1bnNpZ25lZCBsb25nKW0t PmRyaXZlcl9kYXRhOwogCi0gICAgaWYgKCB0aGlzX2NwdSh1Y29kZV9jcHVfaW5mbykuY3B1X3Np Zy5yZXYgPj0gcmV2ICkKKyAgICBpZiAoIHRoaXNfY3B1KGNwdV9zaWcpLnJldiA+PSByZXYgKQog ICAgICAgICByZXR1cm47CiAKICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RT Q19ERUFETElORSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbWljcm9jb2RlLmMgYi94ZW4v YXJjaC94ODYvbWljcm9jb2RlLmMKaW5kZXggY2ZmODZhOS4uMGMwMWRmYSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L21pY3JvY29kZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGUuYwpA QCAtMTg3LDcgKzE4Nyw3IEBAIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfb3BzICptaWNyb2NvZGVf b3BzOwogCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1pY3JvY29kZV9tdXRleCk7CiAKLURFRklO RV9QRVJfQ1BVKHN0cnVjdCB1Y29kZV9jcHVfaW5mbywgdWNvZGVfY3B1X2luZm8pOworREVGSU5F X1BFUl9DUFUoc3RydWN0IGNwdV9zaWduYXR1cmUsIGNwdV9zaWcpOwogCiBzdHJ1Y3QgbWljcm9j b2RlX2luZm8gewogICAgIHVuc2lnbmVkIGludCBjcHU7CkBAIC0xOTYsNzAgKzE5NiwxOSBAQCBz dHJ1Y3QgbWljcm9jb2RlX2luZm8gewogICAgIGNoYXIgYnVmZmVyWzFdOwogfTsKIAotc3RhdGlj IHZvaWQgX19taWNyb2NvZGVfZmluaV9jcHUodW5zaWduZWQgaW50IGNwdSkKLXsKLSAgICBzdHJ1 Y3QgdWNvZGVfY3B1X2luZm8gKnVjaSA9ICZwZXJfY3B1KHVjb2RlX2NwdV9pbmZvLCBjcHUpOwot Ci0gICAgeGZyZWUodWNpLT5tYy5tY192YWxpZCk7Ci0gICAgbWVtc2V0KHVjaSwgMCwgc2l6ZW9m KCp1Y2kpKTsKLX0KLQotc3RhdGljIHZvaWQgbWljcm9jb2RlX2ZpbmlfY3B1KHVuc2lnbmVkIGlu dCBjcHUpCi17Ci0gICAgc3Bpbl9sb2NrKCZtaWNyb2NvZGVfbXV0ZXgpOwotICAgIF9fbWljcm9j b2RlX2ZpbmlfY3B1KGNwdSk7Ci0gICAgc3Bpbl91bmxvY2soJm1pY3JvY29kZV9tdXRleCk7Ci19 Ci0KIGludCBtaWNyb2NvZGVfcmVzdW1lX2NwdSh1bnNpZ25lZCBpbnQgY3B1KQogewogICAgIGlu dCBlcnI7Ci0gICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9j cHVfaW5mbywgY3B1KTsKLSAgICBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSBuc2lnOwotICAgIHVuc2ln bmVkIGludCBjcHUyOworICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShj cHVfc2lnLCBjcHUpOwogCiAgICAgaWYgKCAhbWljcm9jb2RlX29wcyApCiAgICAgICAgIHJldHVy biAwOwogCiAgICAgc3Bpbl9sb2NrKCZtaWNyb2NvZGVfbXV0ZXgpOwogCi0gICAgZXJyID0gbWlj cm9jb2RlX29wcy0+Y29sbGVjdF9jcHVfaW5mbyhjcHUsICZ1Y2ktPmNwdV9zaWcpOwotICAgIGlm ICggZXJyICkKLSAgICB7Ci0gICAgICAgIF9fbWljcm9jb2RlX2ZpbmlfY3B1KGNwdSk7Ci0gICAg ICAgIHNwaW5fdW5sb2NrKCZtaWNyb2NvZGVfbXV0ZXgpOwotICAgICAgICByZXR1cm4gZXJyOwot ICAgIH0KLQotICAgIGlmICggdWNpLT5tYy5tY192YWxpZCApCi0gICAgewotICAgICAgICBlcnIg PSBtaWNyb2NvZGVfb3BzLT5taWNyb2NvZGVfcmVzdW1lX21hdGNoKGNwdSwgdWNpLT5tYy5tY192 YWxpZCk7Ci0gICAgICAgIGlmICggZXJyID49IDAgKQotICAgICAgICB7Ci0gICAgICAgICAgICBp ZiAoIGVyciApCi0gICAgICAgICAgICAgICAgZXJyID0gbWljcm9jb2RlX29wcy0+YXBwbHlfbWlj cm9jb2RlKGNwdSk7Ci0gICAgICAgICAgICBzcGluX3VubG9jaygmbWljcm9jb2RlX211dGV4KTsK LSAgICAgICAgICAgIHJldHVybiBlcnI7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBuc2lnID0g dWNpLT5jcHVfc2lnOwotICAgIF9fbWljcm9jb2RlX2ZpbmlfY3B1KGNwdSk7Ci0gICAgdWNpLT5j cHVfc2lnID0gbnNpZzsKLQotICAgIGVyciA9IC1FSU87Ci0gICAgZm9yX2VhY2hfb25saW5lX2Nw dSAoIGNwdTIgKQotICAgIHsKLSAgICAgICAgdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8s IGNwdTIpOwotICAgICAgICBpZiAoIHVjaS0+bWMubWNfdmFsaWQgJiYKLSAgICAgICAgICAgICBt aWNyb2NvZGVfb3BzLT5taWNyb2NvZGVfcmVzdW1lX21hdGNoKGNwdSwgdWNpLT5tYy5tY192YWxp ZCkgPiAwICkKLSAgICAgICAgewotICAgICAgICAgICAgZXJyID0gbWljcm9jb2RlX29wcy0+YXBw bHlfbWljcm9jb2RlKGNwdSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0K LQotICAgIF9fbWljcm9jb2RlX2ZpbmlfY3B1KGNwdSk7CisgICAgZXJyID0gbWljcm9jb2RlX29w cy0+Y29sbGVjdF9jcHVfaW5mbyhjcHUsIHNpZyk7CisgICAgaWYgKCBsaWtlbHkoIWVycikgKQor ICAgICAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5hcHBseV9taWNyb2NvZGUoY3B1KTsKICAgICBz cGluX3VubG9jaygmbWljcm9jb2RlX211dGV4KTsKIAogICAgIHJldHVybiBlcnI7CkBAIC0zMDIs MTYgKzI1MSwxMyBAQCBzdGF0aWMgaW50IG1pY3JvY29kZV91cGRhdGVfY3B1KGNvbnN0IHZvaWQg KmJ1Ziwgc2l6ZV90IHNpemUpCiB7CiAgICAgaW50IGVycjsKICAgICB1bnNpZ25lZCBpbnQgY3B1 ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0g JnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNwdSk7CisgICAgc3RydWN0IGNwdV9zaWduYXR1cmUg KnNpZyA9ICZwZXJfY3B1KGNwdV9zaWcsIGNwdSk7CiAKICAgICBzcGluX2xvY2soJm1pY3JvY29k ZV9tdXRleCk7CiAKLSAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2NwdV9pbmZvKGNw dSwgJnVjaS0+Y3B1X3NpZyk7CisgICAgZXJyID0gbWljcm9jb2RlX29wcy0+Y29sbGVjdF9jcHVf aW5mbyhjcHUsIHNpZyk7CiAgICAgaWYgKCBsaWtlbHkoIWVycikgKQogICAgICAgICBlcnIgPSBt aWNyb2NvZGVfb3BzLT5jcHVfcmVxdWVzdF9taWNyb2NvZGUoY3B1LCBidWYsIHNpemUpOwotICAg IGVsc2UKLSAgICAgICAgX19taWNyb2NvZGVfZmluaV9jcHUoY3B1KTsKLQogICAgIHNwaW5fdW5s b2NrKCZtaWNyb2NvZGVfbXV0ZXgpOwogCiAgICAgcmV0dXJuIGVycjsKQEAgLTM5OCwyNSArMzQ0 LDYgQEAgc3RhdGljIGludCBfX2luaXQgbWljcm9jb2RlX2luaXQodm9pZCkKIH0KIF9faW5pdGNh bGwobWljcm9jb2RlX2luaXQpOwogCi1zdGF0aWMgaW50IG1pY3JvY29kZV9wZXJjcHVfY2FsbGJh Y2soCi0gICAgc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuZmIsIHVuc2lnbmVkIGxvbmcgYWN0aW9u LCB2b2lkICpoY3B1KQotewotICAgIHVuc2lnbmVkIGludCBjcHUgPSAodW5zaWduZWQgbG9uZylo Y3B1OwotCi0gICAgc3dpdGNoICggYWN0aW9uICkKLSAgICB7Ci0gICAgY2FzZSBDUFVfREVBRDoK LSAgICAgICAgbWljcm9jb2RlX2ZpbmlfY3B1KGNwdSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0K LQotICAgIHJldHVybiBOT1RJRllfRE9ORTsKLX0KLQotc3RhdGljIHN0cnVjdCBub3RpZmllcl9i bG9jayBtaWNyb2NvZGVfcGVyY3B1X25mYiA9IHsKLSAgICAubm90aWZpZXJfY2FsbCA9IG1pY3Jv Y29kZV9wZXJjcHVfY2FsbGJhY2ssCi19OwotCiBpbnQgX19pbml0IGVhcmx5X21pY3JvY29kZV91 cGRhdGVfY3B1KGJvb2wgc3RhcnRfdXBkYXRlKQogewogICAgIGludCByYyA9IDA7CkBAIC00NjAs MTIgKzM4Nyw4IEBAIGludCBfX2luaXQgZWFybHlfbWljcm9jb2RlX2luaXQodm9pZCkKICAgICAg ICAgcmV0dXJuIHJjOwogCiAgICAgaWYgKCBtaWNyb2NvZGVfb3BzICkKLSAgICB7CiAgICAgICAg IGlmICggdWNvZGVfbW9kLm1vZF9lbmQgfHwgdWNvZGVfYmxvYi5zaXplICkKICAgICAgICAgICAg IHJjID0gZWFybHlfbWljcm9jb2RlX3VwZGF0ZV9jcHUodHJ1ZSk7CiAKLSAgICAgICAgcmVnaXN0 ZXJfY3B1X25vdGlmaWVyKCZtaWNyb2NvZGVfcGVyY3B1X25mYik7Ci0gICAgfQotCiAgICAgcmV0 dXJuIHJjOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9hbWQuYyBiL3hl bi9hcmNoL3g4Ni9taWNyb2NvZGVfYW1kLmMKaW5kZXggMWYwNTg5OS4uOTNhZjJjOSAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9hbWQuYworKysgYi94ZW4vYXJjaC94ODYvbWlj cm9jb2RlX2FtZC5jCkBAIC0xNTUsNyArMTU1LDcgQEAgc3RhdGljIGJvb2xfdCBmaW5kX2VxdWl2 X2NwdV9pZChjb25zdCBzdHJ1Y3QgZXF1aXZfY3B1X2VudHJ5ICplcXVpdl9jcHVfdGFibGUsCiBz dGF0aWMgYm9vbF90IG1pY3JvY29kZV9maXRzKGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfYW1kICpt Y19hbWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjcHUpCiB7 Ci0gICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5m bywgY3B1KTsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnBlcl9jcHUo Y3B1X3NpZywgY3B1KTsKICAgICBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX2hlYWRlcl9hbWQgKm1j X2hlYWRlciA9IG1jX2FtZC0+bXBiOwogICAgIGNvbnN0IHN0cnVjdCBlcXVpdl9jcHVfZW50cnkg KmVxdWl2X2NwdV90YWJsZSA9IG1jX2FtZC0+ZXF1aXZfY3B1X3RhYmxlOwogICAgIHVuc2lnbmVk IGludCBjdXJyZW50X2NwdV9pZDsKQEAgLTE3OCwxNCArMTc4LDE0IEBAIHN0YXRpYyBib29sX3Qg bWljcm9jb2RlX2ZpdHMoY29uc3Qgc3RydWN0IG1pY3JvY29kZV9hbWQgKm1jX2FtZCwKICAgICAg ICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYgKCBtY19oZWFkZXItPnBhdGNoX2lkIDw9IHVj aS0+Y3B1X3NpZy5yZXYgKQorICAgIGlmICggbWNfaGVhZGVyLT5wYXRjaF9pZCA8PSBzaWctPnJl diApCiAgICAgewogICAgICAgICBwcl9kZWJ1ZygibWljcm9jb2RlOiBwYXRjaCBpcyBhbHJlYWR5 IGF0IHJlcXVpcmVkIGxldmVsIG9yIGdyZWF0ZXIuXG4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAg ICAgfQogCiAgICAgcHJfZGVidWcoIm1pY3JvY29kZTogQ1BVJWQgZm91bmQgYSBtYXRjaGluZyBt aWNyb2NvZGUgdXBkYXRlIHdpdGggdmVyc2lvbiAlI3ggKGN1cnJlbnQ9JSN4KVxuIiwKLSAgICAg ICAgICAgICBjcHUsIG1jX2hlYWRlci0+cGF0Y2hfaWQsIHVjaS0+Y3B1X3NpZy5yZXYpOworICAg ICAgICAgICAgIGNwdSwgbWNfaGVhZGVyLT5wYXRjaF9pZCwgc2lnLT5yZXYpOwogCiAgICAgcmV0 dXJuIDE7CiB9CkBAIC0yNTYsOSArMjU2LDkgQEAgc3RhdGljIGVudW0gbWljcm9jb2RlX21hdGNo X3Jlc3VsdCBjb21wYXJlX3BhdGNoKAogc3RhdGljIGludCBhcHBseV9taWNyb2NvZGUodW5zaWdu ZWQgaW50IGNwdSkKIHsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwotICAgIHN0cnVjdCB1Y29k ZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNwdSk7CiAgICAgdWlu dDMyX3QgcmV2OwogICAgIGludCBod19lcnI7CisgICAgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNp ZyA9ICZwZXJfY3B1KGNwdV9zaWcsIGNwdSk7CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9o ZWFkZXJfYW1kICpoZHI7CiAgICAgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqcGF0Y2gg PSBtaWNyb2NvZGVfZ2V0X2NhY2hlKCk7CiAKQEAgLTI5NCw5ICsyOTQsOSBAQCBzdGF0aWMgaW50 IGFwcGx5X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIH0KIAogICAgIHByaW50ayhL RVJOX1dBUk5JTkcgIm1pY3JvY29kZTogQ1BVJWQgdXBkYXRlZCBmcm9tIHJldmlzaW9uICUjeCB0 byAlI3hcbiIsCi0gICAgICAgICAgIGNwdSwgdWNpLT5jcHVfc2lnLnJldiwgaGRyLT5wYXRjaF9p ZCk7CisgICAgICAgICAgIGNwdSwgc2lnLT5yZXYsIGhkci0+cGF0Y2hfaWQpOwogCi0gICAgdWNp LT5jcHVfc2lnLnJldiA9IHJldjsKKyAgICBzaWctPnJldiA9IHJldjsKIAogICAgIHJldHVybiAw OwogfQpAQCAtNDQyLDE0ICs0NDIsMTQgQEAgc3RhdGljIGJvb2xfdCBjaGVja19maW5hbF9wYXRj aF9sZXZlbHModW5zaWduZWQgaW50IGNwdSkKICAgICAgKiBhbnkgb2YgdGhlICdmaW5hbF9sZXZl bHMnLCB0aGVuIHdlIHNob3VsZCBub3QgdXBkYXRlIHRoZSBtaWNyb2NvZGUKICAgICAgKiBwYXRj aCBvbiB0aGUgY3B1IGFzIHN5c3RlbSB3aWxsIGhhbmcgb3RoZXJ3aXNlLgogICAgICAqLwotICAg IHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNw dSk7CisgICAgY29uc3Qgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZwZXJfY3B1KGNwdV9z aWcsIGNwdSk7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKICAgICBpZiAoIGJvb3RfY3B1X2RhdGEu eDg2ICE9IDB4MTAgKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwg QVJSQVlfU0laRShmaW5hbF9sZXZlbHMpOyBpKysgKQotICAgICAgICBpZiAoIHVjaS0+Y3B1X3Np Zy5yZXYgPT0gZmluYWxfbGV2ZWxzW2ldICkKKyAgICAgICAgaWYgKCBzaWctPnJldiA9PSBmaW5h bF9sZXZlbHNbaV0gKQogICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICByZXR1cm4gMDsKQEAg LTQ1OCwxMyArNDU4LDEyIEBAIHN0YXRpYyBib29sX3QgY2hlY2tfZmluYWxfcGF0Y2hfbGV2ZWxz KHVuc2lnbmVkIGludCBjcHUpCiBzdGF0aWMgaW50IGNwdV9yZXF1ZXN0X21pY3JvY29kZSh1bnNp Z25lZCBpbnQgY3B1LCBjb25zdCB2b2lkICpidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzaXplX3QgYnVmc2l6ZSkKIHsKLSAgICBzdHJ1Y3QgbWljcm9jb2RlX2FtZCAqbWNf YW1kLCAqbWNfb2xkOworICAgIHN0cnVjdCBtaWNyb2NvZGVfYW1kICptY19hbWQ7CiAgICAgc2l6 ZV90IG9mZnNldCA9IDA7Ci0gICAgc2l6ZV90IGxhc3Rfb2Zmc2V0LCBhcHBsaWVkX29mZnNldCA9 IDA7Ci0gICAgaW50IGVycm9yID0gMCwgc2F2ZV9lcnJvciA9IDE7Ci0gICAgc3RydWN0IHVjb2Rl X2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1KTsKKyAgICBpbnQg ZXJyb3IgPSAwOwogICAgIHVuc2lnbmVkIGludCBjdXJyZW50X2NwdV9pZDsKICAgICB1bnNpZ25l ZCBpbnQgZXF1aXZfY3B1X2lkOworICAgIGNvbnN0IHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcg PSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogCiAgICAgLyogV2Ugc2hvdWxkIGJpbmQgdGhlIHRh c2sgdG8gdGhlIENQVSAqLwogICAgIEJVR19PTihjcHUgIT0gcmF3X3NtcF9wcm9jZXNzb3JfaWQo KSk7CkBAIC01MzMsNyArNTMyLDcgQEAgc3RhdGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUo dW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAogICAgICAgICB7CiAgICAgICAgICAg ICBwcmludGsoS0VSTl9FUlIgIm1pY3JvY29kZTogQ1BVJWQgaW5jb3JyZWN0IG9yIGNvcnJ1cHQg Y29udGFpbmVyIGZpbGVcbiIKICAgICAgICAgICAgICAgICAgICAibWljcm9jb2RlOiBGYWlsZWQg dG8gdXBkYXRlIHBhdGNoIGxldmVsLiAiCi0gICAgICAgICAgICAgICAgICAgIkN1cnJlbnQgbHZs OiUjeFxuIiwgY3B1LCB1Y2ktPmNwdV9zaWcucmV2KTsKKyAgICAgICAgICAgICAgICAgICAiQ3Vy cmVudCBsdmw6JSN4XG4iLCBjcHUsIHNpZy0+cmV2KTsKICAgICAgICAgICAgIGJyZWFrOwogICAg ICAgICB9CiAgICAgfQpAQCAtNTQ0LDE3ICs1NDMsMTIgQEAgc3RhdGljIGludCBjcHVfcmVxdWVz dF9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAogICAgICAgICBn b3RvIG91dDsKICAgICB9CiAKLSAgICBtY19vbGQgPSB1Y2ktPm1jLm1jX2FtZDsKLSAgICAvKiBp bXBsaWNpdGVseSB2YWxpZGF0ZXMgdWNpLT5tYy5tY192YWxpZCAqLwotICAgIHVjaS0+bWMubWNf YW1kID0gbWNfYW1kOwotCiAgICAgLyoKICAgICAgKiBJdCdzIHBvc3NpYmxlIHRoZSBkYXRhIGZp bGUgaGFzIG11bHRpcGxlIG1hdGNoaW5nIHVjb2RlLAogICAgICAqIGxldHMga2VlcCBzZWFyY2hp bmcgdGlsbCB0aGUgbGF0ZXN0IHZlcnNpb24KICAgICAgKi8KICAgICBtY19hbWQtPm1wYiA9IE5V TEw7CiAgICAgbWNfYW1kLT5tcGJfc2l6ZSA9IDA7Ci0gICAgbGFzdF9vZmZzZXQgPSBvZmZzZXQ7 CiAgICAgd2hpbGUgKCAoZXJyb3IgPSBnZXRfdWNvZGVfZnJvbV9idWZmZXJfYW1kKG1jX2FtZCwg YnVmLCBidWZzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmb2Zmc2V0KSkgPT0gMCApCiAgICAgewpAQCAtNTc2LDExICs1NzAsOCBAQCBzdGF0aWMg aW50IGNwdV9yZXF1ZXN0X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1LCBjb25zdCB2b2lkICpi dWYsCiAgICAgICAgICAgICBlcnJvciA9IGFwcGx5X21pY3JvY29kZShjcHUpOwogICAgICAgICAg ICAgaWYgKCBlcnJvciApCiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBhcHBs aWVkX29mZnNldCA9IGxhc3Rfb2Zmc2V0OwogICAgICAgICB9CiAKLSAgICAgICAgbGFzdF9vZmZz ZXQgPSBvZmZzZXQ7Ci0KICAgICAgICAgaWYgKCBvZmZzZXQgPj0gYnVmc2l6ZSApCiAgICAgICAg ICAgICBicmVhazsKIApAQCAtNjA5LDI2ICs2MDAsNiBAQCBzdGF0aWMgaW50IGNwdV9yZXF1ZXN0 X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1LCBjb25zdCB2b2lkICpidWYsCiAgICAgICAgICAg ICBicmVhazsKICAgICB9CiAKLSAgICAvKiBPbiBzdWNjZXNzIGtlZXAgdGhlIG1pY3JvY29kZSBw YXRjaCBmb3IKLSAgICAgKiByZS1hcHBseSBvbiByZXN1bWUuCi0gICAgICovCi0gICAgaWYgKCBh cHBsaWVkX29mZnNldCApCi0gICAgewotICAgICAgICBzYXZlX2Vycm9yID0gZ2V0X3Vjb2RlX2Zy b21fYnVmZmVyX2FtZCgKLSAgICAgICAgICAgIG1jX2FtZCwgYnVmLCBidWZzaXplLCAmYXBwbGll ZF9vZmZzZXQpOwotCi0gICAgICAgIGlmICggc2F2ZV9lcnJvciApCi0gICAgICAgICAgICBlcnJv ciA9IHNhdmVfZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKCBzYXZlX2Vycm9yICkKLSAgICB7Ci0g ICAgICAgIHhmcmVlKG1jX2FtZCk7Ci0gICAgICAgIHVjaS0+bWMubWNfYW1kID0gbWNfb2xkOwot ICAgIH0KLSAgICBlbHNlCi0gICAgICAgIHhmcmVlKG1jX29sZCk7Ci0KICAgb3V0OgogI2lmIENP TkZJR19IVk0KICAgICBzdm1faG9zdF9vc3Z3X2luaXQoKTsKQEAgLTY0Myw1MiArNjE0LDYgQEAg c3RhdGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSwgY29uc3Qg dm9pZCAqYnVmLAogICAgIHJldHVybiBlcnJvcjsKIH0KIAotc3RhdGljIGludCBtaWNyb2NvZGVf cmVzdW1lX21hdGNoKHVuc2lnbmVkIGludCBjcHUsIGNvbnN0IHZvaWQgKm1jKQotewotICAgIHN0 cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNwdSk7 Ci0gICAgc3RydWN0IG1pY3JvY29kZV9hbWQgKm1jX2FtZCA9IHVjaS0+bWMubWNfYW1kOwotICAg IGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfYW1kICpzcmMgPSBtYzsKLQotICAgIGlmICggIW1pY3Jv Y29kZV9maXRzKHNyYywgY3B1KSApCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaWYgKCBzcmMg IT0gbWNfYW1kICkKLSAgICB7Ci0gICAgICAgIGlmICggbWNfYW1kICkKLSAgICAgICAgewotICAg ICAgICAgICAgeGZyZWUobWNfYW1kLT5lcXVpdl9jcHVfdGFibGUpOwotICAgICAgICAgICAgeGZy ZWUobWNfYW1kLT5tcGIpOwotICAgICAgICAgICAgeGZyZWUobWNfYW1kKTsKLSAgICAgICAgfQot Ci0gICAgICAgIG1jX2FtZCA9IHhtYWxsb2Moc3RydWN0IG1pY3JvY29kZV9hbWQpOwotICAgICAg ICB1Y2ktPm1jLm1jX2FtZCA9IG1jX2FtZDsKLSAgICAgICAgaWYgKCAhbWNfYW1kICkKLSAgICAg ICAgICAgIHJldHVybiAtRU5PTUVNOwotICAgICAgICBtY19hbWQtPmVxdWl2X2NwdV90YWJsZSA9 IHhtYWxsb2NfYnl0ZXMoc3JjLT5lcXVpdl9jcHVfdGFibGVfc2l6ZSk7Ci0gICAgICAgIGlmICgg IW1jX2FtZC0+ZXF1aXZfY3B1X3RhYmxlICkKLSAgICAgICAgICAgIGdvdG8gZXJyMTsKLSAgICAg ICAgbWNfYW1kLT5tcGIgPSB4bWFsbG9jX2J5dGVzKHNyYy0+bXBiX3NpemUpOwotICAgICAgICBp ZiAoICFtY19hbWQtPm1wYiApCi0gICAgICAgICAgICBnb3RvIGVycjI7Ci0KLSAgICAgICAgbWNf YW1kLT5lcXVpdl9jcHVfdGFibGVfc2l6ZSA9IHNyYy0+ZXF1aXZfY3B1X3RhYmxlX3NpemU7Ci0g ICAgICAgIG1jX2FtZC0+bXBiX3NpemUgPSBzcmMtPm1wYl9zaXplOwotICAgICAgICBtZW1jcHko bWNfYW1kLT5tcGIsIHNyYy0+bXBiLCBzcmMtPm1wYl9zaXplKTsKLSAgICAgICAgbWVtY3B5KG1j X2FtZC0+ZXF1aXZfY3B1X3RhYmxlLCBzcmMtPmVxdWl2X2NwdV90YWJsZSwKLSAgICAgICAgICAg ICAgIHNyYy0+ZXF1aXZfY3B1X3RhYmxlX3NpemUpOwotICAgIH0KLQotICAgIHJldHVybiAxOwot Ci1lcnIyOgotICAgIHhmcmVlKG1jX2FtZC0+ZXF1aXZfY3B1X3RhYmxlKTsKLWVycjE6Ci0gICAg eGZyZWUobWNfYW1kKTsKLSAgICB1Y2ktPm1jLm1jX2FtZCA9IE5VTEw7Ci0gICAgcmV0dXJuIC1F Tk9NRU07Ci19Ci0KIHN0YXRpYyBpbnQgc3RhcnRfdXBkYXRlKHZvaWQpCiB7CiAjaWYgQ09ORklH X0hWTQpAQCAtNzA4LDcgKzYzMyw2IEBAIHN0YXRpYyBpbnQgc3RhcnRfdXBkYXRlKHZvaWQpCiB9 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX29wcyBtaWNyb2NvZGVfYW1kX29wcyA9 IHsKLSAgICAubWljcm9jb2RlX3Jlc3VtZV9tYXRjaCAgICAgICAgICAgPSBtaWNyb2NvZGVfcmVz dW1lX21hdGNoLAogICAgIC5jcHVfcmVxdWVzdF9taWNyb2NvZGUgICAgICAgICAgICA9IGNwdV9y ZXF1ZXN0X21pY3JvY29kZSwKICAgICAuY29sbGVjdF9jcHVfaW5mbyAgICAgICAgICAgICAgICAg PSBjb2xsZWN0X2NwdV9pbmZvLAogICAgIC5hcHBseV9taWNyb2NvZGUgICAgICAgICAgICAgICAg ICA9IGFwcGx5X21pY3JvY29kZSwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVf aW50ZWwuYyBiL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYwppbmRleCBkMzQwNWEwLi5i ZjY0OTdmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMKKysrIGIv eGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCkBAIC0yNTAsMTMgKzI1MCwxMyBAQCBzdGF0 aWMgaW50IG1pY3JvY29kZV9zYW5pdHlfY2hlY2sodm9pZCAqbWMpCiAKIHN0YXRpYyBib29sIG1h dGNoX2NwdShjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpwYXRjaCkKIHsKLSAgICBjb25z dCBzdHJ1Y3QgdWNvZGVfY3B1X2luZm8gKnVjaSA9ICZ0aGlzX2NwdSh1Y29kZV9jcHVfaW5mbyk7 CisgICAgY29uc3Qgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZ0aGlzX2NwdShjcHVfc2ln KTsKIAogICAgIGlmICggIXBhdGNoICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0 dXJuIG1pY3JvY29kZV91cGRhdGVfbWF0Y2goJnBhdGNoLT5tY19pbnRlbC0+aGRyLCB1Y2ktPmNw dV9zaWcuc2lnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Y2ktPmNwdV9zaWcu cGYsIHVjaS0+Y3B1X3NpZy5yZXYpID09IE5FV19VQ09ERTsKKyAgICByZXR1cm4gbWljcm9jb2Rl X3VwZGF0ZV9tYXRjaCgmcGF0Y2gtPm1jX2ludGVsLT5oZHIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2lnLT5zaWcsIHNpZy0+cGYsIHNpZy0+cmV2KSA9PSBORVdfVUNPREU7 CiB9CiAKIHN0YXRpYyB2b2lkIGZyZWVfcGF0Y2goc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqcGF0 Y2gpCkBAIC0yODEsNyArMjgxLDYgQEAgc3RhdGljIGVudW0gbWljcm9jb2RlX21hdGNoX3Jlc3Vs dCBjb21wYXJlX3BhdGNoKAogICovCiBzdGF0aWMgaW50IGdldF9tYXRjaGluZ19taWNyb2NvZGUo Y29uc3Qgdm9pZCAqbWMsIHVuc2lnbmVkIGludCBjcHUpCiB7Ci0gICAgc3RydWN0IHVjb2RlX2Nw dV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1KTsKICAgICBjb25zdCBz dHJ1Y3QgbWljcm9jb2RlX2hlYWRlcl9pbnRlbCAqbWNfaGVhZGVyID0gbWM7CiAgICAgdW5zaWdu ZWQgbG9uZyB0b3RhbF9zaXplID0gZ2V0X3RvdGFsc2l6ZShtY19oZWFkZXIpOwogICAgIHZvaWQg Km5ld19tYyA9IHhtYWxsb2NfYnl0ZXModG90YWxfc2l6ZSk7CkBAIC0zMDgsMTcgKzMwNyw3IEBA IHN0YXRpYyBpbnQgZ2V0X21hdGNoaW5nX21pY3JvY29kZShjb25zdCB2b2lkICptYywgdW5zaWdu ZWQgaW50IGNwdSkKIAogICAgIHByX2RlYnVnKCJtaWNyb2NvZGU6IENQVSVkIGZvdW5kIGEgbWF0 Y2hpbmcgbWljcm9jb2RlIHVwZGF0ZSB3aXRoIgogICAgICAgICAgICAgICIgdmVyc2lvbiAlI3gg KGN1cnJlbnQ9JSN4KVxuIiwKLSAgICAgICAgICAgICBjcHUsIG1jX2hlYWRlci0+cmV2LCB1Y2kt PmNwdV9zaWcucmV2KTsKLSAgICBuZXdfbWMgPSB4bWFsbG9jX2J5dGVzKHRvdGFsX3NpemUpOwot ICAgIGlmICggbmV3X21jID09IE5VTEwgKQotICAgIHsKLSAgICAgICAgcHJpbnRrKEtFUk5fRVJS ICJtaWNyb2NvZGU6IGVycm9yISBDYW4gbm90IGFsbG9jYXRlIG1lbW9yeVxuIik7Ci0gICAgICAg IHJldHVybiAtRU5PTUVNOwotICAgIH0KLQotICAgIG1lbWNweShuZXdfbWMsIG1jLCB0b3RhbF9z aXplKTsKLSAgICB4ZnJlZSh1Y2ktPm1jLm1jX2ludGVsKTsKLSAgICB1Y2ktPm1jLm1jX2ludGVs ID0gbmV3X21jOworICAgICAgICAgICAgIGNwdSwgbWNfaGVhZGVyLT5yZXYsIHRoaXNfY3B1KGNw dV9zaWcpLnJldik7CiAKICAgICByZXR1cm4gMTsKIH0KQEAgLTMyOSw3ICszMTgsNyBAQCBzdGF0 aWMgaW50IGFwcGx5X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHVpbnQ2NF90IG1z cl9jb250ZW50OwogICAgIHVuc2lnbmVkIGludCB2YWxbMl07CiAgICAgdW5zaWduZWQgaW50IGNw dV9udW0gPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwotICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5m byAqdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNwdV9udW0pOworICAgIHN0cnVjdCBj cHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIGNvbnN0IHN0 cnVjdCBtaWNyb2NvZGVfaW50ZWwgKm1jX2ludGVsOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2Nv ZGVfcGF0Y2ggKnBhdGNoID0gbWljcm9jb2RlX2dldF9jYWNoZSgpOwogCkBAIC0zNjAsMTYgKzM0 OSwxNiBAQCBzdGF0aWMgaW50IGFwcGx5X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1KQogICAg IHsKICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJtaWNyb2NvZGU6IENQVSVkIHVwZGF0ZSBmcm9t IHJldmlzaW9uICIKICAgICAgICAgICAgICAgICIlI3ggdG8gJSN4IGZhaWxlZC4gUmVzdWx0aW5n IHJldmlzaW9uIGlzICUjeC5cbiIsIGNwdV9udW0sCi0gICAgICAgICAgICAgICB1Y2ktPmNwdV9z aWcucmV2LCBtY19pbnRlbC0+aGRyLnJldiwgdmFsWzFdKTsKKyAgICAgICAgICAgICAgIHNpZy0+ cmV2LCBtY19pbnRlbC0+aGRyLnJldiwgdmFsWzFdKTsKICAgICAgICAgcmV0dXJuIC1FSU87CiAg ICAgfQogICAgIHByaW50ayhLRVJOX0lORk8gIm1pY3JvY29kZTogQ1BVJWQgdXBkYXRlZCBmcm9t IHJldmlzaW9uICIKICAgICAgICAgICAgIiUjeCB0byAlI3gsIGRhdGUgPSAlMDR4LSUwMngtJTAy eCBcbiIsCi0gICAgICAgICAgIGNwdV9udW0sIHVjaS0+Y3B1X3NpZy5yZXYsIHZhbFsxXSwKKyAg ICAgICAgICAgY3B1X251bSwgc2lnLT5yZXYsIHZhbFsxXSwKICAgICAgICAgICAgbWNfaW50ZWwt Pmhkci55ZWFyLAogICAgICAgICAgICBtY19pbnRlbC0+aGRyLm1vbnRoLAogICAgICAgICAgICBt Y19pbnRlbC0+aGRyLmRheSk7Ci0gICAgdWNpLT5jcHVfc2lnLnJldiA9IHZhbFsxXTsKKyAgICBz aWctPnJldiA9IHZhbFsxXTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtNDQwLDEzICs0MjksNyBA QCBzdGF0aWMgaW50IGNwdV9yZXF1ZXN0X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1LCBjb25z dCB2b2lkICpidWYsCiAgICAgcmV0dXJuIGVycm9yOwogfQogCi1zdGF0aWMgaW50IG1pY3JvY29k ZV9yZXN1bWVfbWF0Y2godW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqbWMpCi17Ci0gICAg cmV0dXJuIGdldF9tYXRjaGluZ19taWNyb2NvZGUobWMsIGNwdSk7Ci19Ci0KIHN0YXRpYyBjb25z dCBzdHJ1Y3QgbWljcm9jb2RlX29wcyBtaWNyb2NvZGVfaW50ZWxfb3BzID0gewotICAgIC5taWNy b2NvZGVfcmVzdW1lX21hdGNoICAgICAgICAgICA9IG1pY3JvY29kZV9yZXN1bWVfbWF0Y2gsCiAg ICAgLmNwdV9yZXF1ZXN0X21pY3JvY29kZSAgICAgICAgICAgID0gY3B1X3JlcXVlc3RfbWljcm9j b2RlLAogICAgIC5jb2xsZWN0X2NwdV9pbmZvICAgICAgICAgICAgICAgICA9IGNvbGxlY3RfY3B1 X2luZm8sCiAgICAgLmFwcGx5X21pY3JvY29kZSAgICAgICAgICAgICAgICAgID0gYXBwbHlfbWlj cm9jb2RlLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jIGIveGVuL2FyY2gv eDg2L3NwZWNfY3RybC5jCmluZGV4IDVkOThjYWMuLjQzMTI4YzMgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9zcGVjX2N0cmwuYworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTQz Niw3ICs0MzYsNyBAQCBzdGF0aWMgYm9vbCBfX2luaXQgY2hlY2tfc210X2VuYWJsZWQodm9pZCkK IC8qIENhbGN1bGF0ZSB3aGV0aGVyIFJldHBvbGluZSBpcyBrbm93bi1zYWZlIG9uIHRoaXMgQ1BV LiAqLwogc3RhdGljIGJvb2wgX19pbml0IHJldHBvbGluZV9zYWZlKHVpbnQ2NF90IGNhcHMpCiB7 Ci0gICAgdW5zaWduZWQgaW50IHVjb2RlX3JldiA9IHRoaXNfY3B1KHVjb2RlX2NwdV9pbmZvKS5j cHVfc2lnLnJldjsKKyAgICB1bnNpZ25lZCBpbnQgdWNvZGVfcmV2ID0gdGhpc19jcHUoY3B1X3Np ZykucmV2OwogCiAgICAgaWYgKCBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRP Ul9BTUQgKQogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvbWljcm9jb2RlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21pY3JvY29kZS5oCmluZGV4 IDY1NDFjNTguLmYyYWM1MDkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbWljcm9j b2RlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaApAQCAtMTAsNyArMTAs NiBAQCBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1bHQgewogfTsKIAogc3RydWN0IGNwdV9zaWdu YXR1cmU7Ci1zdHJ1Y3QgdWNvZGVfY3B1X2luZm87CiAKIHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2gg ewogICAgIHVuaW9uIHsKQEAgLTIwLDcgKzE5LDYgQEAgc3RydWN0IG1pY3JvY29kZV9wYXRjaCB7 CiB9OwogCiBzdHJ1Y3QgbWljcm9jb2RlX29wcyB7Ci0gICAgaW50ICgqbWljcm9jb2RlX3Jlc3Vt ZV9tYXRjaCkodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqbWMpOwogICAgIGludCAoKmNw dV9yZXF1ZXN0X21pY3JvY29kZSkodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpOwogICAgIGludCAo KmNvbGxlY3RfY3B1X2luZm8pKHVuc2lnbmVkIGludCBjcHUsIHN0cnVjdCBjcHVfc2lnbmF0dXJl ICpjc2lnKTsKQEAgLTM5LDE2ICszNyw3IEBAIHN0cnVjdCBjcHVfc2lnbmF0dXJlIHsKICAgICB1 bnNpZ25lZCBpbnQgcmV2OwogfTsKIAotc3RydWN0IHVjb2RlX2NwdV9pbmZvIHsKLSAgICBzdHJ1 Y3QgY3B1X3NpZ25hdHVyZSBjcHVfc2lnOwotICAgIHVuaW9uIHsKLSAgICAgICAgc3RydWN0IG1p Y3JvY29kZV9pbnRlbCAqbWNfaW50ZWw7Ci0gICAgICAgIHN0cnVjdCBtaWNyb2NvZGVfYW1kICpt Y19hbWQ7Ci0gICAgICAgIHZvaWQgKm1jX3ZhbGlkOwotICAgIH0gbWM7Ci19OwotCi1ERUNMQVJF X1BFUl9DUFUoc3RydWN0IHVjb2RlX2NwdV9pbmZvLCB1Y29kZV9jcHVfaW5mbyk7CitERUNMQVJF X1BFUl9DUFUoc3RydWN0IGNwdV9zaWduYXR1cmUsIGNwdV9zaWcpOwogZXh0ZXJuIGNvbnN0IHN0 cnVjdCBtaWNyb2NvZGVfb3BzICptaWNyb2NvZGVfb3BzOwogCiBjb25zdCBzdHJ1Y3QgbWljcm9j b2RlX3BhdGNoICptaWNyb2NvZGVfZ2V0X2NhY2hlKHZvaWQpOwotLSAKMS44LjMuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=