From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?utf-8?B?TW9ubsOp?= Subject: Re: [PATCH v2 06/12] x86/IRQ: consolidate use of ->arch.cpu_mask Date: Mon, 13 May 2019 13:32:23 +0200 Message-ID: <20190513113223.pyvrp6nrhbczgbjj@Air-de-Roger> References: <5CC6DD090200007800229E80@prv1-mh.provo.novell.com> <5CD2D2C8020000780022CCF2@prv1-mh.provo.novell.com> <5CD2D545020000780022CD3D@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 1hQ9C8-0001JJ-5l for xen-devel@lists.xenproject.org; Mon, 13 May 2019 11:32:36 +0000 Content-Disposition: inline In-Reply-To: <5CD2D545020000780022CD3D@prv1-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: xen-devel , Wei Liu , Andrew Cooper List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBNYXkgMDgsIDIwMTkgYXQgMDc6MTA6MjlBTSAtMDYwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gTWl4ZWQgbWVhbmluZyB3YXMgaW1wbGllZCBzbyBmYXIgYnkgZGlmZmVyZW50IHBpZWNl cyBvZiBjb2RlIC0KPiBkaXNhZ3JlZW1lbnQgd2FzIGluIHBhcnRpY3VsYXIgYWJvdXQgd2hldGhl ciB0byBleHBlY3Qgb2ZmbGluZSBDUFVzJwo+IGJpdHMgdG8gcG9zc2libHkgYmUgc2V0LiBTd2l0 Y2ggdG8gYSBtb3N0bHkgY29uc2lzdGVudCBtZWFuaW5nCj4gKGV4Y2VwdGlvbiBiZWluZyBoaWdo IHByaW9yaXR5IGludGVycnVwdHMsIHdoaWNoIHdvdWxkIHBlcmhhcHMgYmV0dGVyCj4gYmUgc3dp dGNoZWQgdG8gdGhlIHNhbWUgbW9kZWwgYXMgd2VsbCBpbiBkdWUgY291cnNlKS4gVXNlIHRoZSBm aWVsZCB0bwo+IHJlY29yZCB0aGUgdmVjdG9yIGFsbG9jYXRpb24gbWFzaywgaS5lLiBwb3RlbnRp YWxseSBpbmNsdWRpbmcgYml0cyBvZgo+IG9mZmxpbmUgKHBhcmtlZCkgQ1BVcy4gVGhpcyBpbXBs aWVzIHRoYXQgYmVmb3JlIHBhc3NpbmcgdGhlIG1hc2sgdG8KPiBjZXJ0YWluIGZ1bmN0aW9ucyAo bW9zdCBub3RhYmx5IGNwdV9tYXNrX3RvX2FwaWNpZCgpKSBpdCBuZWVkcyB0byBiZQo+IGZ1cnRo ZXIgcmVkdWNlZCB0byB0aGUgb25saW5lIHN1YnNldC4KPiAKPiBUaGUgZXhjZXB0aW9uIG9mIGhp Z2ggcHJpb3JpdHkgaW50ZXJydXB0cyBpcyBhbHNvIHdoeSBmb3IgdGhlIG1vbWVudAo+IF9iaW5k X2lycV92ZWN0b3IoKSBpcyBsZWZ0IGFzIGlzLCBkZXNwaXRlIGxvb2tpbmcgd3Jvbmc6IEl0J3Mg dXNlZAo+IGV4Y2x1c2l2ZWx5IGZvciBJUlEwLCB3aGljaCBpc24ndCBzdXBwb3NlZCB0byBtb3Zl IG9mZiBDUFUwIGF0IGFueSB0aW1lLgo+IAo+IFRoZSBwcmlvciBsYWNrIG9mIHJlc3RyaWN0aW5n IHRvIG9ubGluZSBDUFVzIGluIHNldF9kZXNjX2FmZmluaXR5KCkKPiBiZWZvcmUgY2FsbGluZyBj cHVfbWFza190b19hcGljaWQoKSBpbiBwYXJ0aWN1bGFyIGFsbG93ZWQgKGluIHgyQVBJQwo+IGNs dXN0ZXJlZCBtb2RlKSBvZmZsaW5lZCBDUFVzIHRvIGVuZCB1cCBlbmFibGVkIGluIGFuIElSUSdz IGRlc3RpbmF0aW9uCj4gZmllbGQuIChJIHdvbmRlciB3aGV0aGVyIHZlY3Rvcl9hbGxvY2F0aW9u X2NwdW1hc2tfZmxhdCgpIHNob3VsZG4ndAo+IGZvbGxvdyBhIHNpbWlsYXIgbW9kZWwsIHVzaW5n IGNwdV9wcmVzZW50X21hcCBpbiBmYXZvciBvZgo+IGNwdV9vbmxpbmVfbWFwLikKPiAKPiBGb3Ig SU8tQVBJQyBjb2RlIGl0IHdhcyBkZWZpbml0ZWx5IHdyb25nIHRvIHBvdGVudGlhbGx5IHN0b3Jl LCBhcyBhCj4gZmFsbGJhY2ssIFRBUkdFVF9DUFVTIChpLmUuIGFsbCBvbmxpbmUgb25lcykgaW50 byB0aGUgZmllbGQsIGFzIHRoYXQKPiB3b3VsZCBoYXZlIGNhdXNlZCBwcm9ibGVtcyB3aGVuIGRl dGVybWluaW5nIG9uIHdoaWNoIENQVXMgdG8gcmVsZWFzZQo+IHZlY3RvcnMgd2hlbiB0aGV5J3Zl IGdvbmUgb3V0IG9mIHVzZS4gRGlzYWJsZSBpbnRlcnJ1cHRzIGluc3RlYWQgd2hlbgo+IG5vIHZh bGlkIHRhcmdldCBDUFUgY2FuIGJlIGVzdGFibGlzaGVkICh3aGljaCBjb2RlIGVsc2V3aGVyZSBz aG91bGQKPiBndWFyYW50ZWUgdG8gbmV2ZXIgaGFwcGVuKSwgYW5kIGxvZyBhIG1lc3NhZ2UgaW4g c3VjaCBhbiB1bmxpa2VseSBldmVudC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+CgpUaGFua3MuCgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7D qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTb21lIGNvbW1lbnRzIGJlbG93LgoKPiAtLS0KPiB2 MjogTmV3Lgo+IAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMKPiArKysgYi94ZW4vYXJj aC94ODYvaW9fYXBpYy5jCj4gQEAgLTY4MCw3ICs2ODAsNyBAQCB2b2lkIC8qX19pbml0Ki8gc2V0 dXBfaW9hcGljX2Rlc3Qodm9pZCkKPiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICAgICAg ICAgICAgICBpcnEgPSBwaW5fMl9pcnEoaXJxX2VudHJ5LCBpb2FwaWMsIHBpbik7Cj4gICAgICAg ICAgICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhpcnEpOwo+IC0gICAgICAgICAgICBCVUdfT04oY3B1 bWFza19lbXB0eShkZXNjLT5hcmNoLmNwdV9tYXNrKSk7Cj4gKyAgICAgICAgICAgIEJVR19PTigh Y3B1bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssICZjcHVfb25saW5lX21hcCkp OwoKSSB3b25kZXIgaWYgbWF5YmUgeW91IGNvdWxkIGluc3RlYWQgZG86CgppZiAoIGNwdW1hc2tf aW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9tYXNrLCAmY3B1X29ubGluZV9tYXApICkKICAgIHNl dF9pb2FwaWNfYWZmaW5pdHlfaXJxKGRlc2MsIGRlc2MtPmFyY2guY3B1X21hc2spOwplbHNlCiAg ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKCkkgZ3Vlc3MgaWYgdGhlIElSUSBpcyBpbiB1c2UgYnkg WGVuIGl0c2VsZiB0aGUgZmFpbHVyZSBvdWdodCB0byBiZQpmYXRhbC4KCj4gICAgICAgICAgICAg IHNldF9pb2FwaWNfYWZmaW5pdHlfaXJxKGRlc2MsIGRlc2MtPmFyY2guY3B1X21hc2spOwo+ICAg ICAgICAgIH0KPiAgCj4gQEAgLTIxOTcsNyArMjE5Nyw2IEBAIGludCBpb19hcGljX3NldF9wY2lf cm91dGluZyAoaW50IGlvYXBpYywKPiAgewo+ICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjID0g aXJxX3RvX2Rlc2MoaXJxKTsKPiAgICAgIHN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5 Owo+IC0gICAgY3B1bWFza190IG1hc2s7Cj4gICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAg ICAgaW50IHZlY3RvcjsKPiAgCj4gQEAgLTIyMzIsMTEgKzIyMzEsMTcgQEAgaW50IGlvX2FwaWNf c2V0X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLAo+ICAgICAgICAgIHJldHVybiB2ZWN0b3I7Cj4g ICAgICBlbnRyeS52ZWN0b3IgPSB2ZWN0b3I7Cj4gIAo+IC0gICAgY3B1bWFza19jb3B5KCZtYXNr LCBUQVJHRVRfQ1BVUyk7Cj4gLSAgICAvKiBEb24ndCBjaGFuY2UgZW5kaW5nIHVwIHdpdGggYW4g ZW1wdHkgbWFzay4gKi8KPiAtICAgIGlmIChjcHVtYXNrX2ludGVyc2VjdHMoJm1hc2ssIGRlc2Mt PmFyY2guY3B1X21hc2spKQo+IC0gICAgICAgIGNwdW1hc2tfYW5kKCZtYXNrLCAmbWFzaywgZGVz Yy0+YXJjaC5jcHVfbWFzayk7Cj4gLSAgICBTRVRfREVTVChlbnRyeSwgbG9naWNhbCwgY3B1X21h c2tfdG9fYXBpY2lkKCZtYXNrKSk7Cj4gKyAgICBpZiAoY3B1bWFza19pbnRlcnNlY3RzKGRlc2Mt PmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKSkgewo+ICsgICAgICAgIGNwdW1hc2tfdCAqbWFz ayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7Cj4gKwo+ICsgICAgICAgIGNwdW1hc2tfYW5k KG1hc2ssIGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKTsKPiArICAgICAgICBTRVRf REVTVChlbnRyeSwgbG9naWNhbCwgY3B1X21hc2tfdG9fYXBpY2lkKG1hc2spKTsKPiArICAgIH0g ZWxzZSB7Cj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIklSUSVkOiBubyB0YXJnZXQgQ1BV ICglKnBiIHZzICUqcGIpXG4iLAo+ICsgICAgICAgICAgICAgICBpcnEsIG5yX2NwdV9pZHMsIGNw dW1hc2tfYml0cyhkZXNjLT5hcmNoLmNwdV9tYXNrKSwKPiArICAgICAgICAgICAgICAgbnJfY3B1 X2lkcywgY3B1bWFza19iaXRzKFRBUkdFVF9DUFVTKSk7Cj4gKyAgICAgICAgZGVzYy0+c3RhdHVz IHw9IElSUV9ESVNBQkxFRDsKPiArICAgIH0KCkhtLCBwYXJ0IG9mIHRoaXMgZmlsZSBkb2Vzbid0 IHNlZW0gdG8gdXNlIFhlbiBjb2Rpbmcgc3R5bGUsIGJ1dCB0aGUKY2h1bmsgeW91IGFkZCBiZWxv dyBkb2VzIHVzZSBpdC4gQW5kIHRoZXJlIGFyZSBmdW5jdGlvbnMgKGxpa2UKbWFza19hbmRfYWNr X2xldmVsX2lvYXBpY19pcnEgdGhhdCBzZWVtIHRvIHVzZSBhIG1peCBvZiBjb2RpbmcKc3R5bGVz KS4KCkknbSBub3Qgc3VyZSB3aGF0J3MgdGhlIHBvbGljeSBoZXJlLCBzaG91bGQgbmV3IGNodW5r cyBmb2xsb3cgWGVuJ3MKY29kaW5nIHN0eWxlPwoKPiAgCj4gICAgICBhcGljX3ByaW50ayhBUElD X0RFQlVHLCBLRVJOX0RFQlVHICJJT0FQSUNbJWRdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgIgo+ ICAJCSIoJWQtJWQgLT4gJSN4IC0+IElSUSAlZCBNb2RlOiVpIEFjdGl2ZTolaSlcbiIsIGlvYXBp YywKPiBAQCAtMjQyMiw3ICsyNDI3LDIxIEBAIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWdu ZWQgbG9uZyBwaHkKPiAgICAgIC8qIFNldCB0aGUgdmVjdG9yIGZpZWxkIHRvIHRoZSByZWFsIHZl Y3RvciEgKi8KPiAgICAgIHJ0ZS52ZWN0b3IgPSBkZXNjLT5hcmNoLnZlY3RvcjsKPiAgCj4gLSAg ICBTRVRfREVTVChydGUsIGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChkZXNjLT5hcmNoLmNw dV9tYXNrKSk7Cj4gKyAgICBpZiAoIGNwdW1hc2tfaW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9t YXNrLCBUQVJHRVRfQ1BVUykgKQo+ICsgICAgewo+ICsgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9 IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7Cj4gKwo+ICsgICAgICAgIGNwdW1hc2tfYW5kKG1h c2ssIGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKTsKPiArICAgICAgICBTRVRfREVT VChydGUsIGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChtYXNrKSk7Cj4gKyAgICB9Cj4gKyAg ICBlbHNlCj4gKyAgICB7Cj4gKyAgICAgICAgZ3ByaW50ayhYRU5MT0dfRVJSLCAiSVJRJWQ6IG5v IHRhcmdldCBDUFUgKCUqcGIgdnMgJSpwYilcbiIsCj4gKyAgICAgICAgICAgICAgIGlycSwgbnJf Y3B1X2lkcywgY3B1bWFza19iaXRzKGRlc2MtPmFyY2guY3B1X21hc2spLAo+ICsgICAgICAgICAg ICAgICBucl9jcHVfaWRzLCBjcHVtYXNrX2JpdHMoVEFSR0VUX0NQVVMpKTsKPiArICAgICAgICBk ZXNjLT5zdGF0dXMgfD0gSVJRX0RJU0FCTEVEOwo+ICsgICAgICAgIHJ0ZS5tYXNrID0gMTsKPiAr ICAgIH0KPiAgCj4gICAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIDAsIHJ0ZSk7 Cj4gICAgICAKPiAtLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMKPiArKysgYi94ZW4vYXJjaC94ODYv aXJxLmMKPiBAQCAtNDcxLDExICs0NzEsMTMgQEAgc3RhdGljIGludCBfX2Fzc2lnbl9pcnFfdmVj dG9yKAo+ICAgICAgICovCj4gICAgICBzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1Rf RFlOQU1JQ19WRUNUT1IsIGN1cnJlbnRfb2Zmc2V0ID0gMDsKPiAgICAgIGludCBjcHUsIGVyciwg b2xkX3ZlY3RvcjsKPiAtICAgIGNwdW1hc2tfdCB0bXBfbWFzazsKPiAgICAgIHZtYXNrX3QgKmly cV91c2VkX3ZlY3RvcnMgPSBOVUxMOwo+ICAKPiAgICAgIG9sZF92ZWN0b3IgPSBpcnFfdG9fdmVj dG9yKGlycSk7Cj4gLSAgICBpZiAob2xkX3ZlY3RvciA+IDApIHsKPiArICAgIGlmICggb2xkX3Zl Y3RvciA+IDAgKQoKQW5vdGhlciBjYW5kaWRhdGUgdG8gc3dpdGNoIHRvIHZhbGlkX2lycV92ZWN0 b3Igb3IgYXQgbGVhc3QgbWFrZSBhbgpleHBsaWNpdCBjb21wYXJpc29uIHdpdGggSVJRX1ZFQ1RP Ul9VTkFTU0lHTkVELgoKU2VlaW5nIHlvdXIgcmVwbHkgdG8gbXkgY29tbWVudCBpbiB0aGF0IGRp cmVjdGlvbiBvbiBhIHByZXZpb3VzIHBhdGNoCnRoaXMgY2FuIGJlIGRvbmUgYXMgYSBmb2xsb3cg dXAuCgpSb2dlci4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= 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=-5.9 required=3.0 tests=FROM_EXCESS_BASE64, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,USER_AGENT_NEOMUTT 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 D4806C04AA7 for ; Mon, 13 May 2019 11:32:58 +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 AFE342070D for ; Mon, 13 May 2019 11:32:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AFE342070D 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 1hQ9C8-0001JO-Qm; Mon, 13 May 2019 11:32:36 +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 1hQ9C8-0001JJ-5l for xen-devel@lists.xenproject.org; Mon, 13 May 2019 11:32:36 +0000 X-Inumbo-ID: cb68bb56-7572-11e9-9adf-538917fd5f5d Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id cb68bb56-7572-11e9-9adf-538917fd5f5d; Mon, 13 May 2019 11:32:31 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,465,1549929600"; d="scan'208";a="89707091" Date: Mon, 13 May 2019 13:32:23 +0200 From: Roger Pau =?utf-8?B?TW9ubsOp?= To: Jan Beulich Message-ID: <20190513113223.pyvrp6nrhbczgbjj@Air-de-Roger> References: <5CC6DD090200007800229E80@prv1-mh.provo.novell.com> <5CD2D2C8020000780022CCF2@prv1-mh.provo.novell.com> <5CD2D545020000780022CD3D@prv1-mh.provo.novell.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <5CD2D545020000780022CD3D@prv1-mh.provo.novell.com> User-Agent: NeoMutt/20180716 X-ClientProxiedBy: AMSPEX02CAS01.citrite.net (10.69.22.112) To AMSPEX02CL02.citrite.net (10.69.22.126) Subject: Re: [Xen-devel] [PATCH v2 06/12] x86/IRQ: consolidate use of ->arch.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: xen-devel , Wei Liu , Andrew Cooper Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190513113223.cLwo5tnx326-9Z5v1G3sCyyPnmGCcWBhSu8KwiFnaGo@z> T24gV2VkLCBNYXkgMDgsIDIwMTkgYXQgMDc6MTA6MjlBTSAtMDYwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gTWl4ZWQgbWVhbmluZyB3YXMgaW1wbGllZCBzbyBmYXIgYnkgZGlmZmVyZW50IHBpZWNl cyBvZiBjb2RlIC0KPiBkaXNhZ3JlZW1lbnQgd2FzIGluIHBhcnRpY3VsYXIgYWJvdXQgd2hldGhl ciB0byBleHBlY3Qgb2ZmbGluZSBDUFVzJwo+IGJpdHMgdG8gcG9zc2libHkgYmUgc2V0LiBTd2l0 Y2ggdG8gYSBtb3N0bHkgY29uc2lzdGVudCBtZWFuaW5nCj4gKGV4Y2VwdGlvbiBiZWluZyBoaWdo IHByaW9yaXR5IGludGVycnVwdHMsIHdoaWNoIHdvdWxkIHBlcmhhcHMgYmV0dGVyCj4gYmUgc3dp dGNoZWQgdG8gdGhlIHNhbWUgbW9kZWwgYXMgd2VsbCBpbiBkdWUgY291cnNlKS4gVXNlIHRoZSBm aWVsZCB0bwo+IHJlY29yZCB0aGUgdmVjdG9yIGFsbG9jYXRpb24gbWFzaywgaS5lLiBwb3RlbnRp YWxseSBpbmNsdWRpbmcgYml0cyBvZgo+IG9mZmxpbmUgKHBhcmtlZCkgQ1BVcy4gVGhpcyBpbXBs aWVzIHRoYXQgYmVmb3JlIHBhc3NpbmcgdGhlIG1hc2sgdG8KPiBjZXJ0YWluIGZ1bmN0aW9ucyAo bW9zdCBub3RhYmx5IGNwdV9tYXNrX3RvX2FwaWNpZCgpKSBpdCBuZWVkcyB0byBiZQo+IGZ1cnRo ZXIgcmVkdWNlZCB0byB0aGUgb25saW5lIHN1YnNldC4KPiAKPiBUaGUgZXhjZXB0aW9uIG9mIGhp Z2ggcHJpb3JpdHkgaW50ZXJydXB0cyBpcyBhbHNvIHdoeSBmb3IgdGhlIG1vbWVudAo+IF9iaW5k X2lycV92ZWN0b3IoKSBpcyBsZWZ0IGFzIGlzLCBkZXNwaXRlIGxvb2tpbmcgd3Jvbmc6IEl0J3Mg dXNlZAo+IGV4Y2x1c2l2ZWx5IGZvciBJUlEwLCB3aGljaCBpc24ndCBzdXBwb3NlZCB0byBtb3Zl IG9mZiBDUFUwIGF0IGFueSB0aW1lLgo+IAo+IFRoZSBwcmlvciBsYWNrIG9mIHJlc3RyaWN0aW5n IHRvIG9ubGluZSBDUFVzIGluIHNldF9kZXNjX2FmZmluaXR5KCkKPiBiZWZvcmUgY2FsbGluZyBj cHVfbWFza190b19hcGljaWQoKSBpbiBwYXJ0aWN1bGFyIGFsbG93ZWQgKGluIHgyQVBJQwo+IGNs dXN0ZXJlZCBtb2RlKSBvZmZsaW5lZCBDUFVzIHRvIGVuZCB1cCBlbmFibGVkIGluIGFuIElSUSdz IGRlc3RpbmF0aW9uCj4gZmllbGQuIChJIHdvbmRlciB3aGV0aGVyIHZlY3Rvcl9hbGxvY2F0aW9u X2NwdW1hc2tfZmxhdCgpIHNob3VsZG4ndAo+IGZvbGxvdyBhIHNpbWlsYXIgbW9kZWwsIHVzaW5n IGNwdV9wcmVzZW50X21hcCBpbiBmYXZvciBvZgo+IGNwdV9vbmxpbmVfbWFwLikKPiAKPiBGb3Ig SU8tQVBJQyBjb2RlIGl0IHdhcyBkZWZpbml0ZWx5IHdyb25nIHRvIHBvdGVudGlhbGx5IHN0b3Jl LCBhcyBhCj4gZmFsbGJhY2ssIFRBUkdFVF9DUFVTIChpLmUuIGFsbCBvbmxpbmUgb25lcykgaW50 byB0aGUgZmllbGQsIGFzIHRoYXQKPiB3b3VsZCBoYXZlIGNhdXNlZCBwcm9ibGVtcyB3aGVuIGRl dGVybWluaW5nIG9uIHdoaWNoIENQVXMgdG8gcmVsZWFzZQo+IHZlY3RvcnMgd2hlbiB0aGV5J3Zl IGdvbmUgb3V0IG9mIHVzZS4gRGlzYWJsZSBpbnRlcnJ1cHRzIGluc3RlYWQgd2hlbgo+IG5vIHZh bGlkIHRhcmdldCBDUFUgY2FuIGJlIGVzdGFibGlzaGVkICh3aGljaCBjb2RlIGVsc2V3aGVyZSBz aG91bGQKPiBndWFyYW50ZWUgdG8gbmV2ZXIgaGFwcGVuKSwgYW5kIGxvZyBhIG1lc3NhZ2UgaW4g c3VjaCBhbiB1bmxpa2VseSBldmVudC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+CgpUaGFua3MuCgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7D qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTb21lIGNvbW1lbnRzIGJlbG93LgoKPiAtLS0KPiB2 MjogTmV3Lgo+IAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMKPiArKysgYi94ZW4vYXJj aC94ODYvaW9fYXBpYy5jCj4gQEAgLTY4MCw3ICs2ODAsNyBAQCB2b2lkIC8qX19pbml0Ki8gc2V0 dXBfaW9hcGljX2Rlc3Qodm9pZCkKPiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICAgICAg ICAgICAgICBpcnEgPSBwaW5fMl9pcnEoaXJxX2VudHJ5LCBpb2FwaWMsIHBpbik7Cj4gICAgICAg ICAgICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhpcnEpOwo+IC0gICAgICAgICAgICBCVUdfT04oY3B1 bWFza19lbXB0eShkZXNjLT5hcmNoLmNwdV9tYXNrKSk7Cj4gKyAgICAgICAgICAgIEJVR19PTigh Y3B1bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssICZjcHVfb25saW5lX21hcCkp OwoKSSB3b25kZXIgaWYgbWF5YmUgeW91IGNvdWxkIGluc3RlYWQgZG86CgppZiAoIGNwdW1hc2tf aW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9tYXNrLCAmY3B1X29ubGluZV9tYXApICkKICAgIHNl dF9pb2FwaWNfYWZmaW5pdHlfaXJxKGRlc2MsIGRlc2MtPmFyY2guY3B1X21hc2spOwplbHNlCiAg ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKCkkgZ3Vlc3MgaWYgdGhlIElSUSBpcyBpbiB1c2UgYnkg WGVuIGl0c2VsZiB0aGUgZmFpbHVyZSBvdWdodCB0byBiZQpmYXRhbC4KCj4gICAgICAgICAgICAg IHNldF9pb2FwaWNfYWZmaW5pdHlfaXJxKGRlc2MsIGRlc2MtPmFyY2guY3B1X21hc2spOwo+ICAg ICAgICAgIH0KPiAgCj4gQEAgLTIxOTcsNyArMjE5Nyw2IEBAIGludCBpb19hcGljX3NldF9wY2lf cm91dGluZyAoaW50IGlvYXBpYywKPiAgewo+ICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjID0g aXJxX3RvX2Rlc2MoaXJxKTsKPiAgICAgIHN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5 Owo+IC0gICAgY3B1bWFza190IG1hc2s7Cj4gICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAg ICAgaW50IHZlY3RvcjsKPiAgCj4gQEAgLTIyMzIsMTEgKzIyMzEsMTcgQEAgaW50IGlvX2FwaWNf c2V0X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLAo+ICAgICAgICAgIHJldHVybiB2ZWN0b3I7Cj4g ICAgICBlbnRyeS52ZWN0b3IgPSB2ZWN0b3I7Cj4gIAo+IC0gICAgY3B1bWFza19jb3B5KCZtYXNr LCBUQVJHRVRfQ1BVUyk7Cj4gLSAgICAvKiBEb24ndCBjaGFuY2UgZW5kaW5nIHVwIHdpdGggYW4g ZW1wdHkgbWFzay4gKi8KPiAtICAgIGlmIChjcHVtYXNrX2ludGVyc2VjdHMoJm1hc2ssIGRlc2Mt PmFyY2guY3B1X21hc2spKQo+IC0gICAgICAgIGNwdW1hc2tfYW5kKCZtYXNrLCAmbWFzaywgZGVz Yy0+YXJjaC5jcHVfbWFzayk7Cj4gLSAgICBTRVRfREVTVChlbnRyeSwgbG9naWNhbCwgY3B1X21h c2tfdG9fYXBpY2lkKCZtYXNrKSk7Cj4gKyAgICBpZiAoY3B1bWFza19pbnRlcnNlY3RzKGRlc2Mt PmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKSkgewo+ICsgICAgICAgIGNwdW1hc2tfdCAqbWFz ayA9IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7Cj4gKwo+ICsgICAgICAgIGNwdW1hc2tfYW5k KG1hc2ssIGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKTsKPiArICAgICAgICBTRVRf REVTVChlbnRyeSwgbG9naWNhbCwgY3B1X21hc2tfdG9fYXBpY2lkKG1hc2spKTsKPiArICAgIH0g ZWxzZSB7Cj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIklSUSVkOiBubyB0YXJnZXQgQ1BV ICglKnBiIHZzICUqcGIpXG4iLAo+ICsgICAgICAgICAgICAgICBpcnEsIG5yX2NwdV9pZHMsIGNw dW1hc2tfYml0cyhkZXNjLT5hcmNoLmNwdV9tYXNrKSwKPiArICAgICAgICAgICAgICAgbnJfY3B1 X2lkcywgY3B1bWFza19iaXRzKFRBUkdFVF9DUFVTKSk7Cj4gKyAgICAgICAgZGVzYy0+c3RhdHVz IHw9IElSUV9ESVNBQkxFRDsKPiArICAgIH0KCkhtLCBwYXJ0IG9mIHRoaXMgZmlsZSBkb2Vzbid0 IHNlZW0gdG8gdXNlIFhlbiBjb2Rpbmcgc3R5bGUsIGJ1dCB0aGUKY2h1bmsgeW91IGFkZCBiZWxv dyBkb2VzIHVzZSBpdC4gQW5kIHRoZXJlIGFyZSBmdW5jdGlvbnMgKGxpa2UKbWFza19hbmRfYWNr X2xldmVsX2lvYXBpY19pcnEgdGhhdCBzZWVtIHRvIHVzZSBhIG1peCBvZiBjb2RpbmcKc3R5bGVz KS4KCkknbSBub3Qgc3VyZSB3aGF0J3MgdGhlIHBvbGljeSBoZXJlLCBzaG91bGQgbmV3IGNodW5r cyBmb2xsb3cgWGVuJ3MKY29kaW5nIHN0eWxlPwoKPiAgCj4gICAgICBhcGljX3ByaW50ayhBUElD X0RFQlVHLCBLRVJOX0RFQlVHICJJT0FQSUNbJWRdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgIgo+ ICAJCSIoJWQtJWQgLT4gJSN4IC0+IElSUSAlZCBNb2RlOiVpIEFjdGl2ZTolaSlcbiIsIGlvYXBp YywKPiBAQCAtMjQyMiw3ICsyNDI3LDIxIEBAIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWdu ZWQgbG9uZyBwaHkKPiAgICAgIC8qIFNldCB0aGUgdmVjdG9yIGZpZWxkIHRvIHRoZSByZWFsIHZl Y3RvciEgKi8KPiAgICAgIHJ0ZS52ZWN0b3IgPSBkZXNjLT5hcmNoLnZlY3RvcjsKPiAgCj4gLSAg ICBTRVRfREVTVChydGUsIGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChkZXNjLT5hcmNoLmNw dV9tYXNrKSk7Cj4gKyAgICBpZiAoIGNwdW1hc2tfaW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9t YXNrLCBUQVJHRVRfQ1BVUykgKQo+ICsgICAgewo+ICsgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9 IHRoaXNfY3B1KHNjcmF0Y2hfY3B1bWFzayk7Cj4gKwo+ICsgICAgICAgIGNwdW1hc2tfYW5kKG1h c2ssIGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9DUFVTKTsKPiArICAgICAgICBTRVRfREVT VChydGUsIGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChtYXNrKSk7Cj4gKyAgICB9Cj4gKyAg ICBlbHNlCj4gKyAgICB7Cj4gKyAgICAgICAgZ3ByaW50ayhYRU5MT0dfRVJSLCAiSVJRJWQ6IG5v IHRhcmdldCBDUFUgKCUqcGIgdnMgJSpwYilcbiIsCj4gKyAgICAgICAgICAgICAgIGlycSwgbnJf Y3B1X2lkcywgY3B1bWFza19iaXRzKGRlc2MtPmFyY2guY3B1X21hc2spLAo+ICsgICAgICAgICAg ICAgICBucl9jcHVfaWRzLCBjcHVtYXNrX2JpdHMoVEFSR0VUX0NQVVMpKTsKPiArICAgICAgICBk ZXNjLT5zdGF0dXMgfD0gSVJRX0RJU0FCTEVEOwo+ICsgICAgICAgIHJ0ZS5tYXNrID0gMTsKPiAr ICAgIH0KPiAgCj4gICAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIDAsIHJ0ZSk7 Cj4gICAgICAKPiAtLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMKPiArKysgYi94ZW4vYXJjaC94ODYv aXJxLmMKPiBAQCAtNDcxLDExICs0NzEsMTMgQEAgc3RhdGljIGludCBfX2Fzc2lnbl9pcnFfdmVj dG9yKAo+ICAgICAgICovCj4gICAgICBzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1Rf RFlOQU1JQ19WRUNUT1IsIGN1cnJlbnRfb2Zmc2V0ID0gMDsKPiAgICAgIGludCBjcHUsIGVyciwg b2xkX3ZlY3RvcjsKPiAtICAgIGNwdW1hc2tfdCB0bXBfbWFzazsKPiAgICAgIHZtYXNrX3QgKmly cV91c2VkX3ZlY3RvcnMgPSBOVUxMOwo+ICAKPiAgICAgIG9sZF92ZWN0b3IgPSBpcnFfdG9fdmVj dG9yKGlycSk7Cj4gLSAgICBpZiAob2xkX3ZlY3RvciA+IDApIHsKPiArICAgIGlmICggb2xkX3Zl Y3RvciA+IDAgKQoKQW5vdGhlciBjYW5kaWRhdGUgdG8gc3dpdGNoIHRvIHZhbGlkX2lycV92ZWN0 b3Igb3IgYXQgbGVhc3QgbWFrZSBhbgpleHBsaWNpdCBjb21wYXJpc29uIHdpdGggSVJRX1ZFQ1RP Ul9VTkFTU0lHTkVELgoKU2VlaW5nIHlvdXIgcmVwbHkgdG8gbXkgY29tbWVudCBpbiB0aGF0IGRp cmVjdGlvbiBvbiBhIHByZXZpb3VzIHBhdGNoCnRoaXMgY2FuIGJlIGRvbmUgYXMgYSBmb2xsb3cg dXAuCgpSb2dlci4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=