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 B22D0C4CEC7 for ; Sat, 14 Sep 2019 08:54:36 +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 8349420717 for ; Sat, 14 Sep 2019 08:54:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8349420717 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 1i93p3-00014D-Qf; Sat, 14 Sep 2019 08:54:25 +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 1i93p1-00010I-Ou for xen-devel@lists.xenproject.org; Sat, 14 Sep 2019 08:54:23 +0000 X-Inumbo-ID: 1140439b-d6cd-11e9-95c1-12813bfff9fa Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 1140439b-d6cd-11e9-95c1-12813bfff9fa; Sat, 14 Sep 2019 08:53:06 +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 E7EF5B671; Sat, 14 Sep 2019 08:53:03 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Sat, 14 Sep 2019 10:52:33 +0200 Message-Id: <20190914085251.18816-30-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 29/47] xen/sched: introduce unit_runnable_state() 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 , Robert VanVossen , Tim Deegan , Julien Grall , Josh Whitehead , Meng Xu , 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" VG9kYXkgdGhlIHZjcHUgcnVuc3RhdGUgb2YgYSBuZXcgc2NoZWR1bGVkIHZjcHUgaXMgYWx3YXlz IHNldCB0bwoicnVubmluZyIgZXZlbiBpZiBhdCB0aGF0IHRpbWUgdmNwdV9ydW5uYWJsZSgpIGlz IGFscmVhZHkgcmV0dXJuaW5nCmZhbHNlIGR1ZSB0byBhIHJhY2UgKGUuZy4gd2l0aCBwYXVzaW5n IHRoZSB2Y3B1KS4KCldpdGggY29yZSBzY2hlZHVsaW5nIHRoaXMgY2FuIG5vIGxvbmdlciB3b3Jr IGFzIG5vdCBhbGwgdmNwdXMgb2YgYQpzY2hlZHVsZSB1bml0IGhhdmUgdG8gYmUgInJ1bm5pbmci IHdoZW4gYmVpbmcgc2NoZWR1bGVkLiBTbyB0aGUgdmNwdSdzCm5ldyBydW5zdGF0ZSBoYXMgdG8g YmUgc2VsZWN0ZWQgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgcnVubmFiaWxpdHkgb2YKdGhlIHJl bGF0ZWQgc2NoZWR1bGUgdW5pdCBpcyBwcm9iZWQuCgpGb3IgdGhpcyBwdXJwb3NlIGludHJvZHVj ZSBhIG5ldyBoZWxwZXIgdW5pdF9ydW5uYWJsZV9zdGF0ZSgpIHdoaWNoCndpbGwgc2F2ZSB0aGUg bmV3IHJ1bnN0YXRlIG9mIGFsbCB0ZXN0ZWQgdmNwdXMgaW4gYSBuZXcgZmllbGQgb2YgdGhlCnZj cHUgc3RydWN0LgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t PgotLS0KUkZDIFYyOgotIG5ldyBwYXRjaApWMzoKLSBhZGQgdmNwdSBsb29wIHRvIHVuaXRfcnVu bmFibGVfc3RhdGUoKSByaWdodCBub3cgaW5zdGVhZCBvZiBkb2luZwogIHNvIGluIG5leHQgcGF0 Y2ggKEphbiBCZXVsaWNoLCBEYXJpbyBGYWdnaW9saSkKLSBtYWtlIG5ld19zdGF0ZSB1bnNpZ25l ZCBpbnQgKEphbiBCZXVsaWNoKQotLS0KIHhlbi9jb21tb24vZG9tYWluLmMgICAgICAgICB8ICAx ICsKIHhlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYyB8ICAyICstCiB4ZW4vY29tbW9uL3NjaGVk X2NyZWRpdC5jICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jICB8ICA3ICsrKystLS0KIHhlbi9jb21t b24vc2NoZWRfbnVsbC5jICAgICB8ICAzICsrLQogeGVuL2NvbW1vbi9zY2hlZF9ydC5jICAgICAg IHwgIDggKysrKysrKy0KIHhlbi9jb21tb24vc2NoZWR1bGUuYyAgICAgICB8ICAyICstCiB4ZW4v aW5jbHVkZS94ZW4vc2NoZWQtaWYuaCAgfCAyMyArKysrKysrKysrKysrKysrKysrKysKIHhlbi9p bmNsdWRlL3hlbi9zY2hlZC5oICAgICB8ICAxICsKIDkgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0 aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21haW4u YyBiL3hlbi9jb21tb24vZG9tYWluLmMKaW5kZXggN2ExYmU4NWJlOS4uZmE0MDIzOTM2YiAxMDA2 NDQKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFpbi5jCkBA IC0xNTcsNiArMTU3LDcgQEAgc3RydWN0IHZjcHUgKnZjcHVfY3JlYXRlKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKQogICAgIGlmICggaXNfaWRsZV9kb21haW4oZCkgKQog ICAgIHsKICAgICAgICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBSVU5TVEFURV9ydW5uaW5nOworICAg ICAgICB2LT5uZXdfc3RhdGUgPSBSVU5TVEFURV9ydW5uaW5nOwogICAgIH0KICAgICBlbHNlCiAg ICAgewpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9hcmluYzY1My5jIGIveGVuL2NvbW1v bi9zY2hlZF9hcmluYzY1My5jCmluZGV4IDk2ZjNlODQ0ZDIuLjFlODhkYTQwYjEgMTAwNjQ0Ci0t LSBhL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2Fy aW5jNjUzLmMKQEAgLTU1Nyw3ICs1NTcsNyBAQCBhNjUzc2NoZWRfZG9fc2NoZWR1bGUoCiAgICAg aWYgKCAhKChuZXdfdGFzayAhPSBOVUxMKQogICAgICAgICAgICAmJiAoQVVOSVQobmV3X3Rhc2sp ICE9IE5VTEwpCiAgICAgICAgICAgICYmIEFVTklUKG5ld190YXNrKS0+YXdha2UKLSAgICAgICAg ICAgJiYgdW5pdF9ydW5uYWJsZShuZXdfdGFzaykpICkKKyAgICAgICAgICAgJiYgdW5pdF9ydW5u YWJsZV9zdGF0ZShuZXdfdGFzaykpICkKICAgICAgICAgbmV3X3Rhc2sgPSBJRExFVEFTSyhjcHUp OwogICAgIEJVR19PTihuZXdfdGFzayA9PSBOVUxMKTsKIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1v bi9zY2hlZF9jcmVkaXQuYyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKaW5kZXggNTgwMmE2 Nzc4NC4uYjI1YTdkMjI3MCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwor KysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCkBAIC0xODk0LDcgKzE4OTQsNyBAQCBzdGF0 aWMgdm9pZCBjc2NoZWRfc2NoZWR1bGUoCiAgICAgaWYgKCAhdGVzdF9iaXQoQ1NDSEVEX0ZMQUdf VU5JVF9ZSUVMRCwgJnNjdXJyLT5mbGFncykKICAgICAgICAgICYmICF0YXNrbGV0X3dvcmtfc2No ZWR1bGVkCiAgICAgICAgICAmJiBwcnYtPnJhdGVsaW1pdAotICAgICAgICAgJiYgdW5pdF9ydW5u YWJsZSh1bml0KQorICAgICAgICAgJiYgdW5pdF9ydW5uYWJsZV9zdGF0ZSh1bml0KQogICAgICAg ICAgJiYgIWlzX2lkbGVfdW5pdCh1bml0KQogICAgICAgICAgJiYgcnVudGltZSA8IHBydi0+cmF0 ZWxpbWl0ICkKICAgICB7CkBAIC0xOTM5LDMzICsxOTM5LDM2IEBAIHN0YXRpYyB2b2lkIGNzY2hl ZF9zY2hlZHVsZSgKICAgICAgICAgZGVjX25yX3J1bm5hYmxlKHNjaGVkX2NwdSk7CiAgICAgfQog Ci0gICAgc25leHQgPSBfX3J1bnFfZWxlbShydW5xLT5uZXh0KTsKLQotICAgIC8qIFRhc2tsZXQg d29yayAod2hpY2ggcnVucyBpbiBpZGxlIFVOSVQgY29udGV4dCkgb3ZlcnJpZGVzIGFsbCBlbHNl LiAqLwotICAgIGlmICggdGFza2xldF93b3JrX3NjaGVkdWxlZCApCi0gICAgewotICAgICAgICBU UkFDRV8wRChUUkNfQ1NDSEVEX1NDSEVEX1RBU0tMRVQpOwotICAgICAgICBzbmV4dCA9IENTQ0hF RF9VTklUKHNjaGVkX2lkbGVfdW5pdChzY2hlZF9jcHUpKTsKLSAgICAgICAgc25leHQtPnByaSA9 IENTQ0hFRF9QUklfVFNfQk9PU1Q7Ci0gICAgfQotCiAgICAgLyoKICAgICAgKiBDbGVhciBZSUVM RCBmbGFnIGJlZm9yZSBzY2hlZHVsaW5nIG91dAogICAgICAqLwogICAgIGNsZWFyX2JpdChDU0NI RURfRkxBR19VTklUX1lJRUxELCAmc2N1cnItPmZsYWdzKTsKIAotICAgIC8qCi0gICAgICogU01Q IExvYWQgYmFsYW5jZToKLSAgICAgKgotICAgICAqIElmIHRoZSBuZXh0IGhpZ2hlc3QgcHJpb3Jp dHkgbG9jYWwgcnVubmFibGUgVU5JVCBoYXMgYWxyZWFkeSBlYXRlbgotICAgICAqIHRocm91Z2gg aXRzIGNyZWRpdHMsIGxvb2sgb24gb3RoZXIgUENQVXMgdG8gc2VlIGlmIHdlIGhhdmUgbW9yZQot ICAgICAqIHVyZ2VudCB3b3JrLi4uIElmIG5vdCwgY3NjaGVkX2xvYWRfYmFsYW5jZSgpIHdpbGwg cmV0dXJuIHNuZXh0LCBidXQKLSAgICAgKiBhbHJlYWR5IHJlbW92ZWQgZnJvbSB0aGUgcnVucS4K LSAgICAgKi8KLSAgICBpZiAoIHNuZXh0LT5wcmkgPiBDU0NIRURfUFJJX1RTX09WRVIgKQotICAg ICAgICBfX3J1bnFfcmVtb3ZlKHNuZXh0KTsKLSAgICBlbHNlCi0gICAgICAgIHNuZXh0ID0gY3Nj aGVkX2xvYWRfYmFsYW5jZShwcnYsIHNjaGVkX2NwdSwgc25leHQsICZtaWdyYXRlZCk7CisgICAg ZG8geworICAgICAgICBzbmV4dCA9IF9fcnVucV9lbGVtKHJ1bnEtPm5leHQpOworCisgICAgICAg IC8qIFRhc2tsZXQgd29yayAod2hpY2ggcnVucyBpbiBpZGxlIFVOSVQgY29udGV4dCkgb3ZlcnJp ZGVzIGFsbCBlbHNlLiAqLworICAgICAgICBpZiAoIHRhc2tsZXRfd29ya19zY2hlZHVsZWQgKQor ICAgICAgICB7CisgICAgICAgICAgICBUUkFDRV8wRChUUkNfQ1NDSEVEX1NDSEVEX1RBU0tMRVQp OworICAgICAgICAgICAgc25leHQgPSBDU0NIRURfVU5JVChzY2hlZF9pZGxlX3VuaXQoc2NoZWRf Y3B1KSk7CisgICAgICAgICAgICBzbmV4dC0+cHJpID0gQ1NDSEVEX1BSSV9UU19CT09TVDsKKyAg ICAgICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAqIFNNUCBMb2FkIGJhbGFuY2U6CisgICAg ICAgICAqCisgICAgICAgICAqIElmIHRoZSBuZXh0IGhpZ2hlc3QgcHJpb3JpdHkgbG9jYWwgcnVu bmFibGUgVU5JVCBoYXMgYWxyZWFkeSBlYXRlbgorICAgICAgICAgKiB0aHJvdWdoIGl0cyBjcmVk aXRzLCBsb29rIG9uIG90aGVyIFBDUFVzIHRvIHNlZSBpZiB3ZSBoYXZlIG1vcmUKKyAgICAgICAg ICogdXJnZW50IHdvcmsuLi4gSWYgbm90LCBjc2NoZWRfbG9hZF9iYWxhbmNlKCkgd2lsbCByZXR1 cm4gc25leHQsIGJ1dAorICAgICAgICAgKiBhbHJlYWR5IHJlbW92ZWQgZnJvbSB0aGUgcnVucS4K KyAgICAgICAgICovCisgICAgICAgIGlmICggc25leHQtPnByaSA+IENTQ0hFRF9QUklfVFNfT1ZF UiApCisgICAgICAgICAgICBfX3J1bnFfcmVtb3ZlKHNuZXh0KTsKKyAgICAgICAgZWxzZQorICAg ICAgICAgICAgc25leHQgPSBjc2NoZWRfbG9hZF9iYWxhbmNlKHBydiwgc2NoZWRfY3B1LCBzbmV4 dCwgJm1pZ3JhdGVkKTsKKworICAgIH0gd2hpbGUgKCAhdW5pdF9ydW5uYWJsZV9zdGF0ZShzbmV4 dC0+dW5pdCkgKTsKIAogICAgIC8qCiAgICAgICogVXBkYXRlIGlkbGVycyBtYXNrIGlmIG5lY2Vz c2FyeS4gV2hlbiB3ZSdyZSBpZGxpbmcsIG90aGVyIENQVXMKZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vc2NoZWRfY3JlZGl0Mi5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKaW5kZXggNDE0 YWM4ZjViNi4uNzA4NjQzYmU3ZSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQy LmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKQEAgLTMyODksNyArMzI4OSw3IEBA IHJ1bnFfY2FuZGlkYXRlKHN0cnVjdCBjc2NoZWQyX3J1bnF1ZXVlX2RhdGEgKnJxZCwKICAgICAg KiBJbiBmYWN0LCBpdCBtYXkgYmUgdGhlIGNhc2UgdGhhdCBzY3VyciBpcyBhYm91dCB0byBzcGlu LCBhbmQgdGhlcmUncwogICAgICAqIG5vIHBvaW50IGZvcmNpbmcgaXQgdG8gZG8gc28gdW50aWwg cmF0ZSBsaW1pdGluZyBleHBpcmVzLgogICAgICAqLwotICAgIGlmICggIXlpZWxkICYmIHBydi0+ cmF0ZWxpbWl0X3VzICYmIHVuaXRfcnVubmFibGUoc2N1cnItPnVuaXQpICYmCisgICAgaWYgKCAh eWllbGQgJiYgcHJ2LT5yYXRlbGltaXRfdXMgJiYgdW5pdF9ydW5uYWJsZV9zdGF0ZShzY3Vyci0+ dW5pdCkgJiYKICAgICAgICAgIChub3cgLSBzY3Vyci0+dW5pdC0+c3RhdGVfZW50cnlfdGltZSkg PCBNSUNST1NFQ1MocHJ2LT5yYXRlbGltaXRfdXMpICkKICAgICB7CiAgICAgICAgIGlmICggdW5s aWtlbHkodGJfaW5pdF9kb25lKSApCkBAIC0zMzQzLDcgKzMzNDMsNyBAQCBydW5xX2NhbmRpZGF0 ZShzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpycWQsCiAgICAgICoKICAgICAgKiBPZiBj b3Vyc2UsIHdlIGFsc28gZGVmYXVsdCB0byBpZGxlIGFsc28gaWYgc2N1cnIgaXMgbm90IHJ1bm5h YmxlLgogICAgICAqLwotICAgIGlmICggdW5pdF9ydW5uYWJsZShzY3Vyci0+dW5pdCkgJiYgIXNv ZnRfYWZmX3ByZWVtcHQgKQorICAgIGlmICggdW5pdF9ydW5uYWJsZV9zdGF0ZShzY3Vyci0+dW5p dCkgJiYgIXNvZnRfYWZmX3ByZWVtcHQgKQogICAgICAgICBzbmV4dCA9IHNjdXJyOwogICAgIGVs c2UKICAgICAgICAgc25leHQgPSBjc2NoZWQyX3VuaXQoc2NoZWRfaWRsZV91bml0KGNwdSkpOwpA QCAtMzQwMyw3ICszNDAzLDggQEAgcnVucV9jYW5kaWRhdGUoc3RydWN0IGNzY2hlZDJfcnVucXVl dWVfZGF0YSAqcnFkLAogICAgICAgICAgKiBzb21lIGJ1ZGdldCwgdGhlbiBjaG9vc2UgaXQuCiAg ICAgICAgICAqLwogICAgICAgICBpZiAoICh5aWVsZCB8fCBzdmMtPmNyZWRpdCA+IHNuZXh0LT5j cmVkaXQpICYmCi0gICAgICAgICAgICAgKCFoYXNfY2FwKHN2YykgfHwgdW5pdF9ncmFiX2J1ZGdl dChzdmMpKSApCisgICAgICAgICAgICAgKCFoYXNfY2FwKHN2YykgfHwgdW5pdF9ncmFiX2J1ZGdl dChzdmMpKSAmJgorICAgICAgICAgICAgIHVuaXRfcnVubmFibGVfc3RhdGUoc3ZjLT51bml0KSAp CiAgICAgICAgICAgICBzbmV4dCA9IHN2YzsKIAogICAgICAgICAvKiBJbiBhbnkgY2FzZSwgaWYg d2UgZ290IHRoaXMgZmFyLCBicmVhay4gKi8KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRf bnVsbC5jIGIveGVuL2NvbW1vbi9zY2hlZF9udWxsLmMKaW5kZXggZDdkZWVmMDdiOC4uMzRhYzAx OGNjYSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZF9udWxsLmMKKysrIGIveGVuL2NvbW1v bi9zY2hlZF9udWxsLmMKQEAgLTg2NCw3ICs4NjQsOCBAQCBzdGF0aWMgdm9pZCBudWxsX3NjaGVk dWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHNjaGVkX3VuaXQgKnByZXYs CiAgICAgICAgICAgICBjcHVtYXNrX3NldF9jcHUoc2NoZWRfY3B1LCAmcHJ2LT5jcHVzX2ZyZWUp OwogICAgIH0KIAotICAgIGlmICggdW5saWtlbHkocHJldi0+bmV4dF90YXNrID09IE5VTEwgfHwg IXVuaXRfcnVubmFibGUocHJldi0+bmV4dF90YXNrKSkgKQorICAgIGlmICggdW5saWtlbHkocHJl di0+bmV4dF90YXNrID09IE5VTEwgfHwKKyAgICAgICAgICAgICAgICAgICF1bml0X3J1bm5hYmxl X3N0YXRlKHByZXYtPm5leHRfdGFzaykpICkKICAgICAgICAgcHJldi0+bmV4dF90YXNrID0gc2No ZWRfaWRsZV91bml0KHNjaGVkX2NwdSk7CiAKICAgICBOVUxMX1VOSVRfQ0hFQ0socHJldi0+bmV4 dF90YXNrKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfcnQuYyBiL3hlbi9jb21tb24v c2NoZWRfcnQuYwppbmRleCA5MWJjM2Q1NmZiLi45ZjRlMzk3MzM0IDEwMDY0NAotLS0gYS94ZW4v Y29tbW9uL3NjaGVkX3J0LmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCkBAIC0xMDkzLDEy ICsxMDkzLDE4IEBAIHJ0X3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3Ry dWN0IHNjaGVkX3VuaXQgKmN1cnJ1bml0LAogICAgIGVsc2UKICAgICB7CiAgICAgICAgIHNuZXh0 ID0gcnVucV9waWNrKG9wcywgY3B1bWFza19vZihzY2hlZF9jcHUpKTsKKwogICAgICAgICBpZiAo IHNuZXh0ID09IE5VTEwgKQogICAgICAgICAgICAgc25leHQgPSBydF91bml0KHNjaGVkX2lkbGVf dW5pdChzY2hlZF9jcHUpKTsKKyAgICAgICAgZWxzZSBpZiAoICF1bml0X3J1bm5hYmxlX3N0YXRl KHNuZXh0LT51bml0KSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHFfcmVtb3ZlKHNuZXh0KTsK KyAgICAgICAgICAgIHNuZXh0ID0gcnRfdW5pdChzY2hlZF9pZGxlX3VuaXQoc2NoZWRfY3B1KSk7 CisgICAgICAgIH0KIAogICAgICAgICAvKiBpZiBzY3VyciBoYXMgaGlnaGVyIHByaW9yaXR5IGFu ZCBidWRnZXQsIHN0aWxsIHBpY2sgc2N1cnIgKi8KICAgICAgICAgaWYgKCAhaXNfaWRsZV91bml0 KGN1cnJ1bml0KSAmJgotICAgICAgICAgICAgIHVuaXRfcnVubmFibGUoY3VycnVuaXQpICYmCisg ICAgICAgICAgICAgdW5pdF9ydW5uYWJsZV9zdGF0ZShjdXJydW5pdCkgJiYKICAgICAgICAgICAg ICBzY3Vyci0+Y3VyX2J1ZGdldCA+IDAgJiYKICAgICAgICAgICAgICAoIGlzX2lkbGVfdW5pdChz bmV4dC0+dW5pdCkgfHwKICAgICAgICAgICAgICAgIGNvbXBhcmVfdW5pdF9wcmlvcml0eShzY3Vy ciwgc25leHQpID4gMCApICkKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hl bi9jb21tb24vc2NoZWR1bGUuYwppbmRleCA3OGI0N2FjZWRmLi4wM2JjZjc5NmFlIDEwMDY0NAot LS0gYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBA IC0yNjksNyArMjY5LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX3VuaXRfcnVuc3RhdGVf Y2hhbmdlKHN0cnVjdCBzY2hlZF91bml0ICp1bml0LAogICAgIHN0cnVjdCB2Y3B1ICp2ID0gdW5p dC0+dmNwdV9saXN0OwogCiAgICAgaWYgKCBydW5uaW5nICkKLSAgICAgICAgdmNwdV9ydW5zdGF0 ZV9jaGFuZ2UodiwgUlVOU1RBVEVfcnVubmluZywgbmV3X2VudHJ5X3RpbWUpOworICAgICAgICB2 Y3B1X3J1bnN0YXRlX2NoYW5nZSh2LCB2LT5uZXdfc3RhdGUsIG5ld19lbnRyeV90aW1lKTsKICAg ICBlbHNlCiAgICAgICAgIHZjcHVfcnVuc3RhdGVfY2hhbmdlKHYsCiAgICAgICAgICAgICAoKHYt PnBhdXNlX2ZsYWdzICYgVlBGX2Jsb2NrZWQpID8gUlVOU1RBVEVfYmxvY2tlZCA6CmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1p Zi5oCmluZGV4IDQ4NzI1NzA2MTIuLjI1YmE2ZjI1YzkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L3hlbi9zY2hlZC1pZi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oCkBAIC03Niw2 ICs3NiwyOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdW5pdF9ydW5uYWJsZShjb25zdCBzdHJ1Y3Qg c2NoZWRfdW5pdCAqdW5pdCkKICAgICByZXR1cm4gdmNwdV9ydW5uYWJsZSh1bml0LT52Y3B1X2xp c3QpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgdW5pdF9ydW5uYWJsZV9zdGF0ZShjb25zdCBz dHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKK3sKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICBib29s IHJ1bm5hYmxlLCByZXQgPSBmYWxzZTsKKworICAgIGlmICggaXNfaWRsZV91bml0KHVuaXQpICkK KyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3JfZWFjaF9zY2hlZF91bml0X3ZjcHUgKCB1 bml0LCB2ICkKKyAgICB7CisgICAgICAgIHJ1bm5hYmxlID0gdmNwdV9ydW5uYWJsZSh2KTsKKwor ICAgICAgICB2LT5uZXdfc3RhdGUgPSBydW5uYWJsZSA/IFJVTlNUQVRFX3J1bm5pbmcKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAodi0+cGF1c2VfZmxhZ3MgJiBWUEZfYmxvY2tl ZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFJVTlNUQVRFX2Jsb2NrZWQg OiBSVU5TVEFURV9vZmZsaW5lOworCisgICAgICAgIGlmICggcnVubmFibGUgKQorICAgICAgICAg ICAgcmV0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5s aW5lIHZvaWQgc2NoZWRfc2V0X3JlcyhzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqcmVzKQogewpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmggYi94ZW4vaW5jbHVkZS94ZW4vc2No ZWQuaAppbmRleCBjMGU0ZGMyZGMzLi41YjgwNWVhYzU4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS94ZW4vc2NoZWQuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaApAQCAtMTc0LDYgKzE3 NCw3IEBAIHN0cnVjdCB2Y3B1CiAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEUodmNwdV9ydW5zdGF0 ZV9pbmZvX2NvbXBhdF90KSBjb21wYXQ7CiAgICAgfSBydW5zdGF0ZV9ndWVzdDsgLyogZ3Vlc3Qg YWRkcmVzcyAqLwogI2VuZGlmCisgICAgdW5zaWduZWQgaW50ICAgICBuZXdfc3RhdGU7CiAKICAg ICAvKiBIYXMgdGhlIEZQVSBiZWVuIGluaXRpYWxpc2VkPyAqLwogICAgIGJvb2wgICAgICAgICAg ICAgZnB1X2luaXRpYWxpc2VkOwotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==