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 4AB81C32753 for ; Fri, 2 Aug 2019 13:07:54 +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 1F4CE20578 for ; Fri, 2 Aug 2019 13:07:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1F4CE20578 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 1htXHV-0007FH-OZ; Fri, 02 Aug 2019 13:07:37 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1htXHU-0007Er-LU for xen-devel@lists.xenproject.org; Fri, 02 Aug 2019 13:07:36 +0000 X-Inumbo-ID: 7de260f6-b526-11e9-8980-bc764e045a96 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 7de260f6-b526-11e9-8980-bc764e045a96; Fri, 02 Aug 2019 13:07:34 +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 61BF6B61A; Fri, 2 Aug 2019 13:07:33 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 2 Aug 2019 15:07:29 +0200 Message-Id: <20190802130730.15942-3-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190802130730.15942-1-jgross@suse.com> References: <20190802130730.15942-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 2/3] xen/sched: remove cpu from pool0 before removing it 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" VG9kYXkgYSBjcHUgd2hpY2ggaXMgcmVtb3ZlZCBmcm9tIHRoZSBzeXN0ZW0gaXMgdGFrZW4gZGly ZWN0bHkgZnJvbQpQb29sMCB0byB0aGUgb2ZmbGluZSBzdGF0ZS4gVGhpcyB3aWxsIGNvbmZsaWN0 IHdpdGggdGhlIG5ldyBpZGxlCnNjaGVkdWxlciwgc28gcmVtb3ZlIGl0IGZyb20gUG9vbDAgZmly c3QuIEFkZGl0aW9uYWxseSBhY2NlcHQgcmVtb3ZpbmcKYSBmcmVlIGNwdSBpbnN0ZWFkIG9mIHJl cXVpcmluZyBpdCB0byBiZSBpbiBQb29sMC4KCkZvciB0aGUgcmVzdW1lIGZhaWxlZCBjYXNlIHdl IG5lZWQgdG8gY2FsbCB0aGUgc2NoZWR1bGVyIGNvZGUgZm9yIHRoYXQKc2l0dWF0aW9uIGFmdGVy IHRoZSBjcHVwb29sIGhhbmRsaW5nLCBzbyBtb3ZlIHRoZSBzY2hlZHVsZXIgY29kZSBpbnRvCmEg ZnVuY3Rpb24gYW5kIGNhbGwgaXQgZnJvbSBjcHVwb29sX2NwdV9yZW1vdmVfZm9yY2VkKCkgYW5k IHJlbW92ZSB0aGUKQ1BVX1JFU1VNRV9GQUlMRUQgY2FzZSBmcm9tIGNwdV9zY2hlZHVsZV9jYWxs YmFjaygpLgoKTm90ZSB0aGF0IHdlIGFyZSBjYWxsaW5nIG5vdyBzY2hlZHVsZV9jcHVfc3dpdGNo KCkgaW4gc3RvcF9tYWNoaW5lCmNvbnRleHQgc28gd2UgbmVlZCB0byBzd2l0Y2ggZnJvbSBzcGlu bG9ja19pcnEgdG8gc3BpbmxvY2tfaXJxc2F2ZS4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jv c3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tCiB4ZW4vY29tbW9uL2NwdXBvb2wuYyAgICAgICB8IDE3 NiArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21t b24vc2NoZWR1bGUuYyAgICAgIHwgIDI3ICsrKystLS0KIHhlbi9pbmNsdWRlL3hlbi9zY2hlZC1p Zi5oIHwgICAyICsKIDMgZmlsZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDc3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vY3B1cG9vbC5jIGIveGVuL2NvbW1vbi9j cHVwb29sLmMKaW5kZXggY2FlYTViZDhiMy4uZTBmOGVlYzU3YiAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9jcHVwb29sLmMKKysrIGIveGVuL2NvbW1vbi9jcHVwb29sLmMKQEAgLTI4MiwyMiArMjgy LDE0IEBAIHN0YXRpYyBpbnQgY3B1cG9vbF9hc3NpZ25fY3B1X2xvY2tlZChzdHJ1Y3QgY3B1cG9v bCAqYywgdW5zaWduZWQgaW50IGNwdSkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGxvbmcg Y3B1cG9vbF91bmFzc2lnbl9jcHVfaGVscGVyKHZvaWQgKmluZm8pCitzdGF0aWMgaW50IGNwdXBv b2xfdW5hc3NpZ25fY3B1X2VwaWxvZ3VlKHN0cnVjdCBjcHVwb29sICpjKQogewogICAgIGludCBj cHUgPSBjcHVwb29sX21vdmluZ19jcHU7Ci0gICAgc3RydWN0IGNwdXBvb2wgKmMgPSBpbmZvOwog ICAgIHN0cnVjdCBkb21haW4gKmQ7Ci0gICAgbG9uZyByZXQ7Ci0KLSAgICBjcHVwb29sX2Rwcmlu dGsoImNwdXBvb2xfdW5hc3NpZ25fY3B1KHBvb2w9JWQsY3B1PSVkKVxuIiwKLSAgICAgICAgICAg ICAgICAgICAgY3B1cG9vbF9jcHVfbW92aW5nLT5jcHVwb29sX2lkLCBjcHUpOworICAgIGludCBy ZXQ7CiAKLSAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9jayk7CiAgICAgaWYgKCBjICE9IGNwdXBv b2xfY3B1X21vdmluZyApCi0gICAgewotICAgICAgICByZXQgPSAtRUFERFJOT1RBVkFJTDsKLSAg ICAgICAgZ290byBvdXQ7Ci0gICAgfQorICAgICAgICByZXR1cm4gLUVBRERSTk9UQVZBSUw7CiAK ICAgICAvKgogICAgICAqIFdlIG5lZWQgdGhpcyBmb3Igc2Nhbm5pbmcgdGhlIGRvbWFpbiBsaXN0 LCBib3RoIGluCkBAIC0zMzIsMzkgKzMyNCwxOSBAQCBzdGF0aWMgbG9uZyBjcHVwb29sX3VuYXNz aWduX2NwdV9oZWxwZXIodm9pZCAqaW5mbykKICAgICAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2Fm ZmluaXR5KGQpOwogICAgIH0KICAgICByY3VfcmVhZF91bmxvY2soJmRvbWxpc3RfcmVhZF9sb2Nr KTsKLW91dDoKLSAgICBzcGluX3VubG9jaygmY3B1cG9vbF9sb2NrKTsKLSAgICBjcHVwb29sX2Rw cmludGsoImNwdXBvb2xfdW5hc3NpZ25fY3B1IHJldD0lbGRcbiIsIHJldCk7CisKICAgICByZXR1 cm4gcmV0OwogfQogCi0vKgotICogdW5hc3NpZ24gYSBzcGVjaWZpYyBjcHUgZnJvbSBhIGNwdXBv b2wKLSAqIHdlIG11c3QgYmUgc3VyZSBub3QgdG8gcnVuIG9uIHRoZSBjcHUgdG8gYmUgdW5hc3Np Z25lZCEgdG8gYWNoaWV2ZSB0aGlzCi0gKiB0aGUgbWFpbiBmdW5jdGlvbmFsaXR5IGlzIHBlcmZv cm1lZCB2aWEgY29udGludWVfaHlwZXJjYWxsX29uX2NwdSBvbiBhCi0gKiBzcGVjaWZpYyBjcHUu Ci0gKiBpZiB0aGUgY3B1IHRvIGJlIHJlbW92ZWQgaXMgdGhlIGxhc3Qgb25lIG9mIHRoZSBjcHVw b29sIG5vIGFjdGl2ZSBkb21haW4KLSAqIG11c3QgYmUgYm91bmQgdG8gdGhlIGNwdXBvb2wuIGR5 aW5nIGRvbWFpbnMgYXJlIG1vdmVkIHRvIGNwdXBvb2wwIGFzIHRoZXkKLSAqIG1pZ2h0IGJlIHpv bWJpZXMuCi0gKiBwb3NzaWJsZSBmYWlsdXJlczoKLSAqIC0gbGFzdCBjcHUgYW5kIHN0aWxsIGFj dGl2ZSBkb21haW5zIGluIGNwdXBvb2wKLSAqIC0gY3B1IGp1c3QgYmVpbmcgdW5wbHVnZ2VkCi0g Ki8KLXN0YXRpYyBpbnQgY3B1cG9vbF91bmFzc2lnbl9jcHUoc3RydWN0IGNwdXBvb2wgKmMsIHVu c2lnbmVkIGludCBjcHUpCitzdGF0aWMgaW50IGNwdXBvb2xfdW5hc3NpZ25fY3B1X3Byb2xvZ3Vl KHN0cnVjdCBjcHVwb29sICpjLCB1bnNpZ25lZCBpbnQgY3B1KQogewotICAgIGludCB3b3JrX2Nw dTsKICAgICBpbnQgcmV0OwogICAgIHN0cnVjdCBkb21haW4gKmQ7CiAKLSAgICBjcHVwb29sX2Rw cmludGsoImNwdXBvb2xfdW5hc3NpZ25fY3B1KHBvb2w9JWQsY3B1PSVkKVxuIiwKLSAgICAgICAg ICAgICAgICAgICAgYy0+Y3B1cG9vbF9pZCwgY3B1KTsKLQogICAgIHNwaW5fbG9jaygmY3B1cG9v bF9sb2NrKTsKICAgICByZXQgPSAtRUFERFJOT1RBVkFJTDsKICAgICBpZiAoIChjcHVwb29sX21v dmluZ19jcHUgIT0gLTEpICYmIChjcHUgIT0gY3B1cG9vbF9tb3ZpbmdfY3B1KSApCiAgICAgICAg IGdvdG8gb3V0OwotICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICZjcHVwb29sX2xvY2tl ZF9jcHVzKSApCi0gICAgICAgIGdvdG8gb3V0OwogCiAgICAgcmV0ID0gMDsKICAgICBpZiAoICFj cHVtYXNrX3Rlc3RfY3B1KGNwdSwgYy0+Y3B1X3ZhbGlkKSAmJiAoY3B1ICE9IGNwdXBvb2xfbW92 aW5nX2NwdSkgKQpAQCAtMzc2LDcgKzM0OCw3IEBAIHN0YXRpYyBpbnQgY3B1cG9vbF91bmFzc2ln bl9jcHUoc3RydWN0IGNwdXBvb2wgKmMsIHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIHJjdV9y ZWFkX2xvY2soJmRvbWxpc3RfcmVhZF9sb2NrKTsKICAgICAgICAgZm9yX2VhY2hfZG9tYWluX2lu X2NwdXBvb2woZCwgYykKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCAhZC0+aXNfZHlpbmcg KQorICAgICAgICAgICAgaWYgKCAhZC0+aXNfZHlpbmcgJiYgc3lzdGVtX3N0YXRlID09IFNZU19T VEFURV9hY3RpdmUgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHJldCA9IC1FQlVT WTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTM5Myw4ICszNjUsNTggQEAgc3RhdGljIGlu dCBjcHVwb29sX3VuYXNzaWduX2NwdShzdHJ1Y3QgY3B1cG9vbCAqYywgdW5zaWduZWQgaW50IGNw dSkKICAgICBhdG9taWNfaW5jKCZjLT5yZWZjbnQpOwogICAgIGNwdXBvb2xfY3B1X21vdmluZyA9 IGM7CiAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCBjLT5jcHVfdmFsaWQpOworCitvdXQ6CiAg ICAgc3Bpbl91bmxvY2soJmNwdXBvb2xfbG9jayk7CiAKKyAgICByZXR1cm4gcmV0OworfQorCitz dGF0aWMgbG9uZyBjcHVwb29sX3VuYXNzaWduX2NwdV9oZWxwZXIodm9pZCAqaW5mbykKK3sKKyAg ICBzdHJ1Y3QgY3B1cG9vbCAqYyA9IGluZm87CisgICAgbG9uZyByZXQ7CisKKyAgICBjcHVwb29s X2RwcmludGsoImNwdXBvb2xfdW5hc3NpZ25fY3B1KHBvb2w9JWQsY3B1PSVkKVxuIiwKKyAgICAg ICAgICAgICAgICAgICAgY3B1cG9vbF9jcHVfbW92aW5nLT5jcHVwb29sX2lkLCBjcHUpOworICAg IHNwaW5fbG9jaygmY3B1cG9vbF9sb2NrKTsKKworICAgIHJldCA9IGNwdXBvb2xfdW5hc3NpZ25f Y3B1X2VwaWxvZ3VlKGMpOworCisgICAgc3Bpbl91bmxvY2soJmNwdXBvb2xfbG9jayk7CisgICAg Y3B1cG9vbF9kcHJpbnRrKCJjcHVwb29sX3VuYXNzaWduX2NwdSByZXQ9JWxkXG4iLCByZXQpOwor CisgICAgcmV0dXJuIHJldDsKK30KKworLyoKKyAqIHVuYXNzaWduIGEgc3BlY2lmaWMgY3B1IGZy b20gYSBjcHVwb29sCisgKiB3ZSBtdXN0IGJlIHN1cmUgbm90IHRvIHJ1biBvbiB0aGUgY3B1IHRv IGJlIHVuYXNzaWduZWQhIHRvIGFjaGlldmUgdGhpcworICogdGhlIG1haW4gZnVuY3Rpb25hbGl0 eSBpcyBwZXJmb3JtZWQgdmlhIGNvbnRpbnVlX2h5cGVyY2FsbF9vbl9jcHUgb24gYQorICogc3Bl Y2lmaWMgY3B1LgorICogaWYgdGhlIGNwdSB0byBiZSByZW1vdmVkIGlzIHRoZSBsYXN0IG9uZSBv ZiB0aGUgY3B1cG9vbCBubyBhY3RpdmUgZG9tYWluCisgKiBtdXN0IGJlIGJvdW5kIHRvIHRoZSBj cHVwb29sLiBkeWluZyBkb21haW5zIGFyZSBtb3ZlZCB0byBjcHVwb29sMCBhcyB0aGV5CisgKiBt aWdodCBiZSB6b21iaWVzLgorICogcG9zc2libGUgZmFpbHVyZXM6CisgKiAtIGxhc3QgY3B1IGFu ZCBzdGlsbCBhY3RpdmUgZG9tYWlucyBpbiBjcHVwb29sCisgKiAtIGNwdSBqdXN0IGJlaW5nIHVu cGx1Z2dlZAorICovCitzdGF0aWMgaW50IGNwdXBvb2xfdW5hc3NpZ25fY3B1KHN0cnVjdCBjcHVw b29sICpjLCB1bnNpZ25lZCBpbnQgY3B1KQoreworICAgIGludCB3b3JrX2NwdTsKKyAgICBpbnQg cmV0OworCisgICAgY3B1cG9vbF9kcHJpbnRrKCJjcHVwb29sX3VuYXNzaWduX2NwdShwb29sPSVk LGNwdT0lZClcbiIsCisgICAgICAgICAgICAgICAgICAgIGMtPmNwdXBvb2xfaWQsIGNwdSk7CisK KyAgICByZXQgPSBjcHVwb29sX3VuYXNzaWduX2NwdV9wcm9sb2d1ZShjLCBjcHUpOworICAgIGlm ICggcmV0ICkKKyAgICB7CisgICAgICAgIGNwdXBvb2xfZHByaW50aygiY3B1cG9vbF91bmFzc2ln bl9jcHUocG9vbD0lZCxjcHU9JWQpIHJldCAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAg IGMtPmNwdXBvb2xfaWQsIGNwdSwgcmV0KTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisK ICAgICB3b3JrX2NwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKICAgICBpZiAoIHdvcmtfY3B1ID09 IGNwdSApCiAgICAgewpAQCAtNDAzLDEyICs0MjUsNiBAQCBzdGF0aWMgaW50IGNwdXBvb2xfdW5h c3NpZ25fY3B1KHN0cnVjdCBjcHVwb29sICpjLCB1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAg ICAgd29ya19jcHUgPSBjcHVtYXNrX25leHQoY3B1LCBjcHVwb29sMC0+Y3B1X3ZhbGlkKTsKICAg ICB9CiAgICAgcmV0dXJuIGNvbnRpbnVlX2h5cGVyY2FsbF9vbl9jcHUod29ya19jcHUsIGNwdXBv b2xfdW5hc3NpZ25fY3B1X2hlbHBlciwgYyk7Ci0KLW91dDoKLSAgICBzcGluX3VubG9jaygmY3B1 cG9vbF9sb2NrKTsKLSAgICBjcHVwb29sX2RwcmludGsoImNwdXBvb2xfdW5hc3NpZ25fY3B1KHBv b2w9JWQsY3B1PSVkKSByZXQgJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgIGMtPmNwdXBvb2xf aWQsIGNwdSwgcmV0KTsKLSAgICByZXR1cm4gcmV0OwogfQogCiAvKgpAQCAtNDkyLDMwICs1MDgs NTQgQEAgc3RhdGljIGludCBjcHVwb29sX2NwdV9hZGQodW5zaWduZWQgaW50IGNwdSkKIH0KIAog LyoKLSAqIENhbGxlZCB0byByZW1vdmUgYSBDUFUgZnJvbSBhIHBvb2wuIFRoZSBDUFUgaXMgbG9j a2VkLCB0byBmb3JiaWQgcmVtb3ZpbmcKLSAqIGl0IGZyb20gcG9vbDAuIEluIGZhY3QsIGlmIHdl IHdhbnQgdG8gaG90LXVucGx1ZyBhIENQVSwgaXQgbXVzdCBiZWxvbmcgdG8KLSAqIHBvb2wwLCBv ciB3ZSBmYWlsLgorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgaW4gc3RvcF9tYWNoaW5lIGNv bnRleHQsIHNvIHdlIGNhbiBiZSBzdXJlIG5vCisgKiBub24taWRsZSB2Y3B1IGlzIGFjdGl2ZSBv biB0aGUgc3lzdGVtLgogICovCi1zdGF0aWMgaW50IGNwdXBvb2xfY3B1X3JlbW92ZSh1bnNpZ25l ZCBpbnQgY3B1KQorc3RhdGljIHZvaWQgY3B1cG9vbF9jcHVfcmVtb3ZlKHVuc2lnbmVkIGludCBj cHUpCiB7Ci0gICAgaW50IHJldCA9IC1FTk9ERVY7CisgICAgaW50IHJldDsKIAotICAgIHNwaW5f bG9jaygmY3B1cG9vbF9sb2NrKTsKKyAgICBBU1NFUlQoaXNfaWRsZV92Y3B1KGN1cnJlbnQpKTsK IAotICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsIGNwdXBvb2wwLT5jcHVfdmFsaWQpICkK KyAgICBpZiAoICFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJmNwdXBvb2xfZnJlZV9jcHVzKSApCiAg ICAgewotICAgICAgICAvKgotICAgICAgICAgKiBJZiB3ZSBhcmUgbm90IHN1c3BlbmRpbmcsIHdl IGFyZSBob3QtdW5wbHVnZ2luZyBjcHUsIGFuZCB0aGF0IGlzCi0gICAgICAgICAqIGFsbG93ZWQg b25seSBmb3IgQ1BVcyBpbiBwb29sMC4KLSAgICAgICAgICovCi0gICAgICAgIGNwdW1hc2tfY2xl YXJfY3B1KGNwdSwgY3B1cG9vbDAtPmNwdV92YWxpZCk7Ci0gICAgICAgIHJldCA9IDA7CisgICAg ICAgIHJldCA9IGNwdXBvb2xfdW5hc3NpZ25fY3B1X2VwaWxvZ3VlKGNwdXBvb2wwKTsKKyAgICAg ICAgQlVHX09OKHJldCk7CiAgICAgfQorfQogCi0gICAgaWYgKCAhcmV0ICkKKy8qCisgKiBDYWxs ZWQgYmVmb3JlIGEgQ1BVIGlzIGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtLgorICogUmVt b3ZpbmcgYSBDUFUgaXMgYWxsb3dlZCBmb3IgZnJlZSBDUFVzIG9yIENQVXMgaW4gUG9vbC0wICh0 aG9zZSBhcmUgbW92ZWQKKyAqIHRvIGZyZWUgY3B1cyBhY3R1YWxseSBiZWZvcmUgcmVtb3Zpbmcg dGhlbSkuCisgKiBUaGUgQ1BVIGlzIGxvY2tlZCwgdG8gZm9yYmlkIGFkZGluZyBpdCBhZ2FpbiB0 byBhbm90aGVyIGNwdXBvb2wuCisgKi8KK3N0YXRpYyBpbnQgY3B1cG9vbF9jcHVfcmVtb3ZlX3By b2xvZ3VlKHVuc2lnbmVkIGludCBjcHUpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBzcGlu X2xvY2soJmNwdXBvb2xfbG9jayk7CisKKyAgICBpZiAoIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCAm Y3B1cG9vbF9sb2NrZWRfY3B1cykgKQorICAgICAgICByZXQgPSAtRUJVU1k7CisgICAgZWxzZQog ICAgICAgICBjcHVtYXNrX3NldF9jcHUoY3B1LCAmY3B1cG9vbF9sb2NrZWRfY3B1cyk7CisKICAg ICBzcGluX3VubG9jaygmY3B1cG9vbF9sb2NrKTsKIAorICAgIGlmICggcmV0ICkKKyAgICAgICAg cmV0dXJuICByZXQ7CisKKyAgICBpZiAoIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCBjcHVwb29sMC0+ Y3B1X3ZhbGlkKSApCisgICAgeworICAgICAgICAvKiBDcHVwb29sMCBpcyBwb3B1bGF0ZWQgb25s eSBhZnRlciBhbGwgY3B1cyBhcmUgdXAuICovCisgICAgICAgIEFTU0VSVChzeXN0ZW1fc3RhdGUg PT0gU1lTX1NUQVRFX2FjdGl2ZSk7CisKKyAgICAgICAgcmV0ID0gY3B1cG9vbF91bmFzc2lnbl9j cHVfcHJvbG9ndWUoY3B1cG9vbDAsIGNwdSk7CisgICAgfQorICAgIGVsc2UgaWYgKCAhY3B1bWFz a190ZXN0X2NwdShjcHUsICZjcHVwb29sX2ZyZWVfY3B1cykgKQorICAgICAgICByZXQgPSAtRU5P REVWOworCiAgICAgcmV0dXJuIHJldDsKIH0KIApAQCAtNTIzLDEzICs1NjMsMTMgQEAgc3RhdGlj IGludCBjcHVwb29sX2NwdV9yZW1vdmUodW5zaWduZWQgaW50IGNwdSkKICAqIENhbGxlZCBkdXJp bmcgcmVzdW1lIGZvciBhbGwgY3B1cyB3aGljaCBkaWRuJ3QgY29tZSB1cCBhZ2Fpbi4gVGhlIGNw dSBtdXN0CiAgKiBiZSByZW1vdmVkIGZyb20gdGhlIGNwdXBvb2wgaXQgaXMgYXNzaWduZWQgdG8u IEluIGNhc2UgYSBjcHVwb29sIHdpbGwgYmUKICAqIGxlZnQgd2l0aG91dCBjcHUgd2UgbW92ZSBh bGwgZG9tYWlucyBvZiB0aGF0IGNwdXBvb2wgdG8gY3B1cG9vbDAuCisgKiBBcyB3ZSBhcmUgY2Fs bGVkIHdpdGggYWxsIGRvbWFpbnMgc3RpbGwgZnJvemVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gdGFr ZSB0aGUKKyAqIGNwdXBvb2wgbG9jayBoZXJlLgogICovCiBzdGF0aWMgdm9pZCBjcHVwb29sX2Nw dV9yZW1vdmVfZm9yY2VkKHVuc2lnbmVkIGludCBjcHUpCiB7CiAgICAgc3RydWN0IGNwdXBvb2wg KipjOwotICAgIHN0cnVjdCBkb21haW4gKmQ7Ci0KLSAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9j ayk7CisgICAgaW50IHJldDsKIAogICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICZjcHVw b29sX2ZyZWVfY3B1cykgKQogICAgICAgICBjcHVtYXNrX2NsZWFyX2NwdShjcHUsICZjcHVwb29s X2ZyZWVfY3B1cyk7CkBAIC01MzksMTkgKzU3OSwxMyBAQCBzdGF0aWMgdm9pZCBjcHVwb29sX2Nw dV9yZW1vdmVfZm9yY2VkKHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIHsKICAgICAgICAgICAg IGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICgqYyktPmNwdV92YWxpZCkgKQogICAgICAgICAg ICAgewotICAgICAgICAgICAgICAgIGNwdW1hc2tfY2xlYXJfY3B1KGNwdSwgKCpjKS0+Y3B1X3Zh bGlkKTsKLSAgICAgICAgICAgICAgICBpZiAoIGNwdW1hc2tfd2VpZ2h0KCgqYyktPmNwdV92YWxp ZCkgPT0gMCApCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBpZiAoICpj ID09IGNwdXBvb2wwICkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhbmljKCJObyBjcHUgbGVm dCBpbiBjcHVwb29sMFxuIik7Ci0gICAgICAgICAgICAgICAgICAgIGZvcl9lYWNoX2RvbWFpbl9p bl9jcHVwb29sKGQsICpjKQotICAgICAgICAgICAgICAgICAgICAgICAgY3B1cG9vbF9tb3ZlX2Rv bWFpbl9sb2NrZWQoZCwgY3B1cG9vbDApOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICByZXQgPSBjcHVwb29sX3VuYXNzaWduX2NwdSgqYywgY3B1KTsKKyAgICAgICAgICAgICAg ICBCVUdfT04ocmV0KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotICAgIHNw aW5fdW5sb2NrKCZjcHVwb29sX2xvY2spOworICAgIHNjaGVkX3JtX2NwdShjcHUpOwogfQogCiAv KgpAQCAtNjE5LDcgKzY1Myw4IEBAIGludCBjcHVwb29sX2RvX3N5c2N0bChzdHJ1Y3QgeGVuX3N5 c2N0bF9jcHVwb29sX29wICpvcCkKICAgICAgICAgaWYgKCBjcHUgPj0gbnJfY3B1X2lkcyApCiAg ICAgICAgICAgICBnb3RvIGFkZGNwdV9vdXQ7CiAgICAgICAgIHJldCA9IC1FTk9ERVY7Ci0gICAg ICAgIGlmICggIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmY3B1cG9vbF9mcmVlX2NwdXMpICkKKyAg ICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUsICZjcHVwb29sX2ZyZWVfY3B1cykgfHwK KyAgICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJmNwdXBvb2xfbG9ja2VkX2NwdXMp ICkKICAgICAgICAgICAgIGdvdG8gYWRkY3B1X291dDsKICAgICAgICAgYyA9IGNwdXBvb2xfZmlu ZF9ieV9pZChvcC0+Y3B1cG9vbF9pZCk7CiAgICAgICAgIHJldCA9IC1FTk9FTlQ7CkBAIC03NDYs NyArNzgxLDEyIEBAIHN0YXRpYyBpbnQgY3B1X2NhbGxiYWNrKAogICAgIGNhc2UgQ1BVX0RPV05f UFJFUEFSRToKICAgICAgICAgLyogU3VzcGVuZC9SZXN1bWUgZG9uJ3QgY2hhbmdlIGFzc2lnbm1l bnRzIG9mIGNwdXMgdG8gY3B1cG9vbHMuICovCiAgICAgICAgIGlmICggc3lzdGVtX3N0YXRlIDw9 IFNZU19TVEFURV9hY3RpdmUgKQotICAgICAgICAgICAgcmMgPSBjcHVwb29sX2NwdV9yZW1vdmUo Y3B1KTsKKyAgICAgICAgICAgIHJjID0gY3B1cG9vbF9jcHVfcmVtb3ZlX3Byb2xvZ3VlKGNwdSk7 CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1BVX0RZSU5HOgorICAgICAgICAvKiBTdXNwZW5k L1Jlc3VtZSBkb24ndCBjaGFuZ2UgYXNzaWdubWVudHMgb2YgY3B1cyB0byBjcHVwb29scy4gKi8K KyAgICAgICAgaWYgKCBzeXN0ZW1fc3RhdGUgPD0gU1lTX1NUQVRFX2FjdGl2ZSApCisgICAgICAg ICAgICBjcHVwb29sX2NwdV9yZW1vdmUoY3B1KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBD UFVfUkVTVU1FX0ZBSUxFRDoKICAgICAgICAgY3B1cG9vbF9jcHVfcmVtb3ZlX2ZvcmNlZChjcHUp OwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVs ZS5jCmluZGV4IDdiNzE1ODE3NTYuLjkzMTY0YzY0ZjYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24v c2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTE2NTQsNiArMTY1NCwy MCBAQCBzdGF0aWMgdm9pZCBjcHVfc2NoZWR1bGVfZG93bih1bnNpZ25lZCBpbnQgY3B1KQogICAg IGtpbGxfdGltZXIoJnNkLT5zX3RpbWVyKTsKIH0KIAordm9pZCBzY2hlZF9ybV9jcHUodW5zaWdu ZWQgaW50IGNwdSkKK3sKKyAgICBpbnQgcmM7CisgICAgc3RydWN0IHNjaGVkdWxlX2RhdGEgKnNk ID0gJnBlcl9jcHUoc2NoZWR1bGVfZGF0YSwgY3B1KTsKKyAgICBzdHJ1Y3Qgc2NoZWR1bGVyICpz Y2hlZCA9IHBlcl9jcHUoc2NoZWR1bGVyLCBjcHUpOworCisgICAgcmN1X3JlYWRfbG9jaygmZG9t bGlzdF9yZWFkX2xvY2spOworICAgIHJjID0gY3B1X2Rpc2FibGVfc2NoZWR1bGVyKGNwdSk7Cisg ICAgQlVHX09OKHJjKTsKKyAgICByY3VfcmVhZF91bmxvY2soJmRvbWxpc3RfcmVhZF9sb2NrKTsK KyAgICBzY2hlZF9kZWluaXRfcGRhdGEoc2NoZWQsIHNkLT5zY2hlZF9wcml2LCBjcHUpOworICAg IGNwdV9zY2hlZHVsZV9kb3duKGNwdSk7Cit9CisKIHN0YXRpYyBpbnQgY3B1X3NjaGVkdWxlX2Nh bGxiYWNrKAogICAgIHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmZiLCB1bnNpZ25lZCBsb25nIGFj dGlvbiwgdm9pZCAqaGNwdSkKIHsKQEAgLTE3MDksMTYgKzE3MjMsMTAgQEAgc3RhdGljIGludCBj cHVfc2NoZWR1bGVfY2FsbGJhY2soCiAgICAgICAgIHJjID0gY3B1X2Rpc2FibGVfc2NoZWR1bGVy X2NoZWNrKGNwdSk7CiAgICAgICAgIHJjdV9yZWFkX3VubG9jaygmZG9tbGlzdF9yZWFkX2xvY2sp OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENQVV9SRVNVTUVfRkFJTEVEOgogICAgIGNhc2Ug Q1BVX0RFQUQ6CiAgICAgICAgIGlmICggc3lzdGVtX3N0YXRlID09IFNZU19TVEFURV9zdXNwZW5k ICkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICByY3VfcmVhZF9sb2NrKCZkb21saXN0X3Jl YWRfbG9jayk7Ci0gICAgICAgIHJjID0gY3B1X2Rpc2FibGVfc2NoZWR1bGVyKGNwdSk7Ci0gICAg ICAgIEJVR19PTihyYyk7Ci0gICAgICAgIHJjdV9yZWFkX3VubG9jaygmZG9tbGlzdF9yZWFkX2xv Y2spOwotICAgICAgICBzY2hlZF9kZWluaXRfcGRhdGEoc2NoZWQsIHNkLT5zY2hlZF9wcml2LCBj cHUpOwotICAgICAgICBjcHVfc2NoZWR1bGVfZG93bihjcHUpOworICAgICAgICBzY2hlZF9ybV9j cHUoY3B1KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CiAgICAg ICAgIGlmICggc3lzdGVtX3N0YXRlICE9IFNZU19TVEFURV9yZXN1bWUgKQpAQCAtMTg0MSw2ICsx ODQ5LDcgQEAgaW50IHNjaGVkdWxlX2NwdV9zd2l0Y2godW5zaWduZWQgaW50IGNwdSwgc3RydWN0 IGNwdXBvb2wgKmMpCiAgICAgc3RydWN0IGNwdXBvb2wgKm9sZF9wb29sID0gcGVyX2NwdShjcHVw b29sLCBjcHUpOwogICAgIHN0cnVjdCBzY2hlZHVsZV9kYXRhICpzZCA9ICZwZXJfY3B1KHNjaGVk dWxlX2RhdGEsIGNwdSk7CiAgICAgc3BpbmxvY2tfdCAqb2xkX2xvY2ssICpuZXdfbG9jazsKKyAg ICB1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAgICAgLyoKICAgICAgKiBwQ1BVcyBvbmx5IG1vdmUg ZnJvbSBhIHZhbGlkIGNwdXBvb2wgdG8gZnJlZSAoaS5lLiwgb3V0IG9mIGFueSBwb29sKSwKQEAg LTE4OTUsNyArMTkwNCw3IEBAIGludCBzY2hlZHVsZV9jcHVfc3dpdGNoKHVuc2lnbmVkIGludCBj cHUsIHN0cnVjdCBjcHVwb29sICpjKQogICAgICAqIHRoYXQgdGhlIGxvY2sgaXRzZWxmIGNoYW5n ZWQsIGFuZCByZXRyeSBhY3F1aXJpbmcgdGhlIG5ldyBvbmUgKHdoaWNoCiAgICAgICogd2lsbCBi ZSB0aGUgY29ycmVjdCwgcmVtYXBwZWQgb25lLCBhdCB0aGF0IHBvaW50KS4KICAgICAgKi8KLSAg ICBvbGRfbG9jayA9IHBjcHVfc2NoZWR1bGVfbG9ja19pcnEoY3B1KTsKKyAgICBvbGRfbG9jayA9 IHBjcHVfc2NoZWR1bGVfbG9ja19pcnFzYXZlKGNwdSwgJmZsYWdzKTsKIAogICAgIHZwcml2X29s ZCA9IGlkbGUtPnNjaGVkX3ByaXY7CiAgICAgcHByaXZfb2xkID0gc2QtPnNjaGVkX3ByaXY7CkBA IC0xOTEzLDcgKzE5MjIsNyBAQCBpbnQgc2NoZWR1bGVfY3B1X3N3aXRjaCh1bnNpZ25lZCBpbnQg Y3B1LCBzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICBzZC0+c2NoZWR1bGVfbG9jayA9IG5ld19sb2Nr OwogCiAgICAgLyogX05vdF8gcGNwdV9zY2hlZHVsZV91bmxvY2soKTogc2NoZWR1bGVfbG9jayBt YXkgaGF2ZSBjaGFuZ2VkISAqLwotICAgIHNwaW5fdW5sb2NrX2lycShvbGRfbG9jayk7CisgICAg c3Bpbl91bmxvY2tfaXJxcmVzdG9yZShvbGRfbG9jaywgZmxhZ3MpOwogCiAgICAgc2NoZWRfZG9f dGlja19yZXN1bWUobmV3X29wcywgY3B1KTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVu L3NjaGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCBkODJlYWQ1ODZh Li5kYzI1NWIwNjRiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysg Yi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtNDM3LDQgKzQzNyw2IEBAIGFmZmluaXR5 X2JhbGFuY2VfY3B1bWFzayhjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgaW50IHN0ZXAsIGNwdW1hc2tf dCAqbWFzaykKICAgICAgICAgY3B1bWFza19jb3B5KG1hc2ssIHYtPmNwdV9oYXJkX2FmZmluaXR5 KTsKIH0KIAordm9pZCBzY2hlZF9ybV9jcHUodW5zaWduZWQgaW50IGNwdSk7CisKICNlbmRpZiAv KiBfX1hFTl9TQ0hFRF9JRl9IX18gKi8KLS0gCjIuMTYuNAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=