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 C4B00C433FF for ; Thu, 1 Aug 2019 10:19:22 +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 94093206B8 for ; Thu, 1 Aug 2019 10:19:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 94093206B8 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 1ht8Aw-0001qN-Ey; Thu, 01 Aug 2019 10:19:10 +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 1ht8Au-0001ox-SN for xen-devel@lists.xenproject.org; Thu, 01 Aug 2019 10:19:08 +0000 X-Inumbo-ID: cae7f946-b445-11e9-95ee-6b86ea281fad Received: from mga17.intel.com (unknown [192.55.52.151]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id cae7f946-b445-11e9-95ee-6b86ea281fad; Thu, 01 Aug 2019 10:19:06 +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:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,333,1559545200"; d="scan'208";a="175207929" Received: from gao-cwp.sh.intel.com ([10.239.159.26]) by orsmga003.jf.intel.com with ESMTP; 01 Aug 2019 03:19:04 -0700 From: Chao Gao To: xen-devel@lists.xenproject.org Date: Thu, 1 Aug 2019 18:22:43 +0800 Message-Id: <1564654971-31328-9-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 08/16] 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: 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" UmVtb3ZlIHRoZSBwZXItY3B1IGNhY2hlIGZpZWxkIGluIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyBz aW5jZSBpdCBoYXMKYmVlbiByZXBsYWNlZCBieSBhIGdsb2JhbCBjYWNoZS4gSXQgd291bGQgbGVh ZHMgdG8gb25seSBvbmUgZmllbGQKcmVtYWluaW5nIGluIHVjb2RlX2NwdV9pbmZvLiBUaGVuLCB0 aGlzIHN0cnVjdCBpcyByZW1vdmVkIGFuZCB0aGUKcmVtYWluaW5nIGZpZWxkIChjcHUgc2lnbmF0 dXJlKSBpcyBzdG9yZWQgaW4gcGVyLWNwdSBhcmVhLgoKVGhlIGNwdSBzdGF0dXMgbm90aWZpZXIg aXMgYWxzbyByZW1vdmVkLiBJdCB3YXMgdXNlZCB0byBmcmVlIHRoZSAibWMiCmZpZWxkIHRvIGF2 b2lkIG1lbW9yeSBsZWFrLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVs LmNvbT4KLS0tCkNoYW5nZXMgaW4gdjg6CiAtIHNwbGl0IG1pY3JvY29kZV9yZXN1bWVfY3B1KCkg Y2xlYW51cCB0byBhIHNlcGFyYXRlIHBhdGNoLgoKQ2hhbmdlcyBpbiB2NjoKIC0gcmVtb3ZlIHRo ZSB3aG9sZSBzdHJ1Y3QgdWNvZGVfY3B1X2luZm8gaW5zdGVhZCBvZiB0aGUgcGVyLWNwdSBjYWNo ZQogIGluIGl0LgotLS0KIHhlbi9hcmNoL3g4Ni9hcGljLmMgICAgICAgICAgICAgfCAgMiArLQog eGVuL2FyY2gveDg2L21pY3JvY29kZS5jICAgICAgICB8IDU3ICsrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L21pY3JvY29kZV9hbWQuYyAgICB8IDYw ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYv bWljcm9jb2RlX2ludGVsLmMgIHwgMzEgKysrKysrKystLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94 ODYvc3BlY19jdHJsLmMgICAgICAgIHwgIDIgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvbWljcm9j b2RlLmggfCAxMiArLS0tLS0tLS0KIDYgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwg MTI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hcGljLmMgYi94ZW4v YXJjaC94ODYvYXBpYy5jCmluZGV4IDljM2M5OTguLmFlMWYxZTkgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9hcGljLmMKKysrIGIveGVuL2FyY2gveDg2L2FwaWMuYwpAQCAtMTE5Myw3ICsxMTkz LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGNoZWNrX2RlYWRsaW5lX2VycmF0YSh2b2lkKQogICAg IGVsc2UKICAgICAgICAgcmV2ID0gKHVuc2lnbmVkIGxvbmcpbS0+ZHJpdmVyX2RhdGE7CiAKLSAg ICBpZiAoIHRoaXNfY3B1KHVjb2RlX2NwdV9pbmZvKS5jcHVfc2lnLnJldiA+PSByZXYgKQorICAg IGlmICggdGhpc19jcHUoY3B1X3NpZykucmV2ID49IHJldiApCiAgICAgICAgIHJldHVybjsKIAog ICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfVFNDX0RFQURMSU5FKTsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGUuYyBiL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGUu YwppbmRleCAzYTVkZGI3Li45MjMxZGZiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbWljcm9j b2RlLmMKKysrIGIveGVuL2FyY2gveDg2L21pY3JvY29kZS5jCkBAIC0xODcsNyArMTg3LDcgQEAg Y29uc3Qgc3RydWN0IG1pY3JvY29kZV9vcHMgKm1pY3JvY29kZV9vcHM7CiAKIHN0YXRpYyBERUZJ TkVfU1BJTkxPQ0sobWljcm9jb2RlX211dGV4KTsKIAotREVGSU5FX1BFUl9DUFUoc3RydWN0IHVj b2RlX2NwdV9pbmZvLCB1Y29kZV9jcHVfaW5mbyk7CitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgY3B1 X3NpZ25hdHVyZSwgY3B1X3NpZyk7CiAKIHN0cnVjdCBtaWNyb2NvZGVfaW5mbyB7CiAgICAgdW5z aWduZWQgaW50IGNwdTsKQEAgLTE5NiwzMiArMTk2LDE3IEBAIHN0cnVjdCBtaWNyb2NvZGVfaW5m byB7CiAgICAgY2hhciBidWZmZXJbMV07CiB9OwogCi1zdGF0aWMgdm9pZCBfX21pY3JvY29kZV9m aW5pX2NwdSh1bnNpZ25lZCBpbnQgY3B1KQotewotICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAq dWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNwdSk7Ci0KLSAgICB4ZnJlZSh1Y2ktPm1j Lm1jX3ZhbGlkKTsKLSAgICBtZW1zZXQodWNpLCAwLCBzaXplb2YoKnVjaSkpOwotfQotCi1zdGF0 aWMgdm9pZCBtaWNyb2NvZGVfZmluaV9jcHUodW5zaWduZWQgaW50IGNwdSkKLXsKLSAgICBzcGlu X2xvY2soJm1pY3JvY29kZV9tdXRleCk7Ci0gICAgX19taWNyb2NvZGVfZmluaV9jcHUoY3B1KTsK LSAgICBzcGluX3VubG9jaygmbWljcm9jb2RlX211dGV4KTsKLX0KLQogaW50IG1pY3JvY29kZV9y ZXN1bWVfY3B1KHVuc2lnbmVkIGludCBjcHUpCiB7CiAgICAgaW50IGVycjsKLSAgICBzdHJ1Y3Qg dWNvZGVfY3B1X2luZm8gKnVjaSA9ICZwZXJfY3B1KHVjb2RlX2NwdV9pbmZvLCBjcHUpOworICAg IHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogCiAg ICAgaWYgKCAhbWljcm9jb2RlX29wcyApCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgc3Bpbl9s b2NrKCZtaWNyb2NvZGVfbXV0ZXgpOwogCi0gICAgZXJyID0gbWljcm9jb2RlX29wcy0+Y29sbGVj dF9jcHVfaW5mbyhjcHUsICZ1Y2ktPmNwdV9zaWcpOworICAgIGVyciA9IG1pY3JvY29kZV9vcHMt PmNvbGxlY3RfY3B1X2luZm8oY3B1LCBzaWcpOwogICAgIGlmICggbGlrZWx5KCFlcnIpICkKICAg ICAgICAgZXJyID0gbWljcm9jb2RlX29wcy0+YXBwbHlfbWljcm9jb2RlKGNwdSk7CiAgICAgc3Bp bl91bmxvY2soJm1pY3JvY29kZV9tdXRleCk7CkBAIC0yNjksMTYgKzI1NCwxMyBAQCBzdGF0aWMg aW50IG1pY3JvY29kZV91cGRhdGVfY3B1KGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpCiB7 CiAgICAgaW50IGVycjsKICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgp OwotICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2lu Zm8sIGNwdSk7CisgICAgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZwZXJfY3B1KGNwdV9z aWcsIGNwdSk7CiAKICAgICBzcGluX2xvY2soJm1pY3JvY29kZV9tdXRleCk7CiAKLSAgICBlcnIg PSBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2NwdV9pbmZvKGNwdSwgJnVjaS0+Y3B1X3NpZyk7Cisg ICAgZXJyID0gbWljcm9jb2RlX29wcy0+Y29sbGVjdF9jcHVfaW5mbyhjcHUsIHNpZyk7CiAgICAg aWYgKCBsaWtlbHkoIWVycikgKQogICAgICAgICBlcnIgPSBtaWNyb2NvZGVfb3BzLT5jcHVfcmVx dWVzdF9taWNyb2NvZGUoY3B1LCBidWYsIHNpemUpOwotICAgIGVsc2UKLSAgICAgICAgX19taWNy b2NvZGVfZmluaV9jcHUoY3B1KTsKLQogICAgIHNwaW5fdW5sb2NrKCZtaWNyb2NvZGVfbXV0ZXgp OwogCiAgICAgcmV0dXJuIGVycjsKQEAgLTM2NSwyOSArMzQ3LDEwIEBAIHN0YXRpYyBpbnQgX19p bml0IG1pY3JvY29kZV9pbml0KHZvaWQpCiB9CiBfX2luaXRjYWxsKG1pY3JvY29kZV9pbml0KTsK IAotc3RhdGljIGludCBtaWNyb2NvZGVfcGVyY3B1X2NhbGxiYWNrKAotICAgIHN0cnVjdCBub3Rp Zmllcl9ibG9jayAqbmZiLCB1bnNpZ25lZCBsb25nIGFjdGlvbiwgdm9pZCAqaGNwdSkKLXsKLSAg ICB1bnNpZ25lZCBpbnQgY3B1ID0gKHVuc2lnbmVkIGxvbmcpaGNwdTsKLQotICAgIHN3aXRjaCAo IGFjdGlvbiApCi0gICAgewotICAgIGNhc2UgQ1BVX0RFQUQ6Ci0gICAgICAgIG1pY3JvY29kZV9m aW5pX2NwdShjcHUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gTk9USUZZ X0RPTkU7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgbWljcm9jb2RlX3BlcmNw dV9uZmIgPSB7Ci0gICAgLm5vdGlmaWVyX2NhbGwgPSBtaWNyb2NvZGVfcGVyY3B1X2NhbGxiYWNr LAotfTsKLQogaW50IF9faW5pdCBlYXJseV9taWNyb2NvZGVfdXBkYXRlX2NwdShib29sIHN0YXJ0 X3VwZGF0ZSkKIHsKICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwot ICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8s IGNwdSk7CisgICAgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZwZXJfY3B1KGNwdV9zaWcs IGNwdSk7CiAgICAgaW50IHJjID0gMDsKICAgICB2b2lkICpkYXRhID0gTlVMTDsKICAgICBzaXpl X3QgbGVuOwpAQCAtNDA2LDcgKzM2OSw3IEBAIGludCBfX2luaXQgZWFybHlfbWljcm9jb2RlX3Vw ZGF0ZV9jcHUoYm9vbCBzdGFydF91cGRhdGUpCiAgICAgICAgIGRhdGEgPSBib290c3RyYXBfbWFw KCZ1Y29kZV9tb2QpOwogICAgIH0KIAotICAgIG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2lu Zm8oY3B1LCAmdWNpLT5jcHVfc2lnKTsKKyAgICBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2NwdV9p bmZvKGNwdSwgc2lnKTsKIAogICAgIGlmICggZGF0YSApCiAgICAgewpAQCAtNDI1LDcgKzM4OCw3 IEBAIGludCBfX2luaXQgZWFybHlfbWljcm9jb2RlX3VwZGF0ZV9jcHUoYm9vbCBzdGFydF91cGRh dGUpCiBpbnQgX19pbml0IGVhcmx5X21pY3JvY29kZV9pbml0KHZvaWQpCiB7CiAgICAgdW5zaWdu ZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLSAgICBzdHJ1Y3QgdWNvZGVfY3B1X2lu Zm8gKnVjaSA9ICZwZXJfY3B1KHVjb2RlX2NwdV9pbmZvLCBjcHUpOworICAgIHN0cnVjdCBjcHVf c2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIGludCByYzsKIAog ICAgIHJjID0gbWljcm9jb2RlX2luaXRfaW50ZWwoKTsKQEAgLTQzOCwxMiArNDAxLDEwIEBAIGlu dCBfX2luaXQgZWFybHlfbWljcm9jb2RlX2luaXQodm9pZCkKIAogICAgIGlmICggbWljcm9jb2Rl X29wcyApCiAgICAgewotICAgICAgICBtaWNyb2NvZGVfb3BzLT5jb2xsZWN0X2NwdV9pbmZvKGNw dSwgJnVjaS0+Y3B1X3NpZyk7CisgICAgICAgIG1pY3JvY29kZV9vcHMtPmNvbGxlY3RfY3B1X2lu Zm8oY3B1LCBzaWcpOwogCiAgICAgICAgIGlmICggdWNvZGVfbW9kLm1vZF9lbmQgfHwgdWNvZGVf YmxvYi5zaXplICkKICAgICAgICAgICAgIHJjID0gZWFybHlfbWljcm9jb2RlX3VwZGF0ZV9jcHUo dHJ1ZSk7Ci0KLSAgICAgICAgcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZtaWNyb2NvZGVfcGVyY3B1 X25mYik7CiAgICAgfQogCiAgICAgcmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21pY3JvY29kZV9hbWQuYyBiL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfYW1kLmMKaW5kZXggNzk2 OTg4Yi4uM2Y0Mjc4MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9hbWQuYwor KysgYi94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2FtZC5jCkBAIC0xNTUsNyArMTU1LDcgQEAgc3Rh dGljIGJvb2xfdCBmaW5kX2VxdWl2X2NwdV9pZChjb25zdCBzdHJ1Y3QgZXF1aXZfY3B1X2VudHJ5 ICplcXVpdl9jcHVfdGFibGUsCiBzdGF0aWMgZW51bSBtaWNyb2NvZGVfbWF0Y2hfcmVzdWx0IG1p Y3JvY29kZV9maXRzKAogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfYW1kICptY19hbWQsIHVu c2lnbmVkIGludCBjcHUpCiB7Ci0gICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVy X2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1KTsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1X3NpZ25hdHVy ZSAqc2lnID0gJnBlcl9jcHUoY3B1X3NpZywgY3B1KTsKICAgICBjb25zdCBzdHJ1Y3QgbWljcm9j b2RlX2hlYWRlcl9hbWQgKm1jX2hlYWRlciA9IG1jX2FtZC0+bXBiOwogICAgIGNvbnN0IHN0cnVj dCBlcXVpdl9jcHVfZW50cnkgKmVxdWl2X2NwdV90YWJsZSA9IG1jX2FtZC0+ZXF1aXZfY3B1X3Rh YmxlOwogICAgIHVuc2lnbmVkIGludCBjdXJyZW50X2NwdV9pZDsKQEAgLTE3OCwxNCArMTc4LDE0 IEBAIHN0YXRpYyBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1bHQgbWljcm9jb2RlX2ZpdHMoCiAg ICAgICAgIHJldHVybiBNSVNfVUNPREU7CiAgICAgfQogCi0gICAgaWYgKCBtY19oZWFkZXItPnBh dGNoX2lkIDw9IHVjaS0+Y3B1X3NpZy5yZXYgKQorICAgIGlmICggbWNfaGVhZGVyLT5wYXRjaF9p ZCA8PSBzaWctPnJldiApCiAgICAgewogICAgICAgICBwcl9kZWJ1ZygibWljcm9jb2RlOiBwYXRj aCBpcyBhbHJlYWR5IGF0IHJlcXVpcmVkIGxldmVsIG9yIGdyZWF0ZXIuXG4iKTsKICAgICAgICAg cmV0dXJuIE9MRF9VQ09ERTsKICAgICB9CiAKICAgICBwcl9kZWJ1ZygibWljcm9jb2RlOiBDUFUl ZCBmb3VuZCBhIG1hdGNoaW5nIG1pY3JvY29kZSB1cGRhdGUgd2l0aCB2ZXJzaW9uICUjeCAoY3Vy cmVudD0lI3gpXG4iLAotICAgICAgICAgICAgIGNwdSwgbWNfaGVhZGVyLT5wYXRjaF9pZCwgdWNp LT5jcHVfc2lnLnJldik7CisgICAgICAgICAgICAgY3B1LCBtY19oZWFkZXItPnBhdGNoX2lkLCBz aWctPnJldik7CiAKICAgICByZXR1cm4gTkVXX1VDT0RFOwogfQpAQCAtMjU0LDkgKzI1NCw5IEBA IHN0YXRpYyBlbnVtIG1pY3JvY29kZV9tYXRjaF9yZXN1bHQgY29tcGFyZV9wYXRjaCgKIHN0YXRp YyBpbnQgYXBwbHlfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUpCiB7CiAgICAgdW5zaWduZWQg bG9uZyBmbGFnczsKLSAgICBzdHJ1Y3QgdWNvZGVfY3B1X2luZm8gKnVjaSA9ICZwZXJfY3B1KHVj b2RlX2NwdV9pbmZvLCBjcHUpOwogICAgIHVpbnQzMl90IHJldjsKICAgICBpbnQgaHdfZXJyOwor ICAgIHN0cnVjdCBjcHVfc2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwog ICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfaGVhZGVyX2FtZCAqaGRyOwogICAgIGNvbnN0IHN0 cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoID0gbWljcm9jb2RlX2dldF9jYWNoZSgpOwogCkBA IC0yOTIsOSArMjkyLDkgQEAgc3RhdGljIGludCBhcHBseV9taWNyb2NvZGUodW5zaWduZWQgaW50 IGNwdSkKICAgICB9CiAKICAgICBwcmludGsoS0VSTl9XQVJOSU5HICJtaWNyb2NvZGU6IENQVSVk IHVwZGF0ZWQgZnJvbSByZXZpc2lvbiAlI3ggdG8gJSN4XG4iLAotICAgICAgICAgICBjcHUsIHVj aS0+Y3B1X3NpZy5yZXYsIGhkci0+cGF0Y2hfaWQpOworICAgICAgICAgICBjcHUsIHNpZy0+cmV2 LCBoZHItPnBhdGNoX2lkKTsKIAotICAgIHVjaS0+Y3B1X3NpZy5yZXYgPSByZXY7CisgICAgc2ln LT5yZXYgPSByZXY7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTQ0MCwxNCArNDQwLDE0IEBAIHN0 YXRpYyBib29sX3QgY2hlY2tfZmluYWxfcGF0Y2hfbGV2ZWxzKHVuc2lnbmVkIGludCBjcHUpCiAg ICAgICogYW55IG9mIHRoZSAnZmluYWxfbGV2ZWxzJywgdGhlbiB3ZSBzaG91bGQgbm90IHVwZGF0 ZSB0aGUgbWljcm9jb2RlCiAgICAgICogcGF0Y2ggb24gdGhlIGNwdSBhcyBzeXN0ZW0gd2lsbCBo YW5nIG90aGVyd2lzZS4KICAgICAgKi8KLSAgICBzdHJ1Y3QgdWNvZGVfY3B1X2luZm8gKnVjaSA9 ICZwZXJfY3B1KHVjb2RlX2NwdV9pbmZvLCBjcHUpOworICAgIGNvbnN0IHN0cnVjdCBjcHVfc2ln bmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIHVuc2lnbmVkIGludCBp OwogCiAgICAgaWYgKCBib290X2NwdV9kYXRhLng4NiAhPSAweDEwICkKICAgICAgICAgcmV0dXJu IDA7CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmluYWxfbGV2ZWxzKTsgaSsr ICkKLSAgICAgICAgaWYgKCB1Y2ktPmNwdV9zaWcucmV2ID09IGZpbmFsX2xldmVsc1tpXSApCisg ICAgICAgIGlmICggc2lnLT5yZXYgPT0gZmluYWxfbGV2ZWxzW2ldICkKICAgICAgICAgICAgIHJl dHVybiAxOwogCiAgICAgcmV0dXJuIDA7CkBAIC00NTYsMTMgKzQ1NiwxMiBAQCBzdGF0aWMgYm9v bF90IGNoZWNrX2ZpbmFsX3BhdGNoX2xldmVscyh1bnNpZ25lZCBpbnQgY3B1KQogc3RhdGljIGlu dCBjcHVfcmVxdWVzdF9taWNyb2NvZGUodW5zaWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVm LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJ1ZnNpemUpCiB7Ci0g ICAgc3RydWN0IG1pY3JvY29kZV9hbWQgKm1jX2FtZCwgKm1jX29sZDsKKyAgICBzdHJ1Y3QgbWlj cm9jb2RlX2FtZCAqbWNfYW1kOwogICAgIHNpemVfdCBvZmZzZXQgPSAwOwotICAgIHNpemVfdCBs YXN0X29mZnNldCwgYXBwbGllZF9vZmZzZXQgPSAwOwotICAgIGludCBlcnJvciA9IDAsIHNhdmVf ZXJyb3IgPSAxOwotICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAqdWNpID0gJnBlcl9jcHUodWNv ZGVfY3B1X2luZm8sIGNwdSk7CisgICAgaW50IGVycm9yID0gMDsKICAgICB1bnNpZ25lZCBpbnQg Y3VycmVudF9jcHVfaWQ7CiAgICAgdW5zaWduZWQgaW50IGVxdWl2X2NwdV9pZDsKKyAgICBjb25z dCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnBlcl9jcHUoY3B1X3NpZywgY3B1KTsKIAog ICAgIC8qIFdlIHNob3VsZCBiaW5kIHRoZSB0YXNrIHRvIHRoZSBDUFUgKi8KICAgICBCVUdfT04o Y3B1ICE9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOwpAQCAtNTM0LDcgKzUzMyw3IEBAIHN0YXRp YyBpbnQgY3B1X3JlcXVlc3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUsIGNvbnN0IHZvaWQg KmJ1ZiwKICAgICAgICAgewogICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJtaWNyb2NvZGU6 IENQVSVkIGluY29ycmVjdCBvciBjb3JydXB0IGNvbnRhaW5lciBmaWxlXG4iCiAgICAgICAgICAg ICAgICAgICAgIm1pY3JvY29kZTogRmFpbGVkIHRvIHVwZGF0ZSBwYXRjaCBsZXZlbC4gIgotICAg ICAgICAgICAgICAgICAgICJDdXJyZW50IGx2bDolI3hcbiIsIGNwdSwgdWNpLT5jcHVfc2lnLnJl dik7CisgICAgICAgICAgICAgICAgICAgIkN1cnJlbnQgbHZsOiUjeFxuIiwgY3B1LCBzaWctPnJl dik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KQEAgLTU0NywxNyArNTQ2 LDEyIEBAIHN0YXRpYyBpbnQgY3B1X3JlcXVlc3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUs IGNvbnN0IHZvaWQgKmJ1ZiwKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgbWNfb2xk ID0gdWNpLT5tYy5tY19hbWQ7Ci0gICAgLyogaW1wbGljaXRlbHkgdmFsaWRhdGVzIHVjaS0+bWMu bWNfdmFsaWQgKi8KLSAgICB1Y2ktPm1jLm1jX2FtZCA9IG1jX2FtZDsKLQogICAgIC8qCiAgICAg ICogSXQncyBwb3NzaWJsZSB0aGUgZGF0YSBmaWxlIGhhcyBtdWx0aXBsZSBtYXRjaGluZyB1Y29k ZSwKICAgICAgKiBsZXRzIGtlZXAgc2VhcmNoaW5nIHRpbGwgdGhlIGxhdGVzdCB2ZXJzaW9uCiAg ICAgICovCiAgICAgbWNfYW1kLT5tcGIgPSBOVUxMOwogICAgIG1jX2FtZC0+bXBiX3NpemUgPSAw OwotICAgIGxhc3Rfb2Zmc2V0ID0gb2Zmc2V0OwogICAgIHdoaWxlICggKGVycm9yID0gZ2V0X3Vj b2RlX2Zyb21fYnVmZmVyX2FtZChtY19hbWQsIGJ1ZiwgYnVmc2l6ZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9mZnNldCkpID09IDAgKQogICAgIHsK QEAgLTU4MCwxMSArNTc0LDggQEAgc3RhdGljIGludCBjcHVfcmVxdWVzdF9taWNyb2NvZGUodW5z aWduZWQgaW50IGNwdSwgY29uc3Qgdm9pZCAqYnVmLAogICAgICAgICAgICAgZXJyb3IgPSBhcHBs eV9taWNyb2NvZGUoY3B1KTsKICAgICAgICAgICAgIGlmICggZXJyb3IgKQogICAgICAgICAgICAg ICAgIGJyZWFrOwotICAgICAgICAgICAgYXBwbGllZF9vZmZzZXQgPSBsYXN0X29mZnNldDsKICAg ICAgICAgfQogCi0gICAgICAgIGxhc3Rfb2Zmc2V0ID0gb2Zmc2V0OwotCiAgICAgICAgIGlmICgg b2Zmc2V0ID49IGJ1ZnNpemUgKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTYxMiwyOSArNjAz LDEwIEBAIHN0YXRpYyBpbnQgY3B1X3JlcXVlc3RfbWljcm9jb2RlKHVuc2lnbmVkIGludCBjcHUs IGNvbnN0IHZvaWQgKmJ1ZiwKICAgICAgICAgICAgICAqKGNvbnN0IHVpbnQzMl90ICopKGJ1ZiAr IG9mZnNldCkgPT0gVUNPREVfTUFHSUMgKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotCi0g ICAgLyogT24gc3VjY2VzcyBrZWVwIHRoZSBtaWNyb2NvZGUgcGF0Y2ggZm9yCi0gICAgICogcmUt YXBwbHkgb24gcmVzdW1lLgotICAgICAqLwotICAgIGlmICggYXBwbGllZF9vZmZzZXQgKQotICAg IHsKLSAgICAgICAgc2F2ZV9lcnJvciA9IGdldF91Y29kZV9mcm9tX2J1ZmZlcl9hbWQoCi0gICAg ICAgICAgICBtY19hbWQsIGJ1ZiwgYnVmc2l6ZSwgJmFwcGxpZWRfb2Zmc2V0KTsKLQotICAgICAg ICBpZiAoIHNhdmVfZXJyb3IgKQotICAgICAgICAgICAgZXJyb3IgPSBzYXZlX2Vycm9yOwotICAg IH0KLQotICAgIGlmICggc2F2ZV9lcnJvciApCi0gICAgewotICAgICAgICB1Y2ktPm1jLm1jX2Ft ZCA9IG1jX29sZDsKLSAgICAgICAgbWNfb2xkID0gbWNfYW1kOwotICAgIH0KLQotICAgIGlmICgg bWNfb2xkLT5tcGJfc2l6ZSApCi0gICAgICAgIHhmcmVlKG1jX29sZC0+bXBiKTsKLSAgICB4ZnJl ZShtY19vbGQtPmVxdWl2X2NwdV90YWJsZSk7Ci0gICAgeGZyZWUobWNfb2xkKTsKKyAgICBpZiAo IG1jX2FtZC0+bXBiX3NpemUgKQorICAgICAgICB4ZnJlZShtY19hbWQtPm1wYik7CisgICAgeGZy ZWUobWNfYW1kLT5lcXVpdl9jcHVfdGFibGUpOworICAgIHhmcmVlKG1jX2FtZCk7CiAKICAgb3V0 OgogI2lmIENPTkZJR19IVk0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50 ZWwuYyBiL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYwppbmRleCA1NWJmZGFjLi45MTQw ZWJhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMKKysrIGIveGVu L2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCkBAIC0yNTcsMTMgKzI1NywxMyBAQCBzdGF0aWMg aW50IG1pY3JvY29kZV9zYW5pdHlfY2hlY2sodm9pZCAqbWMpCiAKIHN0YXRpYyBib29sIG1hdGNo X2NwdShjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpwYXRjaCkKIHsKLSAgICBjb25zdCBz dHJ1Y3QgdWNvZGVfY3B1X2luZm8gKnVjaSA9ICZ0aGlzX2NwdSh1Y29kZV9jcHVfaW5mbyk7Cisg ICAgY29uc3Qgc3RydWN0IGNwdV9zaWduYXR1cmUgKnNpZyA9ICZ0aGlzX2NwdShjcHVfc2lnKTsK IAogICAgIGlmICggIXBhdGNoICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJu IG1pY3JvY29kZV91cGRhdGVfbWF0Y2goJnBhdGNoLT5tY19pbnRlbC0+aGRyLCB1Y2ktPmNwdV9z aWcuc2lnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Y2ktPmNwdV9zaWcucGYs IHVjaS0+Y3B1X3NpZy5yZXYpID09IE5FV19VQ09ERTsKKyAgICByZXR1cm4gbWljcm9jb2RlX3Vw ZGF0ZV9tYXRjaCgmcGF0Y2gtPm1jX2ludGVsLT5oZHIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2lnLT5zaWcsIHNpZy0+cGYsIHNpZy0+cmV2KSA9PSBORVdfVUNPREU7CiB9 CiAKIHN0YXRpYyB2b2lkIGZyZWVfcGF0Y2godm9pZCAqbWMpCkBAIC0yODcsNyArMjg3LDcgQEAg c3RhdGljIGVudW0gbWljcm9jb2RlX21hdGNoX3Jlc3VsdCBjb21wYXJlX3BhdGNoKAogICovCiBz dGF0aWMgaW50IGdldF9tYXRjaGluZ19taWNyb2NvZGUoY29uc3Qgdm9pZCAqbWMsIHVuc2lnbmVk IGludCBjcHUpCiB7Ci0gICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1 Y29kZV9jcHVfaW5mbywgY3B1KTsKKyAgICBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSAqc2lnID0gJnBl cl9jcHUoY3B1X3NpZywgY3B1KTsKICAgICBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX2hlYWRlcl9p bnRlbCAqbWNfaGVhZGVyID0gbWM7CiAgICAgdW5zaWduZWQgbG9uZyB0b3RhbF9zaXplID0gZ2V0 X3RvdGFsc2l6ZShtY19oZWFkZXIpOwogICAgIHZvaWQgKm5ld19tYyA9IHhtYWxsb2NfYnl0ZXMo dG90YWxfc2l6ZSk7CkBAIC0zMDMsOCArMzAzLDggQEAgc3RhdGljIGludCBnZXRfbWF0Y2hpbmdf bWljcm9jb2RlKGNvbnN0IHZvaWQgKm1jLCB1bnNpZ25lZCBpbnQgY3B1KQogICAgIG5ld19wYXRj aC0+bWNfaW50ZWwgPSBuZXdfbWM7CiAKICAgICAvKiBNYWtlIHN1cmUgdGhhdCB0aGlzIHBhdGNo IGNvdmVycyBjdXJyZW50IENQVSAqLwotICAgIGlmICggbWljcm9jb2RlX3VwZGF0ZV9tYXRjaCgm bmV3X3BhdGNoLT5tY19pbnRlbC0+aGRyLCB1Y2ktPmNwdV9zaWcuc2lnLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1Y2ktPmNwdV9zaWcucGYsIHVjaS0+Y3B1X3NpZy5yZXYpID09 IE1JU19VQ09ERSApCisgICAgaWYgKCBtaWNyb2NvZGVfdXBkYXRlX21hdGNoKCZuZXdfcGF0Y2gt Pm1jX2ludGVsLT5oZHIsIHNpZy0+c2lnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaWctPnBmLCBzaWctPnJldikgPT0gTUlTX1VDT0RFICkKICAgICB7CiAgICAgICAgIG1pY3Jv Y29kZV9mcmVlX3BhdGNoKG5ld19wYXRjaCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMzE0LDE3 ICszMTQsOCBAQCBzdGF0aWMgaW50IGdldF9tYXRjaGluZ19taWNyb2NvZGUoY29uc3Qgdm9pZCAq bWMsIHVuc2lnbmVkIGludCBjcHUpCiAKICAgICBwcl9kZWJ1ZygibWljcm9jb2RlOiBDUFUlZCBm b3VuZCBhIG1hdGNoaW5nIG1pY3JvY29kZSB1cGRhdGUgd2l0aCIKICAgICAgICAgICAgICAiIHZl cnNpb24gJSN4IChjdXJyZW50PSUjeClcbiIsCi0gICAgICAgICAgICAgY3B1LCBtY19oZWFkZXIt PnJldiwgdWNpLT5jcHVfc2lnLnJldik7Ci0gICAgbmV3X21jID0geG1hbGxvY19ieXRlcyh0b3Rh bF9zaXplKTsKLSAgICBpZiAoIG5ld19tYyA9PSBOVUxMICkKLSAgICB7Ci0gICAgICAgIHByaW50 ayhLRVJOX0VSUiAibWljcm9jb2RlOiBlcnJvciEgQ2FuIG5vdCBhbGxvY2F0ZSBtZW1vcnlcbiIp OwotICAgICAgICByZXR1cm4gLUVOT01FTTsKLSAgICB9CisgICAgICAgICAgICAgY3B1LCBtY19o ZWFkZXItPnJldiwgc2lnLT5yZXYpOwogCi0gICAgbWVtY3B5KG5ld19tYywgbWMsIHRvdGFsX3Np emUpOwotICAgIHhmcmVlKHVjaS0+bWMubWNfaW50ZWwpOwotICAgIHVjaS0+bWMubWNfaW50ZWwg PSBuZXdfbWM7CiAgICAgcmV0dXJuIDE7CiB9CiAKQEAgLTMzNCw3ICszMjUsNyBAQCBzdGF0aWMg aW50IGFwcGx5X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHVpbnQ2NF90IG1zcl9j b250ZW50OwogICAgIHVuc2lnbmVkIGludCB2YWxbMl07CiAgICAgdW5zaWduZWQgaW50IGNwdV9u dW0gPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwotICAgIHN0cnVjdCB1Y29kZV9jcHVfaW5mbyAq dWNpID0gJnBlcl9jcHUodWNvZGVfY3B1X2luZm8sIGNwdV9udW0pOworICAgIHN0cnVjdCBjcHVf c2lnbmF0dXJlICpzaWcgPSAmcGVyX2NwdShjcHVfc2lnLCBjcHUpOwogICAgIGNvbnN0IHN0cnVj dCBtaWNyb2NvZGVfaW50ZWwgKm1jX2ludGVsOwogICAgIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVf cGF0Y2ggKnBhdGNoID0gbWljcm9jb2RlX2dldF9jYWNoZSgpOwogCkBAIC0zNjUsMTQgKzM1Niwx NCBAQCBzdGF0aWMgaW50IGFwcGx5X21pY3JvY29kZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHsK ICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJtaWNyb2NvZGU6IENQVSVkIHVwZGF0ZSBmcm9tIHJl dmlzaW9uICIKICAgICAgICAgICAgICAgICIlI3ggdG8gJSN4IGZhaWxlZC4gUmVzdWx0aW5nIHJl dmlzaW9uIGlzICUjeC5cbiIsIGNwdV9udW0sCi0gICAgICAgICAgICAgICB1Y2ktPmNwdV9zaWcu cmV2LCBtY19pbnRlbC0+aGRyLnJldiwgdmFsWzFdKTsKKyAgICAgICAgICAgICAgIHNpZy0+cmV2 LCBtY19pbnRlbC0+aGRyLnJldiwgdmFsWzFdKTsKICAgICAgICAgcmV0dXJuIC1FSU87CiAgICAg fQogICAgIHByaW50ayhLRVJOX0lORk8gIm1pY3JvY29kZTogQ1BVJWQgdXBkYXRlZCBmcm9tIHJl dmlzaW9uICIKICAgICAgICAgICAgIiUjeCB0byAlI3gsIGRhdGUgPSAlMDR4LSUwMngtJTAyeCBc biIsCi0gICAgICAgICAgIGNwdV9udW0sIHVjaS0+Y3B1X3NpZy5yZXYsIHZhbFsxXSwgbWNfaW50 ZWwtPmhkci55ZWFyLAorICAgICAgICAgICBjcHVfbnVtLCBzaWctPnJldiwgdmFsWzFdLCBtY19p bnRlbC0+aGRyLnllYXIsCiAgICAgICAgICAgIG1jX2ludGVsLT5oZHIubW9udGgsIG1jX2ludGVs LT5oZHIuZGF5KTsKLSAgICB1Y2ktPmNwdV9zaWcucmV2ID0gdmFsWzFdOworICAgIHNpZy0+cmV2 ID0gdmFsWzFdOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv c3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXggNDY4YTg0Ny4uNDc2 MWJlOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9zcGVjX2N0cmwuYwpAQCAtNDM4LDcgKzQzOCw3IEBAIHN0YXRpYyBib29sIF9faW5pdCBj aGVja19zbXRfZW5hYmxlZCh2b2lkKQogLyogQ2FsY3VsYXRlIHdoZXRoZXIgUmV0cG9saW5lIGlz IGtub3duLXNhZmUgb24gdGhpcyBDUFUuICovCiBzdGF0aWMgYm9vbCBfX2luaXQgcmV0cG9saW5l X3NhZmUodWludDY0X3QgY2FwcykKIHsKLSAgICB1bnNpZ25lZCBpbnQgdWNvZGVfcmV2ID0gdGhp c19jcHUodWNvZGVfY3B1X2luZm8pLmNwdV9zaWcucmV2OworICAgIHVuc2lnbmVkIGludCB1Y29k ZV9yZXYgPSB0aGlzX2NwdShjcHVfc2lnKS5yZXY7CiAKICAgICBpZiAoIGJvb3RfY3B1X2RhdGEu eDg2X3ZlbmRvciAmIChYODZfVkVORE9SX0FNRCB8IFg4Nl9WRU5ET1JfSFlHT04pICkKICAgICAg ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21pY3JvY29k ZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9taWNyb2NvZGUuaAppbmRleCAzMjM4NzQzLi41Yjgy ODlmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21pY3JvY29kZS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvbWljcm9jb2RlLmgKQEAgLTEwLDcgKzEwLDYgQEAgZW51bSBtaWNy b2NvZGVfbWF0Y2hfcmVzdWx0IHsKIH07CiAKIHN0cnVjdCBjcHVfc2lnbmF0dXJlOwotc3RydWN0 IHVjb2RlX2NwdV9pbmZvOwogCiBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoIHsKICAgICB1bmlvbiB7 CkBAIC0zOSwxNiArMzgsNyBAQCBzdHJ1Y3QgY3B1X3NpZ25hdHVyZSB7CiAgICAgdW5zaWduZWQg aW50IHJldjsKIH07CiAKLXN0cnVjdCB1Y29kZV9jcHVfaW5mbyB7Ci0gICAgc3RydWN0IGNwdV9z aWduYXR1cmUgY3B1X3NpZzsKLSAgICB1bmlvbiB7Ci0gICAgICAgIHN0cnVjdCBtaWNyb2NvZGVf aW50ZWwgKm1jX2ludGVsOwotICAgICAgICBzdHJ1Y3QgbWljcm9jb2RlX2FtZCAqbWNfYW1kOwot ICAgICAgICB2b2lkICptY192YWxpZDsKLSAgICB9IG1jOwotfTsKLQotREVDTEFSRV9QRVJfQ1BV KHN0cnVjdCB1Y29kZV9jcHVfaW5mbywgdWNvZGVfY3B1X2luZm8pOworREVDTEFSRV9QRVJfQ1BV KHN0cnVjdCBjcHVfc2lnbmF0dXJlLCBjcHVfc2lnKTsKIGV4dGVybiBjb25zdCBzdHJ1Y3QgbWlj cm9jb2RlX29wcyAqbWljcm9jb2RlX29wczsKIAogY29uc3Qgc3RydWN0IG1pY3JvY29kZV9wYXRj aCAqbWljcm9jb2RlX2dldF9jYWNoZSh2b2lkKTsKLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs