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 D0755C31E40 for ; Fri, 9 Aug 2019 14:59:31 +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 A2DCA208C4 for ; Fri, 9 Aug 2019 14:59:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A2DCA208C4 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 1hw6MR-0007Uv-BZ; Fri, 09 Aug 2019 14:59:19 +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 1hw6M5-0006iR-Rm for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 14:58:57 +0000 X-Inumbo-ID: 341edf1c-bab6-11e9-96bc-2b99beb2db5d Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 341edf1c-bab6-11e9-96bc-2b99beb2db5d; Fri, 09 Aug 2019 14:58:53 +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 06C01B035; Fri, 9 Aug 2019 14:58:53 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 9 Aug 2019 16:58:27 +0200 Message-Id: <20190809145833.1020-43-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 42/48] xen/sched: split schedule_cpu_switch() 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 , Dario Faggioli , Julien Grall , 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" SW5zdGVhZCBvZiBsZXR0aW5nIHNjaGVkdWxlX2NwdV9zd2l0Y2goKSBoYW5kbGUgbW92aW5nIGNw dXMgZnJvbSBhbmQKdG8gY3B1cG9vbHMsIHNwbGl0IGl0IGludG8gc2NoZWR1bGVfY3B1X2FkZCgp IGFuZCBzY2hlZHVsZV9jcHVfcm0oKS4KClRoaXMgd2lsbCBhbGxvdyB1cyB0byBkcm9wIGFsbG9j YXRpbmcvZnJlZWluZyBzY2hlZHVsZXIgZGF0YSBmb3IgZnJlZQpjcHVzIGFzIHRoZSBpZGxlIHNj aGVkdWxlciBkb2Vzbid0IG5lZWQgc3VjaCBkYXRhLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBH cm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KVjE6IG5ldyBwYXRjaAotLS0KIHhlbi9jb21tb24v Y3B1cG9vbC5jICAgIHwgICA0ICstCiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgICB8IDEyNSArKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRl L3hlbi9zY2hlZC5oIHwgICAzICstCiAzIGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyks IDU4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vY3B1cG9vbC5jIGIveGVu L2NvbW1vbi9jcHVwb29sLmMKaW5kZXggODc4OWZkZTNjNC4uNDc0OWVhZDg0NiAxMDA2NDQKLS0t IGEveGVuL2NvbW1vbi9jcHVwb29sLmMKKysrIGIveGVuL2NvbW1vbi9jcHVwb29sLmMKQEAgLTI2 OCw3ICsyNjgsNyBAQCBzdGF0aWMgaW50IGNwdXBvb2xfYXNzaWduX2NwdV9sb2NrZWQoc3RydWN0 IGNwdXBvb2wgKmMsIHVuc2lnbmVkIGludCBjcHUpCiAKICAgICBpZiAoIChjcHVwb29sX21vdmlu Z19jcHUgPT0gY3B1KSAmJiAoYyAhPSBjcHVwb29sX2NwdV9tb3ZpbmcpICkKICAgICAgICAgcmV0 dXJuIC1FQUREUk5PVEFWQUlMOwotICAgIHJldCA9IHNjaGVkdWxlX2NwdV9zd2l0Y2goY3B1LCBj KTsKKyAgICByZXQgPSBzY2hlZHVsZV9jcHVfYWRkKGNwdSwgYyk7CiAgICAgaWYgKCByZXQgKQog ICAgICAgICByZXR1cm4gcmV0OwogCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGljIGludCBjcHVw b29sX3VuYXNzaWduX2NwdV9lcGlsb2d1ZShzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICAgKi8KICAg ICBpZiAoICFyZXQgKQogICAgIHsKLSAgICAgICAgcmV0ID0gc2NoZWR1bGVfY3B1X3N3aXRjaChj cHUsIE5VTEwpOworICAgICAgICByZXQgPSBzY2hlZHVsZV9jcHVfcm0oY3B1KTsKICAgICAgICAg aWYgKCByZXQgKQogICAgICAgICAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmY3B1cG9vbF9m cmVlX2NwdXMpOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkdWxl LmMgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKaW5kZXggNzgyM2I0OGUzMi4uOTk5ZjZlMzQ3YiAx MDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWR1 bGUuYwpAQCAtODMsMTUgKzgzLDYgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKl9f c3RhcnRfc2NoZWR1bGVyc19hcnJheVtdLCAqX19lbmRfc2NoZWR1bGVyc19hcnIKIAogc3RhdGlj IHN0cnVjdCBzY2hlZHVsZXIgX19yZWFkX21vc3RseSBvcHM7CiAKLXN0YXRpYyBzcGlubG9ja190 ICoKLXNjaGVkX2lkbGVfc3dpdGNoX3NjaGVkKHN0cnVjdCBzY2hlZHVsZXIgKm5ld19vcHMsIHVu c2lnbmVkIGludCBjcHUsCi0gICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwZGF0YSwgdm9p ZCAqdmRhdGEpCi17Ci0gICAgc2NoZWRfaWRsZV91bml0KGNwdSktPnByaXYgPSBOVUxMOwotCi0g ICAgcmV0dXJuICZzY2hlZF9mcmVlX2NwdV9sb2NrOwotfQotCiBzdGF0aWMgc3RydWN0IHNjaGVk X3Jlc291cmNlICoKIHNjaGVkX2lkbGVfcmVzX3BpY2soY29uc3Qgc3RydWN0IHNjaGVkdWxlciAq b3BzLCBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKIHsKQEAgLTEzMSw3ICsxMjIsNiBAQCBzdGF0 aWMgc3RydWN0IHNjaGVkdWxlciBzY2hlZF9pZGxlX29wcyA9IHsKIAogICAgIC5hbGxvY192ZGF0 YSAgICA9IHNjaGVkX2lkbGVfYWxsb2NfdmRhdGEsCiAgICAgLmZyZWVfdmRhdGEgICAgID0gc2No ZWRfaWRsZV9mcmVlX3ZkYXRhLAotICAgIC5zd2l0Y2hfc2NoZWQgICA9IHNjaGVkX2lkbGVfc3dp dGNoX3NjaGVkLAogfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgdmNwdSAqdW5pdDJ2Y3B1X2Nw dShzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKQEAgLTI0OTIsMzYgKzI0ODIsMjIgQEAgdm9pZCBf X2luaXQgc2NoZWR1bGVyX2luaXQodm9pZCkKIH0KIAogLyoKLSAqIE1vdmUgYSBwQ1BVIG91dHNp ZGUgb2YgdGhlIGluZmx1ZW5jZSBvZiB0aGUgc2NoZWR1bGVyIG9mIGl0cyBjdXJyZW50Ci0gKiBj cHVwb29sLCBvciBzdWJqZWN0IGl0IHRvIHRoZSBzY2hlZHVsZXIgb2YgYSBuZXcgY3B1cG9vbC4K LSAqCi0gKiBGb3IgdGhlIHBDUFVzIHRoYXQgYXJlIHJlbW92ZWQgZnJvbSB0aGVpciBjcHVwb29s LCB0aGVpciBzY2hlZHVsZXIgYmVjb21lcwotICogJnNjaGVkX2lkbGVfb3BzICh0aGUgaWRsZSBz Y2hlZHVsZXIpLgorICogTW92ZSBhIHBDUFUgZnJvbSBmcmVlIGNwdXMgKHJ1bm5pbmcgdGhlIGlk bGUgc2NoZWR1bGVyKSB0byBhIGNwdXBvb2wKKyAqIHVzaW5nIGFueSAicmVhbCIgc2NoZWR1bGVy LgorICogVGhlIGNwdSBpcyBzdGlsbCBtYXJrZWQgYXMgImZyZWUiIGFuZCBub3QgeWV0IHZhbGlk IGZvciBpdHMgY3B1cG9vbC4KICAqLwotaW50IHNjaGVkdWxlX2NwdV9zd2l0Y2godW5zaWduZWQg aW50IGNwdSwgc3RydWN0IGNwdXBvb2wgKmMpCitpbnQgc2NoZWR1bGVfY3B1X2FkZCh1bnNpZ25l ZCBpbnQgY3B1LCBzdHJ1Y3QgY3B1cG9vbCAqYykKIHsKICAgICBzdHJ1Y3QgdmNwdSAqaWRsZTsK LSAgICB2b2lkICpwcHJpdiwgKnBwcml2X29sZCwgKnZwcml2LCAqdnByaXZfb2xkOwotICAgIHN0 cnVjdCBzY2hlZHVsZXIgKm9sZF9vcHMgPSBnZXRfc2NoZWRfcmVzKGNwdSktPnNjaGVkdWxlcjsK LSAgICBzdHJ1Y3Qgc2NoZWR1bGVyICpuZXdfb3BzID0gKGMgPT0gTlVMTCkgPyAmc2NoZWRfaWRs ZV9vcHMgOiBjLT5zY2hlZDsKKyAgICB2b2lkICpwcHJpdiwgKnZwcml2OworICAgIHN0cnVjdCBz Y2hlZHVsZXIgKm5ld19vcHMgPSBjLT5zY2hlZDsKICAgICBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2Ug KnNkID0gZ2V0X3NjaGVkX3JlcyhjcHUpOwotICAgIHN0cnVjdCBjcHVwb29sICpvbGRfcG9vbCA9 IHNkLT5jcHVwb29sOwogICAgIHNwaW5sb2NrX3QgKm9sZF9sb2NrLCAqbmV3X2xvY2s7CiAgICAg dW5zaWduZWQgbG9uZyBmbGFnczsKIAotICAgIC8qCi0gICAgICogcENQVXMgb25seSBtb3ZlIGZy b20gYSB2YWxpZCBjcHVwb29sIHRvIGZyZWUgKGkuZS4sIG91dCBvZiBhbnkgcG9vbCksCi0gICAg ICogb3IgZnJvbSBmcmVlIHRvIGEgdmFsaWQgY3B1cG9vbC4gSW4gdGhlIGZvcm1lciBjYXNlICh3 aGljaCBoYXBwZW5zIHdoZW4KLSAgICAgKiBjIGlzIE5VTEwpLCB3ZSB3YW50IHRoZSBDUFUgdG8g aGF2ZSBiZWVuIG1hcmtlZCBhcyBmcmVlIGFscmVhZHksIGFzCi0gICAgICogd2VsbCBhcyB0byBu b3QgYmUgdmFsaWQgZm9yIHRoZSBzb3VyY2UgcG9vbCBhbnkgbG9uZ2VyLCB3aGVuIHdlIGdldCB0 bwotICAgICAqIGhlcmUuIEluIHRoZSBsYXR0ZXIgY2FzZSAod2hpY2ggaGFwcGVucyB3aGVuIGMg aXMgYSB2YWxpZCBjcHVwb29sKSwgd2UKLSAgICAgKiB3YW50IHRoZSBDUFUgdG8gc3RpbGwgYmUg bWFya2VkIGFzIGZyZWUsIGFzIHdlbGwgYXMgdG8gbm90IHlldCBiZSB2YWxpZAotICAgICAqIGZv ciB0aGUgZGVzdGluYXRpb24gcG9vbC4KLSAgICAgKi8KLSAgICBBU1NFUlQoYyAhPSBvbGRfcG9v bCAmJiAoYyAhPSBOVUxMIHx8IG9sZF9wb29sICE9IE5VTEwpKTsKICAgICBBU1NFUlQoY3B1bWFz a190ZXN0X2NwdShjcHUsICZjcHVwb29sX2ZyZWVfY3B1cykpOwotICAgIEFTU0VSVCgoYyA9PSBO VUxMICYmICFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgb2xkX3Bvb2wtPmNwdV92YWxpZCkpIHx8Ci0g ICAgICAgICAgIChjICE9IE5VTEwgJiYgIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCBjLT5jcHVfdmFs aWQpKSk7CisgICAgQVNTRVJUKCFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgYy0+Y3B1X3ZhbGlkKSk7 CisgICAgQVNTRVJUKGdldF9zY2hlZF9yZXMoY3B1KS0+Y3B1cG9vbCA9PSBOVUxMKTsKIAogICAg IC8qCiAgICAgICogVG8gc2V0dXAgdGhlIGNwdSBmb3IgdGhlIG5ldyBzY2hlZHVsZXIgd2UgbmVl ZDoKQEAgLTI1NDYsNTIgKzI1MjIsOTEgQEAgaW50IHNjaGVkdWxlX2NwdV9zd2l0Y2godW5zaWdu ZWQgaW50IGNwdSwgc3RydWN0IGNwdXBvb2wgKmMpCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwog ICAgIH0KIAotICAgIHNjaGVkX2RvX3RpY2tfc3VzcGVuZChvbGRfb3BzLCBjcHUpOwotCiAgICAg LyoKLSAgICAgKiBUaGUgYWN0dWFsIHN3aXRjaCwgaW5jbHVkaW5nIChpZiBuZWNlc3NhcnkpIHRo ZSByZXJvdXRpbmcgb2YgdGhlCi0gICAgICogc2NoZWR1bGVyIGxvY2sgdG8gd2hhdGV2ZXIgbmV3 X29wcyBwcmVmZXJzLCAgbmVlZHMgdG8gaGFwcGVuIGluIG9uZQotICAgICAqIGNyaXRpY2FsIHNl Y3Rpb24sIHByb3RlY3RlZCBieSBvbGRfb3BzJyBsb2NrLCBvciByYWNlcyBhcmUgcG9zc2libGUu Ci0gICAgICogSXQgaXMsIGluIGZhY3QsIHRoZSBsb2NrIG9mIGFub3RoZXIgc2NoZWR1bGVyIHRo YXQgd2UgYXJlIHRha2luZyAodGhlCi0gICAgICogc2NoZWR1bGVyIG9mIHRoZSBjcHVwb29sIHRo YXQgY3B1IHN0aWxsIGJlbG9uZ3MgdG8pLiBCdXQgdGhhdCBpcyBvawotICAgICAqIGFzLCBhbnlv bmUgdHJ5aW5nIHRvIHNjaGVkdWxlIG9uIHRoaXMgY3B1IHdpbGwgc3BpbiB1bnRpbCB3aGVuIHdl Ci0gICAgICogcmVsZWFzZSB0aGF0IGxvY2sgKGJvdHRvbSBvZiB0aGlzIGZ1bmN0aW9uKS4gV2hl biBoZSdsbCBnZXQgdGhlIGxvY2sKLSAgICAgKiAtLXRoYW5rcyB0byB0aGUgbG9vcCBpbnNpZGUg Kl9zY2hlZHVsZV9sb2NrKCkgZnVuY3Rpb25zLS0gaGUnbGwgbm90aWNlCi0gICAgICogdGhhdCB0 aGUgbG9jayBpdHNlbGYgY2hhbmdlZCwgYW5kIHJldHJ5IGFjcXVpcmluZyB0aGUgbmV3IG9uZSAo d2hpY2gKLSAgICAgKiB3aWxsIGJlIHRoZSBjb3JyZWN0LCByZW1hcHBlZCBvbmUsIGF0IHRoYXQg cG9pbnQpLgorICAgICAqIFRoZSBhY3R1YWwgc3dpdGNoLCBpbmNsdWRpbmcgdGhlIHJlcm91dGlu ZyBvZiB0aGUgc2NoZWR1bGVyIGxvY2sgdG8KKyAgICAgKiB3aGF0ZXZlciBuZXdfb3BzIHByZWZl cnMsIG5lZWRzIHRvIGhhcHBlbiBpbiBvbmUgY3JpdGljYWwgc2VjdGlvbiwKKyAgICAgKiBwcm90 ZWN0ZWQgYnkgb2xkX29wcycgbG9jaywgb3IgcmFjZXMgYXJlIHBvc3NpYmxlLgorICAgICAqIEl0 IGlzLCBpbiBmYWN0LCB0aGUgbG9jayBvZiB0aGUgaWRsZSBzY2hlZHVsZXIgdGhhdCB3ZSBhcmUg dGFraW5nLgorICAgICAqIEJ1dCB0aGF0IGlzIG9rIGFzIGFueW9uZSB0cnlpbmcgdG8gc2NoZWR1 bGUgb24gdGhpcyBjcHUgd2lsbCBzcGluIHVudGlsCisgICAgICogd2hlbiB3ZSByZWxlYXNlIHRo YXQgbG9jayAoYm90dG9tIG9mIHRoaXMgZnVuY3Rpb24pLiBXaGVuIGhlJ2xsIGdldCB0aGUKKyAg ICAgKiBsb2NrIC0tdGhhbmtzIHRvIHRoZSBsb29wIGluc2lkZSAqX3NjaGVkdWxlX2xvY2soKSBm dW5jdGlvbnMtLSBoZSdsbAorICAgICAqIG5vdGljZSB0aGF0IHRoZSBsb2NrIGl0c2VsZiBjaGFu Z2VkLCBhbmQgcmV0cnkgYWNxdWlyaW5nIHRoZSBuZXcgb25lCisgICAgICogKHdoaWNoIHdpbGwg YmUgdGhlIGNvcnJlY3QsIHJlbWFwcGVkIG9uZSwgYXQgdGhhdCBwb2ludCkuCiAgICAgICovCiAg ICAgb2xkX2xvY2sgPSBwY3B1X3NjaGVkdWxlX2xvY2tfaXJxc2F2ZShjcHUsICZmbGFncyk7CiAK LSAgICB2cHJpdl9vbGQgPSBpZGxlLT5zY2hlZF91bml0LT5wcml2OwotICAgIHBwcml2X29sZCA9 IHNkLT5zY2hlZF9wcml2OwogICAgIG5ld19sb2NrID0gc2NoZWRfc3dpdGNoX3NjaGVkKG5ld19v cHMsIGNwdSwgcHByaXYsIHZwcml2KTsKIAogICAgIHNkLT5zY2hlZHVsZXIgPSBuZXdfb3BzOwog ICAgIHNkLT5zY2hlZF9wcml2ID0gcHByaXY7CiAKICAgICAvKgotICAgICAqIFRoZSBkYXRhIGFi b3ZlIGlzIHByb3RlY3RlZCB1bmRlciBuZXdfbG9jaywgd2hpY2ggbWF5IGJlIHVubG9ja2VkLgot ICAgICAqIEFub3RoZXIgQ1BVIGNhbiB0YWtlIG5ld19sb2NrIGFzIHNvb24gYXMgc2QtPnNjaGVk dWxlX2xvY2sgaXMgdmlzaWJsZSwKLSAgICAgKiBhbmQgbXVzdCBvYnNlcnZlIGFsbCBwcmlvciBp bml0aWFsaXNhdGlvbi4KKyAgICAgKiBSZXJvdXRlIHRoZSBsb2NrIHRvIHRoZSBwZXIgcENQVSBs b2NrIGFzIC9sYXN0LyB0aGluZy4gSW4gZmFjdCwKKyAgICAgKiBpZiBpdCBpcyBmcmVlIChhbmQg aXQgY2FuIGJlKSB3ZSB3YW50IHRoYXQgYW55b25lIHRoYXQgbWFuYWdlcworICAgICAqIHRha2lu ZyBpdCwgZmluZHMgYWxsIHRoZSBpbml0aWFsaXphdGlvbnMgd2UndmUgZG9uZSBhYm92ZSBpbiBw bGFjZS4KICAgICAgKi8KICAgICBzbXBfd21iKCk7CiAgICAgc2QtPnNjaGVkdWxlX2xvY2sgPSBu ZXdfbG9jazsKIAotICAgIC8qIF9Ob3RfIHBjcHVfc2NoZWR1bGVfdW5sb2NrKCk6IHNjaGVkdWxl X2xvY2sgbWF5IGhhdmUgY2hhbmdlZCEgKi8KKyAgICAvKiBfTm90XyBwY3B1X3NjaGVkdWxlX3Vu bG9jaygpOiBzY2hlZHVsZV9sb2NrIGhhcyBjaGFuZ2VkISAqLwogICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUob2xkX2xvY2ssIGZsYWdzKTsKIAogICAgIHNjaGVkX2RvX3RpY2tfcmVzdW1lKG5l d19vcHMsIGNwdSk7CiAKKyAgICBzZC0+Z3JhbnVsYXJpdHkgPSBjLT5ncmFudWxhcml0eTsKKyAg ICBzZC0+Y3B1cG9vbCA9IGM7CisgICAgLyogVGhlICBjcHUgaXMgYWRkZWQgdG8gYSBwb29sLCB0 cmlnZ2VyIGl0IHRvIGdvIHBpY2sgdXAgc29tZSB3b3JrICovCisgICAgY3B1X3JhaXNlX3NvZnRp cnEoY3B1LCBTQ0hFRFVMRV9TT0ZUSVJRKTsKKworICAgIHJldHVybiAwOworfQorCisvKgorICog UmVtb3ZlIGEgcENQVSBmcm9tIGl0cyBjcHVwb29sLiBJdHMgc2NoZWR1bGVyIGJlY29tZXMgJnNj aGVkX2lkbGVfb3BzCisgKiAodGhlIGlkbGUgc2NoZWR1bGVyKS4KKyAqIFRoZSBjcHUgaXMgYWxy ZWFkeSBtYXJrZWQgYXMgImZyZWUiIGFuZCBub3QgdmFsaWQgYW55IGxvbmdlciBmb3IgaXRzCisg KiBjcHVwb29sLgorICovCitpbnQgc2NoZWR1bGVfY3B1X3JtKHVuc2lnbmVkIGludCBjcHUpCit7 CisgICAgc3RydWN0IHZjcHUgKmlkbGU7CisgICAgdm9pZCAqcHByaXZfb2xkLCAqdnByaXZfb2xk OworICAgIHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqc2QgPSBnZXRfc2NoZWRfcmVzKGNwdSk7Cisg ICAgc3RydWN0IHNjaGVkdWxlciAqb2xkX29wcyA9IHNkLT5zY2hlZHVsZXI7CisgICAgc3Bpbmxv Y2tfdCAqb2xkX2xvY2s7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKworICAgIEFTU0VSVChz ZC0+Y3B1cG9vbCAhPSBOVUxMKTsKKyAgICBBU1NFUlQoY3B1bWFza190ZXN0X2NwdShjcHUsICZj cHVwb29sX2ZyZWVfY3B1cykpOworICAgIEFTU0VSVCghY3B1bWFza190ZXN0X2NwdShjcHUsIHNk LT5jcHVwb29sLT5jcHVfdmFsaWQpKTsKKworICAgIGlkbGUgPSBpZGxlX3ZjcHVbY3B1XTsKKwor ICAgIHNjaGVkX2RvX3RpY2tfc3VzcGVuZChvbGRfb3BzLCBjcHUpOworCisgICAgLyogU2VlIGNv bW1lbnQgaW4gc2NoZWR1bGVfY3B1X2FkZCgpIHJlZ2FyZGluZyBsb2NrIHN3aXRjaGluZy4gKi8K KyAgICBvbGRfbG9jayA9IHBjcHVfc2NoZWR1bGVfbG9ja19pcnFzYXZlKGNwdSwgJmZsYWdzKTsK KworICAgIHZwcml2X29sZCA9IGlkbGUtPnNjaGVkX3VuaXQtPnByaXY7CisgICAgcHByaXZfb2xk ID0gc2QtPnNjaGVkX3ByaXY7CisKKyAgICBpZGxlLT5zY2hlZF91bml0LT5wcml2ID0gTlVMTDsK KyAgICBzZC0+c2NoZWR1bGVyID0gJnNjaGVkX2lkbGVfb3BzOworICAgIHNkLT5zY2hlZF9wcml2 ID0gTlVMTDsKKworICAgIHNtcF9tYigpOworICAgIHNkLT5zY2hlZHVsZV9sb2NrID0gJnNjaGVk X2ZyZWVfY3B1X2xvY2s7CisKKyAgICAvKiBfTm90XyBwY3B1X3NjaGVkdWxlX3VubG9jaygpOiBz Y2hlZHVsZV9sb2NrIG1heSBoYXZlIGNoYW5nZWQhICovCisgICAgc3Bpbl91bmxvY2tfaXJxcmVz dG9yZShvbGRfbG9jaywgZmxhZ3MpOworCiAgICAgc2NoZWRfZGVpbml0X3BkYXRhKG9sZF9vcHMs IHBwcml2X29sZCwgY3B1KTsKIAogICAgIHNjaGVkX2ZyZWVfdmRhdGEob2xkX29wcywgdnByaXZf b2xkKTsKICAgICBzY2hlZF9mcmVlX3BkYXRhKG9sZF9vcHMsIHBwcml2X29sZCwgY3B1KTsKIAot ICAgIGdldF9zY2hlZF9yZXMoY3B1KS0+Z3JhbnVsYXJpdHkgPSBjID8gYy0+Z3JhbnVsYXJpdHkg OiAxOwotICAgIGdldF9zY2hlZF9yZXMoY3B1KS0+Y3B1cG9vbCA9IGM7Ci0gICAgLyogV2hlbiBh IGNwdSBpcyBhZGRlZCB0byBhIHBvb2wsIHRyaWdnZXIgaXQgdG8gZ28gcGljayB1cCBzb21lIHdv cmsgKi8KLSAgICBpZiAoIGMgIT0gTlVMTCApCi0gICAgICAgIGNwdV9yYWlzZV9zb2Z0aXJxKGNw dSwgU0NIRURVTEVfU09GVElSUSk7CisgICAgc2QtPmdyYW51bGFyaXR5ID0gMTsKKyAgICBzZC0+ Y3B1cG9vbCA9IE5VTEw7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKaW5kZXggMzkzNTVmNWQ2 Ny4uMzQ2ZTU2NGUwNSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIv eGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTkxMCw3ICs5MTAsOCBAQCBzdHJ1Y3Qgc2NoZWR1 bGVyOwogc3RydWN0IHNjaGVkdWxlciAqc2NoZWR1bGVyX2dldF9kZWZhdWx0KHZvaWQpOwogc3Ry dWN0IHNjaGVkdWxlciAqc2NoZWR1bGVyX2FsbG9jKHVuc2lnbmVkIGludCBzY2hlZF9pZCwgaW50 ICpwZXJyKTsKIHZvaWQgc2NoZWR1bGVyX2ZyZWUoc3RydWN0IHNjaGVkdWxlciAqc2NoZWQpOwot aW50IHNjaGVkdWxlX2NwdV9zd2l0Y2godW5zaWduZWQgaW50IGNwdSwgc3RydWN0IGNwdXBvb2wg KmMpOworaW50IHNjaGVkdWxlX2NwdV9hZGQodW5zaWduZWQgaW50IGNwdSwgc3RydWN0IGNwdXBv b2wgKmMpOworaW50IHNjaGVkdWxlX2NwdV9ybSh1bnNpZ25lZCBpbnQgY3B1KTsKIHZvaWQgdmNw dV9zZXRfcGVyaW9kaWNfdGltZXIoc3RydWN0IHZjcHUgKnYsIHNfdGltZV90IHZhbHVlKTsKIGlu dCBjcHVfZGlzYWJsZV9zY2hlZHVsZXIodW5zaWduZWQgaW50IGNwdSk7CiAvKiBXZSBuZWVkIGl0 IGluIGRvbTBfc2V0dXBfdmNwdSAqLwotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==