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 4E846C433FF for ; Fri, 9 Aug 2019 14:59:15 +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 0088F208C4 for ; Fri, 9 Aug 2019 14:59:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0088F208C4 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 1hw6MA-0006sH-Jh; Fri, 09 Aug 2019 14:59:02 +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 1hw6M1-0006Zs-5C for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 14:58:53 +0000 X-Inumbo-ID: 30b54280-bab6-11e9-a115-7fe23f49e647 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 30b54280-bab6-11e9-a115-7fe23f49e647; Fri, 09 Aug 2019 14:58:48 +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 2D5E1B0BE; Fri, 9 Aug 2019 14:58:46 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 9 Aug 2019 16:58:09 +0200 Message-Id: <20190809145833.1020-25-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 24/48] xen: switch from for_each_vcpu() to for_each_sched_unit() 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 , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Dario Faggioli 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" V2hlcmUgYXBwcm9wcmlhdGUgc3dpdGNoIGZyb20gZm9yX2VhY2hfdmNwdSgpIHRvIGZvcl9lYWNo X3NjaGVkX3VuaXQoKQppbiBvcmRlciB0byBwcmVwYXJlIGNvcmUgc2NoZWR1bGluZy4KCkFzIGl0 IGlzIGJlbmVmaWNpYWwgb25jZSBoZXJlIGFuZCBmb3Igc3VyZSBpbiBmdXR1cmUgYWRkIGEKdW5p dF9zY2hlZHVsZXIoKSBoZWxwZXIgYW5kIGxldCB2Y3B1X3NjaGVkdWxlcigpIHVzZSBpdC4KClNp Z25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tClYyOgotIGhh bmRsZSBhZmZpbml0eV9icm9rZW4gY29ycmVjdGx5IChKYW4gQmV1bGljaCkKLSBhZGQgdW5pdF9z Y2hlZHVsZXIoKSAoSmFuIEJldWxpY2gpCi0tLQogeGVuL2NvbW1vbi9kb21haW4uYyAgIHwgICA5 ICsrLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jIHwgMTQ4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlv bnMoKyksIDY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tYWluLmMg Yi94ZW4vY29tbW9uL2RvbWFpbi5jCmluZGV4IDE5ZDg4MWIwYzMuLjkxYjAxYzIyMGUgMTAwNjQ0 Ci0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAt NTUwLDcgKzU1MCw3IEBAIHZvaWQgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KHN0cnVjdCBk b21haW4gKmQpCiAgICAgY3B1bWFza192YXJfdCBkb21fY3B1bWFzaywgZG9tX2NwdW1hc2tfc29m dDsKICAgICBjcHVtYXNrX3QgKmRvbV9hZmZpbml0eTsKICAgICBjb25zdCBjcHVtYXNrX3QgKm9u bGluZTsKLSAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdDsK ICAgICB1bnNpZ25lZCBpbnQgY3B1OwogCiAgICAgLyogRG8gd2UgaGF2ZSB2Y3B1cyBhbHJlYWR5 PyBJZiBub3QsIG5vIG5lZWQgdG8gdXBkYXRlIG5vZGUtYWZmaW5pdHkuICovCkBAIC01ODMsMTIg KzU4MywxMSBAQCB2b2lkIGRvbWFpbl91cGRhdGVfbm9kZV9hZmZpbml0eShzdHJ1Y3QgZG9tYWlu ICpkKQogICAgICAgICAgKiBhbmQgdGhlIGZ1bGwgbWFzayBvZiB3aGVyZSBpdCB3b3VsZCBwcmVm ZXIgdG8gcnVuICh0aGUgdW5pb24gb2YKICAgICAgICAgICogdGhlIHNvZnQgYWZmaW5pdHkgb2Yg YWxsIGl0cyB2YXJpb3VzIHZjcHVzKS4gTGV0J3MgYnVpbGQgdGhlbS4KICAgICAgICAgICovCi0g ICAgICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkKKyAgICAgICAgZm9yX2VhY2hfc2NoZWRfdW5p dCAoIGQsIHVuaXQgKQogICAgICAgICB7Ci0gICAgICAgICAgICBjcHVtYXNrX29yKGRvbV9jcHVt YXNrLCBkb21fY3B1bWFzaywKLSAgICAgICAgICAgICAgICAgICAgICAgdi0+c2NoZWRfdW5pdC0+ Y3B1X2hhcmRfYWZmaW5pdHkpOworICAgICAgICAgICAgY3B1bWFza19vcihkb21fY3B1bWFzaywg ZG9tX2NwdW1hc2ssIHVuaXQtPmNwdV9oYXJkX2FmZmluaXR5KTsKICAgICAgICAgICAgIGNwdW1h c2tfb3IoZG9tX2NwdW1hc2tfc29mdCwgZG9tX2NwdW1hc2tfc29mdCwKLSAgICAgICAgICAgICAg ICAgICAgICAgdi0+c2NoZWRfdW5pdC0+Y3B1X3NvZnRfYWZmaW5pdHkpOworICAgICAgICAgICAg ICAgICAgICAgICB1bml0LT5jcHVfc29mdF9hZmZpbml0eSk7CiAgICAgICAgIH0KICAgICAgICAg LyogRmlsdGVyIG91dCBub24tb25saW5lIGNwdXMgKi8KICAgICAgICAgY3B1bWFza19hbmQoZG9t X2NwdW1hc2ssIGRvbV9jcHVtYXNrLCBvbmxpbmUpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9z Y2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IGZjZDA4M2QzMWQuLjdiMGZm ODM5NWUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9u L3NjaGVkdWxlLmMKQEAgLTE0NywyNiArMTQ3LDMyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNj aGVkdWxlciAqZG9tX3NjaGVkdWxlcihjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQogICAgIHJldHVy biAmb3BzOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBzY2hlZHVsZXIgKnZjcHVfc2NoZWR1 bGVyKGNvbnN0IHN0cnVjdCB2Y3B1ICp2KQorc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWR1bGVy ICp1bml0X3NjaGVkdWxlcihjb25zdCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsKLSAgICBz dHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOworICAgIHN0cnVjdCBkb21haW4gKmQgPSB1bml0 LT5kb21haW47CiAKICAgICBpZiAoIGxpa2VseShkLT5jcHVwb29sICE9IE5VTEwpICkKICAgICAg ICAgcmV0dXJuIGQtPmNwdXBvb2wtPnNjaGVkOwogCiAgICAgLyoKLSAgICAgKiBJZiBkLT5jcHVw b29sIGlzIE5VTEwsIHRoaXMgaXMgYSB2Q1BVIG9mIHRoZSBpZGxlIGRvbWFpbi4gQW5kIHRoaXMK KyAgICAgKiBJZiBkLT5jcHVwb29sIGlzIE5VTEwsIHRoaXMgaXMgYSB1bml0IG9mIHRoZSBpZGxl IGRvbWFpbi4gQW5kIHRoaXMKICAgICAgKiBjYXNlIGlzIHNwZWNpYWwgYmVjYXVzZSB0aGUgaWRs ZSBkb21haW4gZG9lcyBub3QgcmVhbGx5IGJlbG9uZyB0bwogICAgICAqIGEgY3B1cG9vbCBhbmQs IGhlbmNlLCBkb2Vzbid0IHJlYWxseSBoYXZlIGEgc2NoZWR1bGVyKS4gSW4gZmFjdCwgaXRzCi0g ICAgICogdkNQVXMgKG1heSkgcnVuIG9uIHBDUFVzIHdoaWNoIGFyZSBpbiBkaWZmZXJlbnQgcG9v bHMsIHdpdGggZGlmZmVyZW50CisgICAgICogdW5pdHMgKG1heSkgcnVuIG9uIHBDUFVzIHdoaWNo IGFyZSBpbiBkaWZmZXJlbnQgcG9vbHMsIHdpdGggZGlmZmVyZW50CiAgICAgICogc2NoZWR1bGVy cy4KICAgICAgKgogICAgICAqIFdoYXQgd2Ugd2FudCwgaW4gdGhpcyBjYXNlLCBpcyB0aGUgc2No ZWR1bGVyIG9mIHRoZSBwQ1BVIHdoZXJlIHRoaXMKLSAgICAgKiBwYXJ0aWN1bGFyIGlkbGUgdkNQ VSBpcyBydW5uaW5nLiBBbmQsIHNpbmNlIHYtPnByb2Nlc3NvciBuZXZlciBjaGFuZ2VzCi0gICAg ICogZm9yIGlkbGUgdkNQVXMsIGl0IGlzIHNhZmUgdG8gdXNlIGl0LCB3aXRoIG5vIGxvY2tzLCB0 byBmaWd1cmUgdGhhdCBvdXQuCisgICAgICogcGFydGljdWxhciBpZGxlIHVuaXQgaXMgcnVubmlu Zy4gQW5kLCBzaW5jZSB1bml0LT5yZXMgbmV2ZXIgY2hhbmdlcworICAgICAqIGZvciBpZGxlIHVu aXRzLCBpdCBpcyBzYWZlIHRvIHVzZSBpdCwgd2l0aCBubyBsb2NrcywgdG8gZmlndXJlIHRoYXQg b3V0LgogICAgICAqLworCiAgICAgQVNTRVJUKGlzX2lkbGVfZG9tYWluKGQpKTsKLSAgICByZXR1 cm4gcGVyX2NwdShzY2hlZHVsZXIsIHYtPnByb2Nlc3Nvcik7CisgICAgcmV0dXJuIHBlcl9jcHUo c2NoZWR1bGVyLCB1bml0LT5yZXMtPnByb2Nlc3Nvcik7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3Ry dWN0IHNjaGVkdWxlciAqdmNwdV9zY2hlZHVsZXIoY29uc3Qgc3RydWN0IHZjcHUgKnYpCit7Cisg ICAgcmV0dXJuIHVuaXRfc2NoZWR1bGVyKHYtPnNjaGVkX3VuaXQpOwogfQogI2RlZmluZSBWQ1BV Mk9OTElORShfdikgY3B1cG9vbF9kb21haW5fY3B1bWFzaygoX3YpLT5kb21haW4pCiAKQEAgLTQ4 NywxMCArNDkzLDExIEBAIHN0YXRpYyB2b2lkIHNjaGVkX21vdmVfaXJxcyhzdHJ1Y3Qgc2NoZWRf dW5pdCAqdW5pdCkKIGludCBzY2hlZF9tb3ZlX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1 Y3QgY3B1cG9vbCAqYykKIHsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICBzdHJ1Y3Qgc2NoZWRf dW5pdCAqdW5pdDsKICAgICB1bnNpZ25lZCBpbnQgbmV3X3A7Ci0gICAgdm9pZCAqKnZjcHVfcHJp djsKKyAgICB2b2lkICoqdW5pdF9wcml2OwogICAgIHZvaWQgKmRvbWRhdGE7Ci0gICAgdm9pZCAq dmNwdWRhdGE7CisgICAgdm9pZCAqdW5pdGRhdGE7CiAgICAgc3RydWN0IHNjaGVkdWxlciAqb2xk X29wczsKICAgICB2b2lkICpvbGRfZG9tZGF0YTsKIApAQCAtNTA0LDIyICs1MTEsMjEgQEAgaW50 IHNjaGVkX21vdmVfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBjcHVwb29sICpjKQog ICAgIGlmICggSVNfRVJSKGRvbWRhdGEpICkKICAgICAgICAgcmV0dXJuIFBUUl9FUlIoZG9tZGF0 YSk7CiAKLSAgICB2Y3B1X3ByaXYgPSB4emFsbG9jX2FycmF5KHZvaWQgKiwgZC0+bWF4X3ZjcHVz KTsKLSAgICBpZiAoIHZjcHVfcHJpdiA9PSBOVUxMICkKKyAgICB1bml0X3ByaXYgPSB4emFsbG9j X2FycmF5KHZvaWQgKiwgZC0+bWF4X3ZjcHVzKTsKKyAgICBpZiAoIHVuaXRfcHJpdiA9PSBOVUxM ICkKICAgICB7CiAgICAgICAgIHNjaGVkX2ZyZWVfZG9tZGF0YShjLT5zY2hlZCwgZG9tZGF0YSk7 CiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogICAgIH0KIAotICAgIGZvcl9lYWNoX3ZjcHUgKCBk LCB2ICkKKyAgICBmb3JfZWFjaF9zY2hlZF91bml0ICggZCwgdW5pdCApCiAgICAgewotICAgICAg ICB2Y3B1X3ByaXZbdi0+dmNwdV9pZF0gPSBzY2hlZF9hbGxvY192ZGF0YShjLT5zY2hlZCwgdi0+ c2NoZWRfdW5pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZG9tZGF0YSk7Ci0gICAgICAgIGlmICggdmNwdV9wcml2W3YtPnZjcHVfaWRdID09IE5V TEwgKQorICAgICAgICB1bml0X3ByaXZbdW5pdC0+dW5pdF9pZF0gPSBzY2hlZF9hbGxvY192ZGF0 YShjLT5zY2hlZCwgdW5pdCwgZG9tZGF0YSk7CisgICAgICAgIGlmICggdW5pdF9wcml2W3VuaXQt PnVuaXRfaWRdID09IE5VTEwgKQogICAgICAgICB7Ci0gICAgICAgICAgICBmb3JfZWFjaF92Y3B1 ICggZCwgdiApCi0gICAgICAgICAgICAgICAgeGZyZWUodmNwdV9wcml2W3YtPnZjcHVfaWRdKTsK LSAgICAgICAgICAgIHhmcmVlKHZjcHVfcHJpdik7CisgICAgICAgICAgICBmb3JfZWFjaF9zY2hl ZF91bml0ICggZCwgdW5pdCApCisgICAgICAgICAgICAgICAgeGZyZWUodW5pdF9wcml2W3VuaXQt PnVuaXRfaWRdKTsKKyAgICAgICAgICAgIHhmcmVlKHVuaXRfcHJpdik7CiAgICAgICAgICAgICBz Y2hlZF9mcmVlX2RvbWRhdGEoYy0+c2NoZWQsIGRvbWRhdGEpOwogICAgICAgICAgICAgcmV0dXJu IC1FTk9NRU07CiAgICAgICAgIH0KQEAgLTUzMCwzMCArNTM2LDM1IEBAIGludCBzY2hlZF9tb3Zl X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICBvbGRfb3Bz ID0gZG9tX3NjaGVkdWxlcihkKTsKICAgICBvbGRfZG9tZGF0YSA9IGQtPnNjaGVkX3ByaXY7CiAK LSAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCisgICAgZm9yX2VhY2hfc2NoZWRfdW5pdCAoIGQs IHVuaXQgKQogICAgIHsKLSAgICAgICAgc2NoZWRfcmVtb3ZlX3VuaXQob2xkX29wcywgdi0+c2No ZWRfdW5pdCk7CisgICAgICAgIHNjaGVkX3JlbW92ZV91bml0KG9sZF9vcHMsIHVuaXQpOwogICAg IH0KIAogICAgIGQtPmNwdXBvb2wgPSBjOwogICAgIGQtPnNjaGVkX3ByaXYgPSBkb21kYXRhOwog CiAgICAgbmV3X3AgPSBjcHVtYXNrX2ZpcnN0KGMtPmNwdV92YWxpZCk7Ci0gICAgZm9yX2VhY2hf dmNwdSAoIGQsIHYgKQorICAgIGZvcl9lYWNoX3NjaGVkX3VuaXQgKCBkLCB1bml0ICkKICAgICB7 CiAgICAgICAgIHNwaW5sb2NrX3QgKmxvY2s7CisgICAgICAgIHVuc2lnbmVkIGludCB1bml0X3Ag PSBuZXdfcDsKIAotICAgICAgICB2Y3B1ZGF0YSA9IHYtPnNjaGVkX3VuaXQtPnByaXY7CisgICAg ICAgIHVuaXRkYXRhID0gdW5pdC0+cHJpdjsKIAotICAgICAgICBtaWdyYXRlX3RpbWVyKCZ2LT5w ZXJpb2RpY190aW1lciwgbmV3X3ApOwotICAgICAgICBtaWdyYXRlX3RpbWVyKCZ2LT5zaW5nbGVz aG90X3RpbWVyLCBuZXdfcCk7Ci0gICAgICAgIG1pZ3JhdGVfdGltZXIoJnYtPnBvbGxfdGltZXIs IG5ld19wKTsKKyAgICAgICAgZm9yX2VhY2hfc2NoZWRfdW5pdF92Y3B1ICggdW5pdCwgdiApCisg ICAgICAgIHsKKyAgICAgICAgICAgIG1pZ3JhdGVfdGltZXIoJnYtPnBlcmlvZGljX3RpbWVyLCBu ZXdfcCk7CisgICAgICAgICAgICBtaWdyYXRlX3RpbWVyKCZ2LT5zaW5nbGVzaG90X3RpbWVyLCBu ZXdfcCk7CisgICAgICAgICAgICBtaWdyYXRlX3RpbWVyKCZ2LT5wb2xsX3RpbWVyLCBuZXdfcCk7 CisgICAgICAgICAgICBuZXdfcCA9IGNwdW1hc2tfY3ljbGUobmV3X3AsIGMtPmNwdV92YWxpZCk7 CisgICAgICAgIH0KIAotICAgICAgICBsb2NrID0gdW5pdF9zY2hlZHVsZV9sb2NrX2lycSh2LT5z Y2hlZF91bml0KTsKKyAgICAgICAgbG9jayA9IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7 CiAKLSAgICAgICAgc2NoZWRfc2V0X2FmZmluaXR5KHYsICZjcHVtYXNrX2FsbCwgJmNwdW1hc2tf YWxsKTsKKyAgICAgICAgc2NoZWRfc2V0X2FmZmluaXR5KHVuaXQtPnZjcHVfbGlzdCwgJmNwdW1h c2tfYWxsLCAmY3B1bWFza19hbGwpOwogCi0gICAgICAgIHNjaGVkX3NldF9yZXModi0+c2NoZWRf dW5pdCwgZ2V0X3NjaGVkX3JlcyhuZXdfcCkpOworICAgICAgICBzY2hlZF9zZXRfcmVzKHVuaXQs IGdldF9zY2hlZF9yZXModW5pdF9wKSk7CiAgICAgICAgIC8qCiAgICAgICAgICAqIFdpdGggdi0+ cHJvY2Vzc29yIG1vZGlmaWVkIHdlIG11c3Qgbm90CiAgICAgICAgICAqIC0gbWFrZSBhbnkgZnVy dGhlciBjaGFuZ2VzIGFzc3VtaW5nIHdlIGhvbGQgdGhlIHNjaGVkdWxlciBsb2NrLApAQCAtNTYx LDE1ICs1NzIsMTMgQEAgaW50IHNjaGVkX21vdmVfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIHN0 cnVjdCBjcHVwb29sICpjKQogICAgICAgICAgKi8KICAgICAgICAgc3Bpbl91bmxvY2tfaXJxKGxv Y2spOwogCi0gICAgICAgIHYtPnNjaGVkX3VuaXQtPnByaXYgPSB2Y3B1X3ByaXZbdi0+dmNwdV9p ZF07CisgICAgICAgIHVuaXQtPnByaXYgPSB1bml0X3ByaXZbdW5pdC0+dW5pdF9pZF07CiAgICAg ICAgIGlmICggIWQtPmlzX2R5aW5nICkKLSAgICAgICAgICAgIHNjaGVkX21vdmVfaXJxcyh2LT5z Y2hlZF91bml0KTsKLQotICAgICAgICBuZXdfcCA9IGNwdW1hc2tfY3ljbGUobmV3X3AsIGMtPmNw dV92YWxpZCk7CisgICAgICAgICAgICBzY2hlZF9tb3ZlX2lycXModW5pdCk7CiAKLSAgICAgICAg c2NoZWRfaW5zZXJ0X3VuaXQoYy0+c2NoZWQsIHYtPnNjaGVkX3VuaXQpOworICAgICAgICBzY2hl ZF9pbnNlcnRfdW5pdChjLT5zY2hlZCwgdW5pdCk7CiAKLSAgICAgICAgc2NoZWRfZnJlZV92ZGF0 YShvbGRfb3BzLCB2Y3B1ZGF0YSk7CisgICAgICAgIHNjaGVkX2ZyZWVfdmRhdGEob2xkX29wcywg dW5pdGRhdGEpOwogICAgIH0KIAogICAgIGRvbWFpbl91cGRhdGVfbm9kZV9hZmZpbml0eShkKTsK QEAgLTU3OCw3ICs1ODcsNyBAQCBpbnQgc2NoZWRfbW92ZV9kb21haW4oc3RydWN0IGRvbWFpbiAq ZCwgc3RydWN0IGNwdXBvb2wgKmMpCiAKICAgICBzY2hlZF9mcmVlX2RvbWRhdGEob2xkX29wcywg b2xkX2RvbWRhdGEpOwogCi0gICAgeGZyZWUodmNwdV9wcml2KTsKKyAgICB4ZnJlZSh1bml0X3By aXYpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC04ODAsMTggKzg4OSwzNiBAQCB2b2lkIHZjcHVf Zm9yY2VfcmVzY2hlZHVsZShzdHJ1Y3QgdmNwdSAqdikKICAgICB2Y3B1X21pZ3JhdGVfZmluaXNo KHYpOwogfQogCitzdGF0aWMgYm9vbCBzY2hlZF9jaGVja19hZmZpbml0eV9icm9rZW4oc3RydWN0 IHNjaGVkX3VuaXQgKnVuaXQpCit7CisgICAgc3RydWN0IHZjcHUgKnY7CisKKyAgICBmb3JfZWFj aF9zY2hlZF91bml0X3ZjcHUgKCB1bml0LCB2ICkKKyAgICAgICAgaWYgKCB2LT5hZmZpbml0eV9i cm9rZW4gKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9 CisKK3N0YXRpYyB2b2lkIHNjaGVkX3Jlc2V0X2FmZmluaXR5X2Jyb2tlbihzdHJ1Y3Qgc2NoZWRf dW5pdCAqdW5pdCkKK3sKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKKworICAgIGZvcl9lYWNoX3NjaGVk X3VuaXRfdmNwdSAoIHVuaXQsIHYgKQorICAgICAgICB2LT5hZmZpbml0eV9icm9rZW4gPSBmYWxz ZTsKK30KKwogdm9pZCByZXN0b3JlX3ZjcHVfYWZmaW5pdHkoc3RydWN0IGRvbWFpbiAqZCkKIHsK ICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotICAgIHN0cnVjdCB2 Y3B1ICp2OworICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OwogCiAgICAgQVNTRVJUKHN5c3Rl bV9zdGF0ZSA9PSBTWVNfU1RBVEVfcmVzdW1lKTsKIAotICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2 ICkKKyAgICBmb3JfZWFjaF9zY2hlZF91bml0ICggZCwgdW5pdCApCiAgICAgewogICAgICAgICBz cGlubG9ja190ICpsb2NrOwotICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NwdSA9IHYtPnByb2Nl c3NvcjsKLSAgICAgICAgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQgPSB2LT5zY2hlZF91bml0Owor ICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NwdSA9IHNjaGVkX3VuaXRfY3B1KHVuaXQpOwogICAg ICAgICBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnJlczsKIAogICAgICAgICBBU1NFUlQoIXVuaXRf cnVubmFibGUodW5pdCkpOwpAQCAtOTEwLDE4ICs5MzcsMjAgQEAgdm9pZCByZXN0b3JlX3ZjcHVf YWZmaW5pdHkoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgICAgICAgICAgICAgY3B1cG9vbF9k b21haW5fY3B1bWFzayhkKSk7CiAgICAgICAgIGlmICggY3B1bWFza19lbXB0eShjcHVtYXNrX3Nj cmF0Y2hfY3B1KGNwdSkpICkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCB2LT5hZmZpbml0 eV9icm9rZW4gKQorICAgICAgICAgICAgaWYgKCBzY2hlZF9jaGVja19hZmZpbml0eV9icm9rZW4o dW5pdCkgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHNjaGVkX3NldF9hZmZpbml0 eSh2LCB1bml0LT5jcHVfaGFyZF9hZmZpbml0eV9zYXZlZCwgTlVMTCk7Ci0gICAgICAgICAgICAg ICAgdi0+YWZmaW5pdHlfYnJva2VuID0gMDsKKyAgICAgICAgICAgICAgICBzY2hlZF9zZXRfYWZm aW5pdHkodW5pdC0+dmNwdV9saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bml0LT5jcHVfaGFyZF9hZmZpbml0eV9zYXZlZCwgTlVMTCk7CisgICAgICAgICAgICAgICAg c2NoZWRfcmVzZXRfYWZmaW5pdHlfYnJva2VuKHVuaXQpOwogICAgICAgICAgICAgICAgIGNwdW1h c2tfYW5kKGNwdW1hc2tfc2NyYXRjaF9jcHUoY3B1KSwgdW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHks CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1cG9vbF9kb21haW5fY3B1bWFzayhkKSk7 CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICggY3B1bWFza19lbXB0eShjcHVtYXNr X3NjcmF0Y2hfY3B1KGNwdSkpICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwcmlu dGsoWEVOTE9HX0RFQlVHICJCcmVha2luZyBhZmZpbml0eSBmb3IgJXB2XG4iLCB2KTsKLSAgICAg ICAgICAgICAgICBzY2hlZF9zZXRfYWZmaW5pdHkodiwgJmNwdW1hc2tfYWxsLCBOVUxMKTsKKyAg ICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0RFQlVHICJCcmVha2luZyBhZmZpbml0eSBmb3Ig JXB2XG4iLAorICAgICAgICAgICAgICAgICAgICAgICB1bml0LT52Y3B1X2xpc3QpOworICAgICAg ICAgICAgICAgIHNjaGVkX3NldF9hZmZpbml0eSh1bml0LT52Y3B1X2xpc3QsICZjcHVtYXNrX2Fs bCwgTlVMTCk7CiAgICAgICAgICAgICAgICAgY3B1bWFza19hbmQoY3B1bWFza19zY3JhdGNoX2Nw dShjcHUpLCB1bml0LT5jcHVfaGFyZF9hZmZpbml0eSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpKTsKICAgICAgICAgICAgIH0KQEAgLTkzNCwx MiArOTYzLDEyIEBAIHZvaWQgcmVzdG9yZV92Y3B1X2FmZmluaXR5KHN0cnVjdCBkb21haW4gKmQp CiAKICAgICAgICAgLyogdi0+cHJvY2Vzc29yIG1pZ2h0IGhhdmUgY2hhbmdlZCwgc28gcmVhY3F1 aXJlIHRoZSBsb2NrLiAqLwogICAgICAgICBsb2NrID0gdW5pdF9zY2hlZHVsZV9sb2NrX2lycSh1 bml0KTsKLSAgICAgICAgcmVzID0gc2NoZWRfcGlja19yZXNvdXJjZSh2Y3B1X3NjaGVkdWxlcih2 KSwgdW5pdCk7CisgICAgICAgIHJlcyA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodW5pdF9zY2hlZHVs ZXIodW5pdCksIHVuaXQpOwogICAgICAgICBzY2hlZF9zZXRfcmVzKHVuaXQsIHJlcyk7CiAgICAg ICAgIHNwaW5fdW5sb2NrX2lycShsb2NrKTsKIAotICAgICAgICBpZiAoIG9sZF9jcHUgIT0gdi0+ cHJvY2Vzc29yICkKLSAgICAgICAgICAgIHNjaGVkX21vdmVfaXJxcyh2LT5zY2hlZF91bml0KTsK KyAgICAgICAgaWYgKCBvbGRfY3B1ICE9IHNjaGVkX3VuaXRfY3B1KHVuaXQpICkKKyAgICAgICAg ICAgIHNjaGVkX21vdmVfaXJxcyh1bml0KTsKICAgICB9CiAKICAgICBkb21haW5fdXBkYXRlX25v ZGVfYWZmaW5pdHkoZCk7CkBAIC05NTMsNyArOTgyLDYgQEAgdm9pZCByZXN0b3JlX3ZjcHVfYWZm aW5pdHkoc3RydWN0IGRvbWFpbiAqZCkKIGludCBjcHVfZGlzYWJsZV9zY2hlZHVsZXIodW5zaWdu ZWQgaW50IGNwdSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkOwotICAgIHN0cnVjdCB2Y3B1ICp2 OwogICAgIHN0cnVjdCBjcHVwb29sICpjOwogICAgIGNwdW1hc2tfdCBvbmxpbmVfYWZmaW5pdHk7 CiAgICAgaW50IHJldCA9IDA7CkBAIC05NjQsMTcgKzk5MiwxOCBAQCBpbnQgY3B1X2Rpc2FibGVf c2NoZWR1bGVyKHVuc2lnbmVkIGludCBjcHUpCiAKICAgICBmb3JfZWFjaF9kb21haW5faW5fY3B1 cG9vbCAoIGQsIGMgKQogICAgIHsKLSAgICAgICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQorICAg ICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdDsKKworICAgICAgICBmb3JfZWFjaF9zY2hlZF91 bml0ICggZCwgdW5pdCApCiAgICAgICAgIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZmxh Z3M7Ci0gICAgICAgICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCA9IHYtPnNjaGVkX3VuaXQ7 CiAgICAgICAgICAgICBzcGlubG9ja190ICpsb2NrID0gdW5pdF9zY2hlZHVsZV9sb2NrX2lycXNh dmUodW5pdCwgJmZsYWdzKTsKIAogICAgICAgICAgICAgY3B1bWFza19hbmQoJm9ubGluZV9hZmZp bml0eSwgdW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHksIGMtPmNwdV92YWxpZCk7CiAgICAgICAgICAg ICBpZiAoIGNwdW1hc2tfZW1wdHkoJm9ubGluZV9hZmZpbml0eSkgJiYKICAgICAgICAgICAgICAg ICAgY3B1bWFza190ZXN0X2NwdShjcHUsIHVuaXQtPmNwdV9oYXJkX2FmZmluaXR5KSApCiAgICAg ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCB2LT5hZmZpbml0eV9icm9rZW4gKQorICAg ICAgICAgICAgICAgIGlmICggdW5pdC0+dmNwdV9saXN0LT5hZmZpbml0eV9icm9rZW4gKQogICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgLyogVGhlIHZjcHUgaXMgdGVtcG9y YXJpbHkgcGlubmVkLCBjYW4ndCBtb3ZlIGl0LiAqLwogICAgICAgICAgICAgICAgICAgICB1bml0 X3NjaGVkdWxlX3VubG9ja19pcnFyZXN0b3JlKGxvY2ssIGZsYWdzLCB1bml0KTsKQEAgLTk4Miwx NCArMTAxMSwxNSBAQCBpbnQgY3B1X2Rpc2FibGVfc2NoZWR1bGVyKHVuc2lnbmVkIGludCBjcHUp CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAg ICAgICAgICAgIHByaW50ayhYRU5MT0dfREVCVUcgIkJyZWFraW5nIGFmZmluaXR5IGZvciAlcHZc biIsIHYpOworICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfREVCVUcgIkJyZWFraW5nIGFm ZmluaXR5IGZvciAlcHZcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIHVuaXQtPnZjcHVfbGlz dCk7CiAKLSAgICAgICAgICAgICAgICBzY2hlZF9zZXRfYWZmaW5pdHkodiwgJmNwdW1hc2tfYWxs LCBOVUxMKTsKKyAgICAgICAgICAgICAgICBzY2hlZF9zZXRfYWZmaW5pdHkodW5pdC0+dmNwdV9s aXN0LCAmY3B1bWFza19hbGwsIE5VTEwpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBp ZiAoIHYtPnByb2Nlc3NvciAhPSBjcHUgKQorICAgICAgICAgICAgaWYgKCBzY2hlZF91bml0X2Nw dSh1bml0KSAhPSBzY2hlZF9nZXRfcmVzb3VyY2VfY3B1KGNwdSkgKQogICAgICAgICAgICAgewot ICAgICAgICAgICAgICAgIC8qIFRoZSB2Y3B1IGlzIG5vdCBvbiB0aGlzIGNwdSwgc28gd2UgY2Fu IG1vdmUgb24uICovCisgICAgICAgICAgICAgICAgLyogVGhlIHVuaXQgaXMgbm90IG9uIHRoaXMg Y3B1LCBzbyB3ZSBjYW4gbW92ZSBvbi4gKi8KICAgICAgICAgICAgICAgICB1bml0X3NjaGVkdWxl X3VubG9ja19pcnFyZXN0b3JlKGxvY2ssIGZsYWdzLCB1bml0KTsKICAgICAgICAgICAgICAgICBj b250aW51ZTsKICAgICAgICAgICAgIH0KQEAgLTEwMDIsMTcgKzEwMzIsMTcgQEAgaW50IGNwdV9k aXNhYmxlX3NjaGVkdWxlcih1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAgICAgICogICogdGhl IHNjaGVkdWxlciB3aWxsIGFsd2F5cyBmaW5kIGEgc3VpdGFibGUgc29sdXRpb24sIG9yCiAgICAg ICAgICAgICAgKiAgICB0aGluZ3Mgd291bGQgaGF2ZSBmYWlsZWQgYmVmb3JlIGdldHRpbmcgaW4g aGVyZS4KICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHYp OworICAgICAgICAgICAgdmNwdV9taWdyYXRlX3N0YXJ0KHVuaXQtPnZjcHVfbGlzdCk7CiAgICAg ICAgICAgICB1bml0X3NjaGVkdWxlX3VubG9ja19pcnFyZXN0b3JlKGxvY2ssIGZsYWdzLCB1bml0 KTsKIAotICAgICAgICAgICAgdmNwdV9taWdyYXRlX2ZpbmlzaCh2KTsKKyAgICAgICAgICAgIHZj cHVfbWlncmF0ZV9maW5pc2godW5pdC0+dmNwdV9saXN0KTsKIAogICAgICAgICAgICAgLyoKICAg ICAgICAgICAgICAqIFRoZSBvbmx5IGNhdmVhdCwgaW4gdGhpcyBjYXNlLCBpcyB0aGF0IGlmIGEg dmNwdSBhY3RpdmUgaW4KICAgICAgICAgICAgICAqIHRoZSBoeXBlcnZpc29yIGlzbid0IG1pZ3Jh dGFibGUuIEluIHRoaXMgY2FzZSwgdGhlIGNhbGxlcgogICAgICAgICAgICAgICogc2hvdWxkIHRy eSBhZ2FpbiBhZnRlciByZWxlYXNpbmcgYW5kIHJlYXF1aXJpbmcgYWxsIGxvY2tzLgogICAgICAg ICAgICAgICovCi0gICAgICAgICAgICBpZiAoIHYtPnByb2Nlc3NvciA9PSBjcHUgKQorICAgICAg ICAgICAgaWYgKCBzY2hlZF91bml0X2NwdSh1bml0KSA9PSBzY2hlZF9nZXRfcmVzb3VyY2VfY3B1 KGNwdSkgKQogICAgICAgICAgICAgICAgIHJldCA9IC1FQUdBSU47CiAgICAgICAgIH0KICAgICB9 CkBAIC0xMDIzLDggKzEwNTMsOCBAQCBpbnQgY3B1X2Rpc2FibGVfc2NoZWR1bGVyKHVuc2lnbmVk IGludCBjcHUpCiBzdGF0aWMgaW50IGNwdV9kaXNhYmxlX3NjaGVkdWxlcl9jaGVjayh1bnNpZ25l ZCBpbnQgY3B1KQogewogICAgIHN0cnVjdCBkb21haW4gKmQ7Ci0gICAgc3RydWN0IHZjcHUgKnY7 CiAgICAgc3RydWN0IGNwdXBvb2wgKmM7CisgICAgc3RydWN0IHZjcHUgKnY7CiAKICAgICBjID0g cGVyX2NwdShjcHVwb29sLCBjcHUpOwogICAgIGlmICggYyA9PSBOVUxMICkKLS0gCjIuMTYuNAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=