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 54663C433FF for ; Fri, 9 Aug 2019 14:59:59 +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 252EF208C4 for ; Fri, 9 Aug 2019 14:59:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 252EF208C4 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 1hw6Mp-0008Ow-AJ; Fri, 09 Aug 2019 14:59:43 +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 1hw6MB-0006t3-4E for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 14:59:03 +0000 X-Inumbo-ID: 34fd25a6-bab6-11e9-b716-dbbe3c07e572 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 34fd25a6-bab6-11e9-b716-dbbe3c07e572; Fri, 09 Aug 2019 14:58:59 +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 7525FB077; Fri, 9 Aug 2019 14:58:54 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Fri, 9 Aug 2019 16:58:31 +0200 Message-Id: <20190809145833.1020-47-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 46/48] xen/sched: support core scheduling for moving cpus to/from cpupools 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" V2l0aCBjb3JlIHNjaGVkdWxpbmcgYWN0aXZlIGl0IGlzIG5lY2Vzc2FyeSB0byBtb3ZlIG11bHRp cGxlIGNwdXMgYXQKdGhlIHNhbWUgdGltZSB0byBvciBmcm9tIGEgY3B1cG9vbCBpbiBvcmRlciB0 byBhdm9pZCBzcGxpdCBzY2hlZHVsaW5nCnJlc291cmNlcyBpbiBiZXR3ZWVuLgoKU2lnbmVkLW9m Zi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KVjE6IG5ldyBwYXRjaAot LS0KIHhlbi9jb21tb24vY3B1cG9vbC5jICAgICAgIHwgMTAwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jICAgICAgfCAg IDMgKy0KIHhlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oIHwgICAxICsKIDMgZmlsZXMgY2hhbmdl ZCwgNzYgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9jcHVwb29sLmMgYi94ZW4vY29tbW9uL2NwdXBvb2wuYwppbmRleCA0MWQ1OTRkYWNlLi42 OTE3NDg4MjEwIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2NwdXBvb2wuYworKysgYi94ZW4vY29t bW9uL2NwdXBvb2wuYwpAQCAtMjY1LDIzICsyNjUsMzAgQEAgc3RhdGljIGludCBjcHVwb29sX2Fz c2lnbl9jcHVfbG9ja2VkKHN0cnVjdCBjcHVwb29sICpjLCB1bnNpZ25lZCBpbnQgY3B1KQogewog ICAgIGludCByZXQ7CiAgICAgc3RydWN0IGRvbWFpbiAqZDsKKyAgICBjb25zdCBjcHVtYXNrX3Qg KmNwdXM7CisKKyAgICBjcHVzID0gc2NoZWRfZ2V0X29wdF9jcHVtYXNrKGMtPm9wdF9ncmFudWxh cml0eSwgY3B1KTsKIAogICAgIGlmICggKGNwdXBvb2xfbW92aW5nX2NwdSA9PSBjcHUpICYmIChj ICE9IGNwdXBvb2xfY3B1X21vdmluZykgKQogICAgICAgICByZXR1cm4gLUVBRERSTk9UQVZBSUw7 Ci0gICAgcmV0ID0gc2NoZWR1bGVfY3B1X2FkZChjcHUsIGMpOworICAgIHJldCA9IHNjaGVkdWxl X2NwdV9hZGQoY3B1bWFza19maXJzdChjcHVzKSwgYyk7CiAgICAgaWYgKCByZXQgKQogICAgICAg ICByZXR1cm4gcmV0OwogCi0gICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmY3B1cG9vbF9mcmVl X2NwdXMpOworICAgIHJjdV9yZWFkX2xvY2soJnNjaGVkX3Jlc19yY3Vsb2NrKTsKKworICAgIGNw dW1hc2tfYW5kbm90KCZjcHVwb29sX2ZyZWVfY3B1cywgJmNwdXBvb2xfZnJlZV9jcHVzLCBjcHVz KTsKICAgICBpZiAoY3B1cG9vbF9tb3ZpbmdfY3B1ID09IGNwdSkKICAgICB7CiAgICAgICAgIGNw dXBvb2xfbW92aW5nX2NwdSA9IC0xOwogICAgICAgICBjcHVwb29sX3B1dChjcHVwb29sX2NwdV9t b3ZpbmcpOwogICAgICAgICBjcHVwb29sX2NwdV9tb3ZpbmcgPSBOVUxMOwogICAgIH0KLSAgICBj cHVtYXNrX3NldF9jcHUoY3B1LCBjLT5jcHVfdmFsaWQpOworICAgIGNwdW1hc2tfb3IoYy0+Y3B1 X3ZhbGlkLCBjLT5jcHVfdmFsaWQsIGNwdXMpOwogICAgIGNwdW1hc2tfYW5kKGMtPnJlc192YWxp ZCwgYy0+Y3B1X3ZhbGlkLCBzY2hlZF9yZXNfbWFzayk7CiAKKyAgICByY3VfcmVhZF91bmxvY2so JnNjaGVkX3Jlc19yY3Vsb2NrKTsKKwogICAgIHJjdV9yZWFkX2xvY2soJmRvbWxpc3RfcmVhZF9s b2NrKTsKICAgICBmb3JfZWFjaF9kb21haW5faW5fY3B1cG9vbChkLCBjKQogICAgIHsKQEAgLTI5 NSw2ICszMDIsNyBAQCBzdGF0aWMgaW50IGNwdXBvb2xfYXNzaWduX2NwdV9sb2NrZWQoc3RydWN0 IGNwdXBvb2wgKmMsIHVuc2lnbmVkIGludCBjcHUpCiBzdGF0aWMgaW50IGNwdXBvb2xfdW5hc3Np Z25fY3B1X2VwaWxvZ3VlKHN0cnVjdCBjcHVwb29sICpjKQogewogICAgIGludCBjcHUgPSBjcHVw b29sX21vdmluZ19jcHU7CisgICAgY29uc3QgY3B1bWFza190ICpjcHVzOwogICAgIHN0cnVjdCBk b21haW4gKmQ7CiAgICAgaW50IHJldDsKIApAQCAtMzA3LDcgKzMxNSwxMCBAQCBzdGF0aWMgaW50 IGNwdXBvb2xfdW5hc3NpZ25fY3B1X2VwaWxvZ3VlKHN0cnVjdCBjcHVwb29sICpjKQogICAgICAq LwogICAgIHJjdV9yZWFkX2xvY2soJmRvbWxpc3RfcmVhZF9sb2NrKTsKICAgICByZXQgPSBjcHVf ZGlzYWJsZV9zY2hlZHVsZXIoY3B1KTsKLSAgICBjcHVtYXNrX3NldF9jcHUoY3B1LCAmY3B1cG9v bF9mcmVlX2NwdXMpOworCisgICAgcmN1X3JlYWRfbG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOwor ICAgIGNwdXMgPSBnZXRfc2NoZWRfcmVzKGNwdSktPmNwdXM7CisgICAgY3B1bWFza19vcigmY3B1 cG9vbF9mcmVlX2NwdXMsICZjcHVwb29sX2ZyZWVfY3B1cywgY3B1cyk7CiAKICAgICAvKgogICAg ICAqIGNwdV9kaXNhYmxlX3NjaGVkdWxlcigpIHJldHVybmluZyBhbiBlcnJvciBkb2Vzbid0IHJl cXVpcmUgcmVzZXR0aW5nCkBAIC0zMjAsNyArMzMxLDcgQEAgc3RhdGljIGludCBjcHVwb29sX3Vu YXNzaWduX2NwdV9lcGlsb2d1ZShzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICB7CiAgICAgICAgIHJl dCA9IHNjaGVkdWxlX2NwdV9ybShjcHUpOwogICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAg ICBjcHVtYXNrX2NsZWFyX2NwdShjcHUsICZjcHVwb29sX2ZyZWVfY3B1cyk7CisgICAgICAgICAg ICBjcHVtYXNrX2FuZG5vdCgmY3B1cG9vbF9mcmVlX2NwdXMsICZjcHVwb29sX2ZyZWVfY3B1cywg Y3B1cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgICAgY3B1cG9vbF9tb3Zp bmdfY3B1ID0gLTE7CkBAIC0zMjgsNiArMzM5LDcgQEAgc3RhdGljIGludCBjcHVwb29sX3VuYXNz aWduX2NwdV9lcGlsb2d1ZShzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICAgICAgICAgIGNwdXBvb2xf Y3B1X21vdmluZyA9IE5VTEw7CiAgICAgICAgIH0KICAgICB9CisgICAgcmN1X3JlYWRfdW5sb2Nr KCZzY2hlZF9yZXNfcmN1bG9jayk7CiAKICAgICBmb3JfZWFjaF9kb21haW5faW5fY3B1cG9vbChk LCBjKQogICAgIHsKQEAgLTM0Miw2ICszNTQsNyBAQCBzdGF0aWMgaW50IGNwdXBvb2xfdW5hc3Np Z25fY3B1X3Byb2xvZ3VlKHN0cnVjdCBjcHVwb29sICpjLCB1bnNpZ25lZCBpbnQgY3B1KQogewog ICAgIGludCByZXQ7CiAgICAgc3RydWN0IGRvbWFpbiAqZDsKKyAgICBjb25zdCBjcHVtYXNrX3Qg KmNwdXM7CiAKICAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9jayk7CiAgICAgcmV0ID0gLUVBRERS Tk9UQVZBSUw7CkBAIC0zNTIsNyArMzY1LDExIEBAIHN0YXRpYyBpbnQgY3B1cG9vbF91bmFzc2ln bl9jcHVfcHJvbG9ndWUoc3RydWN0IGNwdXBvb2wgKmMsIHVuc2lnbmVkIGludCBjcHUpCiAgICAg aWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUsIGMtPmNwdV92YWxpZCkgJiYgKGNwdSAhPSBjcHVw b29sX21vdmluZ19jcHUpICkKICAgICAgICAgZ290byBvdXQ7CiAKLSAgICBpZiAoIChjLT5uX2Rv bSA+IDApICYmIChjcHVtYXNrX3dlaWdodChjLT5jcHVfdmFsaWQpID09IDEpICYmCisgICAgcmN1 X3JlYWRfbG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAgIGNwdXMgPSBnZXRfc2NoZWRfcmVz KGNwdSktPmNwdXM7CisKKyAgICBpZiAoIChjLT5uX2RvbSA+IDApICYmCisgICAgICAgICAoY3B1 bWFza193ZWlnaHQoYy0+Y3B1X3ZhbGlkKSA9PSBjcHVtYXNrX3dlaWdodChjcHVzKSkgJiYKICAg ICAgICAgIChjcHUgIT0gY3B1cG9vbF9tb3ZpbmdfY3B1KSApCiAgICAgewogICAgICAgICByY3Vf cmVhZF9sb2NrKCZkb21saXN0X3JlYWRfbG9jayk7CkBAIC0zNzQsOSArMzkxLDEwIEBAIHN0YXRp YyBpbnQgY3B1cG9vbF91bmFzc2lnbl9jcHVfcHJvbG9ndWUoc3RydWN0IGNwdXBvb2wgKmMsIHVu c2lnbmVkIGludCBjcHUpCiAgICAgY3B1cG9vbF9tb3ZpbmdfY3B1ID0gY3B1OwogICAgIGF0b21p Y19pbmMoJmMtPnJlZmNudCk7CiAgICAgY3B1cG9vbF9jcHVfbW92aW5nID0gYzsKLSAgICBjcHVt YXNrX2NsZWFyX2NwdShjcHUsIGMtPmNwdV92YWxpZCk7CisgICAgY3B1bWFza19hbmRub3QoYy0+ Y3B1X3ZhbGlkLCBjLT5jcHVfdmFsaWQsIGNwdXMpOwogICAgIGNwdW1hc2tfYW5kKGMtPnJlc192 YWxpZCwgYy0+Y3B1X3ZhbGlkLCBzY2hlZF9yZXNfbWFzayk7CiAKKyAgICByY3VfcmVhZF91bmxv Y2soJmRvbWxpc3RfcmVhZF9sb2NrKTsKIG91dDoKICAgICBzcGluX3VubG9jaygmY3B1cG9vbF9s b2NrKTsKIApAQCAtNDE2LDExICs0MzQsMTMgQEAgc3RhdGljIGludCBjcHVwb29sX3VuYXNzaWdu X2NwdShzdHJ1Y3QgY3B1cG9vbCAqYywgdW5zaWduZWQgaW50IGNwdSkKIHsKICAgICBpbnQgd29y a19jcHU7CiAgICAgaW50IHJldDsKKyAgICB1bnNpZ25lZCBpbnQgbWFzdGVyX2NwdTsKIAogICAg IGNwdXBvb2xfZHByaW50aygiY3B1cG9vbF91bmFzc2lnbl9jcHUocG9vbD0lZCxjcHU9JWQpXG4i LAogICAgICAgICAgICAgICAgICAgICBjLT5jcHVwb29sX2lkLCBjcHUpOwogCi0gICAgcmV0ID0g Y3B1cG9vbF91bmFzc2lnbl9jcHVfcHJvbG9ndWUoYywgY3B1KTsKKyAgICBtYXN0ZXJfY3B1ID0g c2NoZWRfZ2V0X3Jlc291cmNlX2NwdShjcHUpOworICAgIHJldCA9IGNwdXBvb2xfdW5hc3NpZ25f Y3B1X3Byb2xvZ3VlKGMsIG1hc3Rlcl9jcHUpOwogICAgIGlmICggcmV0ICkKICAgICB7CiAgICAg ICAgIGNwdXBvb2xfZHByaW50aygiY3B1cG9vbF91bmFzc2lnbl9jcHUocG9vbD0lZCxjcHU9JWQp IHJldCAlZFxuIiwKQEAgLTQyOCwxMiArNDQ4LDEyIEBAIHN0YXRpYyBpbnQgY3B1cG9vbF91bmFz c2lnbl9jcHUoc3RydWN0IGNwdXBvb2wgKmMsIHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIHJl dHVybiByZXQ7CiAgICAgfQogCi0gICAgd29ya19jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0g ICAgaWYgKCB3b3JrX2NwdSA9PSBjcHUgKQorICAgIHdvcmtfY3B1ID0gc2NoZWRfZ2V0X3Jlc291 cmNlX2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIGlmICggd29ya19jcHUgPT0gbWFzdGVy X2NwdSApCiAgICAgewogICAgICAgICB3b3JrX2NwdSA9IGNwdW1hc2tfZmlyc3QoY3B1cG9vbDAt PmNwdV92YWxpZCk7Ci0gICAgICAgIGlmICggd29ya19jcHUgPT0gY3B1ICkKLSAgICAgICAgICAg IHdvcmtfY3B1ID0gY3B1bWFza19uZXh0KGNwdSwgY3B1cG9vbDAtPmNwdV92YWxpZCk7CisgICAg ICAgIGlmICggd29ya19jcHUgPT0gbWFzdGVyX2NwdSApCisgICAgICAgICAgICB3b3JrX2NwdSA9 IGNwdW1hc2tfbGFzdChjcHVwb29sMC0+Y3B1X3ZhbGlkKTsKICAgICB9CiAgICAgcmV0dXJuIGNv bnRpbnVlX2h5cGVyY2FsbF9vbl9jcHUod29ya19jcHUsIGNwdXBvb2xfdW5hc3NpZ25fY3B1X2hl bHBlciwgYyk7CiB9CkBAIC00OTksNiArNTE5LDcgQEAgdm9pZCBjcHVwb29sX3JtX2RvbWFpbihz dHJ1Y3QgZG9tYWluICpkKQogc3RhdGljIGludCBjcHVwb29sX2NwdV9hZGQodW5zaWduZWQgaW50 IGNwdSkKIHsKICAgICBpbnQgcmV0ID0gMDsKKyAgICBjb25zdCBjcHVtYXNrX3QgKmNwdXM7CiAK ICAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9jayk7CiAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1 LCAmY3B1cG9vbF9sb2NrZWRfY3B1cyk7CkBAIC01MTIsNyArNTMzLDExIEBAIHN0YXRpYyBpbnQg Y3B1cG9vbF9jcHVfYWRkKHVuc2lnbmVkIGludCBjcHUpCiAgICAgICovCiAgICAgcmN1X3JlYWRf bG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOwogICAgIGdldF9zY2hlZF9yZXMoY3B1KS0+Y3B1cG9v bCA9IE5VTEw7Ci0gICAgcmV0ID0gY3B1cG9vbF9hc3NpZ25fY3B1X2xvY2tlZChjcHVwb29sMCwg Y3B1KTsKKworICAgIGNwdXMgPSBzY2hlZF9nZXRfb3B0X2NwdW1hc2soY3B1cG9vbDAtPm9wdF9n cmFudWxhcml0eSwgY3B1KTsKKyAgICBpZiAoIGNwdW1hc2tfc3Vic2V0KGNwdXMsICZjcHVwb29s X2ZyZWVfY3B1cykgKQorICAgICAgICByZXQgPSBjcHVwb29sX2Fzc2lnbl9jcHVfbG9ja2VkKGNw dXBvb2wwLCBjcHUpOworCiAgICAgcmN1X3JlYWRfdW5sb2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7 CiAKICAgICBzcGluX3VubG9jaygmY3B1cG9vbF9sb2NrKTsKQEAgLTU0NywyNyArNTcyLDMzIEBA IHN0YXRpYyB2b2lkIGNwdXBvb2xfY3B1X3JlbW92ZSh1bnNpZ25lZCBpbnQgY3B1KQogc3RhdGlj IGludCBjcHVwb29sX2NwdV9yZW1vdmVfcHJvbG9ndWUodW5zaWduZWQgaW50IGNwdSkKIHsKICAg ICBpbnQgcmV0ID0gMDsKKyAgICBjcHVtYXNrX3QgKmNwdXM7CisgICAgdW5zaWduZWQgaW50IG1h c3Rlcl9jcHU7CiAKICAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9jayk7CiAKLSAgICBpZiAoIGNw dW1hc2tfdGVzdF9jcHUoY3B1LCAmY3B1cG9vbF9sb2NrZWRfY3B1cykgKQorICAgIHJjdV9yZWFk X2xvY2soJnNjaGVkX3Jlc19yY3Vsb2NrKTsKKyAgICBjcHVzID0gZ2V0X3NjaGVkX3JlcyhjcHUp LT5jcHVzOworICAgIG1hc3Rlcl9jcHUgPSBzY2hlZF9nZXRfcmVzb3VyY2VfY3B1KGNwdSk7Cisg ICAgaWYgKCBjcHVtYXNrX2ludGVyc2VjdHMoY3B1cywgJmNwdXBvb2xfbG9ja2VkX2NwdXMpICkK ICAgICAgICAgcmV0ID0gLUVCVVNZOwogICAgIGVsc2UKICAgICAgICAgY3B1bWFza19zZXRfY3B1 KGNwdSwgJmNwdXBvb2xfbG9ja2VkX2NwdXMpOworICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRf cmVzX3JjdWxvY2spOwogCiAgICAgc3Bpbl91bmxvY2soJmNwdXBvb2xfbG9jayk7CiAKICAgICBp ZiAoIHJldCApCiAgICAgICAgIHJldHVybiAgcmV0OwogCi0gICAgaWYgKCBjcHVtYXNrX3Rlc3Rf Y3B1KGNwdSwgY3B1cG9vbDAtPmNwdV92YWxpZCkgKQorICAgIGlmICggY3B1bWFza190ZXN0X2Nw dShtYXN0ZXJfY3B1LCBjcHVwb29sMC0+Y3B1X3ZhbGlkKSApCiAgICAgewogICAgICAgICAvKiBD cHVwb29sMCBpcyBwb3B1bGF0ZWQgb25seSBhZnRlciBhbGwgY3B1cyBhcmUgdXAuICovCiAgICAg ICAgIEFTU0VSVChzeXN0ZW1fc3RhdGUgPT0gU1lTX1NUQVRFX2FjdGl2ZSk7CiAKLSAgICAgICAg cmV0ID0gY3B1cG9vbF91bmFzc2lnbl9jcHVfcHJvbG9ndWUoY3B1cG9vbDAsIGNwdSk7CisgICAg ICAgIHJldCA9IGNwdXBvb2xfdW5hc3NpZ25fY3B1X3Byb2xvZ3VlKGNwdXBvb2wwLCBtYXN0ZXJf Y3B1KTsKICAgICB9Ci0gICAgZWxzZSBpZiAoICFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJmNwdXBv b2xfZnJlZV9jcHVzKSApCisgICAgZWxzZSBpZiAoICFjcHVtYXNrX3Rlc3RfY3B1KG1hc3Rlcl9j cHUsICZjcHVwb29sX2ZyZWVfY3B1cykgKQogICAgICAgICByZXQgPSAtRU5PREVWOwogCiAgICAg cmV0dXJuIHJldDsKQEAgLTU4NCwxMiArNjE1LDEzIEBAIHN0YXRpYyB2b2lkIGNwdXBvb2xfY3B1 X3JlbW92ZV9mb3JjZWQodW5zaWduZWQgaW50IGNwdSkKIHsKICAgICBzdHJ1Y3QgY3B1cG9vbCAq KmM7CiAgICAgaW50IHJldDsKKyAgICB1bnNpZ25lZCBpbnQgbWFzdGVyX2NwdSA9IHNjaGVkX2dl dF9yZXNvdXJjZV9jcHUoY3B1KTsKIAogICAgIGZvcl9lYWNoX2NwdXBvb2wgKCBjICkKICAgICB7 Ci0gICAgICAgIGlmICggY3B1bWFza190ZXN0X2NwdShjcHUsICgqYyktPmNwdV92YWxpZCkgKQor ICAgICAgICBpZiAoIGNwdW1hc2tfdGVzdF9jcHUobWFzdGVyX2NwdSwgKCpjKS0+Y3B1X3ZhbGlk KSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IGNwdXBvb2xfdW5hc3NpZ25fY3B1X3By b2xvZ3VlKCpjLCBjcHUpOworICAgICAgICAgICAgcmV0ID0gY3B1cG9vbF91bmFzc2lnbl9jcHVf cHJvbG9ndWUoKmMsIG1hc3Rlcl9jcHUpOwogICAgICAgICAgICAgQlVHX09OKHJldCk7CiAgICAg ICAgICAgICByZXQgPSBjcHVwb29sX3VuYXNzaWduX2NwdV9lcGlsb2d1ZSgqYyk7CiAgICAgICAg ICAgICBCVUdfT04ocmV0KTsKQEAgLTY1NywyNyArNjg5LDQzIEBAIGludCBjcHVwb29sX2RvX3N5 c2N0bChzdHJ1Y3QgeGVuX3N5c2N0bF9jcHVwb29sX29wICpvcCkKICAgICBjYXNlIFhFTl9TWVND VExfQ1BVUE9PTF9PUF9BRERDUFU6CiAgICAgewogICAgICAgICB1bnNpZ25lZCBjcHU7CisgICAg ICAgIGNvbnN0IGNwdW1hc2tfdCAqY3B1czsKIAogICAgICAgICBjcHUgPSBvcC0+Y3B1OwogICAg ICAgICBjcHVwb29sX2RwcmludGsoImNwdXBvb2xfYXNzaWduX2NwdShwb29sPSVkLGNwdT0lZClc biIsCiAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+Y3B1cG9vbF9pZCwgY3B1KTsKKwogICAg ICAgICBzcGluX2xvY2soJmNwdXBvb2xfbG9jayk7CisKKyAgICAgICAgYyA9IGNwdXBvb2xfZmlu ZF9ieV9pZChvcC0+Y3B1cG9vbF9pZCk7CisgICAgICAgIHJldCA9IC1FTk9FTlQ7CisgICAgICAg IGlmICggYyA9PSBOVUxMICkKKyAgICAgICAgICAgIGdvdG8gYWRkY3B1X291dDsKICAgICAgICAg aWYgKCBjcHUgPT0gWEVOX1NZU0NUTF9DUFVQT09MX1BBUl9BTlkgKQotICAgICAgICAgICAgY3B1 ID0gY3B1bWFza19maXJzdCgmY3B1cG9vbF9mcmVlX2NwdXMpOworICAgICAgICB7CisgICAgICAg ICAgICBmb3JfZWFjaF9jcHUgKCBjcHUsICZjcHVwb29sX2ZyZWVfY3B1cyApCisgICAgICAgICAg ICB7CisgICAgICAgICAgICAgICAgY3B1cyA9IHNjaGVkX2dldF9vcHRfY3B1bWFzayhjLT5vcHRf Z3JhbnVsYXJpdHksIGNwdSk7CisgICAgICAgICAgICAgICAgaWYgKCBjcHVtYXNrX3N1YnNldChj cHVzLCAmY3B1cG9vbF9mcmVlX2NwdXMpICkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgICByZXQgPSAtRU5PREVWOworICAgICAgICAgICAgaWYg KCBjcHUgPj0gbnJfY3B1X2lkcyApCisgICAgICAgICAgICAgICAgZ290byBhZGRjcHVfb3V0Owor ICAgICAgICB9CiAgICAgICAgIHJldCA9IC1FSU5WQUw7CiAgICAgICAgIGlmICggY3B1ID49IG5y X2NwdV9pZHMgKQogICAgICAgICAgICAgZ290byBhZGRjcHVfb3V0OwogICAgICAgICByZXQgPSAt RU5PREVWOwotICAgICAgICBpZiAoICFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJmNwdXBvb2xfZnJl ZV9jcHVzKSB8fAotICAgICAgICAgICAgIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmY3B1cG9vbF9s b2NrZWRfY3B1cykgKQotICAgICAgICAgICAgZ290byBhZGRjcHVfb3V0OwotICAgICAgICBjID0g Y3B1cG9vbF9maW5kX2J5X2lkKG9wLT5jcHVwb29sX2lkKTsKLSAgICAgICAgcmV0ID0gLUVOT0VO VDsKLSAgICAgICAgaWYgKCBjID09IE5VTEwgKQorICAgICAgICBjcHVzID0gc2NoZWRfZ2V0X29w dF9jcHVtYXNrKGMtPm9wdF9ncmFudWxhcml0eSwgY3B1KTsKKyAgICAgICAgaWYgKCAhY3B1bWFz a19zdWJzZXQoY3B1cywgJmNwdXBvb2xfZnJlZV9jcHVzKSB8fAorICAgICAgICAgICAgIGNwdW1h c2tfaW50ZXJzZWN0cyhjcHVzLCAmY3B1cG9vbF9sb2NrZWRfY3B1cykgKQogICAgICAgICAgICAg Z290byBhZGRjcHVfb3V0OwogICAgICAgICByZXQgPSBjcHVwb29sX2Fzc2lnbl9jcHVfbG9ja2Vk KGMsIGNwdSk7CisKICAgICBhZGRjcHVfb3V0OgogICAgICAgICBzcGluX3VubG9jaygmY3B1cG9v bF9sb2NrKTsKKwogICAgICAgICBjcHVwb29sX2RwcmludGsoImNwdXBvb2xfYXNzaWduX2NwdShw b29sPSVkLGNwdT0lZCkgcmV0ICVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgb3AtPmNw dXBvb2xfaWQsIGNwdSwgcmV0KTsKICAgICB9CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVk dWxlLmMgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKaW5kZXggYTQ1NTVmZDBmYS4uZTA1MjFkZThj ZSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jCisrKyBiL3hlbi9jb21tb24vc2No ZWR1bGUuYwpAQCAtMjU1NSw4ICsyNTU1LDcgQEAgc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9j ayBjcHVfc2NoZWR1bGVfbmZiID0gewogICAgIC5ub3RpZmllcl9jYWxsID0gY3B1X3NjaGVkdWxl X2NhbGxiYWNrCiB9OwogCi1zdGF0aWMgY29uc3QgY3B1bWFza190ICpzY2hlZF9nZXRfb3B0X2Nw dW1hc2soZW51bSBzY2hlZF9ncmFuIG9wdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY3B1KQorY29uc3QgY3B1bWFza190ICpzY2hl ZF9nZXRfb3B0X2NwdW1hc2soZW51bSBzY2hlZF9ncmFuIG9wdCwgdW5zaWduZWQgaW50IGNwdSkK IHsKICAgICBjb25zdCBjcHVtYXNrX3QgKm1hc2s7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L3hlbi9zY2hlZC1pZi5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgKaW5kZXggNWE5M2Jh MzY4Ni4uYzE1MjU0N2E5NCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgK KysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgKQEAgLTYyNCw1ICs2MjQsNiBAQCBhZmZp bml0eV9iYWxhbmNlX2NwdW1hc2soY29uc3Qgc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsIGludCBz dGVwLAogfQogCiB2b2lkIHNjaGVkX3JtX2NwdSh1bnNpZ25lZCBpbnQgY3B1KTsKK2NvbnN0IGNw dW1hc2tfdCAqc2NoZWRfZ2V0X29wdF9jcHVtYXNrKGVudW0gc2NoZWRfZ3JhbiBvcHQsIHVuc2ln bmVkIGludCBjcHUpOwogCiAjZW5kaWYgLyogX19YRU5fU0NIRURfSUZfSF9fICovCi0tIAoyLjE2 LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs