From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v2 09/21] xen/arm: move cmdline out of boot_modules Date: Mon, 9 Jul 2018 17:00:11 -0700 (PDT) Message-ID: References: <1530918736-13965-9-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: Stefano Stabellini , Stefano Stabellini , andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gTW9uLCA5IEp1bCAyMDE4LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGksCj4gCj4gT24gMDcv MDcvMTggMDA6MTIsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPiA+IFJlbW92ZSB0aGUgY21k bGluZSBmaWVsZCBmcm9tIHN0cnVjdCBib290X21vZHVsZSwgY21kbGluZSBpcyBzdG9yZWQKPiA+ IGluZGVwZW5kZW50bHkgb3V0IG9mIHRoZSBib290X21vZHVsZXMgYXJyYXkgYXMgZG9tMF9jbWRs aW5lLgo+IAo+IEkgYW0gbm90IGVudGlyZWx5IGNvbnZpbmNlIG9mIHRoaXMgcGF0Y2gsIHRoaXMg ZG9lcyBub3Qgc2VlbSB0byBnbyB0b3dhcmRzIGEKPiBiZXR0ZXIgY29kZSBiYXNlIGJlY2F1c2Ug ZG9tMF9jbWRsaW5lIGlzIG9ubHkgc2V0IGlmICJib290YXJncyIuIFRoaXMgbWF5Cj4gcmFpc2Ug c29tZSBjb25mdXNpbmcgdG8gdGhlIGRldmVsb3Blci4KCkknbGwgYWRkIGEgY29tbWVudCBvbiB0 b3Agb2YgZG9tMF9jbWRsaW5lIHRvIGNsYXJpZnkgaXRzIHB1cnBvc2U6CgovKgogKiBEb20wIGNv bW1hbmQgbGluZSBhcyBwYXNzZWQgdmlhIERldmljZSBUcmVlIGFzICJib290YXJncyIgZm9yIHRo ZQogKiBEb20wIGtlcm5lbCBtb2R1bGUuCiAqLwoKCj4gSSB3b3VsZCBzdGlsbCBwcmVmZXIgdG8g a2VlcCB0aGUgY29tbWFuZC1saW5lIGluIHRoZSBib290IG1vZHVsZSBzdHJ1Y3R1cmUgYW5kCj4g ZmluZCBhIHdheSB0byBhc3NvY2lhdGVkIHRoZSBib290bW9kdWxlIHdpdGggYSBub2RlLgoKSG93 IGRvIHlvdSBzdWdnZXN0IHdlIGZpbmQgYSBnb29kIHdheSB0byBhc3NvY2lhdGUgYSBib290IG1v ZHVsZSB3aXRoIGEKbm9kZT8gCgpJIGhhdmUgdGhvdWdodCBhYm91dCB0aGlzIHByb2JsZW0gcXVp dGUgYSBiaXQuIEFsdGhvdWdoIEkgYWRtaXQgdGhpcwpwYXRjaCBpcyBub3Qgc3VwZXIgbmljZSwg aXQgaXMgdGhlIGJlc3Qgb3B0aW9uIEkgZm91bmQuIEkgaGF2ZSBhY3R1YWxseQpkZXZlbG9wZWQg MiBvdGhlciBjb21wbGV0ZWx5IGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhpcyBmaXgg YW5kCnRoZXkgd2VyZSBhbGwgd29yc2UgdGhhbiB0aGlzLiBUaGlzIGlzIHRoZSB0aGlyZCBpbmNh cm5hdGlvbi4gSXQgaXMKYWN0dWFsbHkgc3VycHJpc2luZ2x5IGVhc3kgdG8gZG8gd29yc2UgdGhh biB0aGlzIHBhdGNoLgoKCj4gPiBBZGQgYSBwb2ludGVyIHRvIHN0cnVjdCBrZXJuZWxfaW5mbyB0 byBwb2ludCB0byB0aGUgY21kbGluZSBmb3IgYSBnaXZlbgo+ID4ga2VybmVsLgo+ID4gCj4gPiBi b290X2ZkdF9jbWRsaW5lIGlzIG9ubHkgdXNlZCB0byByZXRyaWV2ZSB0aGUgWGVuIGNtZGxpbmUu IFJlbW92ZSB0aGUKPiA+IGNvZGUgdG8gcmV0dXJuIHRoZSBkb20wIGNtZGxpbmUgd2hlbiB0aGUg WGVuIGNtZGxpbmUgaXMgbm90IGF2YWlsYWJsZS4KPiAKPiBOb25lIG9mIHRoZSBjb2RlIGluIGJv b3RfZmR0X2NtZGxpbmUgd2lsbCByZXR1cm4gRG9tMCBjbWRsaW5lLiBXaGF0IHRoZSBjb2RlCj4g ZG9lcyBpcyBsb29raW5nIHdoZXRoZXIgeGVuLGRvbTAtYm9vdGFyZ3Mgb3IgImJvb3RhcmdzIiBp biB0aGUgYm9vdCBrZXJuZWwKPiBtb2R1bGUgaGFzIGJlZW4gZGVmaW5lZC4gSWYgbm90LCBpdCBt ZWFucyAiYm9vdGFyZ3MiIG9mIHRoZSBjaG9zZW4gbm9kZSB3aWxsCj4gYmUgdXNlZCBmb3IgWGVu LgoKSSBtaXNyZWFkIHRoZSBmdW5jdGlvbi4gSSdsbCByZW1vdmUgdGhpcyBwYXJ0IG9mIHRoZSBw YXRjaCAoaXQgaXMKYWN0dWFsbHkgbm90IG5lZWRlZCwgaXQgaXMganVzdCBzb21ldGhpbmcgSSB0 aG91Z2h0IEkgd291bGQgZml4IGFsb25nCnRoZSB3YXkpLgoKCj4gPiAKPiA+IFNpZ25lZC1vZmYt Ynk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KPiA+IAo+ID4gLS0t Cj4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gLSBuZXcgcGF0Y2gKPiA+IC0tLQo+ID4gICB4ZW4vYXJj aC9hcm0vYm9vdGZkdC5jICAgICAgfCAyNSArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAg IHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8IDExICsrKysrLS0tLS0tCj4gPiAgIHhlbi9h cmNoL2FybS9rZXJuZWwuaCAgICAgICB8ICAxICsKPiA+ICAgeGVuL2FyY2gvYXJtL3NldHVwLmMg ICAgICAgIHwgMTAgKysrLS0tLS0tLQo+ID4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgg fCAgNSArKy0tLQo+ID4gICA1IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDM0IGRl bGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBi L3hlbi9hcmNoL2FybS9ib290ZmR0LmMKPiA+IGluZGV4IDhlYmE0MmMuLmIzZTFlMDAgMTAwNjQ0 Cj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jCj4gPiArKysgYi94ZW4vYXJjaC9hcm0v Ym9vdGZkdC5jCj4gPiBAQCAtMjI2LDExICsyMjYsMTAgQEAgc3RhdGljIHZvaWQgX19pbml0IHBy b2Nlc3NfbXVsdGlib290X25vZGUoY29uc3Qgdm9pZAo+ID4gKmZkdCwgaW50IG5vZGUsCj4gPiAg ICAgICAgICAgaWYgKCBsZW4gPiBCT09UTU9EX01BWF9DTURMSU5FICkKPiA+ICAgICAgICAgICAg ICAgcGFuaWMoIm1vZHVsZSAlcyBjb21tYW5kIGxpbmUgdG9vIGxvbmdcbiIsIG5hbWUpOwo+ID4g ICAgICAgICAgIGNtZGxpbmUgPSBwcm9wLT5kYXRhOwo+ID4gKyAgICAgICAgc2FmZV9zdHJjcHko ZG9tMF9jbWRsaW5lLCBjbWRsaW5lKTsKPiAKPiBJIGRvbid0IHRoaW5rIGFueXRoaW5nIHByb21p c2UgeW91IHRoYXQgImJvb3RhcmdzIiB3aWxsIGFjdHVhbGx5IGJlIGZvciB0aGUKPiBrZXJuZWwu Cj4gCj4gTG9va2luZyBhdCB0aGUgZG9jdW1lbnRhdGlvbiwgdGhlIG9ubHkgd29yZGluZyBpcyAi Q29tbWFuZCBsaW5lIGFzc29jaWF0ZWQKPiB3aXRoIHRoaXMgbW9kdWxlIi4KCllvdSBhcmUgcmln aHQgYWJvdXQgdGhhdC4gQnV0IHRoZSBkb20wIGtlcm5lbCBjb21tYW5kIGxpbmUgaXMgdGhlIG9u bHkKImNvbW1hbmQgbGluZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUiIHRoYXQgd2Uga25v dyBob3cgdG8gZGVhbAp3aXRoLiBGb3IgaW5zdGFuY2UsIHdlIGFyZSBub3QgYWJsZSB0byBoYW5k bGUgYm9vdGFyZ3MgZm9yIHRoZSBYU00KbW9kdWxlIChvciBhbnkgb3RoZXIga2luZHMgb2YgbW9k dWxlcykuIEN1cnJlbnRseSB3ZSBpZ25vcmUgdGhlbSBhbGwuIFdlCmNvdWxkIHNpbXBseSBrZWVw IG9uIGlnbm9yaW5nIGFueSBib290YXJncyB1bmxlc3MgdGhleSBhcmUgZm9yIHRoZSBkb20wCmtl cm5lbC4KCldlIGRvIG5lZWQgYW4gZXh0cmEgY2hlY2sgaGVyZSB0byBtYWtlIHN1cmUgdGhhdCB3 ZSBhcmUgZGVhbGluZyB3aXRoIHRoZQpkb20wIGtlcm5lbCBtb2R1bGUgYmVmb3JlIGRvaW5nIHRo ZSBzYWZlX3N0cmNweS4gSSBjYW4gbWFrZSB0aGF0IGNoYW5nZS4KCgo+ID4gICAgICAgfQo+ID4g LSAgICBlbHNlCj4gPiAtICAgICAgICBjbWRsaW5lID0gTlVMTDsKPiA+IC0KPiA+IC0gICAgYWRk X2Jvb3RfbW9kdWxlKGtpbmQsIHN0YXJ0LCBzaXplLCBjbWRsaW5lKTsKPiA+ICsKPiA+ICsgICAg YWRkX2Jvb3RfbW9kdWxlKGtpbmQsIHN0YXJ0LCBzaXplKTsKPiA+ICAgfQo+ID4gICAgIHN0YXRp YyB2b2lkIF9faW5pdCBwcm9jZXNzX2Nob3Nlbl9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5v ZGUsCj4gPiBAQCAtMjc2LDcgKzI3NSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX2No b3Nlbl9ub2RlKGNvbnN0IHZvaWQgKmZkdCwKPiA+IGludCBub2RlLAo+ID4gICAgICAgICBwcmlu dGsoIkluaXRyZCAlIlBSSXBhZGRyIi0lIlBSSXBhZGRyIlxuIiwgc3RhcnQsIGVuZCk7Cj4gPiAg IC0gICAgYWRkX2Jvb3RfbW9kdWxlKEJPT1RNT0RfUkFNRElTSywgc3RhcnQsIGVuZC1zdGFydCwg TlVMTCk7Cj4gPiArICAgIGFkZF9ib290X21vZHVsZShCT09UTU9EX1JBTURJU0ssIHN0YXJ0LCBl bmQtc3RhcnQpOwo+ID4gICB9Cj4gPiAgICAgc3RhdGljIGludCBfX2luaXQgZWFybHlfc2Nhbl9u b2RlKGNvbnN0IHZvaWQgKmZkdCwKPiA+IEBAIC0zMDcsMTIgKzMwNiwxMSBAQCBzdGF0aWMgdm9p ZCBfX2luaXQgZWFybHlfcHJpbnRfaW5mbyh2b2lkKQo+ID4gICAgICAgICAgICAgICAgICAgICAg ICBtaS0+YmFua1tpXS5zdGFydCArIG1pLT5iYW5rW2ldLnNpemUgLSAxKTsKPiA+ICAgICAgIHBy aW50aygiXG4iKTsKPiA+ICAgICAgIGZvciAoIGkgPSAwIDsgaSA8IG1vZHMtPm5yX21vZHM7IGkr KyApCj4gPiAtICAgICAgICBwcmludGsoIk1PRFVMRVslZF06ICUiUFJJcGFkZHIiIC0gJSJQUklw YWRkciIgJS0xMnMgJXNcbiIsCj4gPiArICAgICAgICBwcmludGsoIk1PRFVMRVslZF06ICUiUFJJ cGFkZHIiIC0gJSJQUklwYWRkciIgJS0xMnNcbiIsCj4gPiAgICAgICAgICAgICAgICAgICAgICAg IGksCj4gPiAgICAgICAgICAgICAgICAgICAgICAgIG1vZHMtPm1vZHVsZVtpXS5zdGFydCwKPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgbW9kcy0+bW9kdWxlW2ldLnN0YXJ0ICsgbW9kcy0+bW9k dWxlW2ldLnNpemUsCj4gPiAtICAgICAgICAgICAgICAgICAgICAgYm9vdF9tb2R1bGVfa2luZF9h c19zdHJpbmcobW9kcy0+bW9kdWxlW2ldLmtpbmQpLAo+ID4gLSAgICAgICAgICAgICAgICAgICAg IG1vZHMtPm1vZHVsZVtpXS5jbWRsaW5lKTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICBib290 X21vZHVsZV9raW5kX2FzX3N0cmluZyhtb2RzLT5tb2R1bGVbaV0ua2luZCkpOwo+ID4gICAgICAg bnJfcnN2ZCA9IGZkdF9udW1fbWVtX3JzdihkZXZpY2VfdHJlZV9mbGF0dGVuZWQpOwo+ID4gICAg ICAgZm9yICggaSA9IDA7IGkgPCBucl9yc3ZkOyBpKysgKQo+ID4gICAgICAgewo+ID4gQEAgLTM0 MSw3ICszMzksNyBAQCBzaXplX3QgX19pbml0IGJvb3RfZmR0X2luZm8oY29uc3Qgdm9pZCAqZmR0 LCBwYWRkcl90Cj4gPiBwYWRkcikKPiA+ICAgICAgIGlmICggcmV0IDwgMCApCj4gPiAgICAgICAg ICAgcGFuaWMoIk5vIHZhbGlkIGRldmljZSB0cmVlXG4iKTsKPiA+ICAgLSAgICBhZGRfYm9vdF9t b2R1bGUoQk9PVE1PRF9GRFQsIHBhZGRyLCBmZHRfdG90YWxzaXplKGZkdCksIE5VTEwpOwo+ID4g KyAgICBhZGRfYm9vdF9tb2R1bGUoQk9PVE1PRF9GRFQsIHBhZGRyLCBmZHRfdG90YWxzaXplKGZk dCkpOwo+ID4gICAgICAgICBkZXZpY2VfdHJlZV9mb3JfZWFjaF9ub2RlKCh2b2lkICopZmR0LCBl YXJseV9zY2FuX25vZGUsIE5VTEwpOwo+ID4gICAgICAgZWFybHlfcHJpbnRfaW5mbygpOwo+ID4g QEAgLTM2MCwxNSArMzU4LDYgQEAgY29uc3QgY2hhciAqYm9vdF9mZHRfY21kbGluZShjb25zdCB2 b2lkICpmZHQpCj4gPiAgICAgICAgIHByb3AgPSBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwg Inhlbix4ZW4tYm9vdGFyZ3MiLCBOVUxMKTsKPiA+ICAgICAgIGlmICggcHJvcCA9PSBOVUxMICkK PiA+IC0gICAgewo+ID4gLSAgICAgICAgc3RydWN0IGJvb3Rtb2R1bGUgKmRvbTBfbW9kID0KPiA+ IC0gICAgICAgICAgICBib290X21vZHVsZV9maW5kX2J5X2tpbmQoQk9PVE1PRF9LRVJORUwpOwo+ ID4gLQo+ID4gLSAgICAgICAgaWYgKGZkdF9nZXRfcHJvcGVydHkoZmR0LCBub2RlLCAieGVuLGRv bTAtYm9vdGFyZ3MiLCBOVUxMKSB8fAo+ID4gLSAgICAgICAgICAgICggZG9tMF9tb2QgJiYgZG9t MF9tb2QtPmNtZGxpbmVbMF0gKSApCj4gPiAtICAgICAgICAgICAgcHJvcCA9IGZkdF9nZXRfcHJv cGVydHkoZmR0LCBub2RlLCAiYm9vdGFyZ3MiLCBOVUxMKTsKPiA+IC0gICAgfQo+IAo+IFNlZSBh Ym92ZSwgdGhpcyBjb2RlIHNob3VsZCBub3QgYmUgZHJvcHBlZC4KCkknbGwgZml4CgoKPiA+IC0g ICAgaWYgKCBwcm9wID09IE5VTEwgKQo+ID4gICAgICAgICAgIHJldHVybiBOVUxMOwo+ID4gICAg ICAgICByZXR1cm4gcHJvcC0+ZGF0YTsKPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9t YWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKPiA+IGluZGV4IDRkMDY1 ODQuLmQ3ZTY0MmIgMTAwNjQ0Cj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMK PiA+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+ID4gQEAgLTQwMiwxMCArNDAy LDggQEAgc3RhdGljIGludCB3cml0ZV9wcm9wZXJ0aWVzKHN0cnVjdCBkb21haW4gKmQsIHN0cnVj dAo+ID4ga2VybmVsX2luZm8gKmtpbmZvLAo+ID4gICAgICAgaW50IHJlcyA9IDA7Cj4gPiAgICAg ICBpbnQgaGFkX2RvbTBfYm9vdGFyZ3MgPSAwOwo+ID4gICAtICAgIGNvbnN0IHN0cnVjdCBib290 bW9kdWxlICprZXJuZWwgPSBraW5mby0+a2VybmVsX2Jvb3Rtb2R1bGU7Cj4gPiAtCj4gPiAtICAg IGlmICgga2VybmVsICYmIGtlcm5lbC0+Y21kbGluZVswXSApCj4gPiAtICAgICAgICBib290YXJn cyA9ICZrZXJuZWwtPmNtZGxpbmVbMF07Cj4gPiArICAgIGlmICggZG9tMF9jbWRsaW5lWzBdICkK PiA+ICsgICAgICAgIGJvb3RhcmdzID0gJmRvbTBfY21kbGluZVswXTsKPiA+ICAgICAgICAgZHRf Zm9yX2VhY2hfcHJvcGVydHlfbm9kZSAobm9kZSwgcHJvcCkKPiA+ICAgICAgIHsKPiA+IEBAIC05 NzEsOSArOTY5LDkgQEAgc3RhdGljIGludCBtYWtlX2Nob3Nlbl9ub2RlKGNvbnN0IHN0cnVjdCBr ZXJuZWxfaW5mbwo+ID4gKmtpbmZvKQo+ID4gICAgICAgaWYgKCByZXMgKQo+ID4gICAgICAgICAg IHJldHVybiByZXM7Cj4gPiAgIC0gICAgaWYgKCBtb2QgJiYgbW9kLT5jbWRsaW5lWzBdICkKPiA+ ICsgICAgaWYgKCBraW5mby0+Y21kbGluZSAmJiBraW5mby0+Y21kbGluZVswXSApCj4gPiAgICAg ICB7Cj4gPiAtICAgICAgICBib290YXJncyA9ICZtb2QtPmNtZGxpbmVbMF07Cj4gPiArICAgICAg ICBib290YXJncyA9ICZraW5mby0+Y21kbGluZVswXTsKPiA+ICAgICAgICAgICByZXMgPSBmZHRf cHJvcGVydHkoZmR0LCAiYm9vdGFyZ3MiLCBib290YXJncywgc3RybGVuKGJvb3RhcmdzKSArCj4g PiAxKTsKPiA+ICAgICAgICAgICBpZiAoIHJlcyApCj4gPiAgICAgICAgICAgICAgcmV0dXJuIHJl czsKPiA+IEBAIC0yMTczLDYgKzIxNzEsNyBAQCBpbnQgX19pbml0IGNvbnN0cnVjdF9kb20wKHN0 cnVjdCBkb21haW4gKmQpCj4gPiAgICAgI2VuZGlmCj4gPiAgICsgICAga2luZm8uY21kbGluZSA9 ICZkb20wX2NtZGxpbmVbMF07Cj4gPiAgICAgICBhbGxvY2F0ZV9tZW1vcnkoZCwgJmtpbmZvKTsK PiA+ICAgICAgIGZpbmRfZ250dGFiX3JlZ2lvbihkLCAma2luZm8pOwo+ID4gICBkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2tlcm5lbC5oIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5oCj4gPiBpbmRl eCA2ZDY5NTA5Li5hNDdhYTRjIDEwMDY0NAo+ID4gLS0tIGEveGVuL2FyY2gvYXJtL2tlcm5lbC5o Cj4gPiArKysgYi94ZW4vYXJjaC9hcm0va2VybmVsLmgKPiA+IEBAIC0zMCw2ICszMCw3IEBAIHN0 cnVjdCBrZXJuZWxfaW5mbyB7Cj4gPiAgICAgICAgIC8qIGJvb3QgYmxvYiBsb2FkIGFkZHJlc3Nl cyAqLwo+ID4gICAgICAgY29uc3Qgc3RydWN0IGJvb3Rtb2R1bGUgKmtlcm5lbF9ib290bW9kdWxl LCAqaW5pdHJkX2Jvb3Rtb2R1bGU7Cj4gPiArICAgIGNvbnN0IGNoYXIqIGNtZGxpbmU7Cj4gPiAg ICAgICBwYWRkcl90IGR0Yl9wYWRkcjsKPiA+ICAgICAgIHBhZGRyX3QgaW5pdHJkX3BhZGRyOwo+ ID4gICBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0 dXAuYwo+ID4gaW5kZXggMWQ2ZjZiZi4uMTg4YjJjYiAxMDA2NDQKPiA+IC0tLSBhL3hlbi9hcmNo L2FybS9zZXR1cC5jCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwo+ID4gQEAgLTUxLDYg KzUxLDcgQEAKPiA+ICAgI2luY2x1ZGUgPGFzbS9hY3BpLmg+Cj4gPiAgICAgc3RydWN0IGJvb3Rp bmZvIF9faW5pdGRhdGEgYm9vdGluZm87Cj4gPiArY2hhciBfX2luaXRkYXRhIGRvbTBfY21kbGlu ZVtCT09UTU9EX01BWF9DTURMSU5FXTsKPiA+ICAgICBzdHJ1Y3QgY3B1aW5mb19hcm0gX19yZWFk X21vc3RseSBib290X2NwdV9kYXRhOwo+ID4gICBAQCAtMjAyLDggKzIwMyw3IEBAIHZvaWQgZHRf dW5yZXNlcnZlZF9yZWdpb25zKHBhZGRyX3QgcywgcGFkZHJfdCBlLAo+ID4gICB9Cj4gPiAgICAg c3RydWN0IGJvb3Rtb2R1bGUgKmFkZF9ib290X21vZHVsZShib290bW9kdWxlX2tpbmQga2luZCwK PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQsIHBh ZGRyX3Qgc2l6ZSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKmNtZGxpbmUpCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWRkcl90IHN0YXJ0LCBwYWRkcl90IHNpemUpCj4gPiAgIHsKPiA+ICAgICAgIHN0cnVjdCBib290 bW9kdWxlcyAqbW9kcyA9ICZib290aW5mby5tb2R1bGVzOwo+ID4gICAgICAgc3RydWN0IGJvb3Rt b2R1bGUgKm1vZDsKPiA+IEBAIC0yMTksMTAgKzIxOSw2IEBAIHN0cnVjdCBib290bW9kdWxlICph ZGRfYm9vdF9tb2R1bGUoYm9vdG1vZHVsZV9raW5kCj4gPiBraW5kLAo+ID4gICAgICAgbW9kLT5r aW5kID0ga2luZDsKPiA+ICAgICAgIG1vZC0+c3RhcnQgPSBzdGFydDsKPiA+ICAgICAgIG1vZC0+ c2l6ZSA9IHNpemU7Cj4gPiAtICAgIGlmICggY21kbGluZSApCj4gPiAtICAgICAgICBzYWZlX3N0 cmNweShtb2QtPmNtZGxpbmUsIGNtZGxpbmUpOwo+ID4gLSAgICBlbHNlCj4gPiAtICAgICAgICBt b2QtPmNtZGxpbmVbMF0gPSAwOwo+ID4gICAgICAgICByZXR1cm4gbW9kOwo+ID4gICB9Cj4gPiBA QCAtNzI1LDcgKzcyMSw3IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nIGJv b3RfcGh5c19vZmZzZXQsCj4gPiAgICAgICAvKiBSZWdpc3RlciBYZW4ncyBsb2FkIGFkZHJlc3Mg YXMgYSBib290IG1vZHVsZS4gKi8KPiA+ICAgICAgIHhlbl9ib290bW9kdWxlID0gYWRkX2Jvb3Rf bW9kdWxlKEJPT1RNT0RfWEVOLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw YWRkcl90KSh1aW50cHRyX3QpKF9zdGFydCArCj4gPiBib290X3BoeXNfb2Zmc2V0KSwKPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRkcl90KSh1aW50cHRyX3QpKF9lbmQgLSBf c3RhcnQgKyAxKSwKPiA+IE5VTEwpOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHBhZGRyX3QpKHVpbnRwdHJfdCkoX2VuZCAtIF9zdGFydCArIDEpKTsKPiA+ICAgICAgIEJVR19P TigheGVuX2Jvb3Rtb2R1bGUpOwo+ID4gICAgICAgICB4ZW5fcGFkZHIgPSBnZXRfeGVuX3BhZGRy KCk7Cj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIGIveGVuL2lu Y2x1ZGUvYXNtLWFybS9zZXR1cC5oCj4gPiBpbmRleCBmMWU0YTNmLi42ZDA4ZWI0IDEwMDY0NAo+ ID4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCj4gPiArKysgYi94ZW4vaW5jbHVk ZS9hc20tYXJtL3NldHVwLmgKPiA+IEBAIC0zNSwxMyArMzUsMTMgQEAgc3RydWN0IGJvb3Rtb2R1 bGUgewo+ID4gICAgICAgYm9vdG1vZHVsZV9raW5kIGtpbmQ7Cj4gPiAgICAgICBwYWRkcl90IHN0 YXJ0Owo+ID4gICAgICAgcGFkZHJfdCBzaXplOwo+ID4gLSAgICBjaGFyIGNtZGxpbmVbQk9PVE1P RF9NQVhfQ01ETElORV07Cj4gPiAgIH07Cj4gPiAgICAgc3RydWN0IGJvb3Rtb2R1bGVzIHsKPiA+ ICAgICAgIGludCBucl9tb2RzOwo+ID4gICAgICAgc3RydWN0IGJvb3Rtb2R1bGUgbW9kdWxlW01B WF9NT0RVTEVTXTsKPiA+ICAgfTsKPiA+ICtleHRlcm4gY2hhciBkb20wX2NtZGxpbmVbQk9PVE1P RF9NQVhfQ01ETElORV07Cj4gPiAgICAgc3RydWN0IGJvb3RpbmZvIHsKPiA+ICAgICAgIHN0cnVj dCBtZW1pbmZvIG1lbTsKPiA+IEBAIC03OCw4ICs3OCw3IEBAIHNpemVfdCBfX2luaXQgYm9vdF9m ZHRfaW5mbyhjb25zdCB2b2lkICpmZHQsIHBhZGRyX3QKPiA+IHBhZGRyKTsKPiA+ICAgY29uc3Qg Y2hhciBfX2luaXQgKmJvb3RfZmR0X2NtZGxpbmUoY29uc3Qgdm9pZCAqZmR0KTsKPiA+ICAgICBz dHJ1Y3QgYm9vdG1vZHVsZSAqYWRkX2Jvb3RfbW9kdWxlKGJvb3Rtb2R1bGVfa2luZCBraW5kLAo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydCwgcGFk ZHJfdCBzaXplLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqY21kbGluZSk7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWRkcl90IHN0YXJ0LCBwYWRkcl90IHNpemUpOwo+ID4gICBzdHJ1Y3QgYm9vdG1vZHVsZSAqYm9v dF9tb2R1bGVfZmluZF9ieV9raW5kKGJvb3Rtb2R1bGVfa2luZCBraW5kKTsKPiA+ICAgY29uc3Qg Y2hhciAqIF9faW5pdCBib290X21vZHVsZV9raW5kX2FzX3N0cmluZyhib290bW9kdWxlX2tpbmQg a2luZCk7CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs