From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Mammedov Subject: Re: [PATCH for-3.2 v3 06/14] qdev: do not mix compat props with global props Date: Fri, 23 Nov 2018 15:02:27 +0100 Message-ID: <20181123150227.38d17ca0@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-7-marcandre.lureau@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gQC2Z-00060x-Iq for xen-devel@lists.xenproject.org; Fri, 23 Nov 2018 14:02:39 +0000 In-Reply-To: <20181107123652.23417-7-marcandre.lureau@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , Amit Shah , =?UTF-8?B?SGVydsOp?= Poussineau , "Michael S. Tsirkin" , Mark Cave-Ayland , qemu-devel@nongnu.org, dgilbert@redhat.com, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, Marcel Apfelbaum , xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , Stefan Berger , Andreas =?UTF-8?B?RsOkcmJlcg==?= , Artyom Tarasenko , Richard Henderson List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAgNyBOb3YgMjAxOCAxNjozNjo0NCArMDQwMApNYXJjLUFuZHLDqSBMdXJlYXUgPG1h cmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4gd3JvdGU6Cgo+IE1hY2hpbmUgJiBBY2NlbCBwcm9w cyBhcmUgbm90IHByb3ZpZGVkIGJ5IHVzZXIuIExldCdzIG5vdCBtaXggdGhlbQo+IHdpdGggdGhl IGdsb2JhbCBwcm9wZXJ0aWVzLgo+IAo+IENhbGwgYSBuZXcgaGVscGVyIGZ1bmN0aW9uIG9iamVj dF9hcHBseV9nbG9iYWxfcHJvcHMoKSBkdXJpbmcKPiBkZXZpY2VfcG9zdF9pbml0KCkuCj4gCj4g QWRkIGEgc3R1YiBmb3IgY3VycmVudF9tYWNoaW5lLCBzbyBxZW11LXVzZXIgYW5kIHRlc3RzIGNh biBmaW5kIGEKPiBmYWxsYmFjayBzeW1ib2wgd2hlbiBsaW5raW5nIHdpdGggUURldi4KPiAKPiBU aGUgZm9sbG93aW5nIHBhdGNoZXMgaXMgZ29pbmcgdG8gcmV1c2Ugb2JqZWN0X2FwcGx5X2dsb2Jh bF9wcm9wcygpCj4gZm9yIHFkZXYgZ2xvYmFscy4KVGhlcmUgYXJlIHNldmVyYWwgdGhpbmdzIG9u Z29pbmcgaGVyZSwKIDEuIHN3aXRjaGluZyBmcm9tIEdsb2JhbFByb3BlcnR5IHRvIEdBcnJheSBm b3IgYWNjZWwKICAgICAgIG1heWJlIGdlbmVyYWxpemUgYW5kIHJldXNlIFNFVF9NQUNISU5FX0NP TVBBVCgpIHRoZXJlPwogICAgICAgIFNFVF9NQUNISU5FX0NPTVBBVCgpIC0+IFNFVF9DT01QQVQo R0FycmF5KiwgQ09NUEFUKQoKIDIuIGRlY291cGxpbmcgY29tcGF0IHZzIGdsb2JhbHMKIAo+IFNp Z25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQu Y29tPgo+IC0tLQo+ICBpbmNsdWRlL2h3L2JvYXJkcy5oICAgICAgICAgICAgfCAgMSAtCj4gIGlu Y2x1ZGUvcW9tL29iamVjdC5oICAgICAgICAgICB8ICAyICsrCj4gIGluY2x1ZGUvc3lzZW11L2Fj Y2VsLmggICAgICAgICB8ICA0ICstLS0KPiAgYWNjZWwvYWNjZWwuYyAgICAgICAgICAgICAgICAg IHwgMTIgLS0tLS0tLS0tLS0tCj4gIGh3L2NvcmUvbWFjaGluZS5jICAgICAgICAgICAgICB8IDE4 IC0tLS0tLS0tLS0tLS0tLS0tLQo+ICBody9jb3JlL3FkZXYuYyAgICAgICAgICAgICAgICAgfCAg OCArKysrKysrKwo+ICBody94ZW4veGVuLWNvbW1vbi5jICAgICAgICAgICAgfCAgOSArKysrKysr Ky0KPiAgcW9tL29iamVjdC5jICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKysrKysrKysrKysr KysrKysrKysrKwo+ICBzdHVicy9tYWNoaW5lLmMgICAgICAgICAgICAgICAgfCAgNCArKysrIAo+ ICB0ZXN0cy90ZXN0LXFkZXYtZ2xvYmFsLXByb3BzLmMgfCAgMSAtCj4gIHZsLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyIC0tCj4gIHN0dWJzL01ha2VmaWxlLm9ianMgICAgICAgICAg ICB8ICAxICsKPiAgMTIgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRp b25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBzdHVicy9tYWNoaW5lLmMKPiAKPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9ody9ib2FyZHMuaCBiL2luY2x1ZGUvaHcvYm9hcmRzLmgKPiBpbmRleCBm ODJmMjg0NjhiLi5jMDIxOTBmYzUyIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcvYm9hcmRzLmgK PiArKysgYi9pbmNsdWRlL2h3L2JvYXJkcy5oCj4gQEAgLTY5LDcgKzY5LDYgQEAgaW50IG1hY2hp bmVfa3ZtX3NoYWRvd19tZW0oTWFjaGluZVN0YXRlICptYWNoaW5lKTsKPiAgaW50IG1hY2hpbmVf cGhhbmRsZV9zdGFydChNYWNoaW5lU3RhdGUgKm1hY2hpbmUpOwo+ICBib29sIG1hY2hpbmVfZHVt cF9ndWVzdF9jb3JlKE1hY2hpbmVTdGF0ZSAqbWFjaGluZSk7Cj4gIGJvb2wgbWFjaGluZV9tZW1f bWVyZ2UoTWFjaGluZVN0YXRlICptYWNoaW5lKTsKPiAtdm9pZCBtYWNoaW5lX3JlZ2lzdGVyX2Nv bXBhdF9wcm9wcyhNYWNoaW5lU3RhdGUgKm1hY2hpbmUpOwo+ICBIb3RwbHVnZ2FibGVDUFVMaXN0 ICptYWNoaW5lX3F1ZXJ5X2hvdHBsdWdnYWJsZV9jcHVzKE1hY2hpbmVTdGF0ZSAqbWFjaGluZSk7 Cj4gIHZvaWQgbWFjaGluZV9zZXRfY3B1X251bWFfbm9kZShNYWNoaW5lU3RhdGUgKm1hY2hpbmUs Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBDcHVJbnN0YW5jZVByb3Bl cnRpZXMgKnByb3BzLAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3FvbS9vYmplY3QuaCBiL2luY2x1 ZGUvcW9tL29iamVjdC5oCj4gaW5kZXggZjBiMGJmMzljYy4uZTU4ZWViMjgwZiAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL3FvbS9vYmplY3QuaAo+ICsrKyBiL2luY2x1ZGUvcW9tL29iamVjdC5oCj4g QEAgLTY3OSw2ICs2NzksOCBAQCBPYmplY3QgKm9iamVjdF9uZXdfd2l0aF9wcm9wdihjb25zdCBj aGFyICp0eXBlbmFtZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKipl cnJwLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IHZhcmdzKTsKPiAg Cj4gK3ZvaWQgb2JqZWN0X2FwcGx5X2dsb2JhbF9wcm9wcyhPYmplY3QgKm9iaiwgR0FycmF5ICpw cm9wcywgRXJyb3IgKiplcnJwKTsKPiArCj4gIC8qKgo+ICAgKiBvYmplY3Rfc2V0X3Byb3BzOgo+ ICAgKiBAb2JqOiB0aGUgb2JqZWN0IGluc3RhbmNlIHRvIHNldCBwcm9wZXJ0aWVzIG9uCj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvc3lzZW11L2FjY2VsLmggYi9pbmNsdWRlL3N5c2VtdS9hY2NlbC5o Cj4gaW5kZXggNjM3MzU4ZjQzMC4uZjRmNzExMzRiNSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3N5 c2VtdS9hY2NlbC5oCj4gKysrIGIvaW5jbHVkZS9zeXNlbXUvYWNjZWwuaAo+IEBAIC00OSw3ICs0 OSw3IEBAIHR5cGVkZWYgc3RydWN0IEFjY2VsQ2xhc3Mgewo+ICAgICAgICogZ2xvYmFsIHByb3Bl cnRpZXMgbWF5IGJlIG92ZXJyaWRkZW4gYnkgbWFjaGluZS10eXBlCj4gICAgICAgKiBjb21wYXRf cHJvcHMgb3IgdXNlci1wcm92aWRlZCBnbG9iYWwgcHJvcGVydGllcy4KPiAgICAgICAqLwo+IC0g ICAgR2xvYmFsUHJvcGVydHkgKmdsb2JhbF9wcm9wczsKPiArICAgIEdBcnJheSAqY29tcGF0X3By b3BzOwo+ICB9IEFjY2VsQ2xhc3M7Cj4gIAo+ICAjZGVmaW5lIFRZUEVfQUNDRUwgImFjY2VsIgo+ IEBAIC02Nyw4ICs2Nyw2IEBAIHR5cGVkZWYgc3RydWN0IEFjY2VsQ2xhc3Mgewo+ICBleHRlcm4g dW5zaWduZWQgbG9uZyB0Y2dfdGJfc2l6ZTsKPiAgCj4gIHZvaWQgY29uZmlndXJlX2FjY2VsZXJh dG9yKE1hY2hpbmVTdGF0ZSAqbXMpOwo+IC0vKiBSZWdpc3RlciBhY2NlbGVyYXRvciBzcGVjaWZp YyBnbG9iYWwgcHJvcGVydGllcyAqLwo+IC12b2lkIGFjY2VsX3JlZ2lzdGVyX2NvbXBhdF9wcm9w cyhBY2NlbFN0YXRlICphY2NlbCk7Cj4gIC8qIENhbGxlZCBqdXN0IGJlZm9yZSBvc19zZXR1cF9w b3N0IChpZSBqdXN0IGJlZm9yZSBkcm9wIE9TIHByaXZzKSAqLwo+ICB2b2lkIGFjY2VsX3NldHVw X3Bvc3QoTWFjaGluZVN0YXRlICptcyk7Cj4gIAo+IGRpZmYgLS1naXQgYS9hY2NlbC9hY2NlbC5j IGIvYWNjZWwvYWNjZWwuYwo+IGluZGV4IDNkYTI2ZWI5MGYuLjZkYjVkOGY0ZGYgMTAwNjQ0Cj4g LS0tIGEvYWNjZWwvYWNjZWwuYwo+ICsrKyBiL2FjY2VsL2FjY2VsLmMKPiBAQCAtMTE5LDE4ICsx MTksNiBAQCB2b2lkIGNvbmZpZ3VyZV9hY2NlbGVyYXRvcihNYWNoaW5lU3RhdGUgKm1zKQo+ICAg ICAgfQo+ICB9Cj4gIAo+IC12b2lkIGFjY2VsX3JlZ2lzdGVyX2NvbXBhdF9wcm9wcyhBY2NlbFN0 YXRlICphY2NlbCkKPiAtewo+IC0gICAgQWNjZWxDbGFzcyAqY2xhc3MgPSBBQ0NFTF9HRVRfQ0xB U1MoYWNjZWwpOwo+IC0gICAgR2xvYmFsUHJvcGVydHkgKnByb3AgPSBjbGFzcy0+Z2xvYmFsX3By b3BzOwo+IC0KPiAtICAgIGZvciAoOyBwcm9wICYmIHByb3AtPmRyaXZlcjsgcHJvcCsrKSB7Cj4g LSAgICAgICAgLyogQW55IGNvbXBhdF9wcm9wcyBtdXN0IG5ldmVyIGNhdXNlIGVycm9yICovCj4g LSAgICAgICAgcHJvcC0+ZXJycCA9ICZlcnJvcl9hYm9ydDsKPiAtICAgICAgICBxZGV2X3Byb3Bf cmVnaXN0ZXJfZ2xvYmFsKHByb3ApOwo+IC0gICAgfQo+IC19Cj4gLQo+ICB2b2lkIGFjY2VsX3Nl dHVwX3Bvc3QoTWFjaGluZVN0YXRlICptcykKPiAgewo+ICAgICAgQWNjZWxTdGF0ZSAqYWNjZWwg PSBtcy0+YWNjZWxlcmF0b3I7Cj4gZGlmZiAtLWdpdCBhL2h3L2NvcmUvbWFjaGluZS5jIGIvaHcv Y29yZS9tYWNoaW5lLmMKPiBpbmRleCBkYTUwYWQ2ZGU3Li40NDQ0ZDQ1OTQ1IDEwMDY0NAo+IC0t LSBhL2h3L2NvcmUvbWFjaGluZS5jCj4gKysrIGIvaHcvY29yZS9tYWNoaW5lLmMKPiBAQCAtODQ0 LDI0ICs4NDQsNiBAQCBzdGF0aWMgdm9pZCBtYWNoaW5lX2NsYXNzX2ZpbmFsaXplKE9iamVjdENs YXNzICprbGFzcywgdm9pZCAqZGF0YSkKPiAgICAgIGdfZnJlZShtYy0+bmFtZSk7Cj4gIH0KPiAg Cj4gLXZvaWQgbWFjaGluZV9yZWdpc3Rlcl9jb21wYXRfcHJvcHMoTWFjaGluZVN0YXRlICptYWNo aW5lKQo+IC17Cj4gLSAgICBNYWNoaW5lQ2xhc3MgKm1jID0gTUFDSElORV9HRVRfQ0xBU1MobWFj aGluZSk7Cj4gLSAgICBpbnQgaTsKPiAtICAgIEdsb2JhbFByb3BlcnR5ICpwOwo+IC0KPiAtICAg IGlmICghbWMtPmNvbXBhdF9wcm9wcykgewo+IC0gICAgICAgIHJldHVybjsKPiAtICAgIH0KPiAt Cj4gLSAgICBmb3IgKGkgPSAwOyBpIDwgbWMtPmNvbXBhdF9wcm9wcy0+bGVuOyBpKyspIHsKPiAt ICAgICAgICBwID0gZ19hcnJheV9pbmRleChtYy0+Y29tcGF0X3Byb3BzLCBHbG9iYWxQcm9wZXJ0 eSAqLCBpKTsKPiAtICAgICAgICAvKiBNYWNoaW5lIGNvbXBhdF9wcm9wcyBtdXN0IG5ldmVyIGNh dXNlIGVycm9yczogKi8KPiAtICAgICAgICBwLT5lcnJwID0gJmVycm9yX2Fib3J0Owo+IC0gICAg ICAgIHFkZXZfcHJvcF9yZWdpc3Rlcl9nbG9iYWwocCk7Cj4gLSAgICB9Cj4gLX0KPiAtCj4gIHN0 YXRpYyBjb25zdCBUeXBlSW5mbyBtYWNoaW5lX2luZm8gPSB7Cj4gICAgICAubmFtZSA9IFRZUEVf TUFDSElORSwKPiAgICAgIC5wYXJlbnQgPSBUWVBFX09CSkVDVCwKPiBkaWZmIC0tZ2l0IGEvaHcv Y29yZS9xZGV2LmMgYi9ody9jb3JlL3FkZXYuYwo+IGluZGV4IDZiM2NjNTViMjcuLjMwODkwZjJj OGQgMTAwNjQ0Cj4gLS0tIGEvaHcvY29yZS9xZGV2LmMKPiArKysgYi9ody9jb3JlL3FkZXYuYwo+ IEBAIC05NzIsNiArOTcyLDE0IEBAIHN0YXRpYyB2b2lkIGRldmljZV9pbml0Zm4oT2JqZWN0ICpv YmopCj4gIAo+ICBzdGF0aWMgdm9pZCBkZXZpY2VfcG9zdF9pbml0KE9iamVjdCAqb2JqKQo+ICB7 Cj4gKyAgICBpZiAoY3VycmVudF9tYWNoaW5lKSB7Cj4gKyAgICAgICAgTWFjaGluZUNsYXNzICpt YyA9IE1BQ0hJTkVfR0VUX0NMQVNTKGN1cnJlbnRfbWFjaGluZSk7Cj4gKyAgICAgICAgQWNjZWxD bGFzcyAqYWMgPSBBQ0NFTF9HRVRfQ0xBU1MoY3VycmVudF9tYWNoaW5lLT5hY2NlbGVyYXRvcik7 Cj4gKwoKPiArICAgICAgICBvYmplY3RfYXBwbHlfZ2xvYmFsX3Byb3BzKG9iaiwgbWMtPmNvbXBh dF9wcm9wcywgJmVycm9yX2Fib3J0KTsKPiArICAgICAgICBvYmplY3RfYXBwbHlfZ2xvYmFsX3By b3BzKG9iaiwgYWMtPmNvbXBhdF9wcm9wcywgJmVycm9yX2Fib3J0KTsKMS4gdGhpcyBpcyBvcmRl ciBpbnZlcnNpb24gYXMgb3Bwb3NlZCB0byByZWdpc3Rlcl9nbG9iYWxfcHJvcGVydGllcygpLAog ICBidXQgbG9va2luZyBhdCB4ZW5fY29tcGF0X3Byb3BzW10gYW5kIGV4aXN0aW5nIG1hY2hpbmUg Y29tcGF0cwogICBpdCBzaG91bGQgd29yayBmaW5lIGFzIHRoZXkgYWxsIGFyZSB1c2luZyBzd2l0 Y2hpbmcgb2ZmIHRoZSBzYW1lIHByb3BlcnRpZXMKICAgc28gdGhlcmUgaXMgbm8gY29uZmxpY3Qg aWYgb3JkZXIgaXMgY2hhbmdlZCBidXQgaXQgd2lsbCBjaGFuZ2Ugc2VtYW50aWNzIG9mCiAgIEFj Y2VsQ2xhc3M6Omdsb2JhbF9wcm9wcyB0aGF0J3Mgc2F5cyB0aGF0IG1hY2hpbmUgY29tcGF0cyB3 aWxsIG92ZXJyaWRlIGFjY2VsIG9uZXMuCgoyLiBJJ2QgcHJlZmVyIGZvbGxvd2luZyBzdHlsZToK ICAgICAgIGlmIChtYy0+Y29tcGF0X3Byb3BzKSB7CiAgICAgICAgICAgIG9iamVjdF9hcHBseV9n bG9iYWxfcHJvcHMoLi4uKTsKICAgICAgIH0KICAgc28gSSBkb24ndCBoYXZlIHRvIGp1bXAgaW5z aWRlIG9mIG9iamVjdF9hcHBseV9nbG9iYWxfcHJvcHMoKSB0byBmaWd1cmUgb3V0CiAgIHRoYXQg aXQgaXMgbm90IGlmIHByb3BzIGFyZSBOVUxMCgozLiBJIHF1aXRlIGRpc2xpa2UgdXNpbmcgY3Vy cmVudF9tYWNoaW5lIGhlcmUuIE5vdCBzdXJlIHdoYXQgdG8gZG8gdGhvdWdoCiAgIG1heWJlIGlu IHBhcmFsbGVsIHRvIGdsb2JhbF9wcm9wcyBjcmVhdGUgYSBjb21wYXRfcHJvcHMgcmVnaXN0cnkg d291bGQgYmUgYmV0dGVyOgogICBody9jb3JlL3FkZXYtcHJvcGVydGllcy5jOgogICAgICAgc3Rh dGljIEdMaXN0ICpnbG9iYWxfcHJvcHM7CiAgICAgKyBzdGF0aWMgR0xpc3QgKmNvbXBhdF9wcm9w czsKICAgeW91IHdvbid0IHBvaXNvbiBkZXZpY2UgbW9kZWwgd2l0aCBhY2Nlc3MgdG8gaGlnaGVy IGxldmVsIG9iamVjdCBhbmQKICAgdGhlcmUgd291bGQgYmUgbm8gbmVlZCBmb3IgYSBzdHViLgoK PiArICAgIH0KPiArCj4gICAgICBxZGV2X3Byb3Bfc2V0X2dsb2JhbHMoREVWSUNFKG9iaikpOwo+ ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9ody94ZW4veGVuLWNvbW1vbi5jIGIvaHcveGVuL3hlbi1j b21tb24uYwo+IGluZGV4IDZlYzE0YzczY2EuLmQxZWY3YTUzY2MgMTAwNjQ0Cj4gLS0tIGEvaHcv eGVuL3hlbi1jb21tb24uYwo+ICsrKyBiL2h3L3hlbi94ZW4tY29tbW9uLmMKPiBAQCAtMTgxLDEx ICsxODEsMTggQEAgc3RhdGljIEdsb2JhbFByb3BlcnR5IHhlbl9jb21wYXRfcHJvcHNbXSA9IHsK PiAgc3RhdGljIHZvaWQgeGVuX2FjY2VsX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKm9jLCB2b2lk ICpkYXRhKQo+ICB7Cj4gICAgICBBY2NlbENsYXNzICphYyA9IEFDQ0VMX0NMQVNTKG9jKTsKPiAr ICAgIGludCBpOwo+ICsKPiAgICAgIGFjLT5uYW1lID0gIlhlbiI7Cj4gICAgICBhYy0+aW5pdF9t YWNoaW5lID0geGVuX2luaXQ7Cj4gICAgICBhYy0+c2V0dXBfcG9zdCA9IHhlbl9zZXR1cF9wb3N0 Owo+ICAgICAgYWMtPmFsbG93ZWQgPSAmeGVuX2FsbG93ZWQ7Cj4gLSAgICBhYy0+Z2xvYmFsX3By b3BzID0geGVuX2NvbXBhdF9wcm9wczsKPiArCj4gKyAgICBhYy0+Y29tcGF0X3Byb3BzID0gZ19h cnJheV9uZXcoZmFsc2UsIGZhbHNlLCBzaXplb2Yodm9pZCAqKSk7Cj4gKyAgICBmb3IgKGkgPSAw OyB4ZW5fY29tcGF0X3Byb3BzW2ldLmRyaXZlciAhPSBOVUxMOyBpKyspIHsKPiArICAgICAgICBH bG9iYWxQcm9wZXJ0eSAqcHJvcCA9ICZ4ZW5fY29tcGF0X3Byb3BzW2ldOwo+ICsgICAgICAgIGdf YXJyYXlfYXBwZW5kX3ZhbChhYy0+Y29tcGF0X3Byb3BzLCBwcm9wKTsKPiArICAgIH0KPiAgfQo+ ICAKPiAgI2RlZmluZSBUWVBFX1hFTl9BQ0NFTCBBQ0NFTF9DTEFTU19OQU1FKCJ4ZW4iKQo+IGRp ZmYgLS1naXQgYS9xb20vb2JqZWN0LmMgYi9xb20vb2JqZWN0LmMKPiBpbmRleCBlYjc3MGRiZjdm Li45YWNkZjllMTZkIDEwMDY0NAo+IC0tLSBhL3FvbS9vYmplY3QuYwo+ICsrKyBiL3FvbS9vYmpl Y3QuYwo+IEBAIC0zNzIsNiArMzcyLDMxIEBAIHN0YXRpYyB2b2lkIG9iamVjdF9wb3N0X2luaXRf d2l0aF90eXBlKE9iamVjdCAqb2JqLCBUeXBlSW1wbCAqdGkpCj4gICAgICB9Cj4gIH0KPiAgCj4g K3ZvaWQgb2JqZWN0X2FwcGx5X2dsb2JhbF9wcm9wcyhPYmplY3QgKm9iaiwgR0FycmF5ICpwcm9w cywgRXJyb3IgKiplcnJwKQo+ICt7Cj4gKyAgICBFcnJvciAqZXJyID0gTlVMTDsKPiArICAgIGlu dCBpOwo+ICsKPiArICAgIGlmICghcHJvcHMpIHsKPiArICAgICAgICByZXR1cm47Cj4gKyAgICB9 Cj4gKwo+ICsgICAgZm9yIChpID0gMDsgaSA8IHByb3BzLT5sZW47IGkrKykgewo+ICsgICAgICAg IEdsb2JhbFByb3BlcnR5ICpwID0gZ19hcnJheV9pbmRleChwcm9wcywgR2xvYmFsUHJvcGVydHkg KiwgaSk7Cj4gKwo+ICsgICAgICAgIGlmIChvYmplY3RfZHluYW1pY19jYXN0KG9iaiwgcC0+ZHJp dmVyKSA9PSBOVUxMKSB7Cj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgIH0KPiAr ICAgICAgICBwLT51c2VkID0gdHJ1ZTsKPiArICAgICAgICBvYmplY3RfcHJvcGVydHlfcGFyc2Uo b2JqLCBwLT52YWx1ZSwgcC0+cHJvcGVydHksICZlcnIpOwo+ICsgICAgICAgIGlmIChlcnIgIT0g TlVMTCkgewo+ICsgICAgICAgICAgICBlcnJvcl9wcmVwZW5kKCZlcnIsICJjYW4ndCBhcHBseSBn bG9iYWwgJXMuJXM9JXM6ICIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZHJpdmVy LCBwLT5wcm9wZXJ0eSwgcC0+dmFsdWUpOwo+ICsgICAgICAgICAgICBlcnJvcl9wcm9wYWdhdGUo ZXJycCwgZXJyKTsKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lk IG9iamVjdF9pbml0aWFsaXplX3dpdGhfdHlwZSh2b2lkICpkYXRhLCBzaXplX3Qgc2l6ZSwgVHlw ZUltcGwgKnR5cGUpCj4gIHsKPiAgICAgIE9iamVjdCAqb2JqID0gZGF0YTsKPiBkaWZmIC0tZ2l0 IGEvc3R1YnMvbWFjaGluZS5jIGIvc3R1YnMvbWFjaGluZS5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiBpbmRleCAwMDAwMDAwMDAwLi41MWQ0MGZkNjc3Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi L3N0dWJzL21hY2hpbmUuYwo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaW5jbHVkZSAicWVtdS9vc2Rl cC5oIgo+ICsjaW5jbHVkZSAicWVtdS1jb21tb24uaCIKPiArCj4gK01hY2hpbmVDbGFzcyAqY3Vy cmVudF9tYWNoaW5lOwo+IGRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXFkZXYtZ2xvYmFsLXByb3Bz LmMgYi90ZXN0cy90ZXN0LXFkZXYtZ2xvYmFsLXByb3BzLmMKPiBpbmRleCBiMWViNTA1NDQyLi4z YThkMzE3MGEwIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL3Rlc3QtcWRldi1nbG9iYWwtcHJvcHMuYwo+ ICsrKyBiL3Rlc3RzL3Rlc3QtcWRldi1nbG9iYWwtcHJvcHMuYwo+IEBAIC0yOCw3ICsyOCw2IEBA Cj4gICNpbmNsdWRlICJxb20vb2JqZWN0LmgiCj4gICNpbmNsdWRlICJxYXBpL3Zpc2l0b3IuaCIK PiAgCj4gLQp1bnJlbGF0ZWQgY2hhbmdlCgo+ICAjZGVmaW5lIFRZUEVfU1RBVElDX1BST1BTICJz dGF0aWNfcHJvcF90eXBlIgo+ICAjZGVmaW5lIFNUQVRJQ19UWVBFKG9iaikgXAo+ICAgICAgT0JK RUNUX0NIRUNLKE15VHlwZSwgKG9iaiksIFRZUEVfU1RBVElDX1BST1BTKQo+IGRpZmYgLS1naXQg YS92bC5jIGIvdmwuYwo+IGluZGV4IDU1YmFiMDA1YjYuLjJhZWE4ODRjOWQgMTAwNjQ0Cj4gLS0t IGEvdmwuYwo+ICsrKyBiL3ZsLmMKPiBAQCAtMjk2Myw4ICsyOTYzLDYgQEAgc3RhdGljIHZvaWQg dXNlcl9yZWdpc3Rlcl9nbG9iYWxfcHJvcHModm9pZCkKPiAgICovCj4gIHN0YXRpYyB2b2lkIHJl Z2lzdGVyX2dsb2JhbF9wcm9wZXJ0aWVzKE1hY2hpbmVTdGF0ZSAqbXMpCj4gIHsKPiAtICAgIGFj Y2VsX3JlZ2lzdGVyX2NvbXBhdF9wcm9wcyhtcy0+YWNjZWxlcmF0b3IpOwo+IC0gICAgbWFjaGlu ZV9yZWdpc3Rlcl9jb21wYXRfcHJvcHMobXMpOwo+ICAgICAgdXNlcl9yZWdpc3Rlcl9nbG9iYWxf cHJvcHMoKTsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvc3R1YnMvTWFrZWZpbGUub2JqcyBiL3N0 dWJzL01ha2VmaWxlLm9ianMKPiBpbmRleCA1ZGQwYWVlZWM2Li42Y2UzM2FlNDZmIDEwMDY0NAo+ IC0tLSBhL3N0dWJzL01ha2VmaWxlLm9ianMKPiArKysgYi9zdHVicy9NYWtlZmlsZS5vYmpzCj4g QEAgLTE4LDYgKzE4LDcgQEAgc3R1Yi1vYmoteSArPSBpb3RocmVhZC1sb2NrLm8KPiAgc3R1Yi1v YmoteSArPSBpcy1kYWVtb25pemVkLm8KPiAgc3R1Yi1vYmotJChDT05GSUdfTElOVVhfQUlPKSAr PSBsaW51eC1haW8ubwo+ICBzdHViLW9iai15ICs9IG1hY2hpbmUtaW5pdC1kb25lLm8KPiArc3R1 Yi1vYmoteSArPSBtYWNoaW5lLm8KPiAgc3R1Yi1vYmoteSArPSBtaWdyLWJsb2NrZXIubwo+ICBz dHViLW9iai15ICs9IGNoYW5nZS1zdGF0ZS1oYW5kbGVyLm8KPiAgc3R1Yi1vYmoteSArPSBtb25p dG9yLm8KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs