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 19830C31E40 for ; Fri, 9 Aug 2019 14:59:10 +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 E11D6208C4 for ; Fri, 9 Aug 2019 14:59:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E11D6208C4 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 1hw6M4-0006gD-NW; Fri, 09 Aug 2019 14:58:56 +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 1hw6Lz-0006XE-T9 for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 14:58:51 +0000 X-Inumbo-ID: 30110ce2-bab6-11e9-bdd9-7fc645eeb30a Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 30110ce2-bab6-11e9-bdd9-7fc645eeb30a; Fri, 09 Aug 2019 14:58:46 +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 5BEC7B0B6; Fri, 9 Aug 2019 14:58:45 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 9 Aug 2019 16:58:06 +0200 Message-Id: <20190809145833.1020-22-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 21/48] xen/sched: use sched_resource cpu instead smp_processor_id in schedulers 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" RXNwZWNpYWxseSBpbiB0aGUgZG9fc2NoZWR1bGUoKSBmdW5jdGlvbnMgb2YgdGhlIGRpZmZlcmVu dCBzY2hlZHVsZXJzCnVzaW5nIHNtcF9wcm9jZXNzb3JfaWQoKSBmb3IgdGhlIGxvY2FsIGNwdSBu dW1iZXIgaXMgY29ycmVjdCBvbmx5IGlmCnRoZSBzY2hlZF91bml0IGlzIGEgc2luZ2xlIHZjcHUu IEFzIHNvb24gYXMgbGFyZ2VyIHNjaGVkX3VuaXRzIGFyZQp1c2VkIG1vc3QgdXNlcyBzaG91bGQg YmUgcmVwbGFjZWQgYnkgdGhlIGNwdSBudW1iZXIgb2YgdGhlIGxvY2FsCnNjaGVkX3Jlc291cmNl IGluc3RlYWQuCgpBZGQgYSBoZWxwZXIgdG8gZ2V0IHRoYXQgc2NoZWRfcmVzb3VyY2UgY3B1IGFu ZCBtb2RpZnkgdGhlIHNjaGVkdWxlcnMKdG8gdXNlIGl0IGluIGEgY29ycmVjdCB3YXkuCgpTaWdu ZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1v bi9zY2hlZF9hcmluYzY1My5jIHwgIDIgKy0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgICB8 IDIxICsrKysrKysrKy0tLS0tLS0tLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgIHwgNTMg KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vY29tbW9u L3NjaGVkX251bGwuYyAgICAgfCAxNyArKysrKysrKy0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWRf cnQuYyAgICAgICB8IDE3ICsrKysrKysrLS0tLS0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jICAg ICAgIHwgIDIgKy0KIHhlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oICB8ICA1ICsrKysrCiA3IGZp bGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYyBiL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2 NTMuYwppbmRleCAyMTNiYzk2MGVmLi5lNDhmMmIyZWI5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9u L3NjaGVkX2FyaW5jNjUzLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jCkBAIC01 MTMsNyArNTEzLDcgQEAgYTY1M3NjaGVkX2RvX3NjaGVkdWxlKAogICAgIHN0YXRpYyB1bnNpZ25l ZCBpbnQgc2NoZWRfaW5kZXggPSAwOwogICAgIHN0YXRpYyBzX3RpbWVfdCBuZXh0X3N3aXRjaF90 aW1lOwogICAgIGE2NTNzY2hlZF9wcml2X3QgKnNjaGVkX3ByaXYgPSBTQ0hFRF9QUklWKG9wcyk7 Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICBj b25zdCB1bnNpZ25lZCBpbnQgY3B1ID0gc2NoZWRfZ2V0X3Jlc291cmNlX2NwdShzbXBfcHJvY2Vz c29yX2lkKCkpOwogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKICAgICBzcGluX2xvY2tfaXJx c2F2ZSgmc2NoZWRfcHJpdi0+bG9jaywgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9z Y2hlZF9jcmVkaXQuYyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKaW5kZXggNGNlMGY3NjY4 YS4uODdjYjYyYzYzMiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYworKysg Yi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCkBAIC0xNjg0LDcgKzE2ODQsNyBAQCBjc2NoZWRf bG9hZF9iYWxhbmNlKHN0cnVjdCBjc2NoZWRfcHJpdmF0ZSAqcHJ2LCBpbnQgY3B1LAogICAgIGlu dCBwZWVyX2NwdSwgZmlyc3RfY3B1LCBwZWVyX25vZGUsIGJzdGVwOwogICAgIGludCBub2RlID0g Y3B1X3RvX25vZGUoY3B1KTsKIAotICAgIEJVR19PTiggY3B1ICE9IHNjaGVkX3VuaXRfY3B1KHNu ZXh0LT51bml0KSApOworICAgIEJVR19PTiggc2NoZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpICE9 IHNjaGVkX3VuaXRfY3B1KHNuZXh0LT51bml0KSApOwogICAgIG9ubGluZSA9IGNwdXBvb2xfb25s aW5lX2NwdW1hc2soYyk7CiAKICAgICAvKgpAQCAtMTgyNSw4ICsxODI1LDkgQEAgc3RhdGljIHN0 cnVjdCB0YXNrX3NsaWNlCiBjc2NoZWRfc2NoZWR1bGUoCiAgICAgY29uc3Qgc3RydWN0IHNjaGVk dWxlciAqb3BzLCBzX3RpbWVfdCBub3csIGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKQog ewotICAgIGNvbnN0IGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0gICAgc3RydWN0IGxp c3RfaGVhZCAqIGNvbnN0IHJ1bnEgPSBSVU5RKGNwdSk7CisgICAgY29uc3QgdW5zaWduZWQgaW50 IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgc2NoZWRf Y3B1ID0gc2NoZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpOworICAgIHN0cnVjdCBsaXN0X2hlYWQg KiBjb25zdCBydW5xID0gUlVOUShzY2hlZF9jcHUpOwogICAgIHN0cnVjdCBzY2hlZF91bml0ICp1 bml0ID0gY3VycmVudC0+c2NoZWRfdW5pdDsKICAgICBzdHJ1Y3QgY3NjaGVkX3VuaXQgKiBjb25z dCBzY3VyciA9IENTQ0hFRF9VTklUKHVuaXQpOwogICAgIHN0cnVjdCBjc2NoZWRfcHJpdmF0ZSAq cHJ2ID0gQ1NDSEVEX1BSSVYob3BzKTsKQEAgLTE5MzcsNyArMTkzOCw3IEBAIGNzY2hlZF9zY2hl ZHVsZSgKICAgICB7CiAgICAgICAgIEJVR19PTiggaXNfaWRsZV91bml0KHVuaXQpIHx8IGxpc3Rf ZW1wdHkocnVucSkgKTsKICAgICAgICAgLyogQ3VycmVudCBoYXMgYmxvY2tlZC4gVXBkYXRlIHRo ZSBydW5uYWJsZSBjb3VudGVyIGZvciB0aGlzIGNwdS4gKi8KLSAgICAgICAgZGVjX25yX3J1bm5h YmxlKGNwdSk7CisgICAgICAgIGRlY19ucl9ydW5uYWJsZShzY2hlZF9jcHUpOwogICAgIH0KIAog ICAgIHNuZXh0ID0gX19ydW5xX2VsZW0ocnVucS0+bmV4dCk7CkBAIC0xOTQ3LDcgKzE5NDgsNyBA QCBjc2NoZWRfc2NoZWR1bGUoCiAgICAgaWYgKCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkICkKICAg ICB7CiAgICAgICAgIFRSQUNFXzBEKFRSQ19DU0NIRURfU0NIRURfVEFTS0xFVCk7Ci0gICAgICAg IHNuZXh0ID0gQ1NDSEVEX1VOSVQoc2NoZWRfaWRsZV91bml0KGNwdSkpOworICAgICAgICBzbmV4 dCA9IENTQ0hFRF9VTklUKHNjaGVkX2lkbGVfdW5pdChzY2hlZF9jcHUpKTsKICAgICAgICAgc25l eHQtPnByaSA9IENTQ0hFRF9QUklfVFNfQk9PU1Q7CiAgICAgfQogCkBAIC0xOTY3LDcgKzE5Njgs NyBAQCBjc2NoZWRfc2NoZWR1bGUoCiAgICAgaWYgKCBzbmV4dC0+cHJpID4gQ1NDSEVEX1BSSV9U U19PVkVSICkKICAgICAgICAgX19ydW5xX3JlbW92ZShzbmV4dCk7CiAgICAgZWxzZQotICAgICAg ICBzbmV4dCA9IGNzY2hlZF9sb2FkX2JhbGFuY2UocHJ2LCBjcHUsIHNuZXh0LCAmcmV0Lm1pZ3Jh dGVkKTsKKyAgICAgICAgc25leHQgPSBjc2NoZWRfbG9hZF9iYWxhbmNlKHBydiwgc2NoZWRfY3B1 LCBzbmV4dCwgJnJldC5taWdyYXRlZCk7CiAKICAgICAvKgogICAgICAqIFVwZGF0ZSBpZGxlcnMg bWFzayBpZiBuZWNlc3NhcnkuIFdoZW4gd2UncmUgaWRsaW5nLCBvdGhlciBDUFVzCkBAIC0xOTc1 LDEyICsxOTc2LDEyIEBAIGNzY2hlZF9zY2hlZHVsZSgKICAgICAgKi8KICAgICBpZiAoICF0YXNr bGV0X3dvcmtfc2NoZWR1bGVkICYmIHNuZXh0LT5wcmkgPT0gQ1NDSEVEX1BSSV9JRExFICkKICAg ICB7Ci0gICAgICAgIGlmICggIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCBwcnYtPmlkbGVycykgKQot ICAgICAgICAgICAgY3B1bWFza19zZXRfY3B1KGNwdSwgcHJ2LT5pZGxlcnMpOworICAgICAgICBp ZiAoICFjcHVtYXNrX3Rlc3RfY3B1KHNjaGVkX2NwdSwgcHJ2LT5pZGxlcnMpICkKKyAgICAgICAg ICAgIGNwdW1hc2tfc2V0X2NwdShzY2hlZF9jcHUsIHBydi0+aWRsZXJzKTsKICAgICB9Ci0gICAg ZWxzZSBpZiAoIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCBwcnYtPmlkbGVycykgKQorICAgIGVsc2Ug aWYgKCBjcHVtYXNrX3Rlc3RfY3B1KHNjaGVkX2NwdSwgcHJ2LT5pZGxlcnMpICkKICAgICB7Ci0g ICAgICAgIGNwdW1hc2tfY2xlYXJfY3B1KGNwdSwgcHJ2LT5pZGxlcnMpOworICAgICAgICBjcHVt YXNrX2NsZWFyX2NwdShzY2hlZF9jcHUsIHBydi0+aWRsZXJzKTsKICAgICB9CiAKICAgICBpZiAo ICFpc19pZGxlX3VuaXQoc25leHQtPnVuaXQpICkKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2No ZWRfY3JlZGl0Mi5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKaW5kZXggZTNhYzljNTQ2 MC4uNTQ4Yjg3YWY4YiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKKysr IGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKQEAgLTM0NDgsNyArMzQ0OCw4IEBAIHN0YXRp YyBzdHJ1Y3QgdGFza19zbGljZQogY3NjaGVkMl9zY2hlZHVsZSgKICAgICBjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpvcHMsIHNfdGltZV90IG5vdywgYm9vbCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVk KQogewotICAgIGNvbnN0IGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3Qg dW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICBjb25zdCB1bnNpZ25l ZCBpbnQgc2NoZWRfY3B1ID0gc2NoZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpOwogICAgIHN0cnVj dCBjc2NoZWQyX3J1bnF1ZXVlX2RhdGEgKnJxZDsKICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqY3Vy cnVuaXQgPSBjdXJyZW50LT5zY2hlZF91bml0OwogICAgIHN0cnVjdCBjc2NoZWQyX3VuaXQgKiBj b25zdCBzY3VyciA9IGNzY2hlZDJfdW5pdChjdXJydW5pdCk7CkBAIC0zNDYwLDIyICszNDYxLDIy IEBAIGNzY2hlZDJfc2NoZWR1bGUoCiAgICAgU0NIRURfU1RBVF9DUkFOSyhzY2hlZHVsZSk7CiAg ICAgQ1NDSEVEMl9VTklUX0NIRUNLKGN1cnJ1bml0KTsKIAotICAgIEJVR19PTighY3B1bWFza190 ZXN0X2NwdShjcHUsICZjc2NoZWQyX3ByaXYob3BzKS0+aW5pdGlhbGl6ZWQpKTsKKyAgICBCVUdf T04oIWNwdW1hc2tfdGVzdF9jcHUoc2NoZWRfY3B1LCAmY3NjaGVkMl9wcml2KG9wcyktPmluaXRp YWxpemVkKSk7CiAKLSAgICBycWQgPSBjMnJxZChvcHMsIGNwdSk7Ci0gICAgQlVHX09OKCFjcHVt YXNrX3Rlc3RfY3B1KGNwdSwgJnJxZC0+YWN0aXZlKSk7CisgICAgcnFkID0gYzJycWQob3BzLCBz Y2hlZF9jcHUpOworICAgIEJVR19PTighY3B1bWFza190ZXN0X2NwdShzY2hlZF9jcHUsICZycWQt PmFjdGl2ZSkpOwogCi0gICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKGdldF9zY2hlZF9yZXMoY3B1 KS0+c2NoZWR1bGVfbG9jaykpOworICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZChnZXRfc2NoZWRf cmVzKHNjaGVkX2NwdSktPnNjaGVkdWxlX2xvY2spKTsKIAogICAgIEJVR19PTighaXNfaWRsZV91 bml0KGN1cnJ1bml0KSAmJiBzY3Vyci0+cnFkICE9IHJxZCk7CiAKICAgICAvKiBDbGVhciAidGlj a2xlZCIgYml0IG5vdyB0aGF0IHdlJ3ZlIGJlZW4gc2NoZWR1bGVkICovCi0gICAgdGlja2xlZCA9 IGNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmcnFkLT50aWNrbGVkKTsKKyAgICB0aWNrbGVkID0gY3B1 bWFza190ZXN0X2NwdShzY2hlZF9jcHUsICZycWQtPnRpY2tsZWQpOwogICAgIGlmICggdGlja2xl ZCApCiAgICAgewotICAgICAgICBfX2NwdW1hc2tfY2xlYXJfY3B1KGNwdSwgJnJxZC0+dGlja2xl ZCk7CisgICAgICAgIF9fY3B1bWFza19jbGVhcl9jcHUoc2NoZWRfY3B1LCAmcnFkLT50aWNrbGVk KTsKICAgICAgICAgY3B1bWFza19hbmRub3QoY3B1bWFza19zY3JhdGNoLCAmcnFkLT5pZGxlLCAm cnFkLT50aWNrbGVkKTsKLSAgICAgICAgc210X2lkbGVfbWFza19zZXQoY3B1LCBjcHVtYXNrX3Nj cmF0Y2gsICZycWQtPnNtdF9pZGxlKTsKKyAgICAgICAgc210X2lkbGVfbWFza19zZXQoc2NoZWRf Y3B1LCBjcHVtYXNrX3NjcmF0Y2gsICZycWQtPnNtdF9pZGxlKTsKICAgICB9CiAKICAgICBpZiAo IHVubGlrZWx5KHRiX2luaXRfZG9uZSkgKQpAQCAtMzQ4NSwxMCArMzQ4NiwxMCBAQCBjc2NoZWQy X3NjaGVkdWxlKAogICAgICAgICAgICAgdW5zaWduZWQgdGFza2xldDo4LCBpZGxlOjgsIHNtdF9p ZGxlOjgsIHRpY2tsZWQ6ODsKICAgICAgICAgfSBkOwogICAgICAgICBkLmNwdSA9IGNwdTsKLSAg ICAgICAgZC5ycV9pZCA9IGMycihjcHUpOworICAgICAgICBkLnJxX2lkID0gYzJyKHNjaGVkX2Nw dSk7CiAgICAgICAgIGQudGFza2xldCA9IHRhc2tsZXRfd29ya19zY2hlZHVsZWQ7CiAgICAgICAg IGQuaWRsZSA9IGlzX2lkbGVfdW5pdChjdXJydW5pdCk7Ci0gICAgICAgIGQuc210X2lkbGUgPSBj cHVtYXNrX3Rlc3RfY3B1KGNwdSwgJnJxZC0+c210X2lkbGUpOworICAgICAgICBkLnNtdF9pZGxl ID0gY3B1bWFza190ZXN0X2NwdShzY2hlZF9jcHUsICZycWQtPnNtdF9pZGxlKTsKICAgICAgICAg ZC50aWNrbGVkID0gdGlja2xlZDsKICAgICAgICAgX190cmFjZV92YXIoVFJDX0NTQ0hFRDJfU0NI RURVTEUsIDEsCiAgICAgICAgICAgICAgICAgICAgIHNpemVvZihkKSwKQEAgLTM1MjgsMTAgKzM1 MjksMTAgQEAgY3NjaGVkMl9zY2hlZHVsZSgKICAgICB7CiAgICAgICAgIF9fY2xlYXJfYml0KF9f Q1NGTEFHX3VuaXRfeWllbGQsICZzY3Vyci0+ZmxhZ3MpOwogICAgICAgICB0cmFjZV92YXIoVFJD X0NTQ0hFRDJfU0NIRURfVEFTS0xFVCwgMSwgMCwgTlVMTCk7Ci0gICAgICAgIHNuZXh0ID0gY3Nj aGVkMl91bml0KHNjaGVkX2lkbGVfdW5pdChjcHUpKTsKKyAgICAgICAgc25leHQgPSBjc2NoZWQy X3VuaXQoc2NoZWRfaWRsZV91bml0KHNjaGVkX2NwdSkpOwogICAgIH0KICAgICBlbHNlCi0gICAg ICAgIHNuZXh0ID0gcnVucV9jYW5kaWRhdGUocnFkLCBzY3VyciwgY3B1LCBub3csICZza2lwcGVk X3VuaXRzKTsKKyAgICAgICAgc25leHQgPSBydW5xX2NhbmRpZGF0ZShycWQsIHNjdXJyLCBzY2hl ZF9jcHUsIG5vdywgJnNraXBwZWRfdW5pdHMpOwogCiAgICAgLyogSWYgc3dpdGNoaW5nIGZyb20g YSBub24taWRsZSBydW5uYWJsZSB1bml0LCBwdXQgaXQKICAgICAgKiBiYWNrIG9uIHRoZSBydW5x dWV1ZS4gKi8KQEAgLTM1NTYsMTAgKzM1NTcsMTAgQEAgY3NjaGVkMl9zY2hlZHVsZSgKICAgICAg ICAgfQogCiAgICAgICAgIC8qIENsZWFyIHRoZSBpZGxlIG1hc2sgaWYgbmVjZXNzYXJ5ICovCi0g ICAgICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICZycWQtPmlkbGUpICkKKyAgICAgICAg aWYgKCBjcHVtYXNrX3Rlc3RfY3B1KHNjaGVkX2NwdSwgJnJxZC0+aWRsZSkgKQogICAgICAgICB7 Ci0gICAgICAgICAgICBfX2NwdW1hc2tfY2xlYXJfY3B1KGNwdSwgJnJxZC0+aWRsZSk7Ci0gICAg ICAgICAgICBzbXRfaWRsZV9tYXNrX2NsZWFyKGNwdSwgJnJxZC0+c210X2lkbGUpOworICAgICAg ICAgICAgX19jcHVtYXNrX2NsZWFyX2NwdShzY2hlZF9jcHUsICZycWQtPmlkbGUpOworICAgICAg ICAgICAgc210X2lkbGVfbWFza19jbGVhcihzY2hlZF9jcHUsICZycWQtPnNtdF9pZGxlKTsKICAg ICAgICAgfQogCiAgICAgICAgIC8qCkBAIC0zNTc4LDE4ICszNTc5LDE4IEBAIGNzY2hlZDJfc2No ZWR1bGUoCiAgICAgICAgICAqLwogICAgICAgICBpZiAoIHNraXBwZWRfdW5pdHMgPT0gMCAmJiBz bmV4dC0+Y3JlZGl0IDw9IENTQ0hFRDJfQ1JFRElUX1JFU0VUICkKICAgICAgICAgewotICAgICAg ICAgICAgcmVzZXRfY3JlZGl0KG9wcywgY3B1LCBub3csIHNuZXh0KTsKLSAgICAgICAgICAgIGJh bGFuY2VfbG9hZChvcHMsIGNwdSwgbm93KTsKKyAgICAgICAgICAgIHJlc2V0X2NyZWRpdChvcHMs IHNjaGVkX2NwdSwgbm93LCBzbmV4dCk7CisgICAgICAgICAgICBiYWxhbmNlX2xvYWQob3BzLCBz Y2hlZF9jcHUsIG5vdyk7CiAgICAgICAgIH0KIAogICAgICAgICBzbmV4dC0+c3RhcnRfdGltZSA9 IG5vdzsKICAgICAgICAgc25leHQtPnRpY2tsZWRfY3B1ID0gLTE7CiAKICAgICAgICAgLyogU2Fm ZSBiZWNhdXNlIGxvY2sgZm9yIG9sZCBwcm9jZXNzb3IgaXMgaGVsZCAqLwotICAgICAgICBpZiAo IHNjaGVkX3VuaXRfY3B1KHNuZXh0LT51bml0KSAhPSBjcHUgKQorICAgICAgICBpZiAoIHNjaGVk X3VuaXRfY3B1KHNuZXh0LT51bml0KSAhPSBzY2hlZF9jcHUgKQogICAgICAgICB7CiAgICAgICAg ICAgICBzbmV4dC0+Y3JlZGl0ICs9IENTQ0hFRDJfTUlHUkFURV9DT01QRU5TQVRJT047Ci0gICAg ICAgICAgICBzY2hlZF9zZXRfcmVzKHNuZXh0LT51bml0LCBnZXRfc2NoZWRfcmVzKGNwdSkpOwor ICAgICAgICAgICAgc2NoZWRfc2V0X3JlcyhzbmV4dC0+dW5pdCwgZ2V0X3NjaGVkX3JlcyhzY2hl ZF9jcHUpKTsKICAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksobWlncmF0ZWQpOwogICAgICAg ICAgICAgcmV0Lm1pZ3JhdGVkID0gMTsKICAgICAgICAgfQpAQCAtMzYwMiwxNyArMzYwMywxNyBA QCBjc2NoZWQyX3NjaGVkdWxlKAogICAgICAgICAgKi8KICAgICAgICAgaWYgKCB0YXNrbGV0X3dv cmtfc2NoZWR1bGVkICkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCBjcHVtYXNrX3Rlc3Rf Y3B1KGNwdSwgJnJxZC0+aWRsZSkgKQorICAgICAgICAgICAgaWYgKCBjcHVtYXNrX3Rlc3RfY3B1 KHNjaGVkX2NwdSwgJnJxZC0+aWRsZSkgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg IF9fY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmcnFkLT5pZGxlKTsKLSAgICAgICAgICAgICAgICBz bXRfaWRsZV9tYXNrX2NsZWFyKGNwdSwgJnJxZC0+c210X2lkbGUpOworICAgICAgICAgICAgICAg IF9fY3B1bWFza19jbGVhcl9jcHUoc2NoZWRfY3B1LCAmcnFkLT5pZGxlKTsKKyAgICAgICAgICAg ICAgICBzbXRfaWRsZV9tYXNrX2NsZWFyKHNjaGVkX2NwdSwgJnJxZC0+c210X2lkbGUpOwogICAg ICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCAhY3B1bWFza190ZXN0X2Nw dShjcHUsICZycWQtPmlkbGUpICkKKyAgICAgICAgZWxzZSBpZiAoICFjcHVtYXNrX3Rlc3RfY3B1 KHNjaGVkX2NwdSwgJnJxZC0+aWRsZSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBfX2NwdW1h c2tfc2V0X2NwdShjcHUsICZycWQtPmlkbGUpOworICAgICAgICAgICAgX19jcHVtYXNrX3NldF9j cHUoc2NoZWRfY3B1LCAmcnFkLT5pZGxlKTsKICAgICAgICAgICAgIGNwdW1hc2tfYW5kbm90KGNw dW1hc2tfc2NyYXRjaCwgJnJxZC0+aWRsZSwgJnJxZC0+dGlja2xlZCk7Ci0gICAgICAgICAgICBz bXRfaWRsZV9tYXNrX3NldChjcHUsIGNwdW1hc2tfc2NyYXRjaCwgJnJxZC0+c210X2lkbGUpOwor ICAgICAgICAgICAgc210X2lkbGVfbWFza19zZXQoc2NoZWRfY3B1LCBjcHVtYXNrX3NjcmF0Y2gs ICZycWQtPnNtdF9pZGxlKTsKICAgICAgICAgfQogICAgICAgICAvKiBNYWtlIHN1cmUgYXZnbG9h ZCBnZXRzIHVwZGF0ZWQgcGVyaW9kaWNhbGx5IGV2ZW4KICAgICAgICAgICogaWYgdGhlcmUncyBu byBhY3Rpdml0eSAqLwpAQCAtMzYyMiw3ICszNjIzLDcgQEAgY3NjaGVkMl9zY2hlZHVsZSgKICAg ICAvKgogICAgICAqIFJldHVybiB0YXNrIHRvIHJ1biBuZXh0Li4uCiAgICAgICovCi0gICAgcmV0 LnRpbWUgPSBjc2NoZWQyX3J1bnRpbWUob3BzLCBjcHUsIHNuZXh0LCBub3cpOworICAgIHJldC50 aW1lID0gY3NjaGVkMl9ydW50aW1lKG9wcywgc2NoZWRfY3B1LCBzbmV4dCwgbm93KTsKICAgICBy ZXQudGFzayA9IHNuZXh0LT51bml0OwogCiAgICAgQ1NDSEVEMl9VTklUX0NIRUNLKHJldC50YXNr KTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jIGIveGVuL2NvbW1vbi9zY2hl ZF9udWxsLmMKaW5kZXggYTYzMDk1MTExMC4uNTZlZjA3OGM1YSAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9zY2hlZF9udWxsLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9udWxsLmMKQEAgLTc4NSw2 ICs3ODUsNyBAQCBzdGF0aWMgc3RydWN0IHRhc2tfc2xpY2UgbnVsbF9zY2hlZHVsZShjb25zdCBz dHJ1Y3Qgc2NoZWR1bGVyICpvcHMsCiB7CiAgICAgdW5zaWduZWQgaW50IGJzOwogICAgIGNvbnN0 IHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5zaWdu ZWQgaW50IHNjaGVkX2NwdSA9IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoY3B1KTsKICAgICBzdHJ1 Y3QgbnVsbF9wcml2YXRlICpwcnYgPSBudWxsX3ByaXYob3BzKTsKICAgICBzdHJ1Y3QgbnVsbF91 bml0ICp3dmM7CiAgICAgc3RydWN0IHRhc2tfc2xpY2UgcmV0OwpAQCAtODAwLDE0ICs4MDEsMTQg QEAgc3RhdGljIHN0cnVjdCB0YXNrX3NsaWNlIG51bGxfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNj aGVkdWxlciAqb3BzLAogICAgICAgICB9IGQ7CiAgICAgICAgIGQuY3B1ID0gY3B1OwogICAgICAg ICBkLnRhc2tsZXQgPSB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkOwotICAgICAgICBpZiAoIHBlcl9j cHUobnBjLCBjcHUpLnVuaXQgPT0gTlVMTCApCisgICAgICAgIGlmICggcGVyX2NwdShucGMsIHNj aGVkX2NwdSkudW5pdCA9PSBOVUxMICkKICAgICAgICAgewogICAgICAgICAgICAgZC51bml0ID0g ZC5kb20gPSAtMTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKLSAgICAgICAg ICAgIGQudW5pdCA9IHBlcl9jcHUobnBjLCBjcHUpLnVuaXQtPnVuaXRfaWQ7Ci0gICAgICAgICAg ICBkLmRvbSA9IHBlcl9jcHUobnBjLCBjcHUpLnVuaXQtPmRvbWFpbi0+ZG9tYWluX2lkOworICAg ICAgICAgICAgZC51bml0ID0gcGVyX2NwdShucGMsIHNjaGVkX2NwdSkudW5pdC0+dW5pdF9pZDsK KyAgICAgICAgICAgIGQuZG9tID0gcGVyX2NwdShucGMsIHNjaGVkX2NwdSkudW5pdC0+ZG9tYWlu LT5kb21haW5faWQ7CiAgICAgICAgIH0KICAgICAgICAgX190cmFjZV92YXIoVFJDX1NOVUxMX1ND SEVEVUxFLCAxLCBzaXplb2YoZCksICZkKTsKICAgICB9CkBAIC04MTUsMTAgKzgxNiwxMCBAQCBz dGF0aWMgc3RydWN0IHRhc2tfc2xpY2UgbnVsbF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpvcHMsCiAgICAgaWYgKCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkICkKICAgICB7CiAgICAg ICAgIHRyYWNlX3ZhcihUUkNfU05VTExfVEFTS0xFVCwgMSwgMCwgTlVMTCk7Ci0gICAgICAgIHJl dC50YXNrID0gc2NoZWRfaWRsZV91bml0KGNwdSk7CisgICAgICAgIHJldC50YXNrID0gc2NoZWRf aWRsZV91bml0KHNjaGVkX2NwdSk7CiAgICAgfQogICAgIGVsc2UKLSAgICAgICAgcmV0LnRhc2sg PSBwZXJfY3B1KG5wYywgY3B1KS51bml0OworICAgICAgICByZXQudGFzayA9IHBlcl9jcHUobnBj LCBzY2hlZF9jcHUpLnVuaXQ7CiAgICAgcmV0Lm1pZ3JhdGVkID0gMDsKICAgICByZXQudGltZSA9 IC0xOwogCkBAIC04NDksOSArODUwLDkgQEAgc3RhdGljIHN0cnVjdCB0YXNrX3NsaWNlIG51bGxf c2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLAogICAgICAgICAgICAgICAgICAg ICAgIWhhc19zb2Z0X2FmZmluaXR5KHd2Yy0+dW5pdCkgKQogICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsKIAotICAgICAgICAgICAgICAgIGlmICggdW5pdF9jaGVja19hZmZpbml0eSh3dmMt PnVuaXQsIGNwdSwgYnMpICkKKyAgICAgICAgICAgICAgICBpZiAoIHVuaXRfY2hlY2tfYWZmaW5p dHkod3ZjLT51bml0LCBzY2hlZF9jcHUsIGJzKSApCiAgICAgICAgICAgICAgICAgewotICAgICAg ICAgICAgICAgICAgICB1bml0X2Fzc2lnbihwcnYsIHd2Yy0+dW5pdCwgY3B1KTsKKyAgICAgICAg ICAgICAgICAgICAgdW5pdF9hc3NpZ24ocHJ2LCB3dmMtPnVuaXQsIHNjaGVkX2NwdSk7CiAgICAg ICAgICAgICAgICAgICAgIGxpc3RfZGVsX2luaXQoJnd2Yy0+d2FpdHFfZWxlbSk7CiAgICAgICAg ICAgICAgICAgICAgIHJldC50YXNrID0gd3ZjLT51bml0OwogICAgICAgICAgICAgICAgICAgICBn b3RvIHVubG9jazsKQEAgLTg2Niw3ICs4NjcsNyBAQCBzdGF0aWMgc3RydWN0IHRhc2tfc2xpY2Ug bnVsbF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsCiAgICAgfQogCiAgICAg aWYgKCB1bmxpa2VseShyZXQudGFzayA9PSBOVUxMIHx8ICF1bml0X3J1bm5hYmxlKHJldC50YXNr KSkgKQotICAgICAgICByZXQudGFzayA9IHNjaGVkX2lkbGVfdW5pdChjcHUpOworICAgICAgICBy ZXQudGFzayA9IHNjaGVkX2lkbGVfdW5pdChzY2hlZF9jcHUpOwogCiAgICAgTlVMTF9VTklUX0NI RUNLKHJldC50YXNrKTsKICAgICByZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9z Y2hlZF9ydC5jIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCmluZGV4IDk1MjYyYWZmOTUuLjdiOWQy NWYxMzggMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfcnQuYworKysgYi94ZW4vY29tbW9u L3NjaGVkX3J0LmMKQEAgLTEwNTcsNyArMTA1Nyw4IEBAIHJ1bnFfcGljayhjb25zdCBzdHJ1Y3Qg c2NoZWR1bGVyICpvcHMsIGNvbnN0IGNwdW1hc2tfdCAqbWFzaykKIHN0YXRpYyBzdHJ1Y3QgdGFz a19zbGljZQogcnRfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzX3RpbWVf dCBub3csIGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKQogewotICAgIGNvbnN0IGludCBj cHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5zaWduZWQgaW50IGNwdSA9IHNt cF9wcm9jZXNzb3JfaWQoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgc2NoZWRfY3B1ID0gc2No ZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpOwogICAgIHN0cnVjdCBydF9wcml2YXRlICpwcnYgPSBy dF9wcml2KG9wcyk7CiAgICAgc3RydWN0IHJ0X3VuaXQgKmNvbnN0IHNjdXJyID0gcnRfdW5pdChj dXJyZW50LT5zY2hlZF91bml0KTsKICAgICBzdHJ1Y3QgcnRfdW5pdCAqc25leHQgPSBOVUxMOwpA QCAtMTA3MSw3ICsxMDcyLDcgQEAgcnRfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAq b3BzLCBzX3RpbWVfdCBub3csIGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWQKICAgICAgICAgfSBk OwogICAgICAgICBkLmNwdSA9IGNwdTsKICAgICAgICAgZC50YXNrbGV0ID0gdGFza2xldF93b3Jr X3NjaGVkdWxlZDsKLSAgICAgICAgZC50aWNrbGVkID0gY3B1bWFza190ZXN0X2NwdShjcHUsICZw cnYtPnRpY2tsZWQpOworICAgICAgICBkLnRpY2tsZWQgPSBjcHVtYXNrX3Rlc3RfY3B1KHNjaGVk X2NwdSwgJnBydi0+dGlja2xlZCk7CiAgICAgICAgIGQuaWRsZSA9IGlzX2lkbGVfdW5pdChjdXJy dW5pdCk7CiAgICAgICAgIHRyYWNlX3ZhcihUUkNfUlREU19TQ0hFRFVMRSwgMSwKICAgICAgICAg ICAgICAgICAgIHNpemVvZihkKSwKQEAgLTEwNzksNyArMTA4MCw3IEBAIHJ0X3NjaGVkdWxlKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc190aW1lX3Qgbm93LCBib29sX3QgdGFza2xldF93 b3JrX3NjaGVkCiAgICAgfQogCiAgICAgLyogY2xlYXIgdGlja2VkIGJpdCBub3cgdGhhdCB3ZSd2 ZSBiZWVuIHNjaGVkdWxlZCAqLwotICAgIGNwdW1hc2tfY2xlYXJfY3B1KGNwdSwgJnBydi0+dGlj a2xlZCk7CisgICAgY3B1bWFza19jbGVhcl9jcHUoc2NoZWRfY3B1LCAmcHJ2LT50aWNrbGVkKTsK IAogICAgIC8qIGJ1cm5fYnVkZ2V0IHdvdWxkIHJldHVybiBmb3IgSURMRSBVTklUICovCiAgICAg YnVybl9idWRnZXQob3BzLCBzY3Vyciwgbm93KTsKQEAgLTEwODcsMTMgKzEwODgsMTMgQEAgcnRf c2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzX3RpbWVfdCBub3csIGJvb2xf dCB0YXNrbGV0X3dvcmtfc2NoZWQKICAgICBpZiAoIHRhc2tsZXRfd29ya19zY2hlZHVsZWQgKQog ICAgIHsKICAgICAgICAgdHJhY2VfdmFyKFRSQ19SVERTX1NDSEVEX1RBU0tMRVQsIDEsIDAsICBO VUxMKTsKLSAgICAgICAgc25leHQgPSBydF91bml0KHNjaGVkX2lkbGVfdW5pdChjcHUpKTsKKyAg ICAgICAgc25leHQgPSBydF91bml0KHNjaGVkX2lkbGVfdW5pdChzY2hlZF9jcHUpKTsKICAgICB9 CiAgICAgZWxzZQogICAgIHsKLSAgICAgICAgc25leHQgPSBydW5xX3BpY2sob3BzLCBjcHVtYXNr X29mKGNwdSkpOworICAgICAgICBzbmV4dCA9IHJ1bnFfcGljayhvcHMsIGNwdW1hc2tfb2Yoc2No ZWRfY3B1KSk7CiAgICAgICAgIGlmICggc25leHQgPT0gTlVMTCApCi0gICAgICAgICAgICBzbmV4 dCA9IHJ0X3VuaXQoc2NoZWRfaWRsZV91bml0KGNwdSkpOworICAgICAgICAgICAgc25leHQgPSBy dF91bml0KHNjaGVkX2lkbGVfdW5pdChzY2hlZF9jcHUpKTsKIAogICAgICAgICAvKiBpZiBzY3Vy ciBoYXMgaGlnaGVyIHByaW9yaXR5IGFuZCBidWRnZXQsIHN0aWxsIHBpY2sgc2N1cnIgKi8KICAg ICAgICAgaWYgKCAhaXNfaWRsZV91bml0KGN1cnJ1bml0KSAmJgpAQCAtMTExOCw5ICsxMTE5LDkg QEAgcnRfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBzX3RpbWVfdCBub3cs IGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWQKICAgICAgICAgICAgIHFfcmVtb3ZlKHNuZXh0KTsK ICAgICAgICAgICAgIF9fc2V0X2JpdChfX1JURFNfc2NoZWR1bGVkLCAmc25leHQtPmZsYWdzKTsK ICAgICAgICAgfQotICAgICAgICBpZiAoIHNjaGVkX3VuaXRfY3B1KHNuZXh0LT51bml0KSAhPSBj cHUgKQorICAgICAgICBpZiAoIHNjaGVkX3VuaXRfY3B1KHNuZXh0LT51bml0KSAhPSBzY2hlZF9j cHUgKQogICAgICAgICB7Ci0gICAgICAgICAgICBzY2hlZF9zZXRfcmVzKHNuZXh0LT51bml0LCBn ZXRfc2NoZWRfcmVzKGNwdSkpOworICAgICAgICAgICAgc2NoZWRfc2V0X3JlcyhzbmV4dC0+dW5p dCwgZ2V0X3NjaGVkX3JlcyhzY2hlZF9jcHUpKTsKICAgICAgICAgICAgIHJldC5taWdyYXRlZCA9 IDE7CiAgICAgICAgIH0KICAgICAgICAgcmV0LnRpbWUgPSBzbmV4dC0+Y3VyX2J1ZGdldDsgLyog aW52b2tlIHRoZSBzY2hlZHVsZXIgbmV4dCB0aW1lICovCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L3NjaGVkdWxlLmMgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKaW5kZXggNjI4MWU4ODRjZi4uZDg0 MDI4NzhkNCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jCisrKyBiL3hlbi9jb21t b24vc2NoZWR1bGUuYwpAQCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyBzdHJ1Y3QgdGFza19zbGlj ZSBzY2hlZF9pZGxlX3NjaGVkdWxlKAogICAgIGNvbnN0IHVuc2lnbmVkIGludCBjcHUgPSBzbXBf cHJvY2Vzc29yX2lkKCk7CiAgICAgc3RydWN0IHRhc2tfc2xpY2UgcmV0ID0geyAudGltZSA9IC0x IH07CiAKLSAgICByZXQudGFzayA9IHNjaGVkX2lkbGVfdW5pdChjcHUpOworICAgIHJldC50YXNr ID0gc2NoZWRfaWRsZV91bml0KHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoY3B1KSk7CiAgICAgcmV0 dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggYi94 ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCAxNDQwMDU1MjUwLi4xYTM5ODFlNzhhIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5jbHVkZS94 ZW4vc2NoZWQtaWYuaApAQCAtMTE1LDYgKzExNSwxMSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBz Y2hlZF91bml0ICpzY2hlZF9pZGxlX3VuaXQodW5zaWduZWQgaW50IGNwdSkKICAgICByZXR1cm4g aWRsZV92Y3B1W2NwdV0tPnNjaGVkX3VuaXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQg aW50IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUodW5zaWduZWQgaW50IGNwdSkKK3sKKyAgICByZXR1 cm4gZ2V0X3NjaGVkX3JlcyhjcHUpLT5wcm9jZXNzb3I7Cit9CisKIC8qCiAgKiBTY3JhdGNoIHNw YWNlLCBmb3IgYXZvaWRpbmcgaGF2aW5nIHRvbyBtYW55IGNwdW1hc2tfdCBvbiB0aGUgc3RhY2su CiAgKiBXaXRoaW4gZWFjaCBzY2hlZHVsZXIsIHdoZW4gdXNpbmcgdGhlIHNjcmF0Y2ggbWFzayBv ZiBvbmUgcENQVToKLS0gCjIuMTYuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=