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 A7C3EC32756 for ; Fri, 9 Aug 2019 14:59:04 +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 70AA3208C4 for ; Fri, 9 Aug 2019 14:59:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 70AA3208C4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.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 1hw6Ls-0006Po-R2; Fri, 09 Aug 2019 14:58:44 +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 1hw6Ls-0006PG-4S for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 14:58:44 +0000 X-Inumbo-ID: 2ad9afae-bab6-11e9-a483-0734b6965e9a Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 2ad9afae-bab6-11e9-a483-0734b6965e9a; Fri, 09 Aug 2019 14:58:38 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 1DBFFAF38; Fri, 9 Aug 2019 14:58:37 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 9 Aug 2019 16:57:46 +0200 Message-Id: <20190809145833.1020-2-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190809145833.1020-1-jgross@suse.com> References: <20190809145833.1020-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v2 01/48] xen/sched: use new sched_unit instead of vcpu in scheduler interfaces 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: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Robert VanVossen , Dario Faggioli , Julien Grall , Josh Whitehead , Meng Xu , Jan Beulich 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" SW4gb3JkZXIgdG8gcHJlcGFyZSBjb3JlLSBhbmQgc29ja2V0LXNjaGVkdWxpbmcgdXNlIGEgbmV3 IHN0cnVjdApzY2hlZF91bml0IGluc3RlYWQgb2Ygc3RydWN0IHZjcHUgZm9yIGludGVyZmFjZXMg b2YgdGhlIGRpZmZlcmVudApzY2hlZHVsZXJzLgoKUmVuYW1lIHRoZSBwZXItc2NoZWR1bGVyIGZ1 bmN0aW9ucyBpbnNlcnRfdmNwdSBhbmQgcmVtb3ZlX3ZjcHUgdG8KaW5zZXJ0X3VuaXQgYW5kIHJl bW92ZV91bml0IHRvIHJlZmxlY3QgdGhlIGNoYW5nZSBvZiB0aGUgcGFyYW1ldGVyLgpJbiB0aGUg c2NoZWR1bGVycyByZW5hbWUgbG9jYWwgZnVuY3Rpb25zIHN3aXRjaGVkIHRvIHNjaGVkX3VuaXQs IHRvby4KCkZvciBub3cgdGhpcyBuZXcgc3RydWN0IHdpbGwgY29udGFpbiBhIGRvbWFpbiwgYSB2 Y3B1IHBvaW50ZXIgYW5kIGEKdW5pdF9pZCBvbmx5IGFuZCBpcyBhbGxvY2F0ZWQgYXQgdmNwdSBj cmVhdGlvbiB0aW1lLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu Y29tPgpSZXZpZXdlZC1ieTogRGFyaW8gRmFnZ2lvbGkgPGRmYWdnaW9saUBzdXNlLmNvbT4KLS0t ClJGQyBWMjoKLSBtb3ZlIGRlZmluaXRpb24gb2Ygc3RydWN0IHNjaGVkX3VuaXQgdG8gc2NoZWQu aCAoQW5kcmV3IENvb3BlcikKVjE6Ci0gcmVuYW1lICJpdGVtIiB0byAidW5pdCIgKEdlb3JnZSBE dW5sYXApClYyOgotIHJlbmFtZSB1bml0LT52Y3B1IHRvIHVuaXQtPnZjcHVfbGlzdCAoSmFuIEJl dWxpY2gpCi0gbWVyZ2UgcGF0Y2ggd2l0aCBuZXh0IG9uZSBpbiBzZXJpZXMgKERhcmlvIEZhZ2dp b2xpKQotIG1lcmdlIHBhdGNoIGludHJvZHVjaW5nIGRvbWFpbiBwb2ludGVyIGluIHNjaGVkX3Vu aXQgaW50byB0aGlzIG9uZQogIChKYW4gQmV1bGljaCkKLSBtZXJnZSBwYXRjaCBpbnRyb2R1Y2lu ZyB1bml0X2lkIGludG8gdGhpcyBvbmUKLS0tCiB4ZW4vY29tbW9uL3NjaGVkX2FyaW5jNjUzLmMg fCAzMCArKysrKysrKystLS0tLS0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgICB8IDQxICsr KysrKysrKysrKy0tLS0tLS0tCiB4ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYyAgfCA1NyArKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tCiB4ZW4vY29tbW9uL3NjaGVkX251bGwuYyAgICAgfCAz NyArKysrKysrKysrKy0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWRfcnQuYyAgICAgICB8IDMzICsr KysrKysrKy0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWR1bGUuYyAgICAgICB8IDU0ICsrKysrKysr KysrKysrKysrLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCAgfCA5MiArKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3hl bi9zY2hlZC5oICAgICB8ICA4ICsrKysKIDggZmlsZXMgY2hhbmdlZCwgMjE5IGluc2VydGlvbnMo KyksIDEzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkX2FyaW5j NjUzLmMgYi94ZW4vY29tbW9uL3NjaGVkX2FyaW5jNjUzLmMKaW5kZXggNzJiOTg4ZWE1Zi4uMjA1 OTMxNDc5MSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jCisrKyBiL3hl bi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYwpAQCAtMzc2LDEzICszNzYsMTYgQEAgYTY1M3NjaGVk X2RlaW5pdChzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCiAgKiBUaGlzIGZ1bmN0aW9uIGFsbG9jYXRl cyBzY2hlZHVsZXItc3BlY2lmaWMgZGF0YSBmb3IgYSBWQ1BVCiAgKgogICogQHBhcmFtIG9wcyAg ICAgICBQb2ludGVyIHRvIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHNjaGVkdWxlciBzdHJ1Y3R1cmUK KyAqIEBwYXJhbSB1bml0ICAgICAgUG9pbnRlciB0byBzdHJ1Y3Qgc2NoZWRfdW5pdAogICoKICAq IEByZXR1cm4gICAgICAgICAgUG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGRhdGEKICAqLwogc3Rh dGljIHZvaWQgKgotYTY1M3NjaGVkX2FsbG9jX3ZkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgc3RydWN0IHZjcHUgKnZjLCB2b2lkICpkZCkKK2E2NTNzY2hlZF9hbGxvY192ZGF0YShj b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91bml0ICp1bml0LAorICAg ICAgICAgICAgICAgICAgICAgIHZvaWQgKmRkKQogewogICAgIGE2NTNzY2hlZF9wcml2X3QgKnNj aGVkX3ByaXYgPSBTQ0hFRF9QUklWKG9wcyk7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+ dmNwdV9saXN0OwogICAgIGFyaW5jNjUzX3ZjcHVfdCAqc3ZjOwogICAgIHVuc2lnbmVkIGludCBl bnRyeTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtNDU4LDExICs0NjEsMTMgQEAgYTY1 M3NjaGVkX2ZyZWVfdmRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB2b2lkICpwcml2 KQogICogWGVuIHNjaGVkdWxlciBjYWxsYmFjayBmdW5jdGlvbiB0byBzbGVlcCBhIFZDUFUKICAq CiAgKiBAcGFyYW0gb3BzICAgICAgIFBvaW50ZXIgdG8gdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2No ZWR1bGVyIHN0cnVjdHVyZQotICogQHBhcmFtIHZjICAgICAgICBQb2ludGVyIHRvIHRoZSBWQ1BV IHN0cnVjdHVyZSBmb3IgdGhlIGN1cnJlbnQgZG9tYWluCisgKiBAcGFyYW0gdW5pdCAgICAgIFBv aW50ZXIgdG8gc3RydWN0IHNjaGVkX3VuaXQKICAqLwogc3RhdGljIHZvaWQKLWE2NTNzY2hlZF92 Y3B1X3NsZWVwKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQor YTY1M3NjaGVkX3VuaXRfc2xlZXAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qg c2NoZWRfdW5pdCAqdW5pdCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0LT52Y3B1X2xp c3Q7CisKICAgICBpZiAoIEFWQ1BVKHZjKSAhPSBOVUxMICkKICAgICAgICAgQVZDUFUodmMpLT5h d2FrZSA9IDA7CiAKQEAgLTQ3OCwxMSArNDgzLDEzIEBAIGE2NTNzY2hlZF92Y3B1X3NsZWVwKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQogICogWGVuIHNjaGVk dWxlciBjYWxsYmFjayBmdW5jdGlvbiB0byB3YWtlIHVwIGEgVkNQVQogICoKICAqIEBwYXJhbSBv cHMgICAgICAgUG9pbnRlciB0byB0aGlzIGluc3RhbmNlIG9mIHRoZSBzY2hlZHVsZXIgc3RydWN0 dXJlCi0gKiBAcGFyYW0gdmMgICAgICAgIFBvaW50ZXIgdG8gdGhlIFZDUFUgc3RydWN0dXJlIGZv ciB0aGUgY3VycmVudCBkb21haW4KKyAqIEBwYXJhbSB1bml0ICAgICAgUG9pbnRlciB0byBzdHJ1 Y3Qgc2NoZWRfdW5pdAogICovCiBzdGF0aWMgdm9pZAotYTY1M3NjaGVkX3ZjcHVfd2FrZShjb25z dCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YykKK2E2NTNzY2hlZF91bml0 X3dha2UoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5p dCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CisKICAgICBpZiAo IEFWQ1BVKHZjKSAhPSBOVUxMICkKICAgICAgICAgQVZDUFUodmMpLT5hd2FrZSA9IDE7CiAKQEAg LTU5NywxMyArNjA0LDE0IEBAIGE2NTNzY2hlZF9kb19zY2hlZHVsZSgKICAqIFhlbiBzY2hlZHVs ZXIgY2FsbGJhY2sgZnVuY3Rpb24gdG8gc2VsZWN0IGEgQ1BVIGZvciB0aGUgVkNQVSB0byBydW4g b24KICAqCiAgKiBAcGFyYW0gb3BzICAgICAgIFBvaW50ZXIgdG8gdGhpcyBpbnN0YW5jZSBvZiB0 aGUgc2NoZWR1bGVyIHN0cnVjdHVyZQotICogQHBhcmFtIHYgICAgICAgICBQb2ludGVyIHRvIHRo ZSBWQ1BVIHN0cnVjdHVyZSBmb3IgdGhlIGN1cnJlbnQgZG9tYWluCisgKiBAcGFyYW0gdW5pdCAg ICAgIFBvaW50ZXIgdG8gc3RydWN0IHNjaGVkX3VuaXQKICAqCiAgKiBAcmV0dXJuICAgICAgICAg IE51bWJlciBvZiBzZWxlY3RlZCBwaHlzaWNhbCBDUFUKICAqLwogc3RhdGljIGludAotYTY1M3Nj aGVkX3BpY2tfY3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZj KQorYTY1M3NjaGVkX3BpY2tfY3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0 IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9s aXN0OwogICAgIGNwdW1hc2tfdCAqb25saW5lOwogICAgIHVuc2lnbmVkIGludCBjcHU7CiAKQEAg LTcwMiwxMSArNzEwLDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyIHNjaGVkX2Fy aW5jNjUzX2RlZiA9IHsKICAgICAuZnJlZV92ZGF0YSAgICAgPSBhNjUzc2NoZWRfZnJlZV92ZGF0 YSwKICAgICAuYWxsb2NfdmRhdGEgICAgPSBhNjUzc2NoZWRfYWxsb2NfdmRhdGEsCiAKLSAgICAu aW5zZXJ0X3ZjcHUgICAgPSBOVUxMLAotICAgIC5yZW1vdmVfdmNwdSAgICA9IE5VTEwsCisgICAg Lmluc2VydF91bml0ICAgID0gTlVMTCwKKyAgICAucmVtb3ZlX3VuaXQgICAgPSBOVUxMLAogCi0g ICAgLnNsZWVwICAgICAgICAgID0gYTY1M3NjaGVkX3ZjcHVfc2xlZXAsCi0gICAgLndha2UgICAg ICAgICAgID0gYTY1M3NjaGVkX3ZjcHVfd2FrZSwKKyAgICAuc2xlZXAgICAgICAgICAgPSBhNjUz c2NoZWRfdW5pdF9zbGVlcCwKKyAgICAud2FrZSAgICAgICAgICAgPSBhNjUzc2NoZWRfdW5pdF93 YWtlLAogICAgIC55aWVsZCAgICAgICAgICA9IE5VTEwsCiAgICAgLmNvbnRleHRfc2F2ZWQgID0g TlVMTCwKIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYyBiL3hlbi9jb21t b24vc2NoZWRfY3JlZGl0LmMKaW5kZXggNzBmZTcxODEyNy4uNDY0MTk0YTU3OCAxMDA2NDQKLS0t IGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRp dC5jCkBAIC04NTQsMTUgKzg1NCwxNiBAQCBfY3NjaGVkX2NwdV9waWNrKGNvbnN0IHN0cnVjdCBz Y2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjLCBib29sX3QgY29tbWl0KQogfQogCiBzdGF0 aWMgaW50Ci1jc2NoZWRfY3B1X3BpY2soY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1 Y3QgdmNwdSAqdmMpCitjc2NoZWRfY3B1X3BpY2soY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3Bz LCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0 LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IGNzY2hlZF92Y3B1ICpzdmMgPSBDU0NIRURfVkNQVSh2 Yyk7CiAKICAgICAvKgogICAgICAqIFdlIGhhdmUgYmVlbiBjYWxsZWQgYnkgdmNwdV9taWdyYXRl KCkgKGluIHNjaGVkdWxlLmMpLCBhcyBwYXJ0CiAgICAgICogb2YgdGhlIHByb2Nlc3Mgb2Ygc2Vl aW5nIGlmIHZjIGNhbiBiZSBtaWdyYXRlZCB0byBhbm90aGVyIHBjcHUuCiAgICAgICogV2UgbWFr ZSBhIG5vdGUgYWJvdXQgdGhpcyBpbiBzdmMtPmZsYWdzIHNvIHRoYXQgbGF0ZXIsIGluCi0gICAg ICogY3NjaGVkX3ZjcHVfd2FrZSgpIChzdGlsbCBjYWxsZWQgZnJvbSB2Y3B1X21pZ3JhdGUoKSkg d2Ugd29uJ3QKKyAgICAgKiBjc2NoZWRfdW5pdF93YWtlKCkgKHN0aWxsIGNhbGxlZCBmcm9tIHZj cHVfbWlncmF0ZSgpKSB3ZSB3b24ndAogICAgICAqIGdldCBib29zdGVkLCB3aGljaCB3ZSBkb24n dCBkZXNlcnZlIGFzIHdlIGFyZSAib25seSIgbWlncmF0aW5nLgogICAgICAqLwogICAgIHNldF9i aXQoQ1NDSEVEX0ZMQUdfVkNQVV9NSUdSQVRJTkcsICZzdmMtPmZsYWdzKTsKQEAgLTk5MCw4ICs5 OTEsMTAgQEAgY3NjaGVkX3ZjcHVfYWNjdChzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydiwgdW5z aWduZWQgaW50IGNwdSkKIH0KIAogc3RhdGljIHZvaWQgKgotY3NjaGVkX2FsbG9jX3ZkYXRhKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjLCB2b2lkICpkZCkKK2Nz Y2hlZF9hbGxvY192ZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hl ZF91bml0ICp1bml0LAorICAgICAgICAgICAgICAgICAgIHZvaWQgKmRkKQogeworICAgIHN0cnVj dCB2Y3B1ICp2YyA9IHVuaXQtPnZjcHVfbGlzdDsKICAgICBzdHJ1Y3QgY3NjaGVkX3ZjcHUgKnN2 YzsKIAogICAgIC8qIEFsbG9jYXRlIHBlci1WQ1BVIGluZm8gKi8KQEAgLTEwMTEsOCArMTAxNCw5 IEBAIGNzY2hlZF9hbGxvY192ZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVj dCB2Y3B1ICp2Yywgdm9pZCAqZGQpCiB9CiAKIHN0YXRpYyB2b2lkCi1jc2NoZWRfdmNwdV9pbnNl cnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCitjc2NoZWRf dW5pdF9pbnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5p dCAqdW5pdCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAg c3RydWN0IGNzY2hlZF92Y3B1ICpzdmMgPSB2Yy0+c2NoZWRfcHJpdjsKICAgICBzcGlubG9ja190 ICpsb2NrOwogCkBAIC0xMDIxLDcgKzEwMjUsNyBAQCBjc2NoZWRfdmNwdV9pbnNlcnQoY29uc3Qg c3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCiAgICAgLyogY3NjaGVkX2Nw dV9waWNrKCkgbG9va3MgaW4gdmMtPnByb2Nlc3NvcidzIHJ1bnEsIHNvIHdlIG5lZWQgdGhlIGxv Y2suICovCiAgICAgbG9jayA9IHZjcHVfc2NoZWR1bGVfbG9ja19pcnEodmMpOwogCi0gICAgdmMt PnByb2Nlc3NvciA9IGNzY2hlZF9jcHVfcGljayhvcHMsIHZjKTsKKyAgICB2Yy0+cHJvY2Vzc29y ID0gY3NjaGVkX2NwdV9waWNrKG9wcywgdW5pdCk7CiAKICAgICBzcGluX3VubG9ja19pcnEobG9j ayk7CiAKQEAgLTEwNDYsOSArMTA1MCwxMCBAQCBjc2NoZWRfZnJlZV92ZGF0YShjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIHZvaWQgKnByaXYpCiB9CiAKIHN0YXRpYyB2b2lkCi1jc2NoZWRf dmNwdV9yZW1vdmUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMp Citjc2NoZWRfdW5pdF9yZW1vdmUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qg c2NoZWRfdW5pdCAqdW5pdCkKIHsKICAgICBzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydiA9IENT Q0hFRF9QUklWKG9wcyk7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0Owog ICAgIHN0cnVjdCBjc2NoZWRfdmNwdSAqIGNvbnN0IHN2YyA9IENTQ0hFRF9WQ1BVKHZjKTsKICAg ICBzdHJ1Y3QgY3NjaGVkX2RvbSAqIGNvbnN0IHNkb20gPSBzdmMtPnNkb207CiAKQEAgLTEwNzMs OCArMTA3OCw5IEBAIGNzY2hlZF92Y3B1X3JlbW92ZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpv cHMsIHN0cnVjdCB2Y3B1ICp2YykKIH0KIAogc3RhdGljIHZvaWQKLWNzY2hlZF92Y3B1X3NsZWVw KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQorY3NjaGVkX3Vu aXRfc2xlZXAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAq dW5pdCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAgc3Ry dWN0IGNzY2hlZF92Y3B1ICogY29uc3Qgc3ZjID0gQ1NDSEVEX1ZDUFUodmMpOwogICAgIHVuc2ln bmVkIGludCBjcHUgPSB2Yy0+cHJvY2Vzc29yOwogCkBAIC0xMDk3LDggKzExMDMsOSBAQCBjc2No ZWRfdmNwdV9zbGVlcChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2 YykKIH0KIAogc3RhdGljIHZvaWQKLWNzY2hlZF92Y3B1X3dha2UoY29uc3Qgc3RydWN0IHNjaGVk dWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCitjc2NoZWRfdW5pdF93YWtlKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0 IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBjc2NoZWRfdmNwdSAqIGNv bnN0IHN2YyA9IENTQ0hFRF9WQ1BVKHZjKTsKICAgICBib29sX3QgbWlncmF0aW5nOwogCkBAIC0x MTU4LDggKzExNjUsOSBAQCBjc2NoZWRfdmNwdV93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgc3RydWN0IHZjcHUgKnZjKQogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVkX3ZjcHVfeWll bGQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCitjc2NoZWRf dW5pdF95aWVsZChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91bml0 ICp1bml0KQogeworICAgIHN0cnVjdCB2Y3B1ICp2YyA9IHVuaXQtPnZjcHVfbGlzdDsKICAgICBz dHJ1Y3QgY3NjaGVkX3ZjcHUgKiBjb25zdCBzdmMgPSBDU0NIRURfVkNQVSh2Yyk7CiAKICAgICAv KiBMZXQgdGhlIHNjaGVkdWxlciBrbm93IHRoYXQgdGhpcyB2Y3B1IGlzIHRyeWluZyB0byB5aWVs ZCAqLwpAQCAtMTIxMiw5ICsxMjIwLDEwIEBAIGNzY2hlZF9kb21fY250bCgKIH0KIAogc3RhdGlj IHZvaWQKLWNzY2hlZF9hZmZfY250bChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVj dCB2Y3B1ICp2LAorY3NjaGVkX2FmZl9jbnRsKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywg c3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCiAgICAgICAgICAgICAgICAgY29uc3QgY3B1bWFza190 ICpoYXJkLCBjb25zdCBjcHVtYXNrX3QgKnNvZnQpCiB7CisgICAgc3RydWN0IHZjcHUgKnYgPSB1 bml0LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IGNzY2hlZF92Y3B1ICpzdmMgPSBDU0NIRURfVkNQ VSh2KTsKIAogICAgIGlmICggIWhhcmQgKQpAQCAtMTc0Myw3ICsxNzUyLDcgQEAgY3NjaGVkX2xv YWRfYmFsYW5jZShzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydiwgaW50IGNwdSwKICAgICAgICAg ICAgICAgICAgKiAtIGlmIHdlIHJhY2Ugd2l0aCBpbmNfbnJfcnVubmFibGUoKSwgd2Ugc2tpcCBh IHBDUFUgdGhhdCBtYXkKICAgICAgICAgICAgICAgICAgKiAgIGhhdmUgcnVubmFibGUgdkNQVXMg aW4gaXRzIHJ1bnF1ZXVlLCBidXQgdGhhdCdzIG5vdCBhCiAgICAgICAgICAgICAgICAgICogICBw cm9ibGVtIGJlY2F1c2U6Ci0gICAgICAgICAgICAgICAgICogICArIGlmIHJhY2luZyB3aXRoIGNz Y2hlZF92Y3B1X2luc2VydCgpIG9yIGNzY2hlZF92Y3B1X3dha2UoKSwKKyAgICAgICAgICAgICAg ICAgKiAgICsgaWYgcmFjaW5nIHdpdGggY3NjaGVkX3VuaXRfaW5zZXJ0KCkgb3IgY3NjaGVkX3Vu aXRfd2FrZSgpLAogICAgICAgICAgICAgICAgICAqICAgICBfX3J1bnFfdGlja2xlKCkgd2lsbCBi ZSBjYWxsZWQgYWZ0ZXJ3b3Jkcywgc28gdGhlIHZDUFUKICAgICAgICAgICAgICAgICAgKiAgICAg d29uJ3QgZ2V0IHN0dWNrIGluIHRoZSBydW5xdWV1ZSBmb3IgdG9vIGxvbmc7CiAgICAgICAgICAg ICAgICAgICogICArIGlmIHJhY2luZyB3aXRoIGNzY2hlZF9ydW5xX3N0ZWFsKCksIGl0IG1heSBi ZSB0aGF0IGEKQEAgLTIyNTYsMTIgKzIyNjUsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hl ZHVsZXIgc2NoZWRfY3JlZGl0X2RlZiA9IHsKIAogICAgIC5nbG9iYWxfaW5pdCAgICA9IGNzY2hl ZF9nbG9iYWxfaW5pdCwKIAotICAgIC5pbnNlcnRfdmNwdSAgICA9IGNzY2hlZF92Y3B1X2luc2Vy dCwKLSAgICAucmVtb3ZlX3ZjcHUgICAgPSBjc2NoZWRfdmNwdV9yZW1vdmUsCisgICAgLmluc2Vy dF91bml0ICAgID0gY3NjaGVkX3VuaXRfaW5zZXJ0LAorICAgIC5yZW1vdmVfdW5pdCAgICA9IGNz Y2hlZF91bml0X3JlbW92ZSwKIAotICAgIC5zbGVlcCAgICAgICAgICA9IGNzY2hlZF92Y3B1X3Ns ZWVwLAotICAgIC53YWtlICAgICAgICAgICA9IGNzY2hlZF92Y3B1X3dha2UsCi0gICAgLnlpZWxk ICAgICAgICAgID0gY3NjaGVkX3ZjcHVfeWllbGQsCisgICAgLnNsZWVwICAgICAgICAgID0gY3Nj aGVkX3VuaXRfc2xlZXAsCisgICAgLndha2UgICAgICAgICAgID0gY3NjaGVkX3VuaXRfd2FrZSwK KyAgICAueWllbGQgICAgICAgICAgPSBjc2NoZWRfdW5pdF95aWVsZCwKIAogICAgIC5hZGp1c3Qg ICAgICAgICA9IGNzY2hlZF9kb21fY250bCwKICAgICAuYWRqdXN0X2FmZmluaXR5PSBjc2NoZWRf YWZmX2NudGwsCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYyBiL3hlbi9j b21tb24vc2NoZWRfY3JlZGl0Mi5jCmluZGV4IDZiNzdkYTc0NzYuLjIxMjBkYTZmOTggMTAwNjQ0 Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCisrKyBiL3hlbi9jb21tb24vc2NoZWRf Y3JlZGl0Mi5jCkBAIC0yNzMsNyArMjczLDcgQEAKICAqIENTRkxBR19kZWxheWVkX3J1bnFfYWRk OiBEbyB3ZSBuZWVkIHRvIGFkZCB0aGlzIHRvIHRoZSBydW5xdWV1ZSBvbmNlIGl0J2QgZG9uZQog ICogYmVpbmcgY29udGV4dCBzd2l0Y2hlZCBvdXQ/CiAgKiArIFNldCB3aGVuIHNjaGVkdWxpbmcg b3V0IGluIGNzY2hlZDJfc2NoZWR1bGUoKSBpZiBwcmV2IGlzIHJ1bm5hYmxlCi0gKiArIFNldCBp biBjc2NoZWQyX3ZjcHVfd2FrZSBpZiBpdCBmaW5kcyBDU0ZMQUdfc2NoZWR1bGVkIHNldAorICog KyBTZXQgaW4gY3NjaGVkMl91bml0X3dha2UgaWYgaXQgZmluZHMgQ1NGTEFHX3NjaGVkdWxlZCBz ZXQKICAqICsgUmVhZCBpbiBjc2NoZWQyX2NvbnRleHRfc2F2ZWQoKS4gIElmIHNldCwgaXQgYWRk cyBwcmV2IHRvIHRoZSBydW5xdWV1ZSBhbmQKICAqICAgY2xlYXJzIHRoZSBiaXQuCiAgKi8KQEAg LTYyNCwxNCArNjI0LDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNfY2FwKGNvbnN0IHN0cnVj dCBjc2NoZWQyX3ZjcHUgKnN2YykKICAqIFRoaXMgbG9naWMgaXMgZW50aXJlbHkgaW1wbGVtZW50 ZWQgaW4gcnVucV90aWNrbGUoKSwgYW5kIHRoYXQgaXMgZW5vdWdoLgogICogSW4gZmFjdCwgaW4g dGhpcyBzY2hlZHVsZXIsIHBsYWNlbWVudCBvZiBhIHZjcHUgb24gb25lIG9mIHRoZSBwY3B1cyBv ZiBhCiAgKiBydW5xLCBfYWx3YXlzXyBoYXBwZW5zIGJ5IG1lYW5zIG9mIHRpY2tsaW5nOgotICog IC0gd2hlbiBhIHZjcHUgd2FrZXMgdXAsIGl0IGNhbGxzIGNzY2hlZDJfdmNwdV93YWtlKCksIHdo aWNoIGNhbGxzCisgKiAgLSB3aGVuIGEgdmNwdSB3YWtlcyB1cCwgaXQgY2FsbHMgY3NjaGVkMl91 bml0X3dha2UoKSwgd2hpY2ggY2FsbHMKICAqICAgIHJ1bnFfdGlja2xlKCk7CiAgKiAgLSB3aGVu IGEgbWlncmF0aW9uIGlzIGluaXRpYXRlZCBpbiBzY2hlZHVsZS5jLCB3ZSBjYWxsIGNzY2hlZDJf Y3B1X3BpY2soKSwKLSAqICAgIGNzY2hlZDJfdmNwdV9taWdyYXRlKCkgKHdoaWNoIGNhbGxzIG1p Z3JhdGUoKSkgYW5kIGNzY2hlZDJfdmNwdV93YWtlKCkuCisgKiAgICBjc2NoZWQyX3VuaXRfbWln cmF0ZSgpICh3aGljaCBjYWxscyBtaWdyYXRlKCkpIGFuZCBjc2NoZWQyX3VuaXRfd2FrZSgpLgog ICogICAgY3NjaGVkMl9jcHVfcGljaygpIGxvb2tzIGZvciB0aGUgbGVhc3QgbG9hZGVkIHJ1bnEg YW5kIHJldHVybiBqdXN0IGFueQotICogICAgb2YgaXRzIHByb2Nlc3NvcnMuIFRoZW4sIGNzY2hl ZDJfdmNwdV9taWdyYXRlKCkganVzdCBtb3ZlcyB0aGUgdmNwdSB0bworICogICAgb2YgaXRzIHBy b2Nlc3NvcnMuIFRoZW4sIGNzY2hlZDJfdW5pdF9taWdyYXRlKCkganVzdCBtb3ZlcyB0aGUgdmNw dSB0bwogICogICAgdGhlIGNob3NlbiBydW5xLCBhbmQgaXQgaXMgYWdhaW4gcnVucV90aWNrbGUo KSwgY2FsbGVkIGJ5Ci0gKiAgICBjc2NoZWQyX3ZjcHVfd2FrZSgpIHRoYXQgYWN0dWFsbHkgZGVj aWRlcyB3aGF0IHBjcHUgdG8gdXNlIHdpdGhpbiB0aGUKKyAqICAgIGNzY2hlZDJfdW5pdF93YWtl KCkgdGhhdCBhY3R1YWxseSBkZWNpZGVzIHdoYXQgcGNwdSB0byB1c2Ugd2l0aGluIHRoZQogICog ICAgY2hvc2VuIHJ1bnE7CiAgKiAgLSB3aGVuIGEgbWlncmF0aW9uIGlzIGluaXRpYXRlZCBpbiBz Y2hlZF9jcmVkaXQyLmMsIGJ5IGNhbGxpbmcgIG1pZ3JhdGUoKQogICogICAgZGlyZWN0bHksIHRo YXQgYWdhaW4gdGVtcG9yYXJpbHkgdXNlIGEgcmFuZG9tIHBjcHUgZnJvbSB0aGUgbmV3IHJ1bnEs CkBAIC0yMDI3LDggKzIwMjcsMTAgQEAgY3NjaGVkMl92Y3B1X2NoZWNrKHN0cnVjdCB2Y3B1ICp2 YykKICNlbmRpZgogCiBzdGF0aWMgdm9pZCAqCi1jc2NoZWQyX2FsbG9jX3ZkYXRhKGNvbnN0IHN0 cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjLCB2b2lkICpkZCkKK2NzY2hlZDJf YWxsb2NfdmRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5p dCAqdW5pdCwKKyAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGQpCiB7CisgICAgc3RydWN0IHZj cHUgKnZjID0gdW5pdC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBjc2NoZWQyX3ZjcHUgKnN2YzsK IAogICAgIC8qIEFsbG9jYXRlIHBlci1WQ1BVIGluZm8gKi8KQEAgLTIwNzAsOCArMjA3Miw5IEBA IGNzY2hlZDJfYWxsb2NfdmRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qg dmNwdSAqdmMsIHZvaWQgKmRkKQogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVkMl92Y3B1X3NsZWVw KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQorY3NjaGVkMl91 bml0X3NsZWVwKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQg KnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0OwogICAgIHN0 cnVjdCBjc2NoZWQyX3ZjcHUgKiBjb25zdCBzdmMgPSBjc2NoZWQyX3ZjcHUodmMpOwogCiAgICAg QVNTRVJUKCFpc19pZGxlX3ZjcHUodmMpKTsKQEAgLTIwOTIsOCArMjA5NSw5IEBAIGNzY2hlZDJf dmNwdV9zbGVlcChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YykK IH0KIAogc3RhdGljIHZvaWQKLWNzY2hlZDJfdmNwdV93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVs ZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQorY3NjaGVkMl91bml0X3dha2UoY29uc3Qgc3RydWN0 IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsKKyAgICBzdHJ1Y3Qg dmNwdSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IGNzY2hlZDJfdmNwdSAqIGNv bnN0IHN2YyA9IGNzY2hlZDJfdmNwdSh2Yyk7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHZjLT5w cm9jZXNzb3I7CiAgICAgc190aW1lX3Qgbm93OwpAQCAtMjE0NywxNiArMjE1MSwxOCBAQCBvdXQ6 CiB9CiAKIHN0YXRpYyB2b2lkCi1jc2NoZWQyX3ZjcHVfeWllbGQoY29uc3Qgc3RydWN0IHNjaGVk dWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdikKK2NzY2hlZDJfdW5pdF95aWVsZChjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogeworICAgIHN0cnVj dCB2Y3B1ICp2ID0gdW5pdC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBjc2NoZWQyX3ZjcHUgKiBj b25zdCBzdmMgPSBjc2NoZWQyX3ZjcHUodik7CiAKICAgICBfX3NldF9iaXQoX19DU0ZMQUdfdmNw dV95aWVsZCwgJnN2Yy0+ZmxhZ3MpOwogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVkMl9jb250ZXh0 X3NhdmVkKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQorY3Nj aGVkMl9jb250ZXh0X3NhdmVkKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNj aGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0 OwogICAgIHN0cnVjdCBjc2NoZWQyX3ZjcHUgKiBjb25zdCBzdmMgPSBjc2NoZWQyX3ZjcHUodmMp OwogICAgIHNwaW5sb2NrX3QgKmxvY2sgPSB2Y3B1X3NjaGVkdWxlX2xvY2tfaXJxKHZjKTsKICAg ICBzX3RpbWVfdCBub3cgPSBOT1coKTsKQEAgLTIxOTcsOSArMjIwMywxMCBAQCBjc2NoZWQyX2Nv bnRleHRfc2F2ZWQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMp CiAKICNkZWZpbmUgTUFYX0xPQUQgKFNUSU1FX01BWCkKIHN0YXRpYyBpbnQKLWNzY2hlZDJfY3B1 X3BpY2soY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCitjc2No ZWQyX2NwdV9waWNrKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3Vu aXQgKnVuaXQpCiB7CiAgICAgc3RydWN0IGNzY2hlZDJfcHJpdmF0ZSAqcHJ2ID0gY3NjaGVkMl9w cml2KG9wcyk7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0OwogICAgIGlu dCBpLCBtaW5fcnFpID0gLTEsIG1pbl9zX3JxaSA9IC0xOwogICAgIHVuc2lnbmVkIGludCBuZXdf Y3B1LCBjcHUgPSB2Yy0+cHJvY2Vzc29yOwogICAgIHN0cnVjdCBjc2NoZWQyX3ZjcHUgKnN2YyA9 IGNzY2hlZDJfdmNwdSh2Yyk7CkBAIC0yNzM0LDkgKzI3NDEsMTAgQEAgcmV0cnk6CiB9CiAKIHN0 YXRpYyB2b2lkCi1jc2NoZWQyX3ZjcHVfbWlncmF0ZSgKLSAgICBjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YywgdW5zaWduZWQgaW50IG5ld19jcHUpCitjc2NoZWQy X3VuaXRfbWlncmF0ZSgKKyAgICBjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBz Y2hlZF91bml0ICp1bml0LCB1bnNpZ25lZCBpbnQgbmV3X2NwdSkKIHsKKyAgICBzdHJ1Y3QgdmNw dSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHZjLT5kb21h aW47CiAgICAgc3RydWN0IGNzY2hlZDJfdmNwdSAqIGNvbnN0IHN2YyA9IGNzY2hlZDJfdmNwdSh2 Yyk7CiAgICAgc3RydWN0IGNzY2hlZDJfcnVucXVldWVfZGF0YSAqdHJxZDsKQEAgLTI5OTcsOSAr MzAwNSwxMCBAQCBjc2NoZWQyX2RvbV9jbnRsKAogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVkMl9h ZmZfY250bChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2LAorY3Nj aGVkMl9hZmZfY250bChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91 bml0ICp1bml0LAogICAgICAgICAgICAgICAgICBjb25zdCBjcHVtYXNrX3QgKmhhcmQsIGNvbnN0 IGNwdW1hc2tfdCAqc29mdCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IHVuaXQtPnZjcHVfbGlz dDsKICAgICBzdHJ1Y3QgY3NjaGVkMl92Y3B1ICpzdmMgPSBjc2NoZWQyX3ZjcHUodik7CiAKICAg ICBpZiAoICFoYXJkICkKQEAgLTMwOTcsOCArMzEwNiw5IEBAIGNzY2hlZDJfZnJlZV9kb21kYXRh KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgdm9pZCAqZGF0YSkKIH0KIAogc3RhdGljIHZv aWQKLWNzY2hlZDJfdmNwdV9pbnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1 Y3QgdmNwdSAqdmMpCitjc2NoZWQyX3VuaXRfaW5zZXJ0KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0g dW5pdC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBjc2NoZWQyX3ZjcHUgKnN2YyA9IHZjLT5zY2hl ZF9wcml2OwogICAgIHN0cnVjdCBjc2NoZWQyX2RvbSAqIGNvbnN0IHNkb20gPSBzdmMtPnNkb207 CiAgICAgc3BpbmxvY2tfdCAqbG9jazsKQEAgLTMxMDksNyArMzExOSw3IEBAIGNzY2hlZDJfdmNw dV9pbnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCiAg ICAgLyogY3NjaGVkMl9jcHVfcGljaygpIGV4cGVjdHMgdGhlIHBjcHUgbG9jayB0byBiZSBoZWxk ICovCiAgICAgbG9jayA9IHZjcHVfc2NoZWR1bGVfbG9ja19pcnEodmMpOwogCi0gICAgdmMtPnBy b2Nlc3NvciA9IGNzY2hlZDJfY3B1X3BpY2sob3BzLCB2Yyk7CisgICAgdmMtPnByb2Nlc3NvciA9 IGNzY2hlZDJfY3B1X3BpY2sob3BzLCB1bml0KTsKIAogICAgIHNwaW5fdW5sb2NrX2lycShsb2Nr KTsKIApAQCAtMzEzNiw4ICszMTQ2LDkgQEAgY3NjaGVkMl9mcmVlX3ZkYXRhKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKm9wcywgdm9pZCAqcHJpdikKIH0KIAogc3RhdGljIHZvaWQKLWNzY2hlZDJf dmNwdV9yZW1vdmUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMp Citjc2NoZWQyX3VuaXRfcmVtb3ZlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0 IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9s aXN0OwogICAgIHN0cnVjdCBjc2NoZWQyX3ZjcHUgKiBjb25zdCBzdmMgPSBjc2NoZWQyX3ZjcHUo dmMpOwogICAgIHNwaW5sb2NrX3QgKmxvY2s7CiAKQEAgLTQwODMsMTkgKzQwOTQsMTkgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgc2NoZWRfY3JlZGl0Ml9kZWYgPSB7CiAKICAgICAu Z2xvYmFsX2luaXQgICAgPSBjc2NoZWQyX2dsb2JhbF9pbml0LAogCi0gICAgLmluc2VydF92Y3B1 ICAgID0gY3NjaGVkMl92Y3B1X2luc2VydCwKLSAgICAucmVtb3ZlX3ZjcHUgICAgPSBjc2NoZWQy X3ZjcHVfcmVtb3ZlLAorICAgIC5pbnNlcnRfdW5pdCAgICA9IGNzY2hlZDJfdW5pdF9pbnNlcnQs CisgICAgLnJlbW92ZV91bml0ICAgID0gY3NjaGVkMl91bml0X3JlbW92ZSwKIAotICAgIC5zbGVl cCAgICAgICAgICA9IGNzY2hlZDJfdmNwdV9zbGVlcCwKLSAgICAud2FrZSAgICAgICAgICAgPSBj c2NoZWQyX3ZjcHVfd2FrZSwKLSAgICAueWllbGQgICAgICAgICAgPSBjc2NoZWQyX3ZjcHVfeWll bGQsCisgICAgLnNsZWVwICAgICAgICAgID0gY3NjaGVkMl91bml0X3NsZWVwLAorICAgIC53YWtl ICAgICAgICAgICA9IGNzY2hlZDJfdW5pdF93YWtlLAorICAgIC55aWVsZCAgICAgICAgICA9IGNz Y2hlZDJfdW5pdF95aWVsZCwKIAogICAgIC5hZGp1c3QgICAgICAgICA9IGNzY2hlZDJfZG9tX2Nu dGwsCiAgICAgLmFkanVzdF9hZmZpbml0eT0gY3NjaGVkMl9hZmZfY250bCwKICAgICAuYWRqdXN0 X2dsb2JhbCAgPSBjc2NoZWQyX3N5c19jbnRsLAogCiAgICAgLnBpY2tfY3B1ICAgICAgID0gY3Nj aGVkMl9jcHVfcGljaywKLSAgICAubWlncmF0ZSAgICAgICAgPSBjc2NoZWQyX3ZjcHVfbWlncmF0 ZSwKKyAgICAubWlncmF0ZSAgICAgICAgPSBjc2NoZWQyX3VuaXRfbWlncmF0ZSwKICAgICAuZG9f c2NoZWR1bGUgICAgPSBjc2NoZWQyX3NjaGVkdWxlLAogICAgIC5jb250ZXh0X3NhdmVkICA9IGNz Y2hlZDJfY29udGV4dF9zYXZlZCwKIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9udWxs LmMgYi94ZW4vY29tbW9uL3NjaGVkX251bGwuYwppbmRleCA2NzgyZWNkYTVjLi5mZDAzMWM5ODli IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX251bGwuYworKysgYi94ZW4vY29tbW9uL3Nj aGVkX251bGwuYwpAQCAtMTg2LDggKzE4Niw5IEBAIHN0YXRpYyB2b2lkIG51bGxfZGVpbml0X3Bk YXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgdm9pZCAqcGNwdSwgaW50IGNwdSkKIH0K IAogc3RhdGljIHZvaWQgKm51bGxfYWxsb2NfdmRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAq b3BzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZjcHUgKnYsIHZvaWQg KmRkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNjaGVkX3VuaXQgKnVu aXQsIHZvaWQgKmRkKQogeworICAgIHN0cnVjdCB2Y3B1ICp2ID0gdW5pdC0+dmNwdV9saXN0Owog ICAgIHN0cnVjdCBudWxsX3ZjcHUgKm52YzsKIAogICAgIG52YyA9IHh6YWxsb2Moc3RydWN0IG51 bGxfdmNwdSk7CkBAIC00MzUsOCArNDM2LDEwIEBAIHN0YXRpYyBzcGlubG9ja190ICpudWxsX3N3 aXRjaF9zY2hlZChzdHJ1Y3Qgc2NoZWR1bGVyICpuZXdfb3BzLAogICAgIHJldHVybiAmc2QtPl9s b2NrOwogfQogCi1zdGF0aWMgdm9pZCBudWxsX3ZjcHVfaW5zZXJ0KGNvbnN0IHN0cnVjdCBzY2hl ZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnYpCitzdGF0aWMgdm9pZCBudWxsX3VuaXRfaW5zZXJ0 KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnYgPSB1bml0 LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2ID0gbnVsbF9wcml2KG9w cyk7CiAgICAgc3RydWN0IG51bGxfdmNwdSAqbnZjID0gbnVsbF92Y3B1KHYpOwogICAgIHVuc2ln bmVkIGludCBjcHU7CkBAIC00OTYsOCArNDk5LDEwIEBAIHN0YXRpYyB2b2lkIG51bGxfdmNwdV9p bnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdikKICAgICBT Q0hFRF9TVEFUX0NSQU5LKHZjcHVfaW5zZXJ0KTsKIH0KIAotc3RhdGljIHZvaWQgbnVsbF92Y3B1 X3JlbW92ZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2KQorc3Rh dGljIHZvaWQgbnVsbF91bml0X3JlbW92ZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogewor ICAgIHN0cnVjdCB2Y3B1ICp2ID0gdW5pdC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBudWxsX3By aXZhdGUgKnBydiA9IG51bGxfcHJpdihvcHMpOwogICAgIHN0cnVjdCBudWxsX3ZjcHUgKm52YyA9 IG51bGxfdmNwdSh2KTsKICAgICBzcGlubG9ja190ICpsb2NrOwpAQCAtNTMyLDggKzUzNywxMCBA QCBzdGF0aWMgdm9pZCBudWxsX3ZjcHVfcmVtb3ZlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9w cywgc3RydWN0IHZjcHUgKnYpCiAgICAgU0NIRURfU1RBVF9DUkFOSyh2Y3B1X3JlbW92ZSk7CiB9 CiAKLXN0YXRpYyB2b2lkIG51bGxfdmNwdV93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9w cywgc3RydWN0IHZjcHUgKnYpCitzdGF0aWMgdm9pZCBudWxsX3VuaXRfd2FrZShjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2No ZWRfdW5pdCAqdW5pdCkKIHsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IHVuaXQtPnZjcHVfbGlzdDsK ICAgICBzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnYgPSBudWxsX3ByaXYob3BzKTsKICAgICBzdHJ1 Y3QgbnVsbF92Y3B1ICpudmMgPSBudWxsX3ZjcHUodik7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9 IHYtPnByb2Nlc3NvcjsKQEAgLTYwNCw4ICs2MTEsMTAgQEAgc3RhdGljIHZvaWQgbnVsbF92Y3B1 X3dha2UoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdikKICAgICBj cHVfcmFpc2Vfc29mdGlycSh2LT5wcm9jZXNzb3IsIFNDSEVEVUxFX1NPRlRJUlEpOwogfQogCi1z dGF0aWMgdm9pZCBudWxsX3ZjcHVfc2xlZXAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBz dHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyB2b2lkIG51bGxfdW5pdF9zbGVlcChjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpvcHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNjaGVk X3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnYgPSB1bml0LT52Y3B1X2xpc3Q7CiAg ICAgc3RydWN0IG51bGxfcHJpdmF0ZSAqcHJ2ID0gbnVsbF9wcml2KG9wcyk7CiAgICAgdW5zaWdu ZWQgaW50IGNwdSA9IHYtPnByb2Nlc3NvcjsKICAgICBib29sIHRpY2tsZWQgPSBmYWxzZTsKQEAg LTYzNywxNSArNjQ2LDE3IEBAIHN0YXRpYyB2b2lkIG51bGxfdmNwdV9zbGVlcChjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2KQogICAgIFNDSEVEX1NUQVRfQ1JBTkso dmNwdV9zbGVlcCk7CiB9CiAKLXN0YXRpYyBpbnQgbnVsbF9jcHVfcGljayhjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2KQorc3RhdGljIGludCBudWxsX2NwdV9waWNr KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7 CisgICAgc3RydWN0IHZjcHUgKnYgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAgQVNTRVJUKCFpc19p ZGxlX3ZjcHUodikpOwogICAgIHJldHVybiBwaWNrX2NwdShudWxsX3ByaXYob3BzKSwgdik7CiB9 CiAKLXN0YXRpYyB2b2lkIG51bGxfdmNwdV9taWdyYXRlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgc3RydWN0IHZjcHUgKnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgbmV3X2NwdSkKK3N0YXRpYyB2b2lkIG51bGxfdW5pdF9taWdyYXRlKGNvbnN0IHN0 cnVjdCBzY2hlZHVsZXIgKm9wcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBzY2hlZF91bml0ICp1bml0LCB1bnNpZ25lZCBpbnQgbmV3X2NwdSkKIHsKKyAgICBzdHJ1Y3Qg dmNwdSAqdiA9IHVuaXQtPnZjcHVfbGlzdDsKICAgICBzdHJ1Y3QgbnVsbF9wcml2YXRlICpwcnYg PSBudWxsX3ByaXYob3BzKTsKICAgICBzdHJ1Y3QgbnVsbF92Y3B1ICpudmMgPSBudWxsX3ZjcHUo dik7CiAKQEAgLTk2NSwxMyArOTc2LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVy IHNjaGVkX251bGxfZGVmID0gewogICAgIC5hbGxvY19kb21kYXRhICA9IG51bGxfYWxsb2NfZG9t ZGF0YSwKICAgICAuZnJlZV9kb21kYXRhICAgPSBudWxsX2ZyZWVfZG9tZGF0YSwKIAotICAgIC5p bnNlcnRfdmNwdSAgICA9IG51bGxfdmNwdV9pbnNlcnQsCi0gICAgLnJlbW92ZV92Y3B1ICAgID0g bnVsbF92Y3B1X3JlbW92ZSwKKyAgICAuaW5zZXJ0X3VuaXQgICAgPSBudWxsX3VuaXRfaW5zZXJ0 LAorICAgIC5yZW1vdmVfdW5pdCAgICA9IG51bGxfdW5pdF9yZW1vdmUsCiAKLSAgICAud2FrZSAg ICAgICAgICAgPSBudWxsX3ZjcHVfd2FrZSwKLSAgICAuc2xlZXAgICAgICAgICAgPSBudWxsX3Zj cHVfc2xlZXAsCisgICAgLndha2UgICAgICAgICAgID0gbnVsbF91bml0X3dha2UsCisgICAgLnNs ZWVwICAgICAgICAgID0gbnVsbF91bml0X3NsZWVwLAogICAgIC5waWNrX2NwdSAgICAgICA9IG51 bGxfY3B1X3BpY2ssCi0gICAgLm1pZ3JhdGUgICAgICAgID0gbnVsbF92Y3B1X21pZ3JhdGUsCisg ICAgLm1pZ3JhdGUgICAgICAgID0gbnVsbF91bml0X21pZ3JhdGUsCiAgICAgLmRvX3NjaGVkdWxl ICAgID0gbnVsbF9zY2hlZHVsZSwKIAogICAgIC5kdW1wX2NwdV9zdGF0ZSA9IG51bGxfZHVtcF9w Y3B1LApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9ydC5jIGIveGVuL2NvbW1vbi9zY2hl ZF9ydC5jCmluZGV4IGUwZTM1MGJkZjMuLmRhNzZhNDE0MzYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t b24vc2NoZWRfcnQuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX3J0LmMKQEAgLTEzNiw3ICsxMzYs NyBAQAogICogUlREU19kZWxheWVkX3J1bnFfYWRkOiBEbyB3ZSBuZWVkIHRvIGFkZCB0aGlzIHRv IHRoZSBSdW5RL0RlcGxldGVkUQogICogb25jZSBpdCdzIGRvbmUgYmVpbmcgY29udGV4dCBzd2l0 Y2hpbmcgb3V0PwogICogKyBTZXQgd2hlbiBzY2hlZHVsaW5nIG91dCBpbiBydF9zY2hlZHVsZSgp IGlmIHByZXYgaXMgcnVuYWJsZQotICogKyBTZXQgaW4gcnRfdmNwdV93YWtlIGlmIGl0IGZpbmRz IFJURFNfc2NoZWR1bGVkIHNldAorICogKyBTZXQgaW4gcnRfdW5pdF93YWtlIGlmIGl0IGZpbmRz IFJURFNfc2NoZWR1bGVkIHNldAogICogKyBSZWFkIGluIHJ0X2NvbnRleHRfc2F2ZWQoKS4gSWYg c2V0LCBpdCBhZGRzIHByZXYgdG8gdGhlIFJ1bnF1ZXVlL0RlcGxldGVkUQogICogICBhbmQgY2xl YXJzIHRoZSBiaXQuCiAgKi8KQEAgLTYzNiw4ICs2MzYsOSBAQCByZXBscV9yZWluc2VydChjb25z dCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBydF92Y3B1ICpzdmMpCiAgKiBhbmQgYXZh aWxhYmxlIGNwdXMKICAqLwogc3RhdGljIGludAotcnRfY3B1X3BpY2soY29uc3Qgc3RydWN0IHNj aGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCitydF9jcHVfcGljayhjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogeworICAgIHN0cnVjdCB2 Y3B1ICp2YyA9IHVuaXQtPnZjcHVfbGlzdDsKICAgICBjcHVtYXNrX3QgY3B1czsKICAgICBjcHVt YXNrX3QgKm9ubGluZTsKICAgICBpbnQgY3B1OwpAQCAtODM3LDggKzgzOCw5IEBAIHJ0X2ZyZWVf ZG9tZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHZvaWQgKmRhdGEpCiB9CiAKIHN0 YXRpYyB2b2lkICoKLXJ0X2FsbG9jX3ZkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywg c3RydWN0IHZjcHUgKnZjLCB2b2lkICpkZCkKK3J0X2FsbG9jX3ZkYXRhKGNvbnN0IHN0cnVjdCBz Y2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsIHZvaWQgKmRkKQogeworICAg IHN0cnVjdCB2Y3B1ICp2YyA9IHVuaXQtPnZjcHVfbGlzdDsKICAgICBzdHJ1Y3QgcnRfdmNwdSAq c3ZjOwogCiAgICAgLyogQWxsb2NhdGUgcGVyLVZDUFUgaW5mbyAqLwpAQCAtODgwLDggKzg4Miw5 IEBAIHJ0X2ZyZWVfdmRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB2b2lkICpwcml2 KQogICogZGVzdC4gY3B1cG9vbC4KICAqLwogc3RhdGljIHZvaWQKLXJ0X3ZjcHVfaW5zZXJ0KGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQorcnRfdW5pdF9pbnNl cnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkK IHsKKyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IHJ0 X3ZjcHUgKnN2YyA9IHJ0X3ZjcHUodmMpOwogICAgIHNfdGltZV90IG5vdzsKICAgICBzcGlubG9j a190ICpsb2NrOwpAQCAtODg5LDcgKzg5Miw3IEBAIHJ0X3ZjcHVfaW5zZXJ0KGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQogICAgIEJVR19PTiggaXNfaWRsZV92 Y3B1KHZjKSApOwogCiAgICAgLyogVGhpcyBpcyBzYWZlIGJlY2F1c2UgdmMgaXNuJ3QgeWV0IGJl aW5nIHNjaGVkdWxlZCAqLwotICAgIHZjLT5wcm9jZXNzb3IgPSBydF9jcHVfcGljayhvcHMsIHZj KTsKKyAgICB2Yy0+cHJvY2Vzc29yID0gcnRfY3B1X3BpY2sob3BzLCB1bml0KTsKIAogICAgIGxv Y2sgPSB2Y3B1X3NjaGVkdWxlX2xvY2tfaXJxKHZjKTsKIApAQCAtOTEzLDggKzkxNiw5IEBAIHJ0 X3ZjcHVfaW5zZXJ0KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZj KQogICogUmVtb3ZlIHJ0X3ZjcHUgc3ZjIGZyb20gdGhlIG9sZCBzY2hlZHVsZXIgaW4gc291cmNl IGNwdXBvb2wuCiAgKi8KIHN0YXRpYyB2b2lkCi1ydF92Y3B1X3JlbW92ZShjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YykKK3J0X3VuaXRfcmVtb3ZlKGNvbnN0IHN0 cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3Ry dWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBydF92Y3B1ICogY29u c3Qgc3ZjID0gcnRfdmNwdSh2Yyk7CiAgICAgc3RydWN0IHJ0X2RvbSAqIGNvbnN0IHNkb20gPSBz dmMtPnNkb207CiAgICAgc3BpbmxvY2tfdCAqbG9jazsKQEAgLTExMzMsOCArMTEzNyw5IEBAIHJ0 X3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc190aW1lX3Qgbm93LCBib29s X3QgdGFza2xldF93b3JrX3NjaGVkCiAgKiBUaGUgbG9jayBpcyBhbHJlYWR5IGdyYWJiZWQgaW4g c2NoZWR1bGUuYywgbm8gbmVlZCB0byBsb2NrIGhlcmUKICAqLwogc3RhdGljIHZvaWQKLXJ0X3Zj cHVfc2xlZXAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCity dF91bml0X3NsZWVwKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3Vu aXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5pdC0+dmNwdV9saXN0OwogICAg IHN0cnVjdCBydF92Y3B1ICogY29uc3Qgc3ZjID0gcnRfdmNwdSh2Yyk7CiAKICAgICBCVUdfT04o IGlzX2lkbGVfdmNwdSh2YykgKTsKQEAgLTEyNDgsOCArMTI1Myw5IEBAIHJ1bnFfdGlja2xlKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHJ0X3ZjcHUgKm5ldykKICAqIFRPRE86 IHdoYXQgaWYgdGhlc2UgdHdvIHZjcHVzIGJlbG9uZ3MgdG8gdGhlIHNhbWUgZG9tYWluPwogICov CiBzdGF0aWMgdm9pZAotcnRfdmNwdV93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywg c3RydWN0IHZjcHUgKnZjKQorcnRfdW5pdF93YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9w cywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCiB7CisgICAgc3RydWN0IHZjcHUgKnZjID0gdW5p dC0+dmNwdV9saXN0OwogICAgIHN0cnVjdCBydF92Y3B1ICogY29uc3Qgc3ZjID0gcnRfdmNwdSh2 Yyk7CiAgICAgc190aW1lX3Qgbm93OwogICAgIGJvb2xfdCBtaXNzZWQ7CkBAIC0xMzE4LDggKzEz MjQsOSBAQCBydF92Y3B1X3dha2UoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qg dmNwdSAqdmMpCiAgKiBhbmQgdGhlbiBwaWNrIHRoZSBoaWdoZXN0IHByaW9yaXR5IHZjcHUgZnJv bSBydW5xIHRvIHJ1bgogICovCiBzdGF0aWMgdm9pZAotcnRfY29udGV4dF9zYXZlZChjb25zdCBz dHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YykKK3J0X2NvbnRleHRfc2F2ZWQo Y29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsK KyAgICBzdHJ1Y3QgdmNwdSAqdmMgPSB1bml0LT52Y3B1X2xpc3Q7CiAgICAgc3RydWN0IHJ0X3Zj cHUgKnN2YyA9IHJ0X3ZjcHUodmMpOwogICAgIHNwaW5sb2NrX3QgKmxvY2sgPSB2Y3B1X3NjaGVk dWxlX2xvY2tfaXJxKHZjKTsKIApAQCAtMTU0OCwxNSArMTU1NSwxNSBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHNjaGVkdWxlciBzY2hlZF9ydGRzX2RlZiA9IHsKICAgICAuZnJlZV9kb21kYXRhICAg PSBydF9mcmVlX2RvbWRhdGEsCiAgICAgLmFsbG9jX3ZkYXRhICAgID0gcnRfYWxsb2NfdmRhdGEs CiAgICAgLmZyZWVfdmRhdGEgICAgID0gcnRfZnJlZV92ZGF0YSwKLSAgICAuaW5zZXJ0X3ZjcHUg ICAgPSBydF92Y3B1X2luc2VydCwKLSAgICAucmVtb3ZlX3ZjcHUgICAgPSBydF92Y3B1X3JlbW92 ZSwKKyAgICAuaW5zZXJ0X3VuaXQgICAgPSBydF91bml0X2luc2VydCwKKyAgICAucmVtb3ZlX3Vu aXQgICAgPSBydF91bml0X3JlbW92ZSwKIAogICAgIC5hZGp1c3QgICAgICAgICA9IHJ0X2RvbV9j bnRsLAogCiAgICAgLnBpY2tfY3B1ICAgICAgID0gcnRfY3B1X3BpY2ssCiAgICAgLmRvX3NjaGVk dWxlICAgID0gcnRfc2NoZWR1bGUsCi0gICAgLnNsZWVwICAgICAgICAgID0gcnRfdmNwdV9zbGVl cCwKLSAgICAud2FrZSAgICAgICAgICAgPSBydF92Y3B1X3dha2UsCisgICAgLnNsZWVwICAgICAg ICAgID0gcnRfdW5pdF9zbGVlcCwKKyAgICAud2FrZSAgICAgICAgICAgPSBydF91bml0X3dha2Us CiAgICAgLmNvbnRleHRfc2F2ZWQgID0gcnRfY29udGV4dF9zYXZlZCwKIH07CiAKZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwppbmRleCAx MTA2Njk4ZmI0Li4yYzFhNzJjM2M5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMK KysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC04NywxMyArODcsMTMgQEAgc2NoZWRfaWRs ZV9zd2l0Y2hfc2NoZWQoc3RydWN0IHNjaGVkdWxlciAqbmV3X29wcywgdW5zaWduZWQgaW50IGNw dSwKIH0KIAogc3RhdGljIGludAotc2NoZWRfaWRsZV9jcHVfcGljayhjb25zdCBzdHJ1Y3Qgc2No ZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2KQorc2NoZWRfaWRsZV9jcHVfcGljayhjb25zdCBz dHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogewotICAgIHJl dHVybiB2LT5wcm9jZXNzb3I7CisgICAgcmV0dXJuIHVuaXQtPnZjcHVfbGlzdC0+cHJvY2Vzc29y OwogfQogCiBzdGF0aWMgdm9pZCAqCi1zY2hlZF9pZGxlX2FsbG9jX3ZkYXRhKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnYsCitzY2hlZF9pZGxlX2FsbG9jX3ZkYXRh KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCiAg ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRkKQogewogICAgIC8qIEFueSBub24tTlVMTCBw b2ludGVyIGlzIGZpbmUgaGVyZS4gKi8KQEAgLTMwOCw5ICszMDgsMTcgQEAgc3RhdGljIHZvaWQg c2NoZWRfc3Bpbl91bmxvY2tfZG91YmxlKHNwaW5sb2NrX3QgKmxvY2sxLCBzcGlubG9ja190ICps b2NrMiwKIGludCBzY2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBw cm9jZXNzb3IpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKKyAgICBzdHJ1 Y3Qgc2NoZWRfdW5pdCAqdW5pdDsKIAogICAgIHYtPnByb2Nlc3NvciA9IHByb2Nlc3NvcjsKIAor ICAgIGlmICggKHVuaXQgPSB4emFsbG9jKHN0cnVjdCBzY2hlZF91bml0KSkgPT0gTlVMTCApCisg ICAgICAgIHJldHVybiAxOworICAgIHYtPnNjaGVkX3VuaXQgPSB1bml0OworICAgIHVuaXQtPnZj cHVfbGlzdCA9IHY7CisgICAgdW5pdC0+dW5pdF9pZCA9IHYtPnZjcHVfaWQ7CisgICAgdW5pdC0+ ZG9tYWluID0gZDsKKwogICAgIC8qIEluaXRpYWxpc2UgdGhlIHBlci12Y3B1IHRpbWVycy4gKi8K ICAgICBpbml0X3RpbWVyKCZ2LT5wZXJpb2RpY190aW1lciwgdmNwdV9wZXJpb2RpY190aW1lcl9m biwKICAgICAgICAgICAgICAgIHYsIHYtPnByb2Nlc3Nvcik7CkBAIC0zMTksOSArMzI3LDEzIEBA IGludCBzY2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNz b3IpCiAgICAgaW5pdF90aW1lcigmdi0+cG9sbF90aW1lciwgcG9sbF90aW1lcl9mbiwKICAgICAg ICAgICAgICAgIHYsIHYtPnByb2Nlc3Nvcik7CiAKLSAgICB2LT5zY2hlZF9wcml2ID0gc2NoZWRf YWxsb2NfdmRhdGEoZG9tX3NjaGVkdWxlcihkKSwgdiwgZC0+c2NoZWRfcHJpdik7CisgICAgdi0+ c2NoZWRfcHJpdiA9IHNjaGVkX2FsbG9jX3ZkYXRhKGRvbV9zY2hlZHVsZXIoZCksIHVuaXQsIGQt PnNjaGVkX3ByaXYpOwogICAgIGlmICggdi0+c2NoZWRfcHJpdiA9PSBOVUxMICkKKyAgICB7Cisg ICAgICAgIHYtPnNjaGVkX3VuaXQgPSBOVUxMOworICAgICAgICB4ZnJlZSh1bml0KTsKICAgICAg ICAgcmV0dXJuIDE7CisgICAgfQogCiAgICAgLyoKICAgICAgKiBJbml0aWFsaXplIGFmZmluaXR5 IHNldHRpbmdzLiBUaGUgaWRsZXIsIGFuZCBwb3RlbnRpYWxseQpAQCAtMzQwLDcgKzM1Miw3IEBA IGludCBzY2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNz b3IpCiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIHNjaGVkX2luc2VydF92Y3B1KGRv bV9zY2hlZHVsZXIoZCksIHYpOworICAgICAgICBzY2hlZF9pbnNlcnRfdW5pdChkb21fc2NoZWR1 bGVyKGQpLCB1bml0KTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTM4MSw3ICszOTMsOCBA QCBpbnQgc2NoZWRfbW92ZV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGNwdXBvb2wg KmMpCiAKICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCiAgICAgewotICAgICAgICB2Y3B1X3By aXZbdi0+dmNwdV9pZF0gPSBzY2hlZF9hbGxvY192ZGF0YShjLT5zY2hlZCwgdiwgZG9tZGF0YSk7 CisgICAgICAgIHZjcHVfcHJpdlt2LT52Y3B1X2lkXSA9IHNjaGVkX2FsbG9jX3ZkYXRhKGMtPnNj aGVkLCB2LT5zY2hlZF91bml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkb21kYXRhKTsKICAgICAgICAgaWYgKCB2Y3B1X3ByaXZbdi0+dmNwdV9p ZF0gPT0gTlVMTCApCiAgICAgICAgIHsKICAgICAgICAgICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2 ICkKQEAgLTM5OSw3ICs0MTIsNyBAQCBpbnQgc2NoZWRfbW92ZV9kb21haW4oc3RydWN0IGRvbWFp biAqZCwgc3RydWN0IGNwdXBvb2wgKmMpCiAKICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCiAg ICAgewotICAgICAgICBzY2hlZF9yZW1vdmVfdmNwdShvbGRfb3BzLCB2KTsKKyAgICAgICAgc2No ZWRfcmVtb3ZlX3VuaXQob2xkX29wcywgdi0+c2NoZWRfdW5pdCk7CiAgICAgfQogCiAgICAgZC0+ Y3B1cG9vbCA9IGM7CkBAIC00MzQsNyArNDQ3LDcgQEAgaW50IHNjaGVkX21vdmVfZG9tYWluKHN0 cnVjdCBkb21haW4gKmQsIHN0cnVjdCBjcHVwb29sICpjKQogCiAgICAgICAgIG5ld19wID0gY3B1 bWFza19jeWNsZShuZXdfcCwgYy0+Y3B1X3ZhbGlkKTsKIAotICAgICAgICBzY2hlZF9pbnNlcnRf dmNwdShjLT5zY2hlZCwgdik7CisgICAgICAgIHNjaGVkX2luc2VydF91bml0KGMtPnNjaGVkLCB2 LT5zY2hlZF91bml0KTsKIAogICAgICAgICBzY2hlZF9mcmVlX3ZkYXRhKG9sZF9vcHMsIHZjcHVk YXRhKTsKICAgICB9CkBAIC00NTIsMTMgKzQ2NSwxNyBAQCBpbnQgc2NoZWRfbW92ZV9kb21haW4o c3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGNwdXBvb2wgKmMpCiAKIHZvaWQgc2NoZWRfZGVzdHJv eV92Y3B1KHN0cnVjdCB2Y3B1ICp2KQogeworICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0ID0g di0+c2NoZWRfdW5pdDsKKwogICAgIGtpbGxfdGltZXIoJnYtPnBlcmlvZGljX3RpbWVyKTsKICAg ICBraWxsX3RpbWVyKCZ2LT5zaW5nbGVzaG90X3RpbWVyKTsKICAgICBraWxsX3RpbWVyKCZ2LT5w b2xsX3RpbWVyKTsKICAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2Jvb2wodi0+aXNfdXJnZW50KSAp CiAgICAgICAgIGF0b21pY19kZWMoJnBlcl9jcHUoc2NoZWR1bGVfZGF0YSwgdi0+cHJvY2Vzc29y KS51cmdlbnRfY291bnQpOwotICAgIHNjaGVkX3JlbW92ZV92Y3B1KHZjcHVfc2NoZWR1bGVyKHYp LCB2KTsKKyAgICBzY2hlZF9yZW1vdmVfdW5pdCh2Y3B1X3NjaGVkdWxlcih2KSwgdW5pdCk7CiAg ICAgc2NoZWRfZnJlZV92ZGF0YSh2Y3B1X3NjaGVkdWxlcih2KSwgdi0+c2NoZWRfcHJpdik7Cisg ICAgeGZyZWUodW5pdCk7CisgICAgdi0+c2NoZWRfdW5pdCA9IE5VTEw7CiB9CiAKIGludCBzY2hl ZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBpbnQgcG9vbGlkKQpAQCAtNTA5LDcgKzUy Niw3IEBAIHZvaWQgdmNwdV9zbGVlcF9ub3N5bmNfbG9ja2VkKHN0cnVjdCB2Y3B1ICp2KQogICAg ICAgICBpZiAoIHYtPnJ1bnN0YXRlLnN0YXRlID09IFJVTlNUQVRFX3J1bm5hYmxlICkKICAgICAg ICAgICAgIHZjcHVfcnVuc3RhdGVfY2hhbmdlKHYsIFJVTlNUQVRFX29mZmxpbmUsIE5PVygpKTsK IAotICAgICAgICBzY2hlZF9zbGVlcCh2Y3B1X3NjaGVkdWxlcih2KSwgdik7CisgICAgICAgIHNj aGVkX3NsZWVwKHZjcHVfc2NoZWR1bGVyKHYpLCB2LT5zY2hlZF91bml0KTsKICAgICB9CiB9CiAK QEAgLTU1MCw3ICs1NjcsNyBAQCB2b2lkIHZjcHVfd2FrZShzdHJ1Y3QgdmNwdSAqdikKICAgICB7 CiAgICAgICAgIGlmICggdi0+cnVuc3RhdGUuc3RhdGUgPj0gUlVOU1RBVEVfYmxvY2tlZCApCiAg ICAgICAgICAgICB2Y3B1X3J1bnN0YXRlX2NoYW5nZSh2LCBSVU5TVEFURV9ydW5uYWJsZSwgTk9X KCkpOwotICAgICAgICBzY2hlZF93YWtlKHZjcHVfc2NoZWR1bGVyKHYpLCB2KTsKKyAgICAgICAg c2NoZWRfd2FrZSh2Y3B1X3NjaGVkdWxlcih2KSwgdi0+c2NoZWRfdW5pdCk7CiAgICAgfQogICAg IGVsc2UgaWYgKCAhKHYtPnBhdXNlX2ZsYWdzICYgVlBGX2Jsb2NrZWQpICkKICAgICB7CkBAIC02 MDUsNyArNjIyLDcgQEAgc3RhdGljIHZvaWQgdmNwdV9tb3ZlX2xvY2tlZChzdHJ1Y3QgdmNwdSAq diwgdW5zaWduZWQgaW50IG5ld19jcHUpCiAgICAgICogQWN0dWFsIENQVSBzd2l0Y2ggdG8gbmV3 IENQVS4gIFRoaXMgaXMgc2FmZSBiZWNhdXNlIHRoZSBsb2NrCiAgICAgICogcG9pbnRlciBjYW4n dCBjaGFuZ2Ugd2hpbGUgdGhlIGN1cnJlbnQgbG9jayBpcyBoZWxkLgogICAgICAqLwotICAgIHNj aGVkX21pZ3JhdGUodmNwdV9zY2hlZHVsZXIodiksIHYsIG5ld19jcHUpOworICAgIHNjaGVkX21p Z3JhdGUodmNwdV9zY2hlZHVsZXIodiksIHYtPnNjaGVkX3VuaXQsIG5ld19jcHUpOwogfQogCiAv KgpAQCAtNjgzLDcgKzcwMCw3IEBAIHN0YXRpYyB2b2lkIHZjcHVfbWlncmF0ZV9maW5pc2goc3Ry dWN0IHZjcHUgKnYpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIC8qIFNl bGVjdCBhIG5ldyBDUFUuICovCi0gICAgICAgICAgICBuZXdfY3B1ID0gc2NoZWRfcGlja19jcHUo dmNwdV9zY2hlZHVsZXIodiksIHYpOworICAgICAgICAgICAgbmV3X2NwdSA9IHNjaGVkX3BpY2tf Y3B1KHZjcHVfc2NoZWR1bGVyKHYpLCB2LT5zY2hlZF91bml0KTsKICAgICAgICAgICAgIGlmICgg KG5ld19sb2NrID09IHBlcl9jcHUoc2NoZWR1bGVfZGF0YSwgbmV3X2NwdSkuc2NoZWR1bGVfbG9j aykgJiYKICAgICAgICAgICAgICAgICAgY3B1bWFza190ZXN0X2NwdShuZXdfY3B1LCB2LT5kb21h aW4tPmNwdXBvb2wtPmNwdV92YWxpZCkgKQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNzkz LDcgKzgxMCw3IEBAIHZvaWQgcmVzdG9yZV92Y3B1X2FmZmluaXR5KHN0cnVjdCBkb21haW4gKmQp CiAKICAgICAgICAgLyogdi0+cHJvY2Vzc29yIG1pZ2h0IGhhdmUgY2hhbmdlZCwgc28gcmVhY3F1 aXJlIHRoZSBsb2NrLiAqLwogICAgICAgICBsb2NrID0gdmNwdV9zY2hlZHVsZV9sb2NrX2lycSh2 KTsKLSAgICAgICAgdi0+cHJvY2Vzc29yID0gc2NoZWRfcGlja19jcHUodmNwdV9zY2hlZHVsZXIo diksIHYpOworICAgICAgICB2LT5wcm9jZXNzb3IgPSBzY2hlZF9waWNrX2NwdSh2Y3B1X3NjaGVk dWxlcih2KSwgdi0+c2NoZWRfdW5pdCk7CiAgICAgICAgIHNwaW5fdW5sb2NrX2lycShsb2NrKTsK IAogICAgICAgICBpZiAoIG9sZF9jcHUgIT0gdi0+cHJvY2Vzc29yICkKQEAgLTkwNSw3ICs5MjIs NyBAQCBzdGF0aWMgaW50IGNwdV9kaXNhYmxlX3NjaGVkdWxlcl9jaGVjayh1bnNpZ25lZCBpbnQg Y3B1KQogdm9pZCBzY2hlZF9zZXRfYWZmaW5pdHkoCiAgICAgc3RydWN0IHZjcHUgKnYsIGNvbnN0 IGNwdW1hc2tfdCAqaGFyZCwgY29uc3QgY3B1bWFza190ICpzb2Z0KQogewotICAgIHNjaGVkX2Fk anVzdF9hZmZpbml0eShkb21fc2NoZWR1bGVyKHYtPmRvbWFpbiksIHYsIGhhcmQsIHNvZnQpOwor ICAgIHNjaGVkX2FkanVzdF9hZmZpbml0eShkb21fc2NoZWR1bGVyKHYtPmRvbWFpbiksIHYtPnNj aGVkX3VuaXQsIGhhcmQsIHNvZnQpOwogCiAgICAgaWYgKCBoYXJkICkKICAgICAgICAgY3B1bWFz a19jb3B5KHYtPmNwdV9oYXJkX2FmZmluaXR5LCBoYXJkKTsKQEAgLTEwODAsNyArMTA5Nyw3IEBA IGxvbmcgdmNwdV95aWVsZCh2b2lkKQogICAgIHN0cnVjdCB2Y3B1ICogdj1jdXJyZW50OwogICAg IHNwaW5sb2NrX3QgKmxvY2sgPSB2Y3B1X3NjaGVkdWxlX2xvY2tfaXJxKHYpOwogCi0gICAgc2No ZWRfeWllbGQodmNwdV9zY2hlZHVsZXIodiksIHYpOworICAgIHNjaGVkX3lpZWxkKHZjcHVfc2No ZWR1bGVyKHYpLCB2LT5zY2hlZF91bml0KTsKICAgICB2Y3B1X3NjaGVkdWxlX3VubG9ja19pcnEo bG9jaywgdik7CiAKICAgICBTQ0hFRF9TVEFUX0NSQU5LKHZjcHVfeWllbGQpOwpAQCAtMTYwNSw3 ICsxNjIyLDcgQEAgdm9pZCBjb250ZXh0X3NhdmVkKHN0cnVjdCB2Y3B1ICpwcmV2KQogICAgIC8q IENoZWNrIGZvciBtaWdyYXRpb24gcmVxdWVzdCAvYWZ0ZXIvIGNsZWFyaW5nIHJ1bm5pbmcgZmxh Zy4gKi8KICAgICBzbXBfbWIoKTsKIAotICAgIHNjaGVkX2NvbnRleHRfc2F2ZWQodmNwdV9zY2hl ZHVsZXIocHJldiksIHByZXYpOworICAgIHNjaGVkX2NvbnRleHRfc2F2ZWQodmNwdV9zY2hlZHVs ZXIocHJldiksIHByZXYtPnNjaGVkX3VuaXQpOwogCiAgICAgdmNwdV9taWdyYXRlX2ZpbmlzaChw cmV2KTsKIH0KQEAgLTE4ODEsNyArMTg5OCw4IEBAIGludCBzY2hlZHVsZV9jcHVfc3dpdGNoKHVu c2lnbmVkIGludCBjcHUsIHN0cnVjdCBjcHVwb29sICpjKQogICAgIHBwcml2ID0gc2NoZWRfYWxs b2NfcGRhdGEobmV3X29wcywgY3B1KTsKICAgICBpZiAoIElTX0VSUihwcHJpdikgKQogICAgICAg ICByZXR1cm4gUFRSX0VSUihwcHJpdik7Ci0gICAgdnByaXYgPSBzY2hlZF9hbGxvY192ZGF0YShu ZXdfb3BzLCBpZGxlLCBpZGxlLT5kb21haW4tPnNjaGVkX3ByaXYpOworICAgIHZwcml2ID0gc2No ZWRfYWxsb2NfdmRhdGEobmV3X29wcywgaWRsZS0+c2NoZWRfdW5pdCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlkbGUtPmRvbWFpbi0+c2NoZWRfcHJpdik7CiAgICAgaWYgKCB2cHJp diA9PSBOVUxMICkKICAgICB7CiAgICAgICAgIHNjaGVkX2ZyZWVfcGRhdGEobmV3X29wcywgcHBy aXYsIGNwdSk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCBiL3hlbi9p bmNsdWRlL3hlbi9zY2hlZC1pZi5oCmluZGV4IGRjMjU1YjA2NGIuLjlmZDM2NzM3N2EgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9z Y2hlZC1pZi5oCkBAIC0xNDEsOCArMTQxLDggQEAgc3RydWN0IHNjaGVkdWxlciB7CiAgICAgdm9p ZCAgICAgICAgICgqZGVpbml0KSAgICAgICAgIChzdHJ1Y3Qgc2NoZWR1bGVyICopOwogCiAgICAg dm9pZCAgICAgICAgICgqZnJlZV92ZGF0YSkgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICos IHZvaWQgKik7Ci0gICAgdm9pZCAqICAgICAgICgqYWxsb2NfdmRhdGEpICAgIChjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICosIHN0cnVjdCB2Y3B1ICosCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2b2lkICopOworICAgIHZvaWQgKiAgICAgICAoKmFsbG9jX3ZkYXRhKSAgICAo Y29uc3Qgc3RydWN0IHNjaGVkdWxlciAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHNjaGVkX3VuaXQgKiwgdm9pZCAqKTsKICAgICB2b2lkICAgICAgICAgKCpm cmVlX3BkYXRhKSAgICAgKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwgdm9pZCAqLCBpbnQpOwog ICAgIHZvaWQgKiAgICAgICAoKmFsbG9jX3BkYXRhKSAgICAoY29uc3Qgc3RydWN0IHNjaGVkdWxl ciAqLCBpbnQpOwogICAgIHZvaWQgICAgICAgICAoKmluaXRfcGRhdGEpICAgICAoY29uc3Qgc3Ry dWN0IHNjaGVkdWxlciAqLCB2b2lkICosIGludCk7CkBAIC0xNTYsMjQgKzE1NiwzMiBAQCBzdHJ1 Y3Qgc2NoZWR1bGVyIHsKICAgICBzcGlubG9ja190ICogKCpzd2l0Y2hfc2NoZWQpICAgKHN0cnVj dCBzY2hlZHVsZXIgKiwgdW5zaWduZWQgaW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdm9pZCAqLCB2b2lkICopOwogCi0gICAgLyogQWN0aXZhdGUgLyBkZWFjdGl2YXRl IHZjcHVzIGluIGEgY3B1IHBvb2wgKi8KLSAgICB2b2lkICAgICAgICAgKCppbnNlcnRfdmNwdSkg ICAgKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwgc3RydWN0IHZjcHUgKik7Ci0gICAgdm9pZCAg ICAgICAgICgqcmVtb3ZlX3ZjcHUpICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosIHN0cnVj dCB2Y3B1ICopOwotCi0gICAgdm9pZCAgICAgICAgICgqc2xlZXApICAgICAgICAgIChjb25zdCBz dHJ1Y3Qgc2NoZWR1bGVyICosIHN0cnVjdCB2Y3B1ICopOwotICAgIHZvaWQgICAgICAgICAoKndh a2UpICAgICAgICAgICAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqLCBzdHJ1Y3QgdmNwdSAqKTsK LSAgICB2b2lkICAgICAgICAgKCp5aWVsZCkgICAgICAgICAgKGNvbnN0IHN0cnVjdCBzY2hlZHVs ZXIgKiwgc3RydWN0IHZjcHUgKik7Ci0gICAgdm9pZCAgICAgICAgICgqY29udGV4dF9zYXZlZCkg IChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosIHN0cnVjdCB2Y3B1ICopOworICAgIC8qIEFjdGl2 YXRlIC8gZGVhY3RpdmF0ZSB1bml0cyBpbiBhIGNwdSBwb29sICovCisgICAgdm9pZCAgICAgICAg ICgqaW5zZXJ0X3VuaXQpICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqKTsKKyAgICB2b2lk ICAgICAgICAgKCpyZW1vdmVfdW5pdCkgICAgKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICopOwor CisgICAgdm9pZCAgICAgICAgICgqc2xlZXApICAgICAgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2NoZWRf dW5pdCAqKTsKKyAgICB2b2lkICAgICAgICAgKCp3YWtlKSAgICAgICAgICAgKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBzY2hlZF91bml0ICopOworICAgIHZvaWQgICAgICAgICAoKnlpZWxkKSAgICAgICAgICAoY29u c3Qgc3RydWN0IHNjaGVkdWxlciAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHNjaGVkX3VuaXQgKik7CisgICAgdm9pZCAgICAgICAgICgqY29udGV4dF9zYXZl ZCkgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqKTsKIAogICAgIHN0cnVjdCB0YXNrX3NsaWNl ICgqZG9fc2NoZWR1bGUpIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosIHNfdGltZV90LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgdGFza2xldF93b3JrX3Nj aGVkdWxlZCk7CiAKLSAgICBpbnQgICAgICAgICAgKCpwaWNrX2NwdSkgICAgICAgKGNvbnN0IHN0 cnVjdCBzY2hlZHVsZXIgKiwgc3RydWN0IHZjcHUgKik7Ci0gICAgdm9pZCAgICAgICAgICgqbWln cmF0ZSkgICAgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosIHN0cnVjdCB2Y3B1ICosCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQpOworICAgIGlu dCAgICAgICAgICAoKnBpY2tfY3B1KSAgICAgICAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNjaGVkX3VuaXQgKik7 CisgICAgdm9pZCAgICAgICAgICgqbWlncmF0ZSkgICAgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2NoZWRf dW5pdCAqLCB1bnNpZ25lZCBpbnQpOwogICAgIGludCAgICAgICAgICAoKmFkanVzdCkgICAgICAg ICAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqLCBzdHJ1Y3QgZG9tYWluICosCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9zY2hlZHVsZXJfb3Ag Kik7Ci0gICAgdm9pZCAgICAgICAgICgqYWRqdXN0X2FmZmluaXR5KShjb25zdCBzdHJ1Y3Qgc2No ZWR1bGVyICosIHN0cnVjdCB2Y3B1ICosCisgICAgdm9pZCAgICAgICAgICgqYWRqdXN0X2FmZmlu aXR5KShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgc3RydWN0IGNwdW1hc2sgKiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBjcHVtYXNrICopOwogICAgIGludCAgICAgICAg ICAoKmFkanVzdF9nbG9iYWwpICAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqLApAQCAtMjY3LDEw ICsyNzUsMTAgQEAgc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2RlaW5pdF9wZGF0YShjb25zdCBz dHJ1Y3Qgc2NoZWR1bGVyICpzLCB2b2lkICpkYXRhLAogICAgICAgICBzLT5kZWluaXRfcGRhdGEo cywgZGF0YSwgY3B1KTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkICpzY2hlZF9hbGxvY192ZGF0 YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLCBzdHJ1Y3QgdmNwdSAqdiwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZG9tX2RhdGEpCitzdGF0aWMgaW5saW5l IHZvaWQgKnNjaGVkX2FsbG9jX3ZkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0 LCB2b2lkICpkb21fZGF0YSkKIHsKLSAgICByZXR1cm4gcy0+YWxsb2NfdmRhdGEocywgdiwgZG9t X2RhdGEpOworICAgIHJldHVybiBzLT5hbGxvY192ZGF0YShzLCB1bml0LCBkb21fZGF0YSk7CiB9 CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9mcmVlX3ZkYXRhKGNvbnN0IHN0cnVjdCBzY2hl ZHVsZXIgKnMsIHZvaWQgKmRhdGEpCkBAIC0yNzgsNjQgKzI4Niw3MCBAQCBzdGF0aWMgaW5saW5l IHZvaWQgc2NoZWRfZnJlZV92ZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLCB2b2lkICpk YXRhKQogICAgIHMtPmZyZWVfdmRhdGEocywgZGF0YSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9p ZCBzY2hlZF9pbnNlcnRfdmNwdShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLCBzdHJ1Y3QgdmNw dSAqdikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9pbnNlcnRfdW5pdChjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBzY2hlZF91bml0ICp1bml0KQogewotICAgIGlmICggcy0+aW5zZXJ0X3ZjcHUgKQotICAgICAg ICBzLT5pbnNlcnRfdmNwdShzLCB2KTsKKyAgICBpZiAoIHMtPmluc2VydF91bml0ICkKKyAgICAg ICAgcy0+aW5zZXJ0X3VuaXQocywgdW5pdCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzY2hl ZF9yZW1vdmVfdmNwdShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLCBzdHJ1Y3QgdmNwdSAqdikK K3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9yZW1vdmVfdW5pdChjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hl ZF91bml0ICp1bml0KQogewotICAgIGlmICggcy0+cmVtb3ZlX3ZjcHUgKQotICAgICAgICBzLT5y ZW1vdmVfdmNwdShzLCB2KTsKKyAgICBpZiAoIHMtPnJlbW92ZV91bml0ICkKKyAgICAgICAgcy0+ cmVtb3ZlX3VuaXQocywgdW5pdCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9zbGVl cChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLCBzdHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyBpbmxp bmUgdm9pZCBzY2hlZF9zbGVlcChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogewogICAgIGlm ICggcy0+c2xlZXAgKQotICAgICAgICBzLT5zbGVlcChzLCB2KTsKKyAgICAgICAgcy0+c2xlZXAo cywgdW5pdCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF93YWtlKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKnMsIHN0cnVjdCB2Y3B1ICp2KQorc3RhdGljIGlubGluZSB2b2lkIHNjaGVk X3dha2UoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0KQogewogICAgIGlmICggcy0+d2FrZSApCi0g ICAgICAgIHMtPndha2Uocywgdik7CisgICAgICAgIHMtPndha2UocywgdW5pdCk7CiB9CiAKLXN0 YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF95aWVsZChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpzLCBz dHJ1Y3QgdmNwdSAqdikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF95aWVsZChjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBz Y2hlZF91bml0ICp1bml0KQogewogICAgIGlmICggcy0+eWllbGQgKQotICAgICAgICBzLT55aWVs ZChzLCB2KTsKKyAgICAgICAgcy0+eWllbGQocywgdW5pdCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUg dm9pZCBzY2hlZF9jb250ZXh0X3NhdmVkKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0 KQogewogICAgIGlmICggcy0+Y29udGV4dF9zYXZlZCApCi0gICAgICAgIHMtPmNvbnRleHRfc2F2 ZWQocywgdik7CisgICAgICAgIHMtPmNvbnRleHRfc2F2ZWQocywgdW5pdCk7CiB9CiAKLXN0YXRp YyBpbmxpbmUgdm9pZCBzY2hlZF9taWdyYXRlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsIHN0 cnVjdCB2Y3B1ICp2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IGNwdSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9taWdyYXRlKGNvbnN0IHN0cnVjdCBz Y2hlZHVsZXIgKnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2No ZWRfdW5pdCAqdW5pdCwgdW5zaWduZWQgaW50IGNwdSkKIHsKICAgICBpZiAoIHMtPm1pZ3JhdGUg KQotICAgICAgICBzLT5taWdyYXRlKHMsIHYsIGNwdSk7CisgICAgICAgIHMtPm1pZ3JhdGUocywg dW5pdCwgY3B1KTsKICAgICBlbHNlCi0gICAgICAgIHYtPnByb2Nlc3NvciA9IGNwdTsKKyAgICAg ICAgdW5pdC0+dmNwdV9saXN0LT5wcm9jZXNzb3IgPSBjcHU7CiB9CiAKLXN0YXRpYyBpbmxpbmUg aW50IHNjaGVkX3BpY2tfY3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsIHN0cnVjdCB2Y3B1 ICp2KQorc3RhdGljIGlubGluZSBpbnQgc2NoZWRfcGlja19jcHUoY29uc3Qgc3RydWN0IHNjaGVk dWxlciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91 bml0ICp1bml0KQogewotICAgIHJldHVybiBzLT5waWNrX2NwdShzLCB2KTsKKyAgICByZXR1cm4g cy0+cGlja19jcHUocywgdW5pdCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9hZGp1 c3RfYWZmaW5pdHkoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqcywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZjcHUgKnYsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjcHVtYXNrX3QgKmhhcmQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNwdW1hc2tf dCAqc29mdCkKIHsKICAgICBpZiAoIHMtPmFkanVzdF9hZmZpbml0eSApCi0gICAgICAgIHMtPmFk anVzdF9hZmZpbml0eShzLCB2LCBoYXJkLCBzb2Z0KTsKKyAgICAgICAgcy0+YWRqdXN0X2FmZmlu aXR5KHMsIHVuaXQsIGhhcmQsIHNvZnQpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBzY2hlZF9h ZGp1c3RfZG9tKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsIHN0cnVjdCBkb21haW4gKmQsCmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCBiL3hlbi9pbmNsdWRlL3hlbi9zY2hl ZC5oCmluZGV4IDJlNmUwZDM0ODguLmQ3ZGQxODI4ODUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L3hlbi9zY2hlZC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCkBAIC0xNDAsNiArMTQw LDcgQEAgdm9pZCBldnRjaG5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKTsgLyogZnJvbSBkb21h aW5fa2lsbCAqLwogdm9pZCBldnRjaG5fZGVzdHJveV9maW5hbChzdHJ1Y3QgZG9tYWluICpkKTsg LyogZnJvbSBjb21wbGV0ZV9kb21haW5fZGVzdHJveSAqLwogCiBzdHJ1Y3Qgd2FpdHF1ZXVlX3Zj cHU7CitzdHJ1Y3Qgc2NoZWRfdW5pdDsKIAogc3RydWN0IHZjcHUKIHsKQEAgLTE2MCw2ICsxNjEs NyBAQCBzdHJ1Y3QgdmNwdQogCiAgICAgc3RydWN0IHRpbWVyICAgICBwb2xsX3RpbWVyOyAgICAv KiB0aW1lb3V0IGZvciBTQ0hFRE9QX3BvbGwgKi8KIAorICAgIHN0cnVjdCBzY2hlZF91bml0ICpz Y2hlZF91bml0OwogICAgIHZvaWQgICAgICAgICAgICAqc2NoZWRfcHJpdjsgICAgLyogc2NoZWR1 bGVyLXNwZWNpZmljIGRhdGEgKi8KIAogICAgIHN0cnVjdCB2Y3B1X3J1bnN0YXRlX2luZm8gcnVu c3RhdGU7CkBAIC0yNzIsNiArMjc0LDEyIEBAIHN0cnVjdCB2Y3B1CiAgICAgc3RydWN0IGFyY2hf dmNwdSBhcmNoOwogfTsKIAorc3RydWN0IHNjaGVkX3VuaXQgeworICAgIHN0cnVjdCBkb21haW4g ICAgICAgICAqZG9tYWluOworICAgIHN0cnVjdCB2Y3B1ICAgICAgICAgICAqdmNwdV9saXN0Owor ICAgIGludCAgICAgICAgICAgICAgICAgICAgdW5pdF9pZDsKK307CisKIC8qIFBlci1kb21haW4g bG9jayBjYW4gYmUgcmVjdXJzaXZlbHkgYWNxdWlyZWQgaW4gZmF1bHQgaGFuZGxlcnMuICovCiAj ZGVmaW5lIGRvbWFpbl9sb2NrKGQpIHNwaW5fbG9ja19yZWN1cnNpdmUoJihkKS0+ZG9tYWluX2xv Y2spCiAjZGVmaW5lIGRvbWFpbl91bmxvY2soZCkgc3Bpbl91bmxvY2tfcmVjdXJzaXZlKCYoZCkt PmRvbWFpbl9sb2NrKQotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==