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=-10.0 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 0EEA4C4CEC5 for ; Sat, 14 Sep 2019 08:53:42 +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 D401720717 for ; Sat, 14 Sep 2019 08:53:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D401720717 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 1i93o9-0007vO-Kn; Sat, 14 Sep 2019 08:53:29 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i93o7-0007tQ-UA for xen-devel@lists.xenproject.org; Sat, 14 Sep 2019 08:53:27 +0000 X-Inumbo-ID: 0fcae092-d6cd-11e9-978d-bc764e2007e4 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 0fcae092-d6cd-11e9-978d-bc764e2007e4; Sat, 14 Sep 2019 08:53:03 +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 72A13B66B; Sat, 14 Sep 2019 08:53:01 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Sat, 14 Sep 2019 10:52:25 +0200 Message-Id: <20190914085251.18816-22-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190914085251.18816-1-jgross@suse.com> References: <20190914085251.18816-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v3 21/47] 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 YmUgcmVwbGFjZWQgYnkgdGhlIG1hc3Rlcl9jcHUgbnVtYmVyIG9mIHRoZSBsb2NhbApzY2hlZF9y ZXNvdXJjZSBpbnN0ZWFkLgoKQWRkIGEgaGVscGVyIHRvIGdldCB0aGF0IHNjaGVkX3Jlc291cmNl IG1hc3Rlcl9jcHUgYW5kIG1vZGlmeSB0aGUKc2NoZWR1bGVycyB0byB1c2UgaXQgaW4gYSBjb3Jy ZWN0IHdheS4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4K LS0tClYzOgotIHN0eWxlIGNvcnJlY3Rpb24gKEphbiBCZXVsaWNoKQotIHJlbmFtZSBjcHUgdG8g Y3VyX2NwdSB3aGVuIGludHJvZHVjaW5nIHNjaGVkX2NwdSBpbiBzYW1lIGZ1bmN0aW9uCiAgKEph biBCZXVsaWNoKQotIHVuZG8gY2hhbmdlIGluIHNjaGVkX2lkbGVfc2NoZWR1bGUoKSAoSmFuIEJl dWxpY2gpCi0tLQogeGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jIHwgIDIgKy0KIHhlbi9jb21t b24vc2NoZWRfY3JlZGl0LmMgICB8IDIzICsrKysrKysrKystLS0tLS0tLS0KIHhlbi9jb21tb24v c2NoZWRfY3JlZGl0Mi5jICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogeGVuL2NvbW1vbi9zY2hlZF9udWxsLmMgICAgIHwgMjUgKysrKysrKysrKyst LS0tLS0tLS0tCiB4ZW4vY29tbW9uL3NjaGVkX3J0LmMgICAgICAgfCAxOSArKysrKysrKy0tLS0t LS0tCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCAgfCAgNSArKysrKwogNiBmaWxlcyBjaGFu Z2VkLCA2OSBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v Y29tbW9uL3NjaGVkX2FyaW5jNjUzLmMgYi94ZW4vY29tbW9uL3NjaGVkX2FyaW5jNjUzLmMKaW5k ZXggOGM0MzFlNmVkZC4uYTRkYjM0ODQzYiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9h cmluYzY1My5jCisrKyBiL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYwpAQCAtNTEzLDcgKzUx Myw3IEBAIGE2NTNzY2hlZF9kb19zY2hlZHVsZSgKICAgICBzdGF0aWMgdW5zaWduZWQgaW50IHNj aGVkX2luZGV4ID0gMDsKICAgICBzdGF0aWMgc190aW1lX3QgbmV4dF9zd2l0Y2hfdGltZTsKICAg ICBhNjUzc2NoZWRfcHJpdl90ICpzY2hlZF9wcml2ID0gU0NIRURfUFJJVihvcHMpOwotICAgIGNv bnN0IHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5z aWduZWQgaW50IGNwdSA9IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgp KTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnNj aGVkX3ByaXYtPmxvY2ssIGZsYWdzKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfY3Jl ZGl0LmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCmluZGV4IGRjYWE5Zjk1NTcuLjIwM2M1 ZGVjZWYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKKysrIGIveGVuL2Nv bW1vbi9zY2hlZF9jcmVkaXQuYwpAQCAtMTY4NCw3ICsxNjg0LDcgQEAgY3NjaGVkX2xvYWRfYmFs YW5jZShzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydiwgaW50IGNwdSwKICAgICBpbnQgcGVlcl9j cHUsIGZpcnN0X2NwdSwgcGVlcl9ub2RlLCBic3RlcDsKICAgICBpbnQgbm9kZSA9IGNwdV90b19u b2RlKGNwdSk7CiAKLSAgICBCVUdfT04oIGNwdSAhPSBzY2hlZF91bml0X2NwdShzbmV4dC0+dW5p dCkgKTsKKyAgICBCVUdfT04oc2NoZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpICE9IHNjaGVkX3Vu aXRfY3B1KHNuZXh0LT51bml0KSk7CiAgICAgb25saW5lID0gY3B1cG9vbF9vbmxpbmVfY3B1bWFz ayhjKTsKIAogICAgIC8qCkBAIC0xODI1LDggKzE4MjUsOSBAQCBzdGF0aWMgc3RydWN0IHRhc2tf c2xpY2UKIGNzY2hlZF9zY2hlZHVsZSgKICAgICBjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMs IHNfdGltZV90IG5vdywgYm9vbF90IHRhc2tsZXRfd29ya19zY2hlZHVsZWQpCiB7Ci0gICAgY29u c3QgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLSAgICBzdHJ1Y3QgbGlzdF9oZWFkICog Y29uc3QgcnVucSA9IFJVTlEoY3B1KTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgY3VyX2NwdSA9 IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgc2NoZWRfY3B1ID0g c2NoZWRfZ2V0X3Jlc291cmNlX2NwdShjdXJfY3B1KTsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkICog Y29uc3QgcnVucSA9IFJVTlEoc2NoZWRfY3B1KTsKICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5p dCA9IGN1cnJlbnQtPnNjaGVkX3VuaXQ7CiAgICAgc3RydWN0IGNzY2hlZF91bml0ICogY29uc3Qg c2N1cnIgPSBDU0NIRURfVU5JVCh1bml0KTsKICAgICBzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBy diA9IENTQ0hFRF9QUklWKG9wcyk7CkBAIC0xODQ3LDcgKzE4NDgsNyBAQCBjc2NoZWRfc2NoZWR1 bGUoCiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICB1bnNpZ25lZCBjcHU6MTYsIHRhc2ts ZXQ6OCwgaWRsZTo4OwogICAgICAgICB9IGQ7Ci0gICAgICAgIGQuY3B1ID0gY3B1OworICAgICAg ICBkLmNwdSA9IGN1cl9jcHU7CiAgICAgICAgIGQudGFza2xldCA9IHRhc2tsZXRfd29ya19zY2hl ZHVsZWQ7CiAgICAgICAgIGQuaWRsZSA9IGlzX2lkbGVfdW5pdCh1bml0KTsKICAgICAgICAgX190 cmFjZV92YXIoVFJDX0NTQ0hFRF9TQ0hFRFVMRSwgMSwgc2l6ZW9mKGQpLApAQCAtMTkzNyw3ICsx OTM4LDcgQEAgY3NjaGVkX3NjaGVkdWxlKAogICAgIHsKICAgICAgICAgQlVHX09OKCBpc19pZGxl X3VuaXQodW5pdCkgfHwgbGlzdF9lbXB0eShydW5xKSApOwogICAgICAgICAvKiBDdXJyZW50IGhh cyBibG9ja2VkLiBVcGRhdGUgdGhlIHJ1bm5hYmxlIGNvdW50ZXIgZm9yIHRoaXMgY3B1LiAqLwot ICAgICAgICBkZWNfbnJfcnVubmFibGUoY3B1KTsKKyAgICAgICAgZGVjX25yX3J1bm5hYmxlKHNj aGVkX2NwdSk7CiAgICAgfQogCiAgICAgc25leHQgPSBfX3J1bnFfZWxlbShydW5xLT5uZXh0KTsK QEAgLTE5NDcsNyArMTk0OCw3IEBAIGNzY2hlZF9zY2hlZHVsZSgKICAgICBpZiAoIHRhc2tsZXRf d29ya19zY2hlZHVsZWQgKQogICAgIHsKICAgICAgICAgVFJBQ0VfMEQoVFJDX0NTQ0hFRF9TQ0hF RF9UQVNLTEVUKTsKLSAgICAgICAgc25leHQgPSBDU0NIRURfVU5JVChzY2hlZF9pZGxlX3VuaXQo Y3B1KSk7CisgICAgICAgIHNuZXh0ID0gQ1NDSEVEX1VOSVQoc2NoZWRfaWRsZV91bml0KHNjaGVk X2NwdSkpOwogICAgICAgICBzbmV4dC0+cHJpID0gQ1NDSEVEX1BSSV9UU19CT09TVDsKICAgICB9 CiAKQEAgLTE5NjcsNyArMTk2OCw3IEBAIGNzY2hlZF9zY2hlZHVsZSgKICAgICBpZiAoIHNuZXh0 LT5wcmkgPiBDU0NIRURfUFJJX1RTX09WRVIgKQogICAgICAgICBfX3J1bnFfcmVtb3ZlKHNuZXh0 KTsKICAgICBlbHNlCi0gICAgICAgIHNuZXh0ID0gY3NjaGVkX2xvYWRfYmFsYW5jZShwcnYsIGNw dSwgc25leHQsICZyZXQubWlncmF0ZWQpOworICAgICAgICBzbmV4dCA9IGNzY2hlZF9sb2FkX2Jh bGFuY2UocHJ2LCBzY2hlZF9jcHUsIHNuZXh0LCAmcmV0Lm1pZ3JhdGVkKTsKIAogICAgIC8qCiAg ICAgICogVXBkYXRlIGlkbGVycyBtYXNrIGlmIG5lY2Vzc2FyeS4gV2hlbiB3ZSdyZSBpZGxpbmcs IG90aGVyIENQVXMKQEAgLTE5NzUsMTIgKzE5NzYsMTIgQEAgY3NjaGVkX3NjaGVkdWxlKAogICAg ICAqLwogICAgIGlmICggIXRhc2tsZXRfd29ya19zY2hlZHVsZWQgJiYgc25leHQtPnByaSA9PSBD U0NIRURfUFJJX0lETEUgKQogICAgIHsKLSAgICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShj cHUsIHBydi0+aWRsZXJzKSApCi0gICAgICAgICAgICBjcHVtYXNrX3NldF9jcHUoY3B1LCBwcnYt PmlkbGVycyk7CisgICAgICAgIGlmICggIWNwdW1hc2tfdGVzdF9jcHUoc2NoZWRfY3B1LCBwcnYt PmlkbGVycykgKQorICAgICAgICAgICAgY3B1bWFza19zZXRfY3B1KHNjaGVkX2NwdSwgcHJ2LT5p ZGxlcnMpOwogICAgIH0KLSAgICBlbHNlIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsIHBydi0+ aWRsZXJzKSApCisgICAgZWxzZSBpZiAoIGNwdW1hc2tfdGVzdF9jcHUoc2NoZWRfY3B1LCBwcnYt PmlkbGVycykgKQogICAgIHsKLSAgICAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCBwcnYtPmlk bGVycyk7CisgICAgICAgIGNwdW1hc2tfY2xlYXJfY3B1KHNjaGVkX2NwdSwgcHJ2LT5pZGxlcnMp OwogICAgIH0KIAogICAgIGlmICggIWlzX2lkbGVfdW5pdChzbmV4dC0+dW5pdCkgKQpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRp dDIuYwppbmRleCAwZDFiYTk3ZGJjLi5jZjA1NTllOTY0IDEwMDY0NAotLS0gYS94ZW4vY29tbW9u L3NjaGVkX2NyZWRpdDIuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMzQ0 OCw3ICszNDQ4LDggQEAgc3RhdGljIHN0cnVjdCB0YXNrX3NsaWNlCiBjc2NoZWQyX3NjaGVkdWxl KAogICAgIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc190aW1lX3Qgbm93LCBib29sIHRh c2tsZXRfd29ya19zY2hlZHVsZWQpCiB7Ci0gICAgY29uc3QgaW50IGNwdSA9IHNtcF9wcm9jZXNz b3JfaWQoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgY3VyX2NwdSA9IHNtcF9wcm9jZXNzb3Jf aWQoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgc2NoZWRfY3B1ID0gc2NoZWRfZ2V0X3Jlc291 cmNlX2NwdShjdXJfY3B1KTsKICAgICBzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpycWQ7 CiAgICAgc3RydWN0IHNjaGVkX3VuaXQgKmN1cnJ1bml0ID0gY3VycmVudC0+c2NoZWRfdW5pdDsK ICAgICBzdHJ1Y3QgY3NjaGVkMl91bml0ICogY29uc3Qgc2N1cnIgPSBjc2NoZWQyX3VuaXQoY3Vy cnVuaXQpOwpAQCAtMzQ2MCwyMiArMzQ2MSwyMiBAQCBjc2NoZWQyX3NjaGVkdWxlKAogICAgIFND SEVEX1NUQVRfQ1JBTksoc2NoZWR1bGUpOwogICAgIENTQ0hFRDJfVU5JVF9DSEVDSyhjdXJydW5p dCk7CiAKLSAgICBCVUdfT04oIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmY3NjaGVkMl9wcml2KG9w cyktPmluaXRpYWxpemVkKSk7CisgICAgQlVHX09OKCFjcHVtYXNrX3Rlc3RfY3B1KHNjaGVkX2Nw dSwgJmNzY2hlZDJfcHJpdihvcHMpLT5pbml0aWFsaXplZCkpOwogCi0gICAgcnFkID0gYzJycWQo b3BzLCBjcHUpOwotICAgIEJVR19PTighY3B1bWFza190ZXN0X2NwdShjcHUsICZycWQtPmFjdGl2 ZSkpOworICAgIHJxZCA9IGMycnFkKG9wcywgc2NoZWRfY3B1KTsKKyAgICBCVUdfT04oIWNwdW1h c2tfdGVzdF9jcHUoc2NoZWRfY3B1LCAmcnFkLT5hY3RpdmUpKTsKIAotICAgIEFTU0VSVChzcGlu X2lzX2xvY2tlZChnZXRfc2NoZWRfcmVzKGNwdSktPnNjaGVkdWxlX2xvY2spKTsKKyAgICBBU1NF UlQoc3Bpbl9pc19sb2NrZWQoZ2V0X3NjaGVkX3JlcyhzY2hlZF9jcHUpLT5zY2hlZHVsZV9sb2Nr KSk7CiAKICAgICBCVUdfT04oIWlzX2lkbGVfdW5pdChjdXJydW5pdCkgJiYgc2N1cnItPnJxZCAh PSBycWQpOwogCiAgICAgLyogQ2xlYXIgInRpY2tsZWQiIGJpdCBub3cgdGhhdCB3ZSd2ZSBiZWVu IHNjaGVkdWxlZCAqLwotICAgIHRpY2tsZWQgPSBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJnJxZC0+ dGlja2xlZCk7CisgICAgdGlja2xlZCA9IGNwdW1hc2tfdGVzdF9jcHUoc2NoZWRfY3B1LCAmcnFk LT50aWNrbGVkKTsKICAgICBpZiAoIHRpY2tsZWQgKQogICAgIHsKLSAgICAgICAgX19jcHVtYXNr X2NsZWFyX2NwdShjcHUsICZycWQtPnRpY2tsZWQpOworICAgICAgICBfX2NwdW1hc2tfY2xlYXJf Y3B1KHNjaGVkX2NwdSwgJnJxZC0+dGlja2xlZCk7CiAgICAgICAgIGNwdW1hc2tfYW5kbm90KGNw dW1hc2tfc2NyYXRjaCwgJnJxZC0+aWRsZSwgJnJxZC0+dGlja2xlZCk7Ci0gICAgICAgIHNtdF9p ZGxlX21hc2tfc2V0KGNwdSwgY3B1bWFza19zY3JhdGNoLCAmcnFkLT5zbXRfaWRsZSk7CisgICAg ICAgIHNtdF9pZGxlX21hc2tfc2V0KHNjaGVkX2NwdSwgY3B1bWFza19zY3JhdGNoLCAmcnFkLT5z bXRfaWRsZSk7CiAgICAgfQogCiAgICAgaWYgKCB1bmxpa2VseSh0Yl9pbml0X2RvbmUpICkKQEAg LTM0ODQsMTEgKzM0ODUsMTEgQEAgY3NjaGVkMl9zY2hlZHVsZSgKICAgICAgICAgICAgIHVuc2ln bmVkIGNwdToxNiwgcnFfaWQ6MTY7CiAgICAgICAgICAgICB1bnNpZ25lZCB0YXNrbGV0OjgsIGlk bGU6OCwgc210X2lkbGU6OCwgdGlja2xlZDo4OwogICAgICAgICB9IGQ7Ci0gICAgICAgIGQuY3B1 ID0gY3B1OwotICAgICAgICBkLnJxX2lkID0gYzJyKGNwdSk7CisgICAgICAgIGQuY3B1ID0gY3Vy X2NwdTsKKyAgICAgICAgZC5ycV9pZCA9IGMycihzY2hlZF9jcHUpOwogICAgICAgICBkLnRhc2ts ZXQgPSB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkOwogICAgICAgICBkLmlkbGUgPSBpc19pZGxlX3Vu aXQoY3VycnVuaXQpOwotICAgICAgICBkLnNtdF9pZGxlID0gY3B1bWFza190ZXN0X2NwdShjcHUs ICZycWQtPnNtdF9pZGxlKTsKKyAgICAgICAgZC5zbXRfaWRsZSA9IGNwdW1hc2tfdGVzdF9jcHUo c2NoZWRfY3B1LCAmcnFkLT5zbXRfaWRsZSk7CiAgICAgICAgIGQudGlja2xlZCA9IHRpY2tsZWQ7 CiAgICAgICAgIF9fdHJhY2VfdmFyKFRSQ19DU0NIRUQyX1NDSEVEVUxFLCAxLAogICAgICAgICAg ICAgICAgICAgICBzaXplb2YoZCksCkBAIC0zNTI4LDEwICszNTI5LDEwIEBAIGNzY2hlZDJfc2No ZWR1bGUoCiAgICAgewogICAgICAgICBfX2NsZWFyX2JpdChfX0NTRkxBR191bml0X3lpZWxkLCAm c2N1cnItPmZsYWdzKTsKICAgICAgICAgdHJhY2VfdmFyKFRSQ19DU0NIRUQyX1NDSEVEX1RBU0tM RVQsIDEsIDAsIE5VTEwpOwotICAgICAgICBzbmV4dCA9IGNzY2hlZDJfdW5pdChzY2hlZF9pZGxl X3VuaXQoY3B1KSk7CisgICAgICAgIHNuZXh0ID0gY3NjaGVkMl91bml0KHNjaGVkX2lkbGVfdW5p dChzY2hlZF9jcHUpKTsKICAgICB9CiAgICAgZWxzZQotICAgICAgICBzbmV4dCA9IHJ1bnFfY2Fu ZGlkYXRlKHJxZCwgc2N1cnIsIGNwdSwgbm93LCAmc2tpcHBlZF91bml0cyk7CisgICAgICAgIHNu ZXh0ID0gcnVucV9jYW5kaWRhdGUocnFkLCBzY3Vyciwgc2NoZWRfY3B1LCBub3csICZza2lwcGVk X3VuaXRzKTsKIAogICAgIC8qIElmIHN3aXRjaGluZyBmcm9tIGEgbm9uLWlkbGUgcnVubmFibGUg dW5pdCwgcHV0IGl0CiAgICAgICogYmFjayBvbiB0aGUgcnVucXVldWUuICovCkBAIC0zNTU2LDEw ICszNTU3LDEwIEBAIGNzY2hlZDJfc2NoZWR1bGUoCiAgICAgICAgIH0KIAogICAgICAgICAvKiBD bGVhciB0aGUgaWRsZSBtYXNrIGlmIG5lY2Vzc2FyeSAqLwotICAgICAgICBpZiAoIGNwdW1hc2tf dGVzdF9jcHUoY3B1LCAmcnFkLT5pZGxlKSApCisgICAgICAgIGlmICggY3B1bWFza190ZXN0X2Nw dShzY2hlZF9jcHUsICZycWQtPmlkbGUpICkKICAgICAgICAgewotICAgICAgICAgICAgX19jcHVt YXNrX2NsZWFyX2NwdShjcHUsICZycWQtPmlkbGUpOwotICAgICAgICAgICAgc210X2lkbGVfbWFz a19jbGVhcihjcHUsICZycWQtPnNtdF9pZGxlKTsKKyAgICAgICAgICAgIF9fY3B1bWFza19jbGVh cl9jcHUoc2NoZWRfY3B1LCAmcnFkLT5pZGxlKTsKKyAgICAgICAgICAgIHNtdF9pZGxlX21hc2tf Y2xlYXIoc2NoZWRfY3B1LCAmcnFkLT5zbXRfaWRsZSk7CiAgICAgICAgIH0KIAogICAgICAgICAv KgpAQCAtMzU3OCwxOCArMzU3OSwxOCBAQCBjc2NoZWQyX3NjaGVkdWxlKAogICAgICAgICAgKi8K ICAgICAgICAgaWYgKCBza2lwcGVkX3VuaXRzID09IDAgJiYgc25leHQtPmNyZWRpdCA8PSBDU0NI RUQyX0NSRURJVF9SRVNFVCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJlc2V0X2NyZWRpdChv cHMsIGNwdSwgbm93LCBzbmV4dCk7Ci0gICAgICAgICAgICBiYWxhbmNlX2xvYWQob3BzLCBjcHUs IG5vdyk7CisgICAgICAgICAgICByZXNldF9jcmVkaXQob3BzLCBzY2hlZF9jcHUsIG5vdywgc25l eHQpOworICAgICAgICAgICAgYmFsYW5jZV9sb2FkKG9wcywgc2NoZWRfY3B1LCBub3cpOwogICAg ICAgICB9CiAKICAgICAgICAgc25leHQtPnN0YXJ0X3RpbWUgPSBub3c7CiAgICAgICAgIHNuZXh0 LT50aWNrbGVkX2NwdSA9IC0xOwogCiAgICAgICAgIC8qIFNhZmUgYmVjYXVzZSBsb2NrIGZvciBv bGQgcHJvY2Vzc29yIGlzIGhlbGQgKi8KLSAgICAgICAgaWYgKCBzY2hlZF91bml0X2NwdShzbmV4 dC0+dW5pdCkgIT0gY3B1ICkKKyAgICAgICAgaWYgKCBzY2hlZF91bml0X2NwdShzbmV4dC0+dW5p dCkgIT0gc2NoZWRfY3B1ICkKICAgICAgICAgewogICAgICAgICAgICAgc25leHQtPmNyZWRpdCAr PSBDU0NIRUQyX01JR1JBVEVfQ09NUEVOU0FUSU9OOwotICAgICAgICAgICAgc2NoZWRfc2V0X3Jl cyhzbmV4dC0+dW5pdCwgZ2V0X3NjaGVkX3JlcyhjcHUpKTsKKyAgICAgICAgICAgIHNjaGVkX3Nl dF9yZXMoc25leHQtPnVuaXQsIGdldF9zY2hlZF9yZXMoc2NoZWRfY3B1KSk7CiAgICAgICAgICAg ICBTQ0hFRF9TVEFUX0NSQU5LKG1pZ3JhdGVkKTsKICAgICAgICAgICAgIHJldC5taWdyYXRlZCA9 IDE7CiAgICAgICAgIH0KQEAgLTM2MDIsMTcgKzM2MDMsMTcgQEAgY3NjaGVkMl9zY2hlZHVsZSgK ICAgICAgICAgICovCiAgICAgICAgIGlmICggdGFza2xldF93b3JrX3NjaGVkdWxlZCApCiAgICAg ICAgIHsKLSAgICAgICAgICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICZycWQtPmlkbGUp ICkKKyAgICAgICAgICAgIGlmICggY3B1bWFza190ZXN0X2NwdShzY2hlZF9jcHUsICZycWQtPmlk bGUpICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBfX2NwdW1hc2tfY2xlYXJfY3B1 KGNwdSwgJnJxZC0+aWRsZSk7Ci0gICAgICAgICAgICAgICAgc210X2lkbGVfbWFza19jbGVhcihj cHUsICZycWQtPnNtdF9pZGxlKTsKKyAgICAgICAgICAgICAgICBfX2NwdW1hc2tfY2xlYXJfY3B1 KHNjaGVkX2NwdSwgJnJxZC0+aWRsZSk7CisgICAgICAgICAgICAgICAgc210X2lkbGVfbWFza19j bGVhcihzY2hlZF9jcHUsICZycWQtPnNtdF9pZGxlKTsKICAgICAgICAgICAgIH0KICAgICAgICAg fQotICAgICAgICBlbHNlIGlmICggIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmcnFkLT5pZGxlKSAp CisgICAgICAgIGVsc2UgaWYgKCAhY3B1bWFza190ZXN0X2NwdShzY2hlZF9jcHUsICZycWQtPmlk bGUpICkKICAgICAgICAgewotICAgICAgICAgICAgX19jcHVtYXNrX3NldF9jcHUoY3B1LCAmcnFk LT5pZGxlKTsKKyAgICAgICAgICAgIF9fY3B1bWFza19zZXRfY3B1KHNjaGVkX2NwdSwgJnJxZC0+ aWRsZSk7CiAgICAgICAgICAgICBjcHVtYXNrX2FuZG5vdChjcHVtYXNrX3NjcmF0Y2gsICZycWQt PmlkbGUsICZycWQtPnRpY2tsZWQpOwotICAgICAgICAgICAgc210X2lkbGVfbWFza19zZXQoY3B1 LCBjcHVtYXNrX3NjcmF0Y2gsICZycWQtPnNtdF9pZGxlKTsKKyAgICAgICAgICAgIHNtdF9pZGxl X21hc2tfc2V0KHNjaGVkX2NwdSwgY3B1bWFza19zY3JhdGNoLCAmcnFkLT5zbXRfaWRsZSk7CiAg ICAgICAgIH0KICAgICAgICAgLyogTWFrZSBzdXJlIGF2Z2xvYWQgZ2V0cyB1cGRhdGVkIHBlcmlv ZGljYWxseSBldmVuCiAgICAgICAgICAqIGlmIHRoZXJlJ3Mgbm8gYWN0aXZpdHkgKi8KQEAgLTM2 MjIsNyArMzYyMyw3IEBAIGNzY2hlZDJfc2NoZWR1bGUoCiAgICAgLyoKICAgICAgKiBSZXR1cm4g dGFzayB0byBydW4gbmV4dC4uLgogICAgICAqLwotICAgIHJldC50aW1lID0gY3NjaGVkMl9ydW50 aW1lKG9wcywgY3B1LCBzbmV4dCwgbm93KTsKKyAgICByZXQudGltZSA9IGNzY2hlZDJfcnVudGlt ZShvcHMsIHNjaGVkX2NwdSwgc25leHQsIG5vdyk7CiAgICAgcmV0LnRhc2sgPSBzbmV4dC0+dW5p dDsKIAogICAgIENTQ0hFRDJfVU5JVF9DSEVDSyhyZXQudGFzayk7CmRpZmYgLS1naXQgYS94ZW4v Y29tbW9uL3NjaGVkX251bGwuYyBiL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCmluZGV4IGMzNjY2 YzlmNTYuLjQxMzFkZjBkYjMgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCisr KyBiL3hlbi9jb21tb24vc2NoZWRfbnVsbC5jCkBAIC03ODQsNyArNzg0LDggQEAgc3RhdGljIHN0 cnVjdCB0YXNrX3NsaWNlIG51bGxfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3Bz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IHRhc2tsZXRf d29ya19zY2hlZHVsZWQpCiB7CiAgICAgdW5zaWduZWQgaW50IGJzOwotICAgIGNvbnN0IHVuc2ln bmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5zaWduZWQgaW50 IGN1cl9jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5zaWduZWQgaW50IHNj aGVkX2NwdSA9IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoY3VyX2NwdSk7CiAgICAgc3RydWN0IG51 bGxfcHJpdmF0ZSAqcHJ2ID0gbnVsbF9wcml2KG9wcyk7CiAgICAgc3RydWN0IG51bGxfdW5pdCAq d3ZjOwogICAgIHN0cnVjdCB0YXNrX3NsaWNlIHJldDsKQEAgLTc5OCwxNiArNzk5LDE2IEBAIHN0 YXRpYyBzdHJ1Y3QgdGFza19zbGljZSBudWxsX3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVs ZXIgKm9wcywKICAgICAgICAgICAgIHVpbnQxNl90IHRhc2tsZXQsIGNwdTsKICAgICAgICAgICAg IGludDE2X3QgdW5pdCwgZG9tOwogICAgICAgICB9IGQ7Ci0gICAgICAgIGQuY3B1ID0gY3B1Owor ICAgICAgICBkLmNwdSA9IGN1cl9jcHU7CiAgICAgICAgIGQudGFza2xldCA9IHRhc2tsZXRfd29y a19zY2hlZHVsZWQ7Ci0gICAgICAgIGlmICggcGVyX2NwdShucGMsIGNwdSkudW5pdCA9PSBOVUxM ICkKKyAgICAgICAgaWYgKCBwZXJfY3B1KG5wYywgc2NoZWRfY3B1KS51bml0ID09IE5VTEwgKQog ICAgICAgICB7CiAgICAgICAgICAgICBkLnVuaXQgPSBkLmRvbSA9IC0xOwogICAgICAgICB9CiAg ICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgZC51bml0ID0gcGVyX2NwdShucGMs IGNwdSkudW5pdC0+dW5pdF9pZDsKLSAgICAgICAgICAgIGQuZG9tID0gcGVyX2NwdShucGMsIGNw dSkudW5pdC0+ZG9tYWluLT5kb21haW5faWQ7CisgICAgICAgICAgICBkLnVuaXQgPSBwZXJfY3B1 KG5wYywgc2NoZWRfY3B1KS51bml0LT51bml0X2lkOworICAgICAgICAgICAgZC5kb20gPSBwZXJf Y3B1KG5wYywgc2NoZWRfY3B1KS51bml0LT5kb21haW4tPmRvbWFpbl9pZDsKICAgICAgICAgfQog ICAgICAgICBfX3RyYWNlX3ZhcihUUkNfU05VTExfU0NIRURVTEUsIDEsIHNpemVvZihkKSwgJmQp OwogICAgIH0KQEAgLTgxNSwxMCArODE2LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdGFza19zbGljZSBu dWxsX3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywKICAgICBpZiAoIHRhc2ts ZXRfd29ya19zY2hlZHVsZWQgKQogICAgIHsKICAgICAgICAgdHJhY2VfdmFyKFRSQ19TTlVMTF9U QVNLTEVULCAxLCAwLCBOVUxMKTsKLSAgICAgICAgcmV0LnRhc2sgPSBzY2hlZF9pZGxlX3VuaXQo Y3B1KTsKKyAgICAgICAgcmV0LnRhc2sgPSBzY2hlZF9pZGxlX3VuaXQoc2NoZWRfY3B1KTsKICAg ICB9CiAgICAgZWxzZQotICAgICAgICByZXQudGFzayA9IHBlcl9jcHUobnBjLCBjcHUpLnVuaXQ7 CisgICAgICAgIHJldC50YXNrID0gcGVyX2NwdShucGMsIHNjaGVkX2NwdSkudW5pdDsKICAgICBy ZXQubWlncmF0ZWQgPSAwOwogICAgIHJldC50aW1lID0gLTE7CiAKQEAgLTg0OSw5ICs4NTAsOSBA QCBzdGF0aWMgc3RydWN0IHRhc2tfc2xpY2UgbnVsbF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2No ZWR1bGVyICpvcHMsCiAgICAgICAgICAgICAgICAgICAgICAhaGFzX3NvZnRfYWZmaW5pdHkod3Zj LT51bml0KSApCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICAg ICAgaWYgKCB1bml0X2NoZWNrX2FmZmluaXR5KHd2Yy0+dW5pdCwgY3B1LCBicykgKQorICAgICAg ICAgICAgICAgIGlmICggdW5pdF9jaGVja19hZmZpbml0eSh3dmMtPnVuaXQsIHNjaGVkX2NwdSwg YnMpICkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHVuaXRfYXNzaWdu KHBydiwgd3ZjLT51bml0LCBjcHUpOworICAgICAgICAgICAgICAgICAgICB1bml0X2Fzc2lnbihw cnYsIHd2Yy0+dW5pdCwgc2NoZWRfY3B1KTsKICAgICAgICAgICAgICAgICAgICAgbGlzdF9kZWxf aW5pdCgmd3ZjLT53YWl0cV9lbGVtKTsKICAgICAgICAgICAgICAgICAgICAgcmV0LnRhc2sgPSB3 dmMtPnVuaXQ7CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gdW5sb2NrOwpAQCAtODYxLDEyICs4 NjIsMTIgQEAgc3RhdGljIHN0cnVjdCB0YXNrX3NsaWNlIG51bGxfc2NoZWR1bGUoY29uc3Qgc3Ry dWN0IHNjaGVkdWxlciAqb3BzLAogIHVubG9jazoKICAgICAgICAgc3Bpbl91bmxvY2soJnBydi0+ d2FpdHFfbG9jayk7CiAKLSAgICAgICAgaWYgKCByZXQudGFzayA9PSBOVUxMICYmICFjcHVtYXNr X3Rlc3RfY3B1KGNwdSwgJnBydi0+Y3B1c19mcmVlKSApCi0gICAgICAgICAgICBjcHVtYXNrX3Nl dF9jcHUoY3B1LCAmcHJ2LT5jcHVzX2ZyZWUpOworICAgICAgICBpZiAoIHJldC50YXNrID09IE5V TEwgJiYgIWNwdW1hc2tfdGVzdF9jcHUoc2NoZWRfY3B1LCAmcHJ2LT5jcHVzX2ZyZWUpICkKKyAg ICAgICAgICAgIGNwdW1hc2tfc2V0X2NwdShzY2hlZF9jcHUsICZwcnYtPmNwdXNfZnJlZSk7CiAg ICAgfQogCiAgICAgaWYgKCB1bmxpa2VseShyZXQudGFzayA9PSBOVUxMIHx8ICF1bml0X3J1bm5h YmxlKHJldC50YXNrKSkgKQotICAgICAgICByZXQudGFzayA9IHNjaGVkX2lkbGVfdW5pdChjcHUp OworICAgICAgICByZXQudGFzayA9IHNjaGVkX2lkbGVfdW5pdChzY2hlZF9jcHUpOwogCiAgICAg TlVMTF9VTklUX0NIRUNLKHJldC50YXNrKTsKICAgICByZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEv eGVuL2NvbW1vbi9zY2hlZF9ydC5jIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCmluZGV4IDdhNzJj ZmI4NmMuLmFiNDhkNGJiMWQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfcnQuYworKysg Yi94ZW4vY29tbW9uL3NjaGVkX3J0LmMKQEAgLTEwNTcsNyArMTA1Nyw4IEBAIHJ1bnFfcGljayhj b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIGNvbnN0IGNwdW1hc2tfdCAqbWFzaykKIHN0YXRp YyBzdHJ1Y3QgdGFza19zbGljZQogcnRfc2NoZWR1bGUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAq b3BzLCBzX3RpbWVfdCBub3csIGJvb2xfdCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKQogewotICAg IGNvbnN0IGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5zaWduZWQg aW50IGN1cl9jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgY29uc3QgdW5zaWduZWQgaW50 IHNjaGVkX2NwdSA9IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoY3VyX2NwdSk7CiAgICAgc3RydWN0 IHJ0X3ByaXZhdGUgKnBydiA9IHJ0X3ByaXYob3BzKTsKICAgICBzdHJ1Y3QgcnRfdW5pdCAqY29u c3Qgc2N1cnIgPSBydF91bml0KGN1cnJlbnQtPnNjaGVkX3VuaXQpOwogICAgIHN0cnVjdCBydF91 bml0ICpzbmV4dCA9IE5VTEw7CkBAIC0xMDY5LDkgKzEwNzAsOSBAQCBydF9zY2hlZHVsZShjb25z dCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHNfdGltZV90IG5vdywgYm9vbF90IHRhc2tsZXRfd29y a19zY2hlZAogICAgICAgICBzdHJ1Y3QgX19wYWNrZWQgewogICAgICAgICAgICAgdW5zaWduZWQg Y3B1OjE2LCB0YXNrbGV0OjgsIHRpY2tsZWQ6NCwgaWRsZTo0OwogICAgICAgICB9IGQ7Ci0gICAg ICAgIGQuY3B1ID0gY3B1OworICAgICAgICBkLmNwdSA9IGN1cl9jcHU7CiAgICAgICAgIGQudGFz a2xldCA9IHRhc2tsZXRfd29ya19zY2hlZHVsZWQ7Ci0gICAgICAgIGQudGlja2xlZCA9IGNwdW1h c2tfdGVzdF9jcHUoY3B1LCAmcHJ2LT50aWNrbGVkKTsKKyAgICAgICAgZC50aWNrbGVkID0gY3B1 bWFza190ZXN0X2NwdShzY2hlZF9jcHUsICZwcnYtPnRpY2tsZWQpOwogICAgICAgICBkLmlkbGUg PSBpc19pZGxlX3VuaXQoY3VycnVuaXQpOwogICAgICAgICB0cmFjZV92YXIoVFJDX1JURFNfU0NI RURVTEUsIDEsCiAgICAgICAgICAgICAgICAgICBzaXplb2YoZCksCkBAIC0xMDc5LDcgKzEwODAs NyBAQCBydF9zY2hlZHVsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHNfdGltZV90IG5v dywgYm9vbF90IHRhc2tsZXRfd29ya19zY2hlZAogICAgIH0KIAogICAgIC8qIGNsZWFyIHRpY2tl ZCBiaXQgbm93IHRoYXQgd2UndmUgYmVlbiBzY2hlZHVsZWQgKi8KLSAgICBjcHVtYXNrX2NsZWFy X2NwdShjcHUsICZwcnYtPnRpY2tsZWQpOworICAgIGNwdW1hc2tfY2xlYXJfY3B1KHNjaGVkX2Nw dSwgJnBydi0+dGlja2xlZCk7CiAKICAgICAvKiBidXJuX2J1ZGdldCB3b3VsZCByZXR1cm4gZm9y IElETEUgVU5JVCAqLwogICAgIGJ1cm5fYnVkZ2V0KG9wcywgc2N1cnIsIG5vdyk7CkBAIC0xMDg3 LDEzICsxMDg4LDEzIEBAIHJ0X3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywg c190aW1lX3Qgbm93LCBib29sX3QgdGFza2xldF93b3JrX3NjaGVkCiAgICAgaWYgKCB0YXNrbGV0 X3dvcmtfc2NoZWR1bGVkICkKICAgICB7CiAgICAgICAgIHRyYWNlX3ZhcihUUkNfUlREU19TQ0hF RF9UQVNLTEVULCAxLCAwLCAgTlVMTCk7Ci0gICAgICAgIHNuZXh0ID0gcnRfdW5pdChzY2hlZF9p ZGxlX3VuaXQoY3B1KSk7CisgICAgICAgIHNuZXh0ID0gcnRfdW5pdChzY2hlZF9pZGxlX3VuaXQo c2NoZWRfY3B1KSk7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIHNuZXh0ID0gcnVu cV9waWNrKG9wcywgY3B1bWFza19vZihjcHUpKTsKKyAgICAgICAgc25leHQgPSBydW5xX3BpY2so b3BzLCBjcHVtYXNrX29mKHNjaGVkX2NwdSkpOwogICAgICAgICBpZiAoIHNuZXh0ID09IE5VTEwg KQotICAgICAgICAgICAgc25leHQgPSBydF91bml0KHNjaGVkX2lkbGVfdW5pdChjcHUpKTsKKyAg ICAgICAgICAgIHNuZXh0ID0gcnRfdW5pdChzY2hlZF9pZGxlX3VuaXQoc2NoZWRfY3B1KSk7CiAK ICAgICAgICAgLyogaWYgc2N1cnIgaGFzIGhpZ2hlciBwcmlvcml0eSBhbmQgYnVkZ2V0LCBzdGls bCBwaWNrIHNjdXJyICovCiAgICAgICAgIGlmICggIWlzX2lkbGVfdW5pdChjdXJydW5pdCkgJiYK QEAgLTExMTgsOSArMTExOSw5IEBAIHJ0X3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgc190aW1lX3Qgbm93LCBib29sX3QgdGFza2xldF93b3JrX3NjaGVkCiAgICAgICAgICAg ICBxX3JlbW92ZShzbmV4dCk7CiAgICAgICAgICAgICBfX3NldF9iaXQoX19SVERTX3NjaGVkdWxl ZCwgJnNuZXh0LT5mbGFncyk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCBzY2hlZF91bml0X2Nw dShzbmV4dC0+dW5pdCkgIT0gY3B1ICkKKyAgICAgICAgaWYgKCBzY2hlZF91bml0X2NwdShzbmV4 dC0+dW5pdCkgIT0gc2NoZWRfY3B1ICkKICAgICAgICAgewotICAgICAgICAgICAgc2NoZWRfc2V0 X3JlcyhzbmV4dC0+dW5pdCwgZ2V0X3NjaGVkX3JlcyhjcHUpKTsKKyAgICAgICAgICAgIHNjaGVk X3NldF9yZXMoc25leHQtPnVuaXQsIGdldF9zY2hlZF9yZXMoc2NoZWRfY3B1KSk7CiAgICAgICAg ICAgICByZXQubWlncmF0ZWQgPSAxOwogICAgICAgICB9CiAgICAgICAgIHJldC50aW1lID0gc25l eHQtPmN1cl9idWRnZXQ7IC8qIGludm9rZSB0aGUgc2NoZWR1bGVyIG5leHQgdGltZSAqLwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2No ZWQtaWYuaAppbmRleCBmNzAxODJkZDRlLi44NDI5ZTllMjg3IDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaApAQCAt MTE2LDYgKzExNiwxMSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBzY2hlZF91bml0ICpzY2hlZF9p ZGxlX3VuaXQodW5zaWduZWQgaW50IGNwdSkKICAgICByZXR1cm4gaWRsZV92Y3B1W2NwdV0tPnNj aGVkX3VuaXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHNjaGVkX2dldF9yZXNv dXJjZV9jcHUodW5zaWduZWQgaW50IGNwdSkKK3sKKyAgICByZXR1cm4gZ2V0X3NjaGVkX3Jlcyhj cHUpLT5tYXN0ZXJfY3B1OworfQorCiAvKgogICogU2NyYXRjaCBzcGFjZSwgZm9yIGF2b2lkaW5n IGhhdmluZyB0b28gbWFueSBjcHVtYXNrX3Qgb24gdGhlIHN0YWNrLgogICogV2l0aGluIGVhY2gg c2NoZWR1bGVyLCB3aGVuIHVzaW5nIHRoZSBzY3JhdGNoIG1hc2sgb2Ygb25lIHBDUFU6Ci0tIAoy LjE2LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs