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,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 3B070C3F2D1 for ; Fri, 28 Feb 2020 09:34:19 +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 033C1246A8 for ; Fri, 28 Feb 2020 09:34:19 +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="OFoIZ5io" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 033C1246A8 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 1j7c20-0000cm-GL; Fri, 28 Feb 2020 09:34:04 +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 1j7c1z-0000cd-2P for xen-devel@lists.xenproject.org; Fri, 28 Feb 2020 09:34:03 +0000 X-Inumbo-ID: 73ec2c2b-5a0d-11ea-98e0-12813bfff9fa Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 73ec2c2b-5a0d-11ea-98e0-12813bfff9fa; Fri, 28 Feb 2020 09:34:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1582882441; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/L5QbZmqwv6BQ3PWrF+4VFTvbji6uxQ3edUPTu0fUoQ=; b=OFoIZ5ioUaEPEJWmBGGxsjKA2byGmB9c4qVh2mjS9WOsZPUk5v71wp/u w8iZM+WG8TTY/4MdbADZyIv+KuOqML+Rc9/BRGOfybK3//0GcmUluoCvU aqLVWmQYMN8HRUsl7ARghEuai46+oAh6p4OB1xfQdzhG7Wb170HgvQhd1 o=; Authentication-Results: esa6.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 (esa6.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=esa6.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa6.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=esa6.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 (esa6.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=esa6.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: DG0G3af32BZbbPyrQE0p2O+KcADmQhypuPctRMft2NLZoXctr4BVgtcnxQPTuZrQxc1tGc0NPl zLVnDTuOccfltyaAKjHqa7Y1xbbtyy9UGSqAQBGSAQmpQgn9bXLttQzdSHcWVismz9hUmJbLCl UZQBLELSKhD/QANbEdxdsMGzHz0uDzFPxyEvFWl3MEYLQxB8pwgIB7pEADKl9EG6730mzfiCu4 wD06PqcB37KI0a9ZmuAYCpmxlaYBh9CNHaJEB64Z9H6WBuU+G0MrfB1PAXOlfgzMU4c96UVQ+y VgA= X-SBRS: 2.7 X-MesageID: 13588529 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.70,495,1574139600"; d="scan'208";a="13588529" From: Roger Pau Monne To: Date: Fri, 28 Feb 2020 10:33:34 +0100 Message-ID: <20200228093334.36586-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200228093334.36586-1-roger.pau@citrix.com> References: <20200228093334.36586-1-roger.pau@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v4 2/2] 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 aW50ZXJydXB0IGNvbnRleHQuCgpNb3ZlIHRoZSBkZWZpbml0aW9uIG9mIHNjcmF0Y2hfY3B1bWFz ayB0byBzbXAuYyBpbiBvcmRlciB0byBwbGFjZSB0aGUKZGVjbGFyYXRpb24gYW5kIHRoZSBhY2Nl c3NvcnMgYXMgY2xvc2UgYXMgcG9zc2libGUuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9u bsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjM6CiAtIEZpeCBj b21taXQgbWVzc2FnZS4KIC0gU3BsaXQgdGhlIGNwdW1hc2sgdGFrZW4gc2VjdGlvbiBpbnRvIHR3 byBpbiBfY2xlYXJfaXJxX3ZlY3Rvci4KIC0gQWRkIGFuIGVtcHR5IHN0YXRlbWVudCBpbiBkb19t bXVleHRfb3AgdG8gYXZvaWQgYSBicmVhay4KIC0gQ2hhbmdlIHRoZSBsb2dpYyB1c2VkIHRvIHJl bGVhc2UgdGhlIHNjcmF0Y2ggY3B1bWFzayBpbgogICBfX2RvX3VwZGF0ZV92YV9tYXBwaW5nLgog LSBBZGQgYSAlcHMgcHJpbnQgdG8gc2NyYXRjaF9jcHVtYXNrIGhlbHBlci4KIC0gUmVtb3ZlIHBy aW50aW5nIHRoZSBjdXJyZW50IElQLCBhcyB0aGF0IHdvdWxkIGJlIGRvbmUgYnkgQlVHCiAgIGFu eXdheS4KIC0gUGFzcyB0aGUgY3B1bWFzayB0byBwdXRfc2NyYXRjaF9jcHVtYXNrIGFuZCB6YXAg dGhlIHBvaW50ZXIuCgpDaGFuZ2VzIHNpbmNlIHYxOgogLSBVc2UgX19idWlsdGluX3JldHVybl9h ZGRyZXNzKDApIGluc3RlYWQgb2YgX19mdW5jX18uCiAtIE1vdmUgZGVjbGFyYXRpb24gb2Ygc2Ny YXRjaF9jcHVtYXNrIGFuZCBzY3JhdGNoX2NwdW1hc2sgYWNjZXNzb3IgdG8KICAgc21wLmMuCiAt IERvIG5vdCBhbGxvdyB1c2FnZSBpbiAjTUMgb3IgI05NSSBjb250ZXh0LgotLS0KIHhlbi9hcmNo L3g4Ni9pb19hcGljLmMgICAgfCAgNiArKysrLS0KIHhlbi9hcmNoL3g4Ni9pcnEuYyAgICAgICAg fCAxNCArKysrKysrKysrLS0tLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAgICB8IDQwICsrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L21zaS5jICAg ICAgICB8ICA0ICsrKy0KIHhlbi9hcmNoL3g4Ni9zbXAuYyAgICAgICAgfCAyNSArKysrKysrKysr KysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni9zbXBib290LmMgICAgfCAgMSAtCiB4ZW4vaW5j bHVkZS9hc20teDg2L3NtcC5oIHwgMTQgKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwg ODQgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2lvX2FwaWMuYyBiL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMKaW5kZXggZTk4ZTA4ZTljOC4u MGJiOTk0ZjBiYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2lvX2FwaWMuYworKysgYi94ZW4v YXJjaC94ODYvaW9fYXBpYy5jCkBAIC0yMjM2LDEwICsyMjM2LDExIEBAIGludCBpb19hcGljX3Nl dF9wY2lfcm91dGluZyAoaW50IGlvYXBpYywgaW50IHBpbiwgaW50IGlycSwgaW50IGVkZ2VfbGV2 ZWwsIGludCBhCiAgICAgZW50cnkudmVjdG9yID0gdmVjdG9yOwogCiAgICAgaWYgKGNwdW1hc2tf aW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9tYXNrLCBUQVJHRVRfQ1BVUykpIHsKLSAgICAgICAg Y3B1bWFza190ICptYXNrID0gdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNrKTsKKyAgICAgICAgY3B1 bWFza190ICptYXNrID0gZ2V0X3NjcmF0Y2hfY3B1bWFzaygpOwogCiAgICAgICAgIGNwdW1hc2tf YW5kKG1hc2ssIGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKTsKICAgICAgICAgU0VU X0RFU1QoZW50cnksIGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChtYXNrKSk7CisgICAgICAg IHB1dF9zY3JhdGNoX2NwdW1hc2sobWFzayk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHJpbnRr KFhFTkxPR19FUlIgIklSUSVkOiBubyB0YXJnZXQgQ1BVICglKnBiIHZzICUqcGIpXG4iLAogICAg ICAgICAgICAgICAgaXJxLCBDUFVNQVNLX1BSKGRlc2MtPmFyY2guY3B1X21hc2spLCBDUFVNQVNL X1BSKFRBUkdFVF9DUFVTKSk7CkBAIC0yNDMzLDEwICsyNDM0LDExIEBAIGludCBpb2FwaWNfZ3Vl c3Rfd3JpdGUodW5zaWduZWQgbG9uZyBwaHlzYmFzZSwgdW5zaWduZWQgaW50IHJlZywgdTMyIHZh bCkKIAogICAgIGlmICggY3B1bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssIFRB UkdFVF9DUFVTKSApCiAgICAgewotICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlzX2NwdShz Y3JhdGNoX2NwdW1hc2spOworICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSBnZXRfc2NyYXRjaF9j cHVtYXNrKCk7CiAKICAgICAgICAgY3B1bWFza19hbmQobWFzaywgZGVzYy0+YXJjaC5jcHVfbWFz aywgVEFSR0VUX0NQVVMpOwogICAgICAgICBTRVRfREVTVChydGUsIGxvZ2ljYWwsIGNwdV9tYXNr X3RvX2FwaWNpZChtYXNrKSk7CisgICAgICAgIHB1dF9zY3JhdGNoX2NwdW1hc2sobWFzayk7CiAg ICAgfQogICAgIGVsc2UKICAgICB7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaXJxLmMgYi94 ZW4vYXJjaC94ODYvaXJxLmMKaW5kZXggY2MyZWI4ZTkyNS4uMTk0ODhkYWUyMSAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2lycS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9pcnEuYwpAQCAtMTk2LDcg KzE5Niw3IEBAIHN0YXRpYyB2b2lkIF9jbGVhcl9pcnFfdmVjdG9yKHN0cnVjdCBpcnFfZGVzYyAq ZGVzYykKIHsKICAgICB1bnNpZ25lZCBpbnQgY3B1LCBvbGRfdmVjdG9yLCBpcnEgPSBkZXNjLT5p cnE7CiAgICAgdW5zaWduZWQgaW50IHZlY3RvciA9IGRlc2MtPmFyY2gudmVjdG9yOwotICAgIGNw dW1hc2tfdCAqdG1wX21hc2sgPSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOworICAgIGNwdW1h c2tfdCAqdG1wX21hc2sgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAKICAgICBCVUdfT04oIXZh bGlkX2lycV92ZWN0b3IodmVjdG9yKSk7CiAKQEAgLTIwOCw2ICsyMDgsNyBAQCBzdGF0aWMgdm9p ZCBfY2xlYXJfaXJxX3ZlY3RvcihzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCiAgICAgICAgIEFTU0VS VChwZXJfY3B1KHZlY3Rvcl9pcnEsIGNwdSlbdmVjdG9yXSA9PSBpcnEpOwogICAgICAgICBwZXJf Y3B1KHZlY3Rvcl9pcnEsIGNwdSlbdmVjdG9yXSA9IH5pcnE7CiAgICAgfQorICAgIHB1dF9zY3Jh dGNoX2NwdW1hc2sodG1wX21hc2spOwogCiAgICAgZGVzYy0+YXJjaC52ZWN0b3IgPSBJUlFfVkVD VE9SX1VOQVNTSUdORUQ7CiAgICAgY3B1bWFza19jbGVhcihkZXNjLT5hcmNoLmNwdV9tYXNrKTsK QEAgLTIyNyw4ICsyMjgsOSBAQCBzdGF0aWMgdm9pZCBfY2xlYXJfaXJxX3ZlY3RvcihzdHJ1Y3Qg aXJxX2Rlc2MgKmRlc2MpCiAKICAgICAvKiBJZiB3ZSB3ZXJlIGluIG1vdGlvbiwgYWxzbyBjbGVh ciBkZXNjLT5hcmNoLm9sZF92ZWN0b3IgKi8KICAgICBvbGRfdmVjdG9yID0gZGVzYy0+YXJjaC5v bGRfdmVjdG9yOwotICAgIGNwdW1hc2tfYW5kKHRtcF9tYXNrLCBkZXNjLT5hcmNoLm9sZF9jcHVf bWFzaywgJmNwdV9vbmxpbmVfbWFwKTsKIAorICAgIGNwdW1hc2tfYW5kKHRtcF9tYXNrLCBkZXNj LT5hcmNoLm9sZF9jcHVfbWFzaywgJmNwdV9vbmxpbmVfbWFwKTsKKyAgICB0bXBfbWFzayA9IGdl dF9zY3JhdGNoX2NwdW1hc2soKTsKICAgICBmb3JfZWFjaF9jcHUoY3B1LCB0bXBfbWFzaykKICAg ICB7CiAgICAgICAgIEFTU0VSVChwZXJfY3B1KHZlY3Rvcl9pcnEsIGNwdSlbb2xkX3ZlY3Rvcl0g PT0gaXJxKTsKQEAgLTIzNiw2ICsyMzgsNyBAQCBzdGF0aWMgdm9pZCBfY2xlYXJfaXJxX3ZlY3Rv cihzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCiAgICAgICAgIHBlcl9jcHUodmVjdG9yX2lycSwgY3B1 KVtvbGRfdmVjdG9yXSA9IH5pcnE7CiAgICAgfQogCisgICAgcHV0X3NjcmF0Y2hfY3B1bWFzayh0 bXBfbWFzayk7CiAgICAgcmVsZWFzZV9vbGRfdmVjKGRlc2MpOwogCiAgICAgZGVzYy0+YXJjaC5t b3ZlX2luX3Byb2dyZXNzID0gMDsKQEAgLTExNTIsMTAgKzExNTUsMTEgQEAgc3RhdGljIHZvaWQg aXJxX2d1ZXN0X2VvaV90aW1lcl9mbih2b2lkICpkYXRhKQogICAgICAgICBicmVhazsKIAogICAg IGNhc2UgQUNLVFlQRV9FT0k6Ci0gICAgICAgIGNwdV9lb2lfbWFwID0gdGhpc19jcHUoc2NyYXRj aF9jcHVtYXNrKTsKKyAgICAgICAgY3B1X2VvaV9tYXAgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7 CiAgICAgICAgIGNwdW1hc2tfY29weShjcHVfZW9pX21hcCwgYWN0aW9uLT5jcHVfZW9pX21hcCk7 CiAgICAgICAgIHNwaW5fdW5sb2NrX2lycSgmZGVzYy0+bG9jayk7CiAgICAgICAgIG9uX3NlbGVj dGVkX2NwdXMoY3B1X2VvaV9tYXAsIHNldF9lb2lfcmVhZHksIGRlc2MsIDApOworICAgICAgICBw dXRfc2NyYXRjaF9jcHVtYXNrKGNwdV9lb2lfbWFwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K IApAQCAtMjUzMSwxMiArMjUzNSwxMiBAQCB2b2lkIGZpeHVwX2lycXMoY29uc3QgY3B1bWFza190 ICptYXNrLCBib29sIHZlcmJvc2UpCiAgICAgdW5zaWduZWQgaW50IGlycTsKICAgICBzdGF0aWMg aW50IHdhcm5lZDsKICAgICBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7CisgICAgY3B1bWFza190ICph ZmZpbml0eSA9IGdldF9zY3JhdGNoX2NwdW1hc2soKTsKIAogICAgIGZvciAoIGlycSA9IDA7IGly cSA8IG5yX2lycXM7IGlycSsrICkKICAgICB7CiAgICAgICAgIGJvb2wgYnJlYWtfYWZmaW5pdHkg PSBmYWxzZSwgc2V0X2FmZmluaXR5ID0gdHJ1ZTsKICAgICAgICAgdW5zaWduZWQgaW50IHZlY3Rv cjsKLSAgICAgICAgY3B1bWFza190ICphZmZpbml0eSA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFz ayk7CiAKICAgICAgICAgaWYgKCBpcnEgPT0gMiApCiAgICAgICAgICAgICBjb250aW51ZTsKQEAg LTI2NDAsNiArMjY0NCw4IEBAIHZvaWQgZml4dXBfaXJxcyhjb25zdCBjcHVtYXNrX3QgKm1hc2ss IGJvb2wgdmVyYm9zZSkKICAgICAgICAgICAgICAgICAgICBpcnEsIENQVU1BU0tfUFIoYWZmaW5p dHkpKTsKICAgICB9CiAKKyAgICBwdXRfc2NyYXRjaF9jcHVtYXNrKGFmZmluaXR5KTsKKwogICAg IC8qIFRoYXQgZG9lc24ndCBzZWVtIHN1ZmZpY2llbnQuICBHaXZlIGl0IDFtcy4gKi8KICAgICBs b2NhbF9pcnFfZW5hYmxlKCk7CiAgICAgbWRlbGF5KDEpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCA3MGI4N2M0ODMwLi5iM2IwOWEwMjE5 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpA QCAtMTI2Miw3ICsxMjYyLDcgQEAgdm9pZCBwdXRfcGFnZV9mcm9tX2wxZShsMV9wZ2VudHJ5X3Qg bDFlLCBzdHJ1Y3QgZG9tYWluICpsMWVfb3duZXIpCiAgICAgICAgICAgICAgKGwxZV9vd25lciA9 PSBwZ19vd25lcikgKQogICAgICAgICB7CiAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdjsKLSAg ICAgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7Cisg ICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAKICAg ICAgICAgICAgIGNwdW1hc2tfY2xlYXIobWFzayk7CiAKQEAgLTEyNzksNiArMTI3OSw3IEBAIHZv aWQgcHV0X3BhZ2VfZnJvbV9sMWUobDFfcGdlbnRyeV90IGwxZSwgc3RydWN0IGRvbWFpbiAqbDFl X293bmVyKQogCiAgICAgICAgICAgICBpZiAoICFjcHVtYXNrX2VtcHR5KG1hc2spICkKICAgICAg ICAgICAgICAgICBmbHVzaF90bGJfbWFzayhtYXNrKTsKKyAgICAgICAgICAgIHB1dF9zY3JhdGNo X2NwdW1hc2sobWFzayk7CiAgICAgICAgIH0KICNlbmRpZiAvKiBDT05GSUdfUFZfTERUX1BBR0lO RyAqLwogICAgICAgICBwdXRfcGFnZShwYWdlKTsKQEAgLTI5MDMsNyArMjkwNCw3IEBAIHN0YXRp YyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9u ZyB0eXBlLAogICAgICAgICAgICAgICAgICAqIHZpdGFsIHRoYXQgbm8gb3RoZXIgQ1BVcyBhcmUg bGVmdCB3aXRoIG1hcHBpbmdzIG9mIGEgZnJhbWUKICAgICAgICAgICAgICAgICAgKiB3aGljaCBp cyBhYm91dCB0byBiZWNvbWUgd3JpdGVhYmxlIHRvIHRoZSBndWVzdC4KICAgICAgICAgICAgICAg ICAgKi8KLSAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlzX2NwdShzY3JhdGNo X2NwdW1hc2spOworICAgICAgICAgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IGdldF9zY3JhdGNo X2NwdW1hc2soKTsKIAogICAgICAgICAgICAgICAgIEJVR19PTihpbl9pcnEoKSk7CiAgICAgICAg ICAgICAgICAgY3B1bWFza19jb3B5KG1hc2ssIGQtPmRpcnR5X2NwdW1hc2spOwpAQCAtMjkxOSw2 ICsyOTIwLDcgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpw YWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgIHBlcmZjX2luY3Io bmVlZF9mbHVzaF90bGJfZmx1c2gpOwogICAgICAgICAgICAgICAgICAgICBmbHVzaF90bGJfbWFz ayhtYXNrKTsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcHV0X3NjcmF0Y2hf Y3B1bWFzayhtYXNrKTsKIAogICAgICAgICAgICAgICAgIC8qIFdlIGxvc2UgZXhpc3RpbmcgdHlw ZSBhbmQgdmFsaWRpdHkuICovCiAgICAgICAgICAgICAgICAgbnggJj0gfihQR1RfdHlwZV9tYXNr IHwgUEdUX3ZhbGlkYXRlZCk7CkBAIC0zNjM1LDcgKzM2MzcsNyBAQCBsb25nIGRvX21tdWV4dF9v cCgKICAgICAgICAgY2FzZSBNTVVFWFRfVExCX0ZMVVNIX01VTFRJOgogICAgICAgICBjYXNlIE1N VUVYVF9JTlZMUEdfTVVMVEk6CiAgICAgICAgIHsKLSAgICAgICAgICAgIGNwdW1hc2tfdCAqbWFz ayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7CisgICAgICAgICAgICBjcHVtYXNrX3QgKm1h c2sgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAKICAgICAgICAgICAgIGlmICggdW5saWtlbHko Y3VycmQgIT0gcGdfb3duZXIpICkKICAgICAgICAgICAgICAgICByYyA9IC1FUEVSTTsKQEAgLTM2 NDUsMTIgKzM2NDcsMTMgQEAgbG9uZyBkb19tbXVleHRfb3AoCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hc2spKSApCiAgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwog ICAgICAgICAgICAgaWYgKCB1bmxpa2VseShyYykgKQotICAgICAgICAgICAgICAgIGJyZWFrOwot Ci0gICAgICAgICAgICBpZiAoIG9wLmNtZCA9PSBNTVVFWFRfVExCX0ZMVVNIX01VTFRJICkKKyAg ICAgICAgICAgICAgICA7CisgICAgICAgICAgICBlbHNlIGlmICggb3AuY21kID09IE1NVUVYVF9U TEJfRkxVU0hfTVVMVEkgKQogICAgICAgICAgICAgICAgIGZsdXNoX3RsYl9tYXNrKG1hc2spOwog ICAgICAgICAgICAgZWxzZSBpZiAoIF9fYWRkcl9vayhvcC5hcmcxLmxpbmVhcl9hZGRyKSApCiAg ICAgICAgICAgICAgICAgZmx1c2hfdGxiX29uZV9tYXNrKG1hc2ssIG9wLmFyZzEubGluZWFyX2Fk ZHIpOworICAgICAgICAgICAgcHV0X3NjcmF0Y2hfY3B1bWFzayhtYXNrKTsKKwogICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMzY4Myw3ICszNjg2LDcgQEAgbG9uZyBkb19tbXVl eHRfb3AoCiAgICAgICAgICAgICBlbHNlIGlmICggbGlrZWx5KGNhY2hlX2ZsdXNoX3Blcm1pdHRl ZChjdXJyZCkpICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg Y3B1OwotICAgICAgICAgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHRoaXNfY3B1KHNjcmF0Y2hf Y3B1bWFzayk7CisgICAgICAgICAgICAgICAgY3B1bWFza190ICptYXNrID0gZ2V0X3NjcmF0Y2hf Y3B1bWFzaygpOwogCiAgICAgICAgICAgICAgICAgY3B1bWFza19jbGVhcihtYXNrKTsKICAgICAg ICAgICAgICAgICBmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKQEAgLTM2OTEsNiArMzY5NCw3IEBA IGxvbmcgZG9fbW11ZXh0X29wKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGVyX2NwdShjcHVfc2libGluZ19tYXNrLCBjcHUpKSApCiAgICAgICAgICAgICAg ICAgICAgICAgICBfX2NwdW1hc2tfc2V0X2NwdShjcHUsIG1hc2spOwogICAgICAgICAgICAgICAg IGZsdXNoX21hc2sobWFzaywgRkxVU0hfQ0FDSEUpOworICAgICAgICAgICAgICAgIHB1dF9zY3Jh dGNoX2NwdW1hc2sobWFzayk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAg ICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwpAQCAtNDE1NiwxMiArNDE2MCwxMyBAQCBsb25nIGRv X21tdV91cGRhdGUoCiAgICAgICAgICAqIEZvcmNlIG90aGVyIHZDUFUtcyBvZiB0aGUgYWZmZWN0 ZWQgZ3Vlc3QgdG8gcGljayB1cCBMNCBlbnRyeQogICAgICAgICAgKiBjaGFuZ2VzIChpZiBhbnkp LgogICAgICAgICAgKi8KLSAgICAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3Jf aWQoKTsKLSAgICAgICAgY3B1bWFza190ICptYXNrID0gcGVyX2NwdShzY3JhdGNoX2NwdW1hc2ss IGNwdSk7CisgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IGdldF9zY3JhdGNoX2NwdW1hc2soKTsK IAotICAgICAgICBjcHVtYXNrX2FuZG5vdChtYXNrLCBwdF9vd25lci0+ZGlydHlfY3B1bWFzaywg Y3B1bWFza19vZihjcHUpKTsKKyAgICAgICAgY3B1bWFza19hbmRub3QobWFzaywgcHRfb3duZXIt PmRpcnR5X2NwdW1hc2ssCisgICAgICAgICAgICAgICAgICAgICAgIGNwdW1hc2tfb2Yoc21wX3By b2Nlc3Nvcl9pZCgpKSk7CiAgICAgICAgIGlmICggIWNwdW1hc2tfZW1wdHkobWFzaykgKQogICAg ICAgICAgICAgZmx1c2hfbWFzayhtYXNrLCBGTFVTSF9UTEJfR0xPQkFMIHwgRkxVU0hfUk9PVF9Q R1RCTCk7CisgICAgICAgIHB1dF9zY3JhdGNoX2NwdW1hc2sobWFzayk7CiAgICAgfQogCiAgICAg cGVyZmNfYWRkKG51bV9wYWdlX3VwZGF0ZXMsIGkpOwpAQCAtNDM1Myw3ICs0MzU4LDcgQEAgc3Rh dGljIGludCBfX2RvX3VwZGF0ZV92YV9tYXBwaW5nKAogICAgICAgICAgICAgbWFzayA9IGQtPmRp cnR5X2NwdW1hc2s7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKLSAgICAg ICAgICAgIG1hc2sgPSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOworICAgICAgICAgICAgbWFz ayA9IGdldF9zY3JhdGNoX2NwdW1hc2soKTsKICAgICAgICAgICAgIHJjID0gdmNwdW1hc2tfdG9f cGNwdW1hc2soZCwgY29uc3RfZ3Vlc3RfaGFuZGxlX2Zyb21fcHRyKGJtYXBfcHRyLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdm9pZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2sp OwpAQCAtNDM3Myw3ICs0Mzc4LDcgQEAgc3RhdGljIGludCBfX2RvX3VwZGF0ZV92YV9tYXBwaW5n KAogICAgICAgICAgICAgbWFzayA9IGQtPmRpcnR5X2NwdW1hc2s7CiAgICAgICAgICAgICBicmVh azsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIG1hc2sgPSB0aGlzX2NwdShzY3JhdGNo X2NwdW1hc2spOworICAgICAgICAgICAgbWFzayA9IGdldF9zY3JhdGNoX2NwdW1hc2soKTsKICAg ICAgICAgICAgIHJjID0gdmNwdW1hc2tfdG9fcGNwdW1hc2soZCwgY29uc3RfZ3Vlc3RfaGFuZGxl X2Zyb21fcHRyKGJtYXBfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCksCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hc2spOwpAQCAtNDM4NCw2ICs0Mzg5LDE3IEBAIHN0YXRp YyBpbnQgX19kb191cGRhdGVfdmFfbWFwcGluZygKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisg ICAgc3dpdGNoICggZmxhZ3MgJiB+VVZNRl9GTFVTSFRZUEVfTUFTSyApCisgICAgeworICAgIGNh c2UgVVZNRl9MT0NBTDoKKyAgICBjYXNlIFVWTUZfQUxMOgorICAgICAgICBicmVhazsKKworICAg IGRlZmF1bHQ6CisgICAgICAgIHB1dF9zY3JhdGNoX2NwdW1hc2sobWFzayk7CisgICAgfQorCisK ICAgICByZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc2kuYyBiL3hl bi9hcmNoL3g4Ni9tc2kuYwppbmRleCAxNjFlZTYwZGJlLi42ZDE5OGY4NjY1IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvbXNpLmMKKysrIGIveGVuL2FyY2gveDg2L21zaS5jCkBAIC0xNTksMTMg KzE1OSwxNSBAQCB2b2lkIG1zaV9jb21wb3NlX21zZyh1bnNpZ25lZCB2ZWN0b3IsIGNvbnN0IGNw dW1hc2tfdCAqY3B1X21hc2ssIHN0cnVjdCBtc2lfbXNnCiAKICAgICBpZiAoIGNwdV9tYXNrICkK ICAgICB7Ci0gICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFz ayk7CisgICAgICAgIGNwdW1hc2tfdCAqbWFzazsKIAogICAgICAgICBpZiAoICFjcHVtYXNrX2lu dGVyc2VjdHMoY3B1X21hc2ssICZjcHVfb25saW5lX21hcCkgKQogICAgICAgICAgICAgcmV0dXJu OwogCisgICAgICAgIG1hc2sgPSBnZXRfc2NyYXRjaF9jcHVtYXNrKCk7CiAgICAgICAgIGNwdW1h c2tfYW5kKG1hc2ssIGNwdV9tYXNrLCAmY3B1X29ubGluZV9tYXApOwogICAgICAgICBtc2ctPmRl c3QzMiA9IGNwdV9tYXNrX3RvX2FwaWNpZChtYXNrKTsKKyAgICAgICAgcHV0X3NjcmF0Y2hfY3B1 bWFzayhtYXNrKTsKICAgICB9CiAKICAgICBtc2ctPmFkZHJlc3NfaGkgPSBNU0lfQUREUl9CQVNF X0hJOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NtcC5jIGIveGVuL2FyY2gveDg2L3NtcC5j CmluZGV4IDA3MjYzOGYwZjYuLjk0NWRiYWJlZmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9z bXAuYworKysgYi94ZW4vYXJjaC94ODYvc21wLmMKQEAgLTI1LDYgKzI1LDMxIEBACiAjaW5jbHVk ZSA8aXJxX3ZlY3RvcnMuaD4KICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KIAorREVGSU5FX1BFUl9D UFVfUkVBRF9NT1NUTFkoY3B1bWFza192YXJfdCwgc2NyYXRjaF9jcHVtYXNrKTsKKworI2lmbmRl ZiBOREVCVUcKK2NwdW1hc2tfdCAqc2NyYXRjaF9jcHVtYXNrKGJvb2wgdXNlKQoreworICAgIHN0 YXRpYyBERUZJTkVfUEVSX0NQVSh2b2lkICosIHNjcmF0Y2hfY3B1bWFza191c2UpOworCisgICAg LyoKKyAgICAgKiBEdWUgdG8gcmVlbnRyYW5jeSBzY3JhdGNoIGNwdW1hc2sgY2Fubm90IGJlIHVz ZWQgaW4gSVJRLCAjTUMgb3IgI05NSQorICAgICAqIGNvbnRleHQuCisgICAgICovCisgICAgQlVH X09OKGluX2lycSgpIHx8IGluX21jZV9oYW5kbGVyKCkgfHwgaW5fbm1pX2hhbmRsZXIoKSk7CisK KyAgICBpZiAoIHVzZSAmJiB1bmxpa2VseSh0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2tfdXNlKSkg KQorICAgIHsKKyAgICAgICAgcHJpbnRrKCJzY3JhdGNoIENQVSBtYXNrIGFscmVhZHkgaW4gdXNl IGJ5ICVwcyAoJXApXG4iLAorICAgICAgICAgICAgICAgdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNr X3VzZSksIHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFza191c2UpKTsKKyAgICAgICAgQlVHKCk7Cisg ICAgfQorICAgIHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFza191c2UpID0gdXNlID8gX19idWlsdGlu X3JldHVybl9hZGRyZXNzKDApIDogTlVMTDsKKworICAgIHJldHVybiB1c2UgPyB0aGlzX2NwdShz Y3JhdGNoX2NwdW1hc2spIDogTlVMTDsKK30KKyNlbmRpZgorCiAvKiBIZWxwZXIgZnVuY3Rpb25z IHRvIHByZXBhcmUgQVBJQyByZWdpc3RlciB2YWx1ZXMuICovCiBzdGF0aWMgdW5zaWduZWQgaW50 IHByZXBhcmVfSUNSKHVuc2lnbmVkIGludCBzaG9ydGN1dCwgaW50IHZlY3RvcikKIHsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9zbXBib290LmMgYi94ZW4vYXJjaC94ODYvc21wYm9vdC5jCmlu ZGV4IDZjNTQ4YjBiNTMuLmUyNmI2MWE4YjQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zbXBi b290LmMKKysrIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwpAQCAtNTQsNyArNTQsNiBAQCBERUZJ TkVfUEVSX0NQVV9SRUFEX01PU1RMWShjcHVtYXNrX3Zhcl90LCBjcHVfc2libGluZ19tYXNrKTsK IC8qIHJlcHJlc2VudGluZyBIVCBhbmQgY29yZSBzaWJsaW5ncyBvZiBlYWNoIGxvZ2ljYWwgQ1BV ICovCiBERUZJTkVfUEVSX0NQVV9SRUFEX01PU1RMWShjcHVtYXNrX3Zhcl90LCBjcHVfY29yZV9t YXNrKTsKIAotREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkoY3B1bWFza192YXJfdCwgc2NyYXRj aF9jcHVtYXNrKTsKIHN0YXRpYyBjcHVtYXNrX3Qgc2NyYXRjaF9jcHUwbWFzazsKIAogREVGSU5F X1BFUl9DUFVfUkVBRF9NT1NUTFkoY3B1bWFza192YXJfdCwgc2VuZF9pcGlfY3B1bWFzayk7CmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3NtcC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9zbXAuaAppbmRleCA5MmQ2OWE1ZWEwLi5kMmYwYmIwYjRmIDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS9hc20teDg2L3NtcC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc21wLmgKQEAgLTIz LDYgKzIzLDIwIEBAIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3Zhcl90LCBjcHVfc2libGluZ19t YXNrKTsKIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3Zhcl90LCBjcHVfY29yZV9tYXNrKTsKIERF Q0xBUkVfUEVSX0NQVShjcHVtYXNrX3Zhcl90LCBzY3JhdGNoX2NwdW1hc2spOwogCisjaWZuZGVm IE5ERUJVRworLyogTm90IHRvIGJlIGNhbGxlZCBkaXJlY3RseSwgdXNlIHtnZXQvcHV0fV9zY3Jh dGNoX2NwdW1hc2soKS4gKi8KK2NwdW1hc2tfdCAqc2NyYXRjaF9jcHVtYXNrKGJvb2wgdXNlKTsK KyNkZWZpbmUgZ2V0X3NjcmF0Y2hfY3B1bWFzaygpIHNjcmF0Y2hfY3B1bWFzayh0cnVlKQorI2Rl ZmluZSBwdXRfc2NyYXRjaF9jcHVtYXNrKG0pIGRvIHsgICAgICAgICAgICAgXAorICAgIEJVR19P TigobSkgIT0gdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNrKSk7ICAgXAorICAgIHNjcmF0Y2hfY3B1 bWFzayhmYWxzZSk7ICAgICAgICAgICAgICAgICAgICAgXAorICAgIChtKSA9IE5VTEw7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoIGZhbHNlICkKKyNlbHNlCisj ZGVmaW5lIGdldF9zY3JhdGNoX2NwdW1hc2soKSB0aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spCisj ZGVmaW5lIHB1dF9zY3JhdGNoX2NwdW1hc2sobSkKKyNlbmRpZgorCiAvKgogICogRG8gd2UsIGZv ciBwbGF0Zm9ybSByZWFzb25zLCBuZWVkIHRvIGFjdHVhbGx5IGtlZXAgQ1BVcyBvbmxpbmUgd2hl biB3ZQogICogd291bGQgb3RoZXJ3aXNlIHByZWZlciB0aGVtIHRvIGJlIG9mZj8KLS0gCjIuMjUu MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=