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.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,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 64CBCC3B186 for ; Wed, 12 Feb 2020 16:50:47 +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 2DDB42082F for ; Wed, 12 Feb 2020 16:50:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="ThKDlIyX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2DDB42082F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.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 1j1vDd-0007sn-D7; Wed, 12 Feb 2020 16:50:33 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j1vDc-0007s4-DV for xen-devel@lists.xenproject.org; Wed, 12 Feb 2020 16:50:32 +0000 X-Inumbo-ID: c1ded520-4db7-11ea-ade5-bc764e2007e4 Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id c1ded520-4db7-11ea-ade5-bc764e2007e4; Wed, 12 Feb 2020 16:50:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1581526221; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7A6yQR5/LCQWcILx8jqgkDHQb4+hWHKZiYRMHuPIcr0=; b=ThKDlIyXwYR6EgpM540Awc9WPN5jb1acFQSv/4QX7vA4RNatT0cFML1Q 9/vSlPRR+pTeYuYHvptucQNFazhl6G9ryg118FmLfITQniCme6AYAtUTv VFU7xoZ+lBEq96yZTgiJ1QpNrEeeup1WphXdfgpF7yF1zMyahAg9KherU k=; Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: imis5REQngC0ypixDKgrG+VNfdZUMAPioPOuTWUK1JBT9apKHF1MnlSoANwWGqfMZP+yoMAaIr 8dOYMVOXH48BRpT0MUoSB6NZ0rHIsujYNlv2/sL/B3PJvAjE12RKpbipxDyHPx7mNVjZuBY5UB cfSnOnTibqJf7FftVHCbf1hsWY50/8yaswuN/V+e6cA5qeqNnSXom1aIoJs9mTeNcQFnmzTkdM mkpXrw54ur29hdynW2eua8u0/lhMfpis0O0KI53yzYHithRl6v7wHkvDC4dPVKjDY5xXdno8fm Mm4= X-SBRS: 2.7 X-MesageID: 12716981 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.70,433,1574139600"; d="scan'208";a="12716981" From: Roger Pau Monne To: Date: Wed, 12 Feb 2020 17:49:49 +0100 Message-ID: <20200212164949.56434-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200212164949.56434-1-roger.pau@citrix.com> References: <20200212164949.56434-1-roger.pau@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 3/3] x86: add accessors for scratch cpu mask 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: Andrew Cooper , Wei Liu , Jan Beulich , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Q3VycmVudCB1c2FnZSBvZiB0aGUgcGVyLUNQVSBzY3JhdGNoIGNwdW1hc2sgaXMgZGFuZ2Vyb3Vz IHNpbmNlCnRoZXJlJ3Mgbm8gd2F5IHRvIGZpZ3VyZSBvdXQgaWYgdGhlIG1hc2sgaXMgYWxyZWFk eSBiZWluZyB1c2VkIGV4Y2VwdApmb3IgbWFudWFsIGNvZGUgaW5zcGVjdGlvbiBvZiBhbGwgdGhl IGNhbGxlcnMgYW5kIHBvc3NpYmxlIGNhbGwgcGF0aHMuCgpUaGlzIGlzIHVuc2FmZSBhbmQgbm90 IHJlbGlhYmxlLCBzbyBpbnRyb2R1Y2UgYSBtaW5pbWFsIGdldC9wdXQKaW5mcmFzdHJ1Y3R1cmUg dG8gcHJldmVudCBuZXN0ZWQgdXNhZ2Ugb2YgdGhlIHNjcmF0Y2ggbWFzayBhbmQgdXNhZ2UKaW4g aW50ZXJydXB0IGNvbnRleHQuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl ci5wYXVAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaW9fYXBpYy5jICAgIHwgIDYgKysr Ky0tCiB4ZW4vYXJjaC94ODYvaXJxLmMgICAgICAgIHwgMTMgKysrKysrKysrKy0tLQogeGVuL2Fy Y2gveDg2L21tLmMgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQog eGVuL2FyY2gveDg2L21zaS5jICAgICAgICB8ICA0ICsrKy0KIHhlbi9hcmNoL3g4Ni9zbXBib290 LmMgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYv c21wLmggfCAxMCArKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyks IDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMgYi94 ZW4vYXJjaC94ODYvaW9fYXBpYy5jCmluZGV4IGU5OGUwOGU5YzguLjRlZTI2MWI2MzIgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMKKysrIGIveGVuL2FyY2gveDg2L2lvX2FwaWMu YwpAQCAtMjIzNiwxMCArMjIzNiwxMSBAQCBpbnQgaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcgKGlu dCBpb2FwaWMsIGludCBwaW4sIGludCBpcnEsIGludCBlZGdlX2xldmVsLCBpbnQgYQogICAgIGVu dHJ5LnZlY3RvciA9IHZlY3RvcjsKIAogICAgIGlmIChjcHVtYXNrX2ludGVyc2VjdHMoZGVzYy0+ YXJjaC5jcHVfbWFzaywgVEFSR0VUX0NQVVMpKSB7Ci0gICAgICAgIGNwdW1hc2tfdCAqbWFzayA9 IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7CisgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IGdl dF9zY3JhdGNoX2NwdW1hc2soKTsKIAogICAgICAgICBjcHVtYXNrX2FuZChtYXNrLCBkZXNjLT5h cmNoLmNwdV9tYXNrLCBUQVJHRVRfQ1BVUyk7CiAgICAgICAgIFNFVF9ERVNUKGVudHJ5LCBsb2dp Y2FsLCBjcHVfbWFza190b19hcGljaWQobWFzaykpOworICAgICAgICBwdXRfc2NyYXRjaF9jcHVt YXNrKCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIklSUSVkOiBu byB0YXJnZXQgQ1BVICglKnBiIHZzICUqcGIpXG4iLAogICAgICAgICAgICAgICAgaXJxLCBDUFVN QVNLX1BSKGRlc2MtPmFyY2guY3B1X21hc2spLCBDUFVNQVNLX1BSKFRBUkdFVF9DUFVTKSk7CkBA IC0yNDMzLDEwICsyNDM0LDExIEBAIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWduZWQgbG9u ZyBwaHlzYmFzZSwgdW5zaWduZWQgaW50IHJlZywgdTMyIHZhbCkKIAogICAgIGlmICggY3B1bWFz a19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKSApCiAgICAgewot ICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOworICAg ICAgICBjcHVtYXNrX3QgKm1hc2sgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAKICAgICAgICAg Y3B1bWFza19hbmQobWFzaywgZGVzYy0+YXJjaC5jcHVfbWFzaywgVEFSR0VUX0NQVVMpOwogICAg ICAgICBTRVRfREVTVChydGUsIGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChtYXNrKSk7Cisg ICAgICAgIHB1dF9zY3JhdGNoX2NwdW1hc2soKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pcnEuYyBiL3hlbi9hcmNoL3g4Ni9pcnEuYwppbmRleCBj YzJlYjhlOTI1Li43ZWNmNTM3NmUzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMKKysr IGIveGVuL2FyY2gveDg2L2lycS5jCkBAIC0xOTYsNyArMTk2LDcgQEAgc3RhdGljIHZvaWQgX2Ns ZWFyX2lycV92ZWN0b3Ioc3RydWN0IGlycV9kZXNjICpkZXNjKQogewogICAgIHVuc2lnbmVkIGlu dCBjcHUsIG9sZF92ZWN0b3IsIGlycSA9IGRlc2MtPmlycTsKICAgICB1bnNpZ25lZCBpbnQgdmVj dG9yID0gZGVzYy0+YXJjaC52ZWN0b3I7Ci0gICAgY3B1bWFza190ICp0bXBfbWFzayA9IHRoaXNf Y3B1KHNjcmF0Y2hfY3B1bWFzayk7CisgICAgY3B1bWFza190ICp0bXBfbWFzayA9IGdldF9zY3Jh dGNoX2NwdW1hc2soKTsKIAogICAgIEJVR19PTighdmFsaWRfaXJxX3ZlY3Rvcih2ZWN0b3IpKTsK IApAQCAtMjIzLDcgKzIyMywxMCBAQCBzdGF0aWMgdm9pZCBfY2xlYXJfaXJxX3ZlY3RvcihzdHJ1 Y3QgaXJxX2Rlc2MgKmRlc2MpCiAgICAgdHJhY2VfaXJxX21hc2soVFJDX0hXX0lSUV9DTEVBUl9W RUNUT1IsIGlycSwgdmVjdG9yLCB0bXBfbWFzayk7CiAKICAgICBpZiAoIGxpa2VseSghZGVzYy0+ YXJjaC5tb3ZlX2luX3Byb2dyZXNzKSApCisgICAgeworICAgICAgICBwdXRfc2NyYXRjaF9jcHVt YXNrKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICAvKiBJZiB3ZSB3ZXJlIGluIG1v dGlvbiwgYWxzbyBjbGVhciBkZXNjLT5hcmNoLm9sZF92ZWN0b3IgKi8KICAgICBvbGRfdmVjdG9y ID0gZGVzYy0+YXJjaC5vbGRfdmVjdG9yOwpAQCAtMjM2LDYgKzIzOSw3IEBAIHN0YXRpYyB2b2lk IF9jbGVhcl9pcnFfdmVjdG9yKHN0cnVjdCBpcnFfZGVzYyAqZGVzYykKICAgICAgICAgcGVyX2Nw dSh2ZWN0b3JfaXJxLCBjcHUpW29sZF92ZWN0b3JdID0gfmlycTsKICAgICB9CiAKKyAgICBwdXRf c2NyYXRjaF9jcHVtYXNrKCk7CiAgICAgcmVsZWFzZV9vbGRfdmVjKGRlc2MpOwogCiAgICAgZGVz Yy0+YXJjaC5tb3ZlX2luX3Byb2dyZXNzID0gMDsKQEAgLTExNTIsMTAgKzExNTYsMTEgQEAgc3Rh dGljIHZvaWQgaXJxX2d1ZXN0X2VvaV90aW1lcl9mbih2b2lkICpkYXRhKQogICAgICAgICBicmVh azsKIAogICAgIGNhc2UgQUNLVFlQRV9FT0k6Ci0gICAgICAgIGNwdV9lb2lfbWFwID0gdGhpc19j cHUoc2NyYXRjaF9jcHVtYXNrKTsKKyAgICAgICAgY3B1X2VvaV9tYXAgPSBnZXRfc2NyYXRjaF9j cHVtYXNrKCk7CiAgICAgICAgIGNwdW1hc2tfY29weShjcHVfZW9pX21hcCwgYWN0aW9uLT5jcHVf ZW9pX21hcCk7CiAgICAgICAgIHNwaW5fdW5sb2NrX2lycSgmZGVzYy0+bG9jayk7CiAgICAgICAg IG9uX3NlbGVjdGVkX2NwdXMoY3B1X2VvaV9tYXAsIHNldF9lb2lfcmVhZHksIGRlc2MsIDApOwor ICAgICAgICBwdXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK QEAgLTI1MzEsMTIgKzI1MzYsMTIgQEAgdm9pZCBmaXh1cF9pcnFzKGNvbnN0IGNwdW1hc2tfdCAq bWFzaywgYm9vbCB2ZXJib3NlKQogICAgIHVuc2lnbmVkIGludCBpcnE7CiAgICAgc3RhdGljIGlu dCB3YXJuZWQ7CiAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOworICAgIGNwdW1hc2tfdCAqYWZm aW5pdHkgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAKICAgICBmb3IgKCBpcnEgPSAwOyBpcnEg PCBucl9pcnFzOyBpcnErKyApCiAgICAgewogICAgICAgICBib29sIGJyZWFrX2FmZmluaXR5ID0g ZmFsc2UsIHNldF9hZmZpbml0eSA9IHRydWU7CiAgICAgICAgIHVuc2lnbmVkIGludCB2ZWN0b3I7 Ci0gICAgICAgIGNwdW1hc2tfdCAqYWZmaW5pdHkgPSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2sp OwogCiAgICAgICAgIGlmICggaXJxID09IDIgKQogICAgICAgICAgICAgY29udGludWU7CkBAIC0y NjQwLDYgKzI2NDUsOCBAQCB2b2lkIGZpeHVwX2lycXMoY29uc3QgY3B1bWFza190ICptYXNrLCBi b29sIHZlcmJvc2UpCiAgICAgICAgICAgICAgICAgICAgaXJxLCBDUFVNQVNLX1BSKGFmZmluaXR5 KSk7CiAgICAgfQogCisgICAgcHV0X3NjcmF0Y2hfY3B1bWFzaygpOworCiAgICAgLyogVGhhdCBk b2Vzbid0IHNlZW0gc3VmZmljaWVudC4gIEdpdmUgaXQgMW1zLiAqLwogICAgIGxvY2FsX2lycV9l bmFibGUoKTsKICAgICBtZGVsYXkoMSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBi L3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDliMzM4MjkwODQuLmJkZWQxOTcxN2IgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC0xMjcxLDcg KzEyNzEsNyBAQCB2b2lkIHB1dF9wYWdlX2Zyb21fbDFlKGwxX3BnZW50cnlfdCBsMWUsIHN0cnVj dCBkb21haW4gKmwxZV9vd25lcikKICAgICAgICAgICAgICAobDFlX293bmVyID09IHBnX293bmVy KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0cnVjdCB2Y3B1ICp2OwotICAgICAgICAgICAg Y3B1bWFza190ICptYXNrID0gdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNrKTsKKyAgICAgICAgICAg IGNwdW1hc2tfdCAqbWFzayA9IGdldF9zY3JhdGNoX2NwdW1hc2soKTsKIAogICAgICAgICAgICAg Y3B1bWFza19jbGVhcihtYXNrKTsKIApAQCAtMTI4OCw2ICsxMjg4LDcgQEAgdm9pZCBwdXRfcGFn ZV9mcm9tX2wxZShsMV9wZ2VudHJ5X3QgbDFlLCBzdHJ1Y3QgZG9tYWluICpsMWVfb3duZXIpCiAK ICAgICAgICAgICAgIGlmICggIWNwdW1hc2tfZW1wdHkobWFzaykgKQogICAgICAgICAgICAgICAg IGZsdXNoX3RsYl9tYXNrKG1hc2spOworICAgICAgICAgICAgcHV0X3NjcmF0Y2hfY3B1bWFzaygp OwogICAgICAgICB9CiAjZW5kaWYgLyogQ09ORklHX1BWX0xEVF9QQUdJTkcgKi8KICAgICAgICAg cHV0X3BhZ2UocGFnZSk7CkBAIC0yOTEyLDcgKzI5MTMsNyBAQCBzdGF0aWMgaW50IF9nZXRfcGFn ZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKICAgICAg ICAgICAgICAgICAgKiB2aXRhbCB0aGF0IG5vIG90aGVyIENQVXMgYXJlIGxlZnQgd2l0aCBtYXBw aW5ncyBvZiBhIGZyYW1lCiAgICAgICAgICAgICAgICAgICogd2hpY2ggaXMgYWJvdXQgdG8gYmVj b21lIHdyaXRlYWJsZSB0byB0aGUgZ3Vlc3QuCiAgICAgICAgICAgICAgICAgICovCi0gICAgICAg ICAgICAgICAgY3B1bWFza190ICptYXNrID0gdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNrKTsKKyAg ICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAK ICAgICAgICAgICAgICAgICBCVUdfT04oaW5faXJxKCkpOwogICAgICAgICAgICAgICAgIGNwdW1h c2tfY29weShtYXNrLCBkLT5kaXJ0eV9jcHVtYXNrKTsKQEAgLTI5MjgsNiArMjkyOSw3IEBAIHN0 YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQg bG9uZyB0eXBlLAogICAgICAgICAgICAgICAgICAgICBwZXJmY19pbmNyKG5lZWRfZmx1c2hfdGxi X2ZsdXNoKTsKICAgICAgICAgICAgICAgICAgICAgZmx1c2hfdGxiX21hc2sobWFzayk7CiAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHB1dF9zY3JhdGNoX2NwdW1hc2soKTsKIAog ICAgICAgICAgICAgICAgIC8qIFdlIGxvc2UgZXhpc3RpbmcgdHlwZSBhbmQgdmFsaWRpdHkuICov CiAgICAgICAgICAgICAgICAgbnggJj0gfihQR1RfdHlwZV9tYXNrIHwgUEdUX3ZhbGlkYXRlZCk7 CkBAIC0zNjQ0LDcgKzM2NDYsNyBAQCBsb25nIGRvX21tdWV4dF9vcCgKICAgICAgICAgY2FzZSBN TVVFWFRfVExCX0ZMVVNIX01VTFRJOgogICAgICAgICBjYXNlIE1NVUVYVF9JTlZMUEdfTVVMVEk6 CiAgICAgICAgIHsKLSAgICAgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHRoaXNfY3B1KHNjcmF0 Y2hfY3B1bWFzayk7CisgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSBnZXRfc2NyYXRjaF9j cHVtYXNrKCk7CiAKICAgICAgICAgICAgIGlmICggdW5saWtlbHkoY3VycmQgIT0gcGdfb3duZXIp ICkKICAgICAgICAgICAgICAgICByYyA9IC1FUEVSTTsKQEAgLTM2NTQsMTIgKzM2NTYsMTcgQEAg bG9uZyBkb19tbXVleHRfb3AoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h c2spKSApCiAgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwogICAgICAgICAgICAgaWYgKCB1 bmxpa2VseShyYykgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHB1dF9zY3JhdGNo X2NwdW1hc2soKTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KIAogICAg ICAgICAgICAgaWYgKCBvcC5jbWQgPT0gTU1VRVhUX1RMQl9GTFVTSF9NVUxUSSApCiAgICAgICAg ICAgICAgICAgZmx1c2hfdGxiX21hc2sobWFzayk7CiAgICAgICAgICAgICBlbHNlIGlmICggX19h ZGRyX29rKG9wLmFyZzEubGluZWFyX2FkZHIpICkKICAgICAgICAgICAgICAgICBmbHVzaF90bGJf b25lX21hc2sobWFzaywgb3AuYXJnMS5saW5lYXJfYWRkcik7CisgICAgICAgICAgICBwdXRfc2Ny YXRjaF9jcHVtYXNrKCk7CisKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTM2 OTIsNyArMzY5OSw3IEBAIGxvbmcgZG9fbW11ZXh0X29wKAogICAgICAgICAgICAgZWxzZSBpZiAo IGxpa2VseShjYWNoZV9mbHVzaF9wZXJtaXR0ZWQoY3VycmQpKSApCiAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdTsKLSAgICAgICAgICAgICAgICBjcHVtYXNr X3QgKm1hc2sgPSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOworICAgICAgICAgICAgICAgIGNw dW1hc2tfdCAqbWFzayA9IGdldF9zY3JhdGNoX2NwdW1hc2soKTsKIAogICAgICAgICAgICAgICAg IGNwdW1hc2tfY2xlYXIobWFzayk7CiAgICAgICAgICAgICAgICAgZm9yX2VhY2hfb25saW5lX2Nw dShjcHUpCkBAIC0zNzAwLDYgKzM3MDcsNyBAQCBsb25nIGRvX21tdWV4dF9vcCgKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcl9jcHUoY3B1X3NpYmxpbmdf bWFzaywgY3B1KSkgKQogICAgICAgICAgICAgICAgICAgICAgICAgX19jcHVtYXNrX3NldF9jcHUo Y3B1LCBtYXNrKTsKICAgICAgICAgICAgICAgICBmbHVzaF9tYXNrKG1hc2ssIEZMVVNIX0NBQ0hF KTsKKyAgICAgICAgICAgICAgICBwdXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAgICAgICAgICAgICB9 CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwpAQCAtNDE2 NSwxMiArNDE3MywxMyBAQCBsb25nIGRvX21tdV91cGRhdGUoCiAgICAgICAgICAqIEZvcmNlIG90 aGVyIHZDUFUtcyBvZiB0aGUgYWZmZWN0ZWQgZ3Vlc3QgdG8gcGljayB1cCBMNCBlbnRyeQogICAg ICAgICAgKiBjaGFuZ2VzIChpZiBhbnkpLgogICAgICAgICAgKi8KLSAgICAgICAgdW5zaWduZWQg aW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLSAgICAgICAgY3B1bWFza190ICptYXNrID0g cGVyX2NwdShzY3JhdGNoX2NwdW1hc2ssIGNwdSk7CisgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9 IGdldF9zY3JhdGNoX2NwdW1hc2soKTsKIAotICAgICAgICBjcHVtYXNrX2FuZG5vdChtYXNrLCBw dF9vd25lci0+ZGlydHlfY3B1bWFzaywgY3B1bWFza19vZihjcHUpKTsKKyAgICAgICAgY3B1bWFz a19hbmRub3QobWFzaywgcHRfb3duZXItPmRpcnR5X2NwdW1hc2ssCisgICAgICAgICAgICAgICAg ICAgICAgIGNwdW1hc2tfb2Yoc21wX3Byb2Nlc3Nvcl9pZCgpKSk7CiAgICAgICAgIGlmICggIWNw dW1hc2tfZW1wdHkobWFzaykgKQogICAgICAgICAgICAgZmx1c2hfbWFzayhtYXNrLCBGTFVTSF9U TEJfR0xPQkFMIHwgRkxVU0hfUk9PVF9QR1RCTCk7CisgICAgICAgIHB1dF9zY3JhdGNoX2NwdW1h c2soKTsKICAgICB9CiAKICAgICBwZXJmY19hZGQobnVtX3BhZ2VfdXBkYXRlcywgaSk7CkBAIC00 MzYxLDcgKzQzNzAsNyBAQCBzdGF0aWMgaW50IF9fZG9fdXBkYXRlX3ZhX21hcHBpbmcoCiAgICAg ICAgICAgICBtYXNrID0gZC0+ZGlydHlfY3B1bWFzazsKICAgICAgICAgICAgIGJyZWFrOwogICAg ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgbWFzayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFz ayk7CisgICAgICAgICAgICBtYXNrID0gZ2V0X3NjcmF0Y2hfY3B1bWFzaygpOwogICAgICAgICAg ICAgcmMgPSB2Y3B1bWFza190b19wY3B1bWFzayhkLCBjb25zdF9ndWVzdF9oYW5kbGVfZnJvbV9w dHIoYm1hcF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFzayk7CkBAIC00MzgxLDcgKzQzOTAsNyBAQCBzdGF0aWMgaW50IF9f ZG9fdXBkYXRlX3ZhX21hcHBpbmcoCiAgICAgICAgICAgICBtYXNrID0gZC0+ZGlydHlfY3B1bWFz azsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgbWFz ayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7CisgICAgICAgICAgICBtYXNrID0gZ2V0X3Nj cmF0Y2hfY3B1bWFzaygpOwogICAgICAgICAgICAgcmMgPSB2Y3B1bWFza190b19wY3B1bWFzayhk LCBjb25zdF9ndWVzdF9oYW5kbGVfZnJvbV9wdHIoYm1hcF9wdHIsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzayk7CkBAIC00Mzky LDYgKzQ0MDEsOSBAQCBzdGF0aWMgaW50IF9fZG9fdXBkYXRlX3ZhX21hcHBpbmcoCiAgICAgICAg IGJyZWFrOwogICAgIH0KIAorICAgIGlmICggbWFzayAmJiBtYXNrICE9IGQtPmRpcnR5X2NwdW1h c2sgKQorICAgICAgICBwdXRfc2NyYXRjaF9jcHVtYXNrKCk7CisKICAgICByZXR1cm4gcmM7CiB9 CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc2kuYyBiL3hlbi9hcmNoL3g4Ni9tc2kuYwpp bmRleCBjODVjZjlmODVhLi4xZWMxY2M1MWQzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbXNp LmMKKysrIGIveGVuL2FyY2gveDg2L21zaS5jCkBAIC0xNTksMTMgKzE1OSwxNSBAQCB2b2lkIG1z aV9jb21wb3NlX21zZyh1bnNpZ25lZCB2ZWN0b3IsIGNvbnN0IGNwdW1hc2tfdCAqY3B1X21hc2ss IHN0cnVjdCBtc2lfbXNnCiAKICAgICBpZiAoIGNwdV9tYXNrICkKICAgICB7Ci0gICAgICAgIGNw dW1hc2tfdCAqbWFzayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7CisgICAgICAgIGNwdW1h c2tfdCAqbWFzazsKIAogICAgICAgICBpZiAoICFjcHVtYXNrX2ludGVyc2VjdHMoY3B1X21hc2ss ICZjcHVfb25saW5lX21hcCkgKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIG1hc2sg PSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAgICAgICAgIGNwdW1hc2tfYW5kKG1hc2ssIGNwdV9t YXNrLCAmY3B1X29ubGluZV9tYXApOwogICAgICAgICBtc2ctPmRlc3QzMiA9IGNwdV9tYXNrX3Rv X2FwaWNpZChtYXNrKTsKKyAgICAgICAgcHV0X3NjcmF0Y2hfY3B1bWFzaygpOwogICAgIH0KIAog ICAgIG1zZy0+YWRkcmVzc19oaSA9IE1TSV9BRERSX0JBU0VfSEk7CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCA4MmU4OTIw MWIzLi42N2VlNDkwZjk0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9zbXBib290LmMKQEAgLTU3LDYgKzU3LDMwIEBAIERFRklORV9QRVJfQ1BV X1JFQURfTU9TVExZKGNwdW1hc2tfdmFyX3QsIGNwdV9jb3JlX21hc2spOwogREVGSU5FX1BFUl9D UFVfUkVBRF9NT1NUTFkoY3B1bWFza192YXJfdCwgc2NyYXRjaF9jcHVtYXNrKTsKIHN0YXRpYyBj cHVtYXNrX3Qgc2NyYXRjaF9jcHUwbWFzazsKIAorI2lmbmRlZiBOREVCVUcKK2NwdW1hc2tfdCAq c2NyYXRjaF9jcHVtYXNrKGNvbnN0IGNoYXIgKmZuKQoreworICAgIHN0YXRpYyBERUZJTkVfUEVS X0NQVShjb25zdCBjaGFyICosIHNjcmF0Y2hfY3B1bWFza191c2UpOworCisgICAgLyoKKyAgICAg KiBTY3JhdGNoIGNwdW1hc2sgY2Fubm90IGJlIHVzZWQgaW4gSVJRIGNvbnRleHQsIG9yIGVsc2Ug d2Ugd291bGQgaGF2ZSB0bworICAgICAqIG1ha2Ugc3VyZSBhbGwgdXNlcnMgaGF2ZSBpbnRlcnJ1 cHRzIGRpc2FibGVkIHdoaWxlIHVzaW5nIHRoZSBzY3JhdGNoCisgICAgICogbWFzay4KKyAgICAg Ki8KKyAgICBCVUdfT04oaW5faXJxKCkpOworCisgICAgaWYgKCBmbiAmJiB1bmxpa2VseSh0aGlz X2NwdShzY3JhdGNoX2NwdW1hc2tfdXNlKSkgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKCIlczog c2NyYXRjaCBDUFUgbWFzayBhbHJlYWR5IGluIHVzZSBieSAlc1xuIiwKKyAgICAgICAgICAgICAg Zm4sIHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFza191c2UpKTsKKyAgICAgICAgQlVHKCk7CisgICAg fQorICAgIHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFza191c2UpID0gZm47CisKKyAgICByZXR1cm4g Zm4gPyB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spIDogTlVMTDsKK30KKyNlbmRpZgorCiBERUZJ TkVfUEVSX0NQVV9SRUFEX01PU1RMWShjcHVtYXNrX3Zhcl90LCBzZW5kX2lwaV9jcHVtYXNrKTsK IHN0YXRpYyBjcHVtYXNrX3Qgc2VuZF9pcGlfY3B1MG1hc2s7CiAKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS14ODYvc21wLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NtcC5oCmluZGV4IDky ZDY5YTVlYTAuLjI4ZjIwNDRiYjcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc21w LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaApAQCAtMjMsNiArMjMsMTYgQEAgREVD TEFSRV9QRVJfQ1BVKGNwdW1hc2tfdmFyX3QsIGNwdV9zaWJsaW5nX21hc2spOwogREVDTEFSRV9Q RVJfQ1BVKGNwdW1hc2tfdmFyX3QsIGNwdV9jb3JlX21hc2spOwogREVDTEFSRV9QRVJfQ1BVKGNw dW1hc2tfdmFyX3QsIHNjcmF0Y2hfY3B1bWFzayk7CiAKKyNpZm5kZWYgTkRFQlVHCisvKiBOb3Qg dG8gYmUgY2FsbGVkIGRpcmVjdGx5LCB1c2Uge2dldC9wdXR9X3NjcmF0Y2hfY3B1bWFzaygpLiAq LworY3B1bWFza190ICpzY3JhdGNoX2NwdW1hc2soY29uc3QgY2hhciAqZm4pOworI2RlZmluZSBn ZXRfc2NyYXRjaF9jcHVtYXNrKCkgc2NyYXRjaF9jcHVtYXNrKF9fZnVuY19fKQorI2RlZmluZSBw dXRfc2NyYXRjaF9jcHVtYXNrKCkgKCh2b2lkKXNjcmF0Y2hfY3B1bWFzayhOVUxMKSkKKyNlbHNl CisjZGVmaW5lIGdldF9zY3JhdGNoX2NwdW1hc2soKSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2sp CisjZGVmaW5lIHB1dF9zY3JhdGNoX2NwdW1hc2soKQorI2VuZGlmCisKIC8qCiAgKiBEbyB3ZSwg Zm9yIHBsYXRmb3JtIHJlYXNvbnMsIG5lZWQgdG8gYWN0dWFsbHkga2VlcCBDUFVzIG9ubGluZSB3 aGVuIHdlCiAgKiB3b3VsZCBvdGhlcndpc2UgcHJlZmVyIHRoZW0gdG8gYmUgb2ZmPwotLSAKMi4y NS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==