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=DKIM_INVALID,DKIM_SIGNED, 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 8CCB7C4CEC9 for ; Fri, 13 Sep 2019 19:29:21 +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 4C1A2206A5 for ; Fri, 13 Sep 2019 19:29:21 +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="OE1TJGG9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4C1A2206A5 Authentication-Results: mail.kernel.org; dmarc=none (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 1i8rEw-0006q8-Qa; Fri, 13 Sep 2019 19:28:18 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i8rEv-0006pQ-DS for xen-devel@lists.xenproject.org; Fri, 13 Sep 2019 19:28:17 +0000 X-Inumbo-ID: 9d1cd2b4-d65c-11e9-a337-bc764e2007e4 Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 9d1cd2b4-d65c-11e9-a337-bc764e2007e4; Fri, 13 Sep 2019 19:28:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1568402888; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=YbW7SS92a1SCXA6E4gpxQoKvv/lPGhwZNvL2NxV9CWA=; b=OE1TJGG9Raf2b/dIKMB6m2tgvAR9oQYcjmuwNS/cPOGKNgbiVXq7gT2m rgTxBnDunkOEnU8A9gOxBVaoFW6RwXKTb+rmH3yn7wSnJOKeGe6H8mQlJ /L5IfGUyAEA0cue8YhrWq6qQH27uGL71trD5tzt2s7kdzL3he6PWiidgK k=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@citrix.com; spf=Pass smtp.mailfrom=Andrew.Cooper3@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of andrew.cooper3@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="andrew.cooper3@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of Andrew.Cooper3@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="Andrew.Cooper3@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 ~all" Received-SPF: None (esa2.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=esa2.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 3rq8c88b/Cf/vHaODqynd0eTcZXExqK7OG/Be/rAtY3sp5By84LDh4QYeoq9fIwFQ8EEsAhkrH ib8qFlJO/i6kFCZ3arkvpkcokmOpzEJfXmcdn9YyYvgs8XRLsM3qiLgIoptDHpFMmOhgt2V5W1 3JUsJiG9qXqT3O70Q7t/zNy7+zZn1a7CPbsq+YirNqBcUU5tZMmr8AqyV8Zp0O1Q/C93XafTUh Fk4RDhFBr54dgWS3eXy9sRwIWIl6+KqLWXdBfJT3ZeCTAzGxJcVUqBFxsX4HTXOdQl86hBHplP FsI= X-SBRS: 2.7 X-MesageID: 5553061 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,501,1559534400"; d="scan'208";a="5553061" From: Andrew Cooper To: Xen-devel Date: Fri, 13 Sep 2019 20:27:54 +0100 Message-ID: <20190913192759.10795-6-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190913192759.10795-1-andrew.cooper3@citrix.com> References: <20190913192759.10795-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2 05/10] x86/domctl: Implement XEN_DOMCTL_set_cpumsr_policy 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: Sergey Dyasli , Wei Liu , Andrew Cooper , Ian Jackson , Jan Beulich , Daniel De Graaf , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" VGhpcyBoeXBlcmNhbGwgYWxsb3dzIHRoZSB0b29sc3RhY2sgdG8gcHJlc2VudCBvbmUgY29tYmlu ZWQgQ1BVSUQgYW5kIE1TUgpwb2xpY3kgZm9yIGEgZG9tYWluLCB3aGljaCBjYW4gYmUgYXVkaXRl ZCBpbiBvbmUgZ28gYnkgWGVuLCB3aGljaCBpcyBuZWNlc3NhcnkKZm9yIGNvcnJlY3RuZXNzIG9m IHRoZSBhdWRpdGluZy4KClJldXNlIHRoZSBleGlzdGluZyBzZXRfY3B1aWQgWFNNIGFjY2VzcyB2 ZWN0b3IsIGFzIHRoaXMgaXMgbG9naWNhbGx5IHRoZSBzYW1lCm9wZXJhdGlvbi4KCkFzIHg4Nl9j cHVfcG9saWNpZXNfYXJlX2NvbXBhdGlibGUoKSBpcyBzdGlsbCBvbmx5IGEgc3R1YiwgcmV0YWlu IHRoZSBjYWxsIHRvCnJlY2FsY3VsYXRlX2NwdWlkX3BvbGljeSgpIHRvIGRpc2NhcmQgdW5zYWZl IHRvb2xzdGFjayBzZXR0aW5ncy4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl dy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IFNlcmdleSBEeWFzbGkgPHNlcmdl eS5keWFzbGlAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n ZXIucGF1QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogSWFuIEph Y2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CkNDOiBXZWkgTGl1IDx3bEB4ZW4ub3Jn PgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNDOiBEYW5pZWwg RGUgR3JhYWYgPGRnZGVncmFAdHljaG8ubnNhLmdvdj4KCnYyOgogKiBCdW1wIHRoZSBET01DVEwg aW50ZXJmYWNlIHZlcnNpb24KICogUHJvYWN0aXZlbHkgc2V0IHRoZSBlcnJvciBwb2ludGVycyBp biB4Y19zZXRfZG9tYWluX2NwdV9wb2xpY3koKQogKiBBZGp1c3QgZG9tY3RsIEFQSSBkb2N1bWVu dGF0aW9uIHRvIHJlZmxlY3QgdGhhdCBub3QgYWxsIERPTUNUTCBmYWlsdXJlcwogICB3aWxsIHdy aXRlIHRoZSBlcnJvciBwb2ludGVycy4KLS0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwu aCAgICAgICB8ICA1ICsrKwogdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMgICAgICAgICAgfCA0 NiArKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAgICAg ICAgIHwgODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1 ZGUvcHVibGljL2RvbWN0bC5oICAgICAgICAgfCAxOCArKysrKystLS0KIHhlbi94c20vZmxhc2sv aG9va3MuYyAgICAgICAgICAgICAgIHwgIDEgKwogeGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNz X3ZlY3RvcnMgfCAgMSArCiA2IGZpbGVzIGNoYW5nZWQsIDE0NiBpbnNlcnRpb25zKCspLCA1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIv dG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKaW5kZXggNzU1OWUxYmM2OS4uMGRhNDM3MzE4 ZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMv bGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAgLTI1MzAsNiArMjUzMCwxMSBAQCBpbnQgeGNfZ2V0 X3N5c3RlbV9jcHVfcG9saWN5KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBpbmRleCwKIGlu dCB4Y19nZXRfZG9tYWluX2NwdV9wb2xpY3koeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRv bWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbnJfbGVhdmVzLCB4 ZW5fY3B1aWRfbGVhZl90ICpsZWF2ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90ICpucl9tc3JzLCB4ZW5fbXNyX2VudHJ5X3QgKm1zcnMpOworaW50IHhjX3NldF9kb21h aW5fY3B1X3BvbGljeSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG5yX2xlYXZlcywgeGVuX2NwdWlkX2xlYWZf dCAqbGVhdmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBucl9tc3Jz LCB4ZW5fbXNyX2VudHJ5X3QgKm1zcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90ICplcnJfbGVhZl9wLCB1aW50MzJfdCAqZXJyX3N1YmxlYWZfcCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmVycl9tc3JfcCk7CiAKIHVpbnQzMl90IHhjX2dl dF9jcHVfZmVhdHVyZXNldF9zaXplKHZvaWQpOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94 Y19jcHVpZF94ODYuYyBiL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCmluZGV4IGI4MjkzMzYw ODIuLjBmMDczMTdiNTQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCisr KyBiL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCkBAIC0yMjksNiArMjI5LDUyIEBAIGludCB4 Y19nZXRfZG9tYWluX2NwdV9wb2xpY3koeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlk LAogICAgIHJldHVybiByZXQ7CiB9CiAKK2ludCB4Y19zZXRfZG9tYWluX2NwdV9wb2xpY3koeGNf aW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBucl9sZWF2ZXMsIHhlbl9jcHVpZF9sZWFmX3QgKmxlYXZlcywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbnJfbXNycywgeGVuX21zcl9lbnRyeV90 ICptc3JzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZXJyX2xlYWZf cCwgdWludDMyX3QgKmVycl9zdWJsZWFmX3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90ICplcnJfbXNyX3ApCit7CisgICAgREVDTEFSRV9ET01DVEw7CisgICAgREVDTEFS RV9IWVBFUkNBTExfQk9VTkNFKGxlYXZlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bnJfbGVhdmVzICogc2l6ZW9mKCpsZWF2ZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBYQ19IWVBFUkNBTExfQlVGRkVSX0JPVU5DRV9JTik7CisgICAgREVDTEFSRV9IWVBFUkNBTExf Qk9VTkNFKG1zcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5yX21zcnMgKiBzaXpl b2YoKm1zcnMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYQ19IWVBFUkNBTExfQlVG RkVSX0JPVU5DRV9JTik7CisgICAgaW50IHJldDsKKworICAgIGlmICggeGNfaHlwZXJjYWxsX2Jv dW5jZV9wcmUoeGNoLCBsZWF2ZXMpICkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKCB4 Y19oeXBlcmNhbGxfYm91bmNlX3ByZSh4Y2gsIG1zcnMpICkKKyAgICAgICAgcmV0dXJuIC0xOwor CisgICAgZG9tY3RsLmNtZCA9IFhFTl9ET01DVExfc2V0X2NwdV9wb2xpY3k7CisgICAgZG9tY3Rs LmRvbWFpbiA9IGRvbWlkOworICAgIGRvbWN0bC51LmNwdV9wb2xpY3kubnJfbGVhdmVzID0gbnJf bGVhdmVzOworICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKGRvbWN0bC51LmNwdV9wb2xpY3kuY3B1 aWRfcG9saWN5LCBsZWF2ZXMpOworICAgIGRvbWN0bC51LmNwdV9wb2xpY3kubnJfbXNycyA9IG5y X21zcnM7CisgICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUoZG9tY3RsLnUuY3B1X3BvbGljeS5tc3Jf cG9saWN5LCBtc3JzKTsKKyAgICBkb21jdGwudS5jcHVfcG9saWN5LmVycl9sZWFmID0gfjA7Cisg ICAgZG9tY3RsLnUuY3B1X3BvbGljeS5lcnJfc3VibGVhZiA9IH4wOworICAgIGRvbWN0bC51LmNw dV9wb2xpY3kuZXJyX21zciA9IH4wOworCisgICAgcmV0ID0gZG9fZG9tY3RsKHhjaCwgJmRvbWN0 bCk7CisKKyAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBsZWF2ZXMpOworICAgIHhj X2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIG1zcnMpOworCisgICAgaWYgKCBlcnJfbGVhZl9w ICkKKyAgICAgICAgKmVycl9sZWFmX3AgPSBkb21jdGwudS5jcHVfcG9saWN5LmVycl9sZWFmOwor ICAgIGlmICggZXJyX3N1YmxlYWZfcCApCisgICAgICAgICplcnJfc3VibGVhZl9wID0gZG9tY3Rs LnUuY3B1X3BvbGljeS5lcnJfc3VibGVhZjsKKyAgICBpZiAoIGVycl9tc3JfcCApCisgICAgICAg ICplcnJfbXNyX3AgPSBkb21jdGwudS5jcHVfcG9saWN5LmVycl9tc3I7CisKKyAgICByZXR1cm4g cmV0OworfQorCiBzdHJ1Y3QgY3B1aWRfZG9tYWluX2luZm8KIHsKICAgICB1bnNpZ25lZCBpbnQg dmVuZG9yOyAvKiBYODZfVkVORE9SXyogKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21j dGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwppbmRleCA0OGZjY2YyZjdiLi45N2NlZDMyYzIx IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv bWN0bC5jCkBAIC0yOTQsNiArMjk0LDY1IEBAIHN0YXRpYyBpbnQgdXBkYXRlX2RvbWFpbl9jcHVp ZF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQg dXBkYXRlX2RvbWFpbl9jcHVfcG9saWN5KHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB4ZW5fZG9tY3RsX2NwdV9wb2xpY3lfdCAqeGRwYykKK3sK KyAgICBzdHJ1Y3QgY3B1X3BvbGljeSBuZXcgPSB7fTsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1X3Bv bGljeSAqc3lzID0gaXNfcHZfZG9tYWluKGQpCisgICAgICAgID8gJnN5c3RlbV9wb2xpY2llc1tY RU5fU1lTQ1RMX2NwdV9wb2xpY3lfcHZfbWF4XQorICAgICAgICA6ICZzeXN0ZW1fcG9saWNpZXNb WEVOX1NZU0NUTF9jcHVfcG9saWN5X2h2bV9tYXhdOworICAgIHN0cnVjdCBjcHVfcG9saWN5X2Vy cm9ycyBlcnIgPSBJTklUX0NQVV9QT0xJQ1lfRVJST1JTOworICAgIGludCByZXQgPSAtRU5PTUVN OworCisgICAgLyogU3RhcnQgYnkgY29weWluZyB0aGUgZG9tYWluJ3MgZXhpc3RpbmcgcG9saWNp ZXMuICovCisgICAgaWYgKCAhKG5ldy5jcHVpZCA9IHhtZW1kdXAoZC0+YXJjaC5jcHVpZCkpIHx8 CisgICAgICAgICAhKG5ldy5tc3IgICA9IHhtZW1kdXAoZC0+YXJjaC5tc3IpKSApCisgICAgICAg IGdvdG8gb3V0OworCisgICAgLyogTWVyZ2UgdGhlIHRvb2xzdGFjayBwcm92aWRlZCBkYXRhLiAq LworICAgIGlmICggKHJldCA9IHg4Nl9jcHVpZF9jb3B5X2Zyb21fYnVmZmVyKAorICAgICAgICAg ICAgICBuZXcuY3B1aWQsIHhkcGMtPmNwdWlkX3BvbGljeSwgeGRwYy0+bnJfbGVhdmVzLAorICAg ICAgICAgICAgICAmZXJyLmxlYWYsICZlcnIuc3VibGVhZikpIHx8CisgICAgICAgICAocmV0ID0g eDg2X21zcl9jb3B5X2Zyb21fYnVmZmVyKAorICAgICAgICAgICAgICBuZXcubXNyLCB4ZHBjLT5t c3JfcG9saWN5LCB4ZHBjLT5ucl9tc3JzLCAmZXJyLm1zcikpICkKKyAgICAgICAgZ290byBvdXQ7 CisKKyAgICAvKiBUcmltIGFueSBuZXdseS1zdGFsZSBvdXQtb2YtcmFuZ2UgbGVhdmVzLiAqLwor ICAgIHg4Nl9jcHVpZF9wb2xpY3lfY2xlYXJfb3V0X29mX3JhbmdlX2xlYXZlcyhuZXcuY3B1aWQp OworCisgICAgLyogQXVkaXQgdGhlIGNvbWJpbmVkIGRhdGFzZXQuICovCisgICAgcmV0ID0geDg2 X2NwdV9wb2xpY2llc19hcmVfY29tcGF0aWJsZShzeXMsICZuZXcsICZlcnIpOworICAgIGlmICgg cmV0ICkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICAvKgorICAgICAqIEF1ZGl0IHdhcyBzdWNj ZXNzZnVsLiAgUmVwbGFjZSBleGlzdGluZyBwb2xpY2llcywgbGVhdmluZyB0aGUgb2xkCisgICAg ICogcG9saWNpZXMgdG8gYmUgZnJlZWQuCisgICAgICovCisgICAgU1dBUChuZXcuY3B1aWQsIGQt PmFyY2guY3B1aWQpOworICAgIFNXQVAobmV3Lm1zciwgICBkLT5hcmNoLm1zcik7CisKKyAgICAv KiBUT0RPOiBEcm9wIHdoZW4geDg2X2NwdV9wb2xpY2llc19hcmVfY29tcGF0aWJsZSgpIGlzIGNv bXBsZXRlZC4gKi8KKyAgICByZWNhbGN1bGF0ZV9jcHVpZF9wb2xpY3koZCk7CisKKyAgICAvKiBS ZWNhbGN1bGF0ZSByZWxldmFudCBkb20vdmNwdSBzdGF0ZSBub3cgdGhlIHBvbGljeSBoYXMgY2hh bmdlZC4gKi8KKyAgICBkb21haW5fY3B1X3BvbGljeV9jaGFuZ2VkKGQpOworCisgb3V0OgorICAg IC8qIEZyZWUgd2hpY2hldmVyIGNwdWlkL21zciBzdHJ1Y3RzIGFyZSBub3QgaW5zdGFsbGVkIGlu IHN0cnVjdCBkb21haW4uICovCisgICAgeGZyZWUobmV3LmNwdWlkKTsKKyAgICB4ZnJlZShuZXcu bXNyKTsKKworICAgIGlmICggcmV0ICkKKyAgICB7CisgICAgICAgIHhkcGMtPmVycl9sZWFmICAg ID0gZXJyLmxlYWY7CisgICAgICAgIHhkcGMtPmVycl9zdWJsZWFmID0gZXJyLnN1YmxlYWY7Cisg ICAgICAgIHhkcGMtPmVycl9tc3IgICAgID0gZXJyLm1zcjsKKyAgICB9CisKKyAgICByZXR1cm4g cmV0OworfQorCiBzdGF0aWMgaW50IHZjcHVfc2V0X3ZtY2Uoc3RydWN0IHZjcHUgKnYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHhlbl9kb21jdGxfZXh0X3ZjcHVjb250 ZXh0ICpldmMpCiB7CkBAIC0xNDc2LDYgKzE1MzUsMjcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgK ICAgICAgICAgY29weWJhY2sgPSB0cnVlOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgWEVO X0RPTUNUTF9zZXRfY3B1X3BvbGljeToKKyAgICAgICAgaWYgKCBkID09IGN1cnJkICkgLyogTm8g ZG9tYWluX3BhdXNlKCkgKi8KKyAgICAgICAgeworICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsK KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZG9tYWluX3BhdXNlKGQp OworCisgICAgICAgIGlmICggZC0+Y3JlYXRpb25fZmluaXNoZWQgKQorICAgICAgICAgICAgcmV0 ID0gLUVFWElTVDsgLyogTm8gY2hhbmdpbmcgb25jZSB0aGUgZG9tYWluIGlzIHJ1bm5pbmcuICov CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgcmV0ID0gdXBkYXRlX2RvbWFp bl9jcHVfcG9saWN5KGQsICZkb21jdGwtPnUuY3B1X3BvbGljeSk7CisgICAgICAgICAgICBpZiAo IHJldCApIC8qIENvcHkgZG9tY3RsLT51LmNwdV9wb2xpY3kuZXJyXyogdG8gZ3Vlc3QuICovCisg ICAgICAgICAgICAgICAgY29weWJhY2sgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgZG9t YWluX3VucGF1c2UoZCk7CisgICAgICAgIGJyZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAg cmV0ID0gaW9tbXVfZG9fZG9tY3RsKGRvbWN0bCwgZCwgdV9kb21jdGwpOwogICAgICAgICBicmVh azsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9pbmNsdWRl L3B1YmxpYy9kb21jdGwuaAppbmRleCA3N2Y1NDZjYmI4Li5iZDdkMjY1NDVkIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2Rv bWN0bC5oCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiaHZtL3NhdmUuaCIKICNpbmNsdWRl ICJtZW1vcnkuaCIKIAotI2RlZmluZSBYRU5fRE9NQ1RMX0lOVEVSRkFDRV9WRVJTSU9OIDB4MDAw MDAwMTEKKyNkZWZpbmUgWEVOX0RPTUNUTF9JTlRFUkZBQ0VfVkVSU0lPTiAweDAwMDAwMDEyCiAK IC8qCiAgKiBOQi4geGVuX2RvbWN0bC5kb21haW4gaXMgYW4gSU4vT1VUIHBhcmFtZXRlciBmb3Ig dGhpcyBvcGVyYXRpb24uCkBAIC02NTgsMTcgKzY1OCwyNCBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9j cHVpZCB7CiB9OwogCiAvKgotICogWEVOX0RPTUNUTF9nZXRfY3B1X3BvbGljeSAoeDg2IHNwZWNp ZmljKQorICogWEVOX0RPTUNUTF97Z2V0LHNldH1fY3B1X3BvbGljeSAoeDg2IHNwZWNpZmljKQog ICoKLSAqIFF1ZXJ5IHRoZSBDUFVJRCBhbmQgTVNSIHBvbGljaWVzIGZvciBhIHNwZWNpZmljIGRv bWFpbi4KKyAqIFF1ZXJ5IG9yIHNldCB0aGUgQ1BVSUQgYW5kIE1TUiBwb2xpY2llcyBmb3IgYSBz cGVjaWZpYyBkb21haW4uCiAgKi8KIHN0cnVjdCB4ZW5fZG9tY3RsX2NwdV9wb2xpY3kgewogICAg IHVpbnQzMl90IG5yX2xlYXZlczsgLyogSU4vT1VUOiBOdW1iZXIgb2YgbGVhdmVzIGluL3dyaXR0 ZW4gdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAqICdjcHVpZF9wb2xpY3knLiAqLwogICAg IHVpbnQzMl90IG5yX21zcnM7ICAgLyogSU4vT1VUOiBOdW1iZXIgb2YgTVNScyBpbi93cml0dGVu IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAnbXNyX2RvbWFpbl9wb2xpY3knICovCi0g ICAgWEVOX0dVRVNUX0hBTkRMRV82NCh4ZW5fY3B1aWRfbGVhZl90KSBjcHVpZF9wb2xpY3k7IC8q IE9VVCAqLwotICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoeGVuX21zcl9lbnRyeV90KSBtc3JfcG9s aWN5OyAgICAvKiBPVVQgKi8KKyAgICBYRU5fR1VFU1RfSEFORExFXzY0KHhlbl9jcHVpZF9sZWFm X3QpIGNwdWlkX3BvbGljeTsgLyogSU4vT1VUICovCisgICAgWEVOX0dVRVNUX0hBTkRMRV82NCh4 ZW5fbXNyX2VudHJ5X3QpIG1zcl9wb2xpY3k7ICAgIC8qIElOL09VVCAqLworCisgICAgLyoKKyAg ICAgKiBPVVQsIHNldF9wb2xpY3kgb25seS4gIFdyaXR0ZW4gaW4gc29tZSAoYnV0IG5vdCBhbGwp IGVycm9yIGNhc2VzIHRvCisgICAgICogaWRlbnRpZnkgcHJvYmxlbSB0aGUgQ1BVSUQgbGVhZi9z dWJsZWFmIGFuZC9vciBNU1Igd2hpY2ggYXVkaXRpbmcKKyAgICAgKiBvYmplY3RzIHRvLgorICAg ICAqLworICAgIHVpbnQzMl90IGVycl9sZWFmLCBlcnJfc3VibGVhZiwgZXJyX21zcjsKIH07CiB0 eXBlZGVmIHN0cnVjdCB4ZW5fZG9tY3RsX2NwdV9wb2xpY3kgeGVuX2RvbWN0bF9jcHVfcG9saWN5 X3Q7CiBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX2NwdV9wb2xpY3lfdCk7CkBA IC0xMTkzLDYgKzEyMDAsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7CiAvKiAjZGVmaW5lIFhFTl9E T01DVExfc2V0X2dudHRhYl9saW1pdHMgICAgICAgICAgODAgLSBNb3ZlZCBpbnRvIFhFTl9ET01D VExfY3JlYXRlZG9tYWluICovCiAjZGVmaW5lIFhFTl9ET01DVExfdnVhcnRfb3AgICAgICAgICAg ICAgICAgICAgICAgODEKICNkZWZpbmUgWEVOX0RPTUNUTF9nZXRfY3B1X3BvbGljeSAgICAgICAg ICAgICAgICA4MgorI2RlZmluZSBYRU5fRE9NQ1RMX3NldF9jcHVfcG9saWN5ICAgICAgICAgICAg ICAgIDgzCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfZ3Vlc3RtZW1pbyAgICAgICAgICAgIDEw MDAKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF9wYXVzZXZjcHUgICAgICAgICAgICAgMTAwMQog I2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3VucGF1c2V2Y3B1ICAgICAgICAgICAxMDAyCmRpZmYg LS1naXQgYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKaW5k ZXggNjgwMGYyZDlhMC4uYjIzNzcyNzg2YSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9ob29r cy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNzE1LDYgKzcxNSw3IEBAIHN0YXRp YyBpbnQgZmxhc2tfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIGludCBjbWQpCiAgICAgY2FzZSBY RU5fRE9NQ1RMX3NldF92aXJxX2hhbmRsZXI6CiAgICAgICAgIHJldHVybiBjdXJyZW50X2hhc19w ZXJtKGQsIFNFQ0NMQVNTX0RPTUFJTiwgRE9NQUlOX19TRVRfVklSUV9IQU5ETEVSKTsKIAorICAg IGNhc2UgWEVOX0RPTUNUTF9zZXRfY3B1X3BvbGljeToKICAgICBjYXNlIFhFTl9ET01DVExfc2V0 X2NwdWlkOgogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01B SU4yLCBET01BSU4yX19TRVRfQ1BVSUQpOwogCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3Bv bGljeS9hY2Nlc3NfdmVjdG9ycyBiL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3Jz CmluZGV4IDc2ZjNkNjBkZGQuLjZmM2Y5NDkzZjggMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2sv cG9saWN5L2FjY2Vzc192ZWN0b3JzCisrKyBiL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192 ZWN0b3JzCkBAIC0yMDcsNiArMjA3LDcgQEAgY2xhc3MgZG9tYWluMgogIyAgc291cmNlID0gdGhl IGRvbWFpbiBtYWtpbmcgdGhlIGh5cGVyY2FsbAogIyAgdGFyZ2V0ID0gdGhlIG5ldyB0YXJnZXQg ZG9tYWluCiAgICAgc2V0X2FzX3RhcmdldAorIyBYRU5fRE9NQ1RMX3NldF9jcHVfcG9saWN5CiAj IFhFTl9ET01DVExfc2V0X2NwdWlkCiAgICAgc2V0X2NwdWlkCiAjIFhFTl9ET01DVExfZ2V0dHNj aW5mbwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==