From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH v5] common/vm_event: Initialize vm_event lists on domain creation Date: Tue, 29 Aug 2017 16:59:58 +0100 Message-ID: <20170829155958.dk7tzcssmkqknbfl@citrix.com> References: <1504016225-27393-1-git-send-email-aisaila@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1504016225-27393-1-git-send-email-aisaila@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Alexandru Isaila Cc: tim@xen.org, tamas@tklengyel.com, wei.liu2@citrix.com, rcojocaru@bitdefender.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, julien.grall@arm.com, sstabellini@kernel.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBBdWcgMjksIDIwMTcgYXQgMDU6MTc6MDVQTSArMDMwMCwgQWxleGFuZHJ1IElzYWls YSB3cm90ZToKWy4uLl0KPiAgCj4gIC8qKgo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWFp bi5jIGIveGVuL2NvbW1vbi9kb21haW4uYwo+IGluZGV4IGIyMmFhY2MuLjMwZjUwN2IgMTAwNjQ0 Cj4gLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYwo+ICsrKyBiL3hlbi9jb21tb24vZG9tYWluLmMK PiBAQCAtMzYzLDkgKzM2Myw2IEBAIHN0cnVjdCBkb21haW4gKmRvbWFpbl9jcmVhdGUoZG9taWRf dCBkb21pZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAo+ICAgICAgICAgIHBvb2xpZCA9IDA7 Cj4gIAo+ICAgICAgICAgIGVyciA9IC1FTk9NRU07Cj4gLSAgICAgICAgZC0+dm1fZXZlbnQgPSB4 emFsbG9jKHN0cnVjdCB2bV9ldmVudF9wZXJfZG9tYWluKTsKPiAtICAgICAgICBpZiAoICFkLT52 bV9ldmVudCApCj4gLSAgICAgICAgICAgIGdvdG8gZmFpbDsKPiAgCj4gICAgICAgICAgZC0+cGJ1 ZiA9IHh6YWxsb2NfYXJyYXkoY2hhciwgRE9NQUlOX1BCVUZfU0laRSk7Cj4gICAgICAgICAgaWYg KCAhZC0+cGJ1ZiApCj4gQEAgLTQwMyw3ICs0MDAsNiBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f Y3JlYXRlKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKPiAgICAgIGlm ICggaGFyZHdhcmVfZG9tYWluID09IGQgKQo+ICAgICAgICAgIGhhcmR3YXJlX2RvbWFpbiA9IG9s ZF9od2RvbTsKPiAgICAgIGF0b21pY19zZXQoJmQtPnJlZmNudCwgRE9NQUlOX0RFU1RST1lFRCk7 Cj4gLSAgICB4ZnJlZShkLT52bV9ldmVudCk7Cj4gICAgICB4ZnJlZShkLT5wYnVmKTsKPiAgICAg IGlmICggaW5pdF9zdGF0dXMgJiBJTklUX2FyY2ggKQo+ICAgICAgICAgIGFyY2hfZG9tYWluX2Rl c3Ryb3koZCk7Cj4gQEAgLTgyMCw3ICs4MTYsMTQgQEAgc3RhdGljIHZvaWQgY29tcGxldGVfZG9t YWluX2Rlc3Ryb3koc3RydWN0IHJjdV9oZWFkICpoZWFkKQo+ICAgICAgZnJlZV94ZW5vcHJvZl9w YWdlcyhkKTsKPiAgI2VuZGlmCj4gIAo+IC0gICAgeGZyZWUoZC0+dm1fZXZlbnQpOwo+ICsjaWZk ZWYgQ09ORklHX0hBU19NRU1fUEFHSU5HCj4gKyAgICB4ZnJlZShkLT52bV9ldmVudF9wYWdpbmcp Owo+ICsjZW5kaWYKPiArICAgIHhmcmVlKGQtPnZtX2V2ZW50X21vbml0b3IpOwoKV2h5IGRvIHlv dSB1bmNvbmRpdGlvbmFsbHkgeGZyZWUgdGhlc2Ugdm1fZXZlbnRfbW9uaXRvciB3aGlsZSB5b3Ug ZG9uJ3QKdW5jb25kaXRpb25hbGx5IGFsbG9jYXRlIHRoZW0/CgpOb3QgdGhhdCB0aGlzIGlzIHN0 cmljdGx5IGEgYnVnIGJ1dCB0aGlzIGRldmlhdGVzIGZyb20gdGhlIG9yaWdpbmFsCmJlaGF2aW91 ci4KCj4gKyNpZmRlZiBDT05GSUdfSEFTX01FTV9TSEFSSU5HCj4gKyAgICB4ZnJlZShkLT52bV9l dmVudF9zaGFyZSk7Cj4gKyNlbmRpZgo+ICsKPiAgICAgIHhmcmVlKGQtPnBidWYpOwo+ICAKPiAg ICAgIGZvciAoIGkgPSBkLT5tYXhfdmNwdXMgLSAxOyBpID49IDA7IGktLSApCj4gZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vbWVtX2FjY2Vzcy5jIGIveGVuL2NvbW1vbi9tZW1fYWNjZXNzLmMKPiBp bmRleCAxOWY2M2JiLi4xYmY2ODI0IDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vbWVtX2FjY2Vz cy5jCj4gKysrIGIveGVuL2NvbW1vbi9tZW1fYWNjZXNzLmMKPiBAQCAtNTIsNyArNTIsNyBAQCBp bnQgbWVtX2FjY2Vzc19tZW1vcCh1bnNpZ25lZCBsb25nIGNtZCwKPiAgICAgICAgICBnb3RvIG91 dDsKPiAgCj4gICAgICByYyA9IC1FTk9ERVY7Cj4gLSAgICBpZiAoIHVubGlrZWx5KCFkLT52bV9l dmVudC0+bW9uaXRvci5yaW5nX3BhZ2UpICkKPiArICAgIGlmICggdW5saWtlbHkoIXZtX2V2ZW50 X2NoZWNrX3JpbmcoZC0+dm1fZXZlbnRfbW9uaXRvcikpICkKPiAgICAgICAgICBnb3RvIG91dDsK PiAgCj4gICAgICBzd2l0Y2ggKCBtYW8ub3AgKQo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL21v bml0b3IuYyBiL3hlbi9jb21tb24vbW9uaXRvci5jCj4gaW5kZXggNDUxZjQyZi4uNzBkMzhkNCAx MDA2NDQKPiAtLS0gYS94ZW4vY29tbW9uL21vbml0b3IuYwo+ICsrKyBiL3hlbi9jb21tb24vbW9u aXRvci5jCj4gQEAgLTkyLDcgKzkyLDcgQEAgaW50IG1vbml0b3JfdHJhcHMoc3RydWN0IHZjcHUg KnYsIGJvb2xfdCBzeW5jLCB2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSkKPiAgICAgIGludCByYzsK PiAgICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47Cj4gIAo+IC0gICAgcmMgPSB2bV9l dmVudF9jbGFpbV9zbG90KGQsICZkLT52bV9ldmVudC0+bW9uaXRvcik7Cj4gKyAgICByYyA9IHZt X2V2ZW50X2NsYWltX3Nsb3QoZCwgZC0+dm1fZXZlbnRfbW9uaXRvcik7Cj4gICAgICBzd2l0Y2gg KCByYyApCj4gICAgICB7Cj4gICAgICBjYXNlIDA6Cj4gQEAgLTEyMyw3ICsxMjMsNyBAQCBpbnQg bW9uaXRvcl90cmFwcyhzdHJ1Y3QgdmNwdSAqdiwgYm9vbF90IHN5bmMsIHZtX2V2ZW50X3JlcXVl c3RfdCAqcmVxKQo+ICAgICAgfQo+ICAKPiAgICAgIHZtX2V2ZW50X2ZpbGxfcmVncyhyZXEpOwo+ IC0gICAgdm1fZXZlbnRfcHV0X3JlcXVlc3QoZCwgJmQtPnZtX2V2ZW50LT5tb25pdG9yLCByZXEp Owo+ICsgICAgdm1fZXZlbnRfcHV0X3JlcXVlc3QoZCwgZC0+dm1fZXZlbnRfbW9uaXRvciwgcmVx KTsKPiAgCj4gICAgICByZXR1cm4gcmM7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi92 bV9ldmVudC5jIGIveGVuL2NvbW1vbi92bV9ldmVudC5jCj4gaW5kZXggOTI5MWRiNi4uYTliNDdl MiAxMDA2NDQKPiAtLS0gYS94ZW4vY29tbW9uL3ZtX2V2ZW50LmMKPiArKysgYi94ZW4vY29tbW9u L3ZtX2V2ZW50LmMKPiBAQCAtNDIsNyArNDIsNyBAQAo+ICBzdGF0aWMgaW50IHZtX2V2ZW50X2Vu YWJsZSgKPiAgICAgIHN0cnVjdCBkb21haW4gKmQsCj4gICAgICB4ZW5fZG9tY3RsX3ZtX2V2ZW50 X29wX3QgKnZlYywKPiAtICAgIHN0cnVjdCB2bV9ldmVudF9kb21haW4gKnZlZCwKPiArICAgIHN0 cnVjdCB2bV9ldmVudF9kb21haW4gKip2ZWQsCj4gICAgICBpbnQgcGF1c2VfZmxhZywKPiAgICAg IGludCBwYXJhbSwKPiAgICAgIHhlbl9ldmVudF9jaGFubmVsX25vdGlmaWNhdGlvbl90IG5vdGlm aWNhdGlvbl9mbikKPiBAQCAtNTAsMzIgKzUwLDM3IEBAIHN0YXRpYyBpbnQgdm1fZXZlbnRfZW5h YmxlKAo+ICAgICAgaW50IHJjOwo+ICAgICAgdW5zaWduZWQgbG9uZyByaW5nX2dmbiA9IGQtPmFy Y2guaHZtX2RvbWFpbi5wYXJhbXNbcGFyYW1dOwo+ICAKPiArICAgIGlmICggISp2ZWQgKQo+ICsg ICAgICAgICgqdmVkKSA9IHh6YWxsb2Moc3RydWN0IHZtX2V2ZW50X2RvbWFpbik7CgpVbm5lY2Vz c2FyeSBwYXJlbnRoZXNlcy4KCj4gKyAgICBpZiAoICEqdmVkICkKPiArICAgICAgICByZXR1cm4g LUVOT01FTTsKPiArCj4gICAgICAvKiBPbmx5IG9uZSBoZWxwZXIgYXQgYSB0aW1lLiBJZiB0aGUg aGVscGVyIGNyYXNoZWQsCj4gICAgICAgKiB0aGUgcmluZyBpcyBpbiBhbiB1bmRlZmluZWQgc3Rh dGUgYW5kIHNvIGlzIHRoZSBndWVzdC4KPiAgICAgICAqLwo+IC0gICAgaWYgKCB2ZWQtPnJpbmdf cGFnZSApCj4gLSAgICAgICAgcmV0dXJuIC1FQlVTWTsKPiArICAgIGlmICggKCp2ZWQpLT5yaW5n X3BhZ2UgKQo+ICsgICAgICAgIHJldHVybiAtRUJVU1k7Owo+ICAKPiAgICAgIC8qIFRoZSBwYXJh bWV0ZXIgZGVmYXVsdHMgdG8gemVybywgYW5kIGl0IHNob3VsZCBiZQo+ICAgICAgICogc2V0IHRv IHNvbWV0aGluZyAqLwo+ICAgICAgaWYgKCByaW5nX2dmbiA9PSAwICkKPiAgICAgICAgICByZXR1 cm4gLUVOT1NZUzsKPiAgCj4gLSAgICB2bV9ldmVudF9yaW5nX2xvY2tfaW5pdCh2ZWQpOwo+IC0g ICAgdm1fZXZlbnRfcmluZ19sb2NrKHZlZCk7Cj4gKyAgICB2bV9ldmVudF9yaW5nX2xvY2tfaW5p dCgqdmVkKTsKPiArICAgIHZtX2V2ZW50X3JpbmdfbG9jaygqdmVkKTsKPiAgCj4gICAgICByYyA9 IHZtX2V2ZW50X2luaXRfZG9tYWluKGQpOwo+ICAKPiAgICAgIGlmICggcmMgPCAwICkKPiAgICAg ICAgICBnb3RvIGVycjsKPiAgCj4gLSAgICByYyA9IHByZXBhcmVfcmluZ19mb3JfaGVscGVyKGQs IHJpbmdfZ2ZuLCAmdmVkLT5yaW5nX3BnX3N0cnVjdCwKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnZlZC0+cmluZ19wYWdlKTsKPiArICAgIHJjID0gcHJlcGFyZV9yaW5n X2Zvcl9oZWxwZXIoZCwgcmluZ19nZm4sICYoKnZlZCktPnJpbmdfcGdfc3RydWN0LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKCp2ZWQpLT5yaW5nX3BhZ2UpOwoKU2lu Y2UgeW91IGFyZSBtb2RpZnlpbmcgdGhpcywgcGxlYXNlIGFsaWduIHRoZSBzZWNvbmQgbGluZSB0 byAiZCIuCgo+ICAgICAgaWYgKCByYyA8IDAgKQo+ICAgICAgICAgIGdvdG8gZXJyOwo+ICAKPiAg ICAgIC8qIFNldCB0aGUgbnVtYmVyIG9mIGN1cnJlbnRseSBibG9ja2VkIHZDUFVzIHRvIDAuICov Cj4gLSAgICB2ZWQtPmJsb2NrZWQgPSAwOwo+ICsgICAgKCp2ZWQpLT5ibG9ja2VkID0gMDsKPiAg Cj4gICAgICAvKiBBbGxvY2F0ZSBldmVudCBjaGFubmVsICovCj4gICAgICByYyA9IGFsbG9jX3Vu Ym91bmRfeGVuX2V2ZW50X2NoYW5uZWwoZCwgMCwgY3VycmVudC0+ZG9tYWluLT5kb21haW5faWQs Cj4gQEAgLTgzLDI2ICs4OCwyOCBAQCBzdGF0aWMgaW50IHZtX2V2ZW50X2VuYWJsZSgKPiAgICAg IGlmICggcmMgPCAwICkKPiAgICAgICAgICBnb3RvIGVycjsKPiAgCj4gLSAgICB2ZWQtPnhlbl9w b3J0ID0gdmVjLT5wb3J0ID0gcmM7Cj4gKyAgICAoKnZlZCktPnhlbl9wb3J0ID0gdmVjLT5wb3J0 ID0gcmM7Cj4gIAo+ICAgICAgLyogUHJlcGFyZSByaW5nIGJ1ZmZlciAqLwo+IC0gICAgRlJPTlRf UklOR19JTklUKCZ2ZWQtPmZyb250X3JpbmcsCj4gLSAgICAgICAgICAgICAgICAgICAgKHZtX2V2 ZW50X3NyaW5nX3QgKil2ZWQtPnJpbmdfcGFnZSwKPiArICAgIEZST05UX1JJTkdfSU5JVCgmKCp2 ZWQpLT5mcm9udF9yaW5nLAo+ICsgICAgICAgICAgICAgICAgICAgICh2bV9ldmVudF9zcmluZ190 ICopKCp2ZWQpLT5yaW5nX3BhZ2UsCj4gICAgICAgICAgICAgICAgICAgICAgUEFHRV9TSVpFKTsK PiAgCj4gICAgICAvKiBTYXZlIHRoZSBwYXVzZSBmbGFnIGZvciB0aGlzIHBhcnRpY3VsYXIgcmlu Zy4gKi8KPiAtICAgIHZlZC0+cGF1c2VfZmxhZyA9IHBhdXNlX2ZsYWc7Cj4gKyAgICAoKnZlZCkt PnBhdXNlX2ZsYWcgPSBwYXVzZV9mbGFnOwo+ICAKPiAgICAgIC8qIEluaXRpYWxpemUgdGhlIGxh c3QtY2hhbmNlIHdhaXQgcXVldWUuICovCj4gLSAgICBpbml0X3dhaXRxdWV1ZV9oZWFkKCZ2ZWQt PndxKTsKPiArICAgIGluaXRfd2FpdHF1ZXVlX2hlYWQoJigqdmVkKS0+d3EpOwo+ICAKPiAtICAg IHZtX2V2ZW50X3JpbmdfdW5sb2NrKHZlZCk7Cj4gKyAgICB2bV9ldmVudF9yaW5nX3VubG9jaygo KnZlZCkpOwoKVW5uZWNlc3NhcnkgcGFyZW50aGVzZXMuCgo+ICAgICAgcmV0dXJuIDA7Cj4gIAo+ ICAgZXJyOgo+IC0gICAgZGVzdHJveV9yaW5nX2Zvcl9oZWxwZXIoJnZlZC0+cmluZ19wYWdlLAo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVkLT5yaW5nX3BnX3N0cnVjdCk7Cj4gLSAg ICB2bV9ldmVudF9yaW5nX3VubG9jayh2ZWQpOwo+ICsgICAgZGVzdHJveV9yaW5nX2Zvcl9oZWxw ZXIoJigqdmVkKS0+cmluZ19wYWdlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCp2 ZWQpLT5yaW5nX3BnX3N0cnVjdCk7Cj4gKyAgICB2bV9ldmVudF9yaW5nX3VubG9jaygoKnZlZCkp Owo+ICsgICAgeGZyZWUoKnZlZCk7Cj4gKyAgICAqdmVkID0gTlVMTDsKPiAgCj4gICAgICByZXR1 cm4gcmM7Cj4gIH0KPiBAQCAtMTg3LDQxICsxOTQsNDQgQEAgdm9pZCB2bV9ldmVudF93YWtlKHN0 cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2bV9ldmVudF9kb21haW4gKnZlZCkKPiAgICAgICAgICB2 bV9ldmVudF93YWtlX2Jsb2NrZWQoZCwgdmVkKTsKPiAgfQo+ICAKPiAtc3RhdGljIGludCB2bV9l dmVudF9kaXNhYmxlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2bV9ldmVudF9kb21haW4gKnZl ZCkKPiArc3RhdGljIGludCB2bV9ldmVudF9kaXNhYmxlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVj dCB2bV9ldmVudF9kb21haW4gKip2ZWQpCj4gIHsKCkEgbG90IG9mIHRoZSBjb2RlIGNodXJuIGhl cmUgYW5kIGFib3ZlIGNvdWxkIGJlIGF2b2lkZWQgYnkgY2hhbmdpbmcgdmVkCmluIHBhcmFtZXRl ciBsaXN0IHRvIHNvbWV0aGluZyBlbHNlICh2ZWRwPykgYW5kICBoYXZpbmcgYSBsb2NhbCB2YXJp YWJsZQpjYWxsZWQKCiAgICBzdHJ1Y3Qgdm1fZXZlbnRfZG9tYWluICp2ZWQgPSAqdmVkcDsKCihJ IGRvbid0IGZlZWwgdmVyeSBzdHJvbmdseSBhYm91dCB0aGlzIHRob3VnaCkKCj4gLSAgICBpZiAo IHZlZC0+cmluZ19wYWdlICkKPiArICAgIGlmICggdm1fZXZlbnRfY2hlY2tfcmluZygqdmVkKSAp Cj4gICAgICB7Cj4gICAgICAgICAgc3RydWN0IHZjcHUgKnY7Cj4gIAo+IC0gICAgICAgIHZtX2V2 ZW50X3JpbmdfbG9jayh2ZWQpOwo+ICsgICAgICAgIHZtX2V2ZW50X3JpbmdfbG9jaygqdmVkKTsK PiAgCj4gLSAgICAgICAgaWYgKCAhbGlzdF9lbXB0eSgmdmVkLT53cS5saXN0KSApCj4gKyAgICAg ICAgaWYgKCAhbGlzdF9lbXB0eSgmKCp2ZWQpLT53cS5saXN0KSApCj4gICAgICAgICAgewo+IC0g ICAgICAgICAgICB2bV9ldmVudF9yaW5nX3VubG9jayh2ZWQpOwo+ICsgICAgICAgICAgICB2bV9l dmVudF9yaW5nX3VubG9jaygqdmVkKTsKPiAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKPiAg ICAgICAgICB9Cj4gIAo+ICAgICAgICAgIC8qIEZyZWUgZG9tVSdzIGV2ZW50IGNoYW5uZWwgYW5k IGxlYXZlIHRoZSBvdGhlciBvbmUgdW5ib3VuZCAqLwo+IC0gICAgICAgIGZyZWVfeGVuX2V2ZW50 X2NoYW5uZWwoZCwgdmVkLT54ZW5fcG9ydCk7Cj4gKyAgICAgICAgZnJlZV94ZW5fZXZlbnRfY2hh bm5lbChkLCAoKnZlZCktPnhlbl9wb3J0KTsKPiAgCj4gICAgICAgICAgLyogVW5ibG9jayBhbGwg dkNQVXMgKi8KPiAgICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCj4gICAgICAgICAgewo+ IC0gICAgICAgICAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2JpdCh2ZWQtPnBhdXNlX2ZsYWcsICZ2 LT5wYXVzZV9mbGFncykgKQo+ICsgICAgICAgICAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2JpdCgo KnZlZCktPnBhdXNlX2ZsYWcsICZ2LT5wYXVzZV9mbGFncykgKQo+ICAgICAgICAgICAgICB7Cj4g ICAgICAgICAgICAgICAgICB2Y3B1X3VucGF1c2Uodik7Cj4gLSAgICAgICAgICAgICAgICB2ZWQt PmJsb2NrZWQtLTsKPiArICAgICAgICAgICAgICAgICgqdmVkKS0+YmxvY2tlZC0tOwo+ICAgICAg ICAgICAgICB9Cj4gICAgICAgICAgfQo+ICAKPiAtICAgICAgICBkZXN0cm95X3JpbmdfZm9yX2hl bHBlcigmdmVkLT5yaW5nX3BhZ2UsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmVkLT5yaW5nX3BnX3N0cnVjdCk7Cj4gKyAgICAgICAgZGVzdHJveV9yaW5nX2Zvcl9oZWxwZXIo JigqdmVkKS0+cmluZ19wYWdlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgq dmVkKS0+cmluZ19wZ19zdHJ1Y3QpOwo+ICAKPiAgICAgICAgICB2bV9ldmVudF9jbGVhbnVwX2Rv bWFpbihkKTsKPiAgCj4gLSAgICAgICAgdm1fZXZlbnRfcmluZ191bmxvY2sodmVkKTsKPiArICAg ICAgICB2bV9ldmVudF9yaW5nX3VubG9jaygqdmVkKTsKPiAgICAgIH0KPiAgCj4gKyAgICB4ZnJl ZSgqdmVkKTsKPiArICAgICp2ZWQgPSBOVUxMOwo+ICsKPiAgICAgIHJldHVybiAwOwo+ICB9Cj4g IAo+IEBAIC0yNjcsNiArMjc3LDkgQEAgdm9pZCB2bV9ldmVudF9wdXRfcmVxdWVzdChzdHJ1Y3Qg ZG9tYWluICpkLAo+ICAgICAgUklOR19JRFggcmVxX3Byb2Q7Cj4gICAgICBzdHJ1Y3QgdmNwdSAq Y3VyciA9IGN1cnJlbnQ7Cj4gIAo+ICsgICAgaWYoICF2bV9ldmVudF9jaGVja19yaW5nKHZlZCkp Cj4gKyAgICAgICAgcmV0dXJuOwo+ICsKPiAgICAgIGlmICggY3Vyci0+ZG9tYWluICE9IGQgKQo+ ICAgICAgewo+ICAgICAgICAgIHJlcS0+ZmxhZ3MgfD0gVk1fRVZFTlRfRkxBR19GT1JFSUdOOwo+ IEBAIC00MzQsNiArNDQ3LDkgQEAgdm9pZCB2bV9ldmVudF9yZXN1bWUoc3RydWN0IGRvbWFpbiAq ZCwgc3RydWN0IHZtX2V2ZW50X2RvbWFpbiAqdmVkKQo+ICAKPiAgdm9pZCB2bV9ldmVudF9jYW5j ZWxfc2xvdChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qgdm1fZXZlbnRfZG9tYWluICp2ZWQpCj4g IHsKPiArICAgIGlmKCAhdm1fZXZlbnRfY2hlY2tfcmluZyh2ZWQpICkKPiArICAgICAgICByZXR1 cm47Cj4gKwo+ICAgICAgdm1fZXZlbnRfcmluZ19sb2NrKHZlZCk7Cj4gICAgICB2bV9ldmVudF9y ZWxlYXNlX3Nsb3QoZCwgdmVkKTsKPiAgICAgIHZtX2V2ZW50X3JpbmdfdW5sb2NrKHZlZCk7Cj4g QEAgLTQ4Miw3ICs0OTgsNyBAQCBzdGF0aWMgaW50IHZtX2V2ZW50X3dhaXRfc2xvdChzdHJ1Y3Qg dm1fZXZlbnRfZG9tYWluICp2ZWQpCj4gIAo+ICBib29sX3Qgdm1fZXZlbnRfY2hlY2tfcmluZyhz dHJ1Y3Qgdm1fZXZlbnRfZG9tYWluICp2ZWQpCj4gIHsKPiAtICAgIHJldHVybiAodmVkLT5yaW5n X3BhZ2UgIT0gTlVMTCk7Cj4gKyAgICByZXR1cm4gKHZlZCAhPSBOVUxMICYmIHZlZC0+cmluZ19w YWdlICE9IE5VTEwpOwoKdmVkICYmIHZlZC0+cmluZ19wYWdlCgo+ICB9Cj4gIAo+ICAvKgpbLi4u XQo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyBiL3hlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCj4gaW5kZXggMjdiZGI3MS4uMzkxYzQ3MyAxMDA2NDQKPiAt LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYwo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3BjaS5jCj4gQEAgLTIxLDYgKzIxLDcgQEAKPiAgI2luY2x1ZGUgPHhlbi9wcmVm ZXRjaC5oPgo+ICAjaW5jbHVkZSA8eGVuL2lvbW11Lmg+Cj4gICNpbmNsdWRlIDx4ZW4vaXJxLmg+ Cj4gKyNpbmNsdWRlIDx4ZW4vdm1fZXZlbnQuaD4KPiAgI2luY2x1ZGUgPGFzbS9odm0vaXJxLmg+ Cj4gICNpbmNsdWRlIDx4ZW4vZGVsYXkuaD4KPiAgI2luY2x1ZGUgPHhlbi9rZXloYW5kbGVyLmg+ Cj4gQEAgLTEzNjUsNyArMTM2Niw3IEBAIHN0YXRpYyBpbnQgYXNzaWduX2RldmljZShzdHJ1Y3Qg ZG9tYWluICpkLCB1MTYgc2VnLCB1OCBidXMsIHU4IGRldmZuLCB1MzIgZmxhZykKPiAgICAgICAq IGVuYWJsZWQgZm9yIHRoaXMgZG9tYWluICovCj4gICAgICBpZiAoIHVubGlrZWx5KCFuZWVkX2lv bW11KGQpICYmCj4gICAgICAgICAgICAgIChkLT5hcmNoLmh2bV9kb21haW4ubWVtX3NoYXJpbmdf ZW5hYmxlZCB8fAo+IC0gICAgICAgICAgICAgZC0+dm1fZXZlbnQtPnBhZ2luZy5yaW5nX3BhZ2Ug fHwKPiArICAgICAgICAgICAgIHZtX2V2ZW50X2NoZWNrX3JpbmcoZC0+dm1fZXZlbnRfcGFnaW5n KSB8fAo+ICAgICAgICAgICAgICAgcDJtX2dldF9ob3N0cDJtKGQpLT5nbG9iYWxfbG9nZGlydHkp KSApCj4gICAgICAgICAgcmV0dXJuIC1FWERFVjsKPiAgCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKPiBpbmRleCA2NjczYjI3 Li5lNDg0ODdjIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCj4gKysrIGIv eGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKPiBAQCAtMjk1LDE2ICsyOTUsNiBAQCBzdHJ1Y3Qgdm1f ZXZlbnRfZG9tYWluCj4gICAgICB1bnNpZ25lZCBpbnQgbGFzdF92Y3B1X3dha2VfdXA7Cj4gIH07 Cj4gIAo+IC1zdHJ1Y3Qgdm1fZXZlbnRfcGVyX2RvbWFpbgo+IC17Cj4gLSAgICAvKiBNZW1vcnkg c2hhcmluZyBzdXBwb3J0ICovCj4gLSAgICBzdHJ1Y3Qgdm1fZXZlbnRfZG9tYWluIHNoYXJlOwo+ IC0gICAgLyogTWVtb3J5IHBhZ2luZyBzdXBwb3J0ICovCj4gLSAgICBzdHJ1Y3Qgdm1fZXZlbnRf ZG9tYWluIHBhZ2luZzsKPiAtICAgIC8qIFZNIGV2ZW50IG1vbml0b3Igc3VwcG9ydCAqLwo+IC0g ICAgc3RydWN0IHZtX2V2ZW50X2RvbWFpbiBtb25pdG9yOwo+IC19Owo+IC0KPiAgc3RydWN0IGV2 dGNobl9wb3J0X29wczsKPiAgCj4gIGVudW0gZ3Vlc3RfdHlwZSB7Cj4gQEAgLTQ2NCw3ICs0NTQs MTMgQEAgc3RydWN0IGRvbWFpbgo+ICAgICAgc3RydWN0IGxvY2tfcHJvZmlsZV9xaGVhZCBwcm9m aWxlX2hlYWQ7Cj4gIAo+ICAgICAgLyogVmFyaW91cyB2bV9ldmVudHMgKi8KPiAtICAgIHN0cnVj dCB2bV9ldmVudF9wZXJfZG9tYWluICp2bV9ldmVudDsKPiArCj4gKyAgICAvKiBNZW1vcnkgc2hh cmluZyBzdXBwb3J0ICovCj4gKyAgICBzdHJ1Y3Qgdm1fZXZlbnRfZG9tYWluICp2bV9ldmVudF9z aGFyZTsKPiArICAgIC8qIE1lbW9yeSBwYWdpbmcgc3VwcG9ydCAqLwo+ICsgICAgc3RydWN0IHZt X2V2ZW50X2RvbWFpbiAqdm1fZXZlbnRfcGFnaW5nOwo+ICsgICAgLyogVk0gZXZlbnQgbW9uaXRv ciBzdXBwb3J0ICovCj4gKyAgICBzdHJ1Y3Qgdm1fZXZlbnRfZG9tYWluICp2bV9ldmVudF9tb25p dG9yOwoKUGxlYXNlIGNvbnNpZGVyIHBsYWNlIHRoZW0gaW5zaWRlIENPTkZJRyBvcHRpb25zIGxp a2UgeW91IGRpZCBhYm92ZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=