From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH for 4.7 2/4] xen: sched: fix killing an uninitialized timer in free_pdata. Date: Wed, 4 May 2016 16:25:03 +0100 Message-ID: <572A144F.10903@citrix.com> References: <146231184906.25631.6550047090421454264.stgit@Solace.fritz.box> <146231200265.25631.11092489140094592368.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1axyg0-0006Fu-Kj for xen-devel@lists.xenproject.org; Wed, 04 May 2016 15:25:24 +0000 In-Reply-To: <146231200265.25631.11092489140094592368.stgit@Solace.fritz.box> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Dario Faggioli , xen-devel@lists.xenproject.org Cc: Varun.Swara@arm.com, Julien Grall , Steve Capper , Wei Liu List-Id: xen-devel@lists.xenproject.org T24gMDMvMDUvMTYgMjI6NDYsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgo+IGNvbW1pdCA2NDI2OWQ5 MzY1ICJzY2hlZDogaW1wbGVtZW50IC5pbml0X3BkYXRhIGluIENyZWRpdCwKPiBDcmVkaXQyIGFu ZCBSVERTIiBoZWxwZWQgZml4aW5nIENyZWRpdDIgcnVucXVldWVzLCBhbmQKPiB0aGUgcmFjZXMg d2UgaGFkIGluIHN3aXRjaGluZyBzY2hlZHVsZXIgZm9yIHBDUFVzLCBidXQKPiBpbnRyb2R1Y2Vk IGFub3RoZXIgaXNzdWUuIEluIGZhY3QsIGlmIENQVSBicmluZ3VwIGZhaWxzCj4gZHVyaW5nIF9f Y3B1X3VwKCkgKGFuZCwgbW9yZSBwcmVjaXNlbHksIGFmdGVyIENQVV9VUF9QUkVQQVJFLAo+IGJ1 dCBiZWZvcmUgQ1BVX1NUQVJUSU5HKSB0aGUgQ1BVX1VQX0NBTkNFTEVEIG5vdGlmaWVyCj4gd291 bGQgYmUgZXhlY3V0ZWQsIHdoaWNoIGNhbGxzIHRoZSBmcmVlX3BkYXRhIGhvb2suCj4gCj4gU3Vj aCBob29rIGRvZXMsIHJpZ2h0IG5vdywgdHdvIHRoaW5nczogKDEpIHVuZG8gdGhlCj4gaW5pdGlh bGl6YXRpb24gZG9uZSBpbnNpZGUgdGhlIGluaXRfcGRhdGEgaG9vayBhbmQgKDIpCj4gZnJlZSB0 aGUgbWVtb3J5IGFsbG9jYXRlZCBieSB0aGUgYWxsb2NfcGRhdGEgaG9vay4KPiAKPiBIb3dldmVy LCBpbiB0aGUgZmFpbHVyZSBwYXRoIGp1c3QgZGVzY3JpYmVkLCBpdCBpcyBwb3NzaWJsZQo+IHRo YXQgb25seSBhbGxvY19wZGF0YSB3ZXJlIGNhbGxlZCwgYW5kIHRoaXMgaXMgcG90ZW50aWFsbHkK PiBhbiBpc3N1ZSAoZGVwZW5kaW5nIG9uIGhvdyBhY3R1YWxseSBmcmVlX3BkYXRhIGRvZXMpLgo+ IAo+IEluIGZhY3QsIGZvciBDcmVkaXQxICh0aGUgb25seSBzY2hlZHVsZXIgdGhhdCBhY3R1YWxs eQo+IGFsbG9jYXRlcyBwZXItcENQVSBkYXRhKSwgdGhpcyByZXN1bHQgaW4gY2FsbGluZyBraWxs X3RpbWVyKCkKPiBvbiBhIHRpbWVyIHRoYXQgaGFkIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZCwg d2hpY2ggY2F1c2VzCj4gdGhlIGZvbGxvd2luZzoKPiAKPiAoWEVOKSBYZW4gY2FsbCB0cmFjZToK PiAoWEVOKSAgICBbPDAwMDAwMDAwMDAyMmUzMDQ+XSB0aW1lci5jI2FjdGl2ZV90aW1lcisweDgv MHgyNCAoUEMpCj4gKFhFTikgICAgWzwwMDAwMDAwMDAwMjJmNjI0Pl0ga2lsbF90aW1lcisweDEw OC8weDJlMCAoTFIpCj4gKFhFTikgICAgWzwwMDAwMDAwMDAwMjIwOGMwPl0gc2NoZWRfY3JlZGl0 LmMjY3NjaGVkX2ZyZWVfcGRhdGErMHhkOC8weDExNAo+IChYRU4pICAgIFs8MDAwMDAwMDAwMDIy N2ExOD5dIHNjaGVkdWxlLmMjY3B1X3NjaGVkdWxlX2NhbGxiYWNrKzB4YzAvMHgxMmMKPiAoWEVO KSAgICBbPDAwMDAwMDAwMDAyMTk5NDQ+XSBub3RpZmllcl9jYWxsX2NoYWluKzB4NzgvMHg5Ywo+ IChYRU4pICAgIFs8MDAwMDAwMDAwMDIwMTVmYz5dIGNwdV91cCsweDEwNC8weDEzMAo+IChYRU4p ICAgIFs8MDAwMDAwMDAwMDI4ZjdjMD5dIHN0YXJ0X3hlbisweGFmOC8weGNlMAo+IChYRU4pICAg IFs8MDAwMDAwMDA4MTAwMjFkOD5dIDAwMDAwMDAwODEwMDIxZDgKPiAoWEVOKQo+IChYRU4pCj4g KFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+IChYRU4pIFBh bmljIG9uIENQVSAwOgo+IChYRU4pIEFzc2VydGlvbiAndGltZXItPnN0YXR1cyA+PSBUSU1FUl9T VEFUVVNfaW5hY3RpdmUnIGZhaWxlZCBhdCB0aW1lci5jOjI3OQo+IChYRU4pICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiAKPiBTb2x2ZSB0aGlzIGJ5IG1ha2luZyB0 aGUgc2NoZWR1bGVyIGhvb2tzIEFQSSBzeW1tZXRyaWMgYWdhaW4sCj4gaS5lLiwgYnkgYWRkaW5n IGEgZGVpbml0X3BkYXRhIGhvb2sgYW5kIG1ha2luZyBpdCByZXNwb25zaWJsZQo+IG9mIHVuZG9p bmcgd2hhdCBpbml0X3BkYXRhIGRpZCwgcmF0aGVyIHRoYW4gYXNraW5nIHRvIGZyZWVfcGRhdGEK PiB0byBkbyBldmVyeXRoaW5nLgo+IAo+IFRoaXMgaXMgY2xlYW5lciBhbmQsIGluIHRoZSBjYXNl IGF0IGhhbmQsIG1ha2VzIGl0IHBvc3NpYmxlIHRvCj4gb25seSBjYWxsIGZyZWVfcGRhdGEgKHdo aWNoIGlzIHRoZSByaWdodCB0aGluZyB0byBkbykgYXMgb25seQo+IGFsbG9jYXRpb24gYW5kIG5v IGluaXRpYWxpemF0aW9uIHdhcyBwZXJmb3JtZWQuCj4gCj4gUmVwb3J0ZWQtYnk6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRGFyaW8gRmFnZ2lv bGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CgpMb29rcyBnb29kLCB0aGFua3MhCgpSZXZp ZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKCj4gLS0t Cj4gQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KPiBDYzogS29u cmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgo+IENjOiBWYXJ1bi5T d2FyYUBhcm0uY29tCj4gQ2M6IFN0ZXZlIENhcHBlciA8U3RldmUuQ2FwcGVyQGFybS5jb20+Cj4g Q2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Cj4gLS0tCj4gIHhlbi9jb21tb24vc2No ZWRfY3JlZGl0LmMgIHwgICAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gIHhl bi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jIHwgICAxNiArKysrKysrKysrKysrLS0tCj4gIHhlbi9j b21tb24vc2NoZWR1bGUuYyAgICAgIHwgICAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQo+ICB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCB8ICAgIDEgKwo+ICA0IGZp bGVzIGNoYW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRp dC5jCj4gaW5kZXggYmMzNjgzNy4uZGI0ZDQyYSAxMDA2NDQKPiAtLS0gYS94ZW4vY29tbW9uL3Nj aGVkX2NyZWRpdC5jCj4gKysrIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwo+IEBAIC00ODUs MTEgKzQ4NSwzNSBAQCBzdGF0aWMgdm9pZAo+ICBjc2NoZWRfZnJlZV9wZGF0YShjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIHZvaWQgKnBjcHUsIGludCBjcHUpCj4gIHsKPiAgICAgIHN0cnVj dCBjc2NoZWRfcHJpdmF0ZSAqcHJ2ID0gQ1NDSEVEX1BSSVYob3BzKTsKPiArCj4gKyAgICAvKgo+ ICsgICAgICogcGNwdSBlaXRoZXIgcG9pbnRzIHRvIGEgdmFsaWQgc3RydWN0IGNzY2hlZF9wY3B1 LCBvciBpcyBOVUxMLCBpZiB3ZSdyZQo+ICsgICAgICogYmVlaW5nIGNhbGxlZCBmcm9tIENQVV9V UF9DQU5DRUxMRUQsIGJlY2F1c2UgYnJpbmdpbmcgdXAgYSBwQ1BVIGZhaWxlZAo+ICsgICAgICog dmVyeSBlYXJseS4geGZyZWUoKSBkb2VzIG5vdCByZWFsbHkgbWluZCwgYnV0IHdlIHdhbnQgdG8g YmUgc3VyZSB0aGF0LAo+ICsgICAgICogd2hlbiB3ZSBnZXQgaGVyZSwgZWl0aGVyIGluaXRfcGRh dGEgaGFzIG5ldmVyIGJlZW4gY2FsbGVkLCBvcgo+ICsgICAgICogZGVpbml0X3BkYXRhIGhhcyBi ZWVuIGNhbGxlZCBhbHJlYWR5Lgo+ICsgICAgICovCj4gKyAgICBBU1NFUlQoIWNwdW1hc2tfdGVz dF9jcHUoY3B1LCBwcnYtPmNwdXMpKTsKPiArCj4gKyAgICB4ZnJlZShwY3B1KTsKPiArfQo+ICsK PiArc3RhdGljIHZvaWQKPiArY3NjaGVkX2RlaW5pdF9wZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyICpvcHMsIHZvaWQgKnBjcHUsIGludCBjcHUpCj4gK3sKPiArICAgIHN0cnVjdCBjc2NoZWRf cHJpdmF0ZSAqcHJ2ID0gQ1NDSEVEX1BSSVYob3BzKTsKPiAgICAgIHN0cnVjdCBjc2NoZWRfcGNw dSAqc3BjID0gcGNwdTsKPiAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gIAo+IC0gICAgaWYg KCBzcGMgPT0gTlVMTCApCj4gLSAgICAgICAgcmV0dXJuOwo+ICsgICAgLyoKPiArICAgICAqIFNj aGVkdWxlciBzcGVjaWZpYyBkYXRhIGZvciB0aGlzIHBDUFUgbXVzdCBzdGlsbCBiZSB0aGVyZSBh bmQgYW5kIGJlCj4gKyAgICAgKiB2YWxpZC4gSW4gZmFjdCwgaWYgd2UgYXJlIGhlcmU6Cj4gKyAg ICAgKiAgMS4gYWxsb2NfcGRhdGEgbXVzdCBoYXZlIGJlZW4gY2FsbGVkIGZvciB0aGlzIGNwdSwg YW5kIGZyZWVfcGRhdGEKPiArICAgICAqICAgICBtdXN0IG5vdCBoYXZlIGJlZW4gY2FsbGVkIG9u IGl0IGJlZm9yZSB1cywKPiArICAgICAqICAyLiBpbml0X3BkYXRhIG11c3QgaGF2ZSBiZWVuIGNh bGxlZCBvbiB0aGlzIGNwdSwgYW5kIGRlaW5pdF9wZGF0YQo+ICsgICAgICogICAgICh1cyEpIG11 c3Qgbm90IGhhdmUgYmVlbiBjYWxsZWQgb24gaXQgYWxyZWFkeS4KPiArICAgICAqLwo+ICsgICAg QVNTRVJUKHNwYyAmJiBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgcHJ2LT5jcHVzKSk7Cj4gIAo+ICAg ICAgc3Bpbl9sb2NrX2lycXNhdmUoJnBydi0+bG9jaywgZmxhZ3MpOwo+ICAKPiBAQCAtNTA3LDgg KzUzMSw2IEBAIGNzY2hlZF9mcmVlX3BkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywg dm9pZCAqcGNwdSwgaW50IGNwdSkKPiAgICAgICAgICBraWxsX3RpbWVyKCZwcnYtPm1hc3Rlcl90 aWNrZXIpOwo+ICAKPiAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBydi0+bG9jaywgZmxh Z3MpOwo+IC0KPiAtICAgIHhmcmVlKHNwYyk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkICoKPiBA QCAtMjA5MSw2ICsyMTEzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgc2NoZWRf Y3JlZGl0X2RlZiA9IHsKPiAgICAgIC5mcmVlX3ZkYXRhICAgICA9IGNzY2hlZF9mcmVlX3ZkYXRh LAo+ICAgICAgLmFsbG9jX3BkYXRhICAgID0gY3NjaGVkX2FsbG9jX3BkYXRhLAo+ICAgICAgLmlu aXRfcGRhdGEgICAgID0gY3NjaGVkX2luaXRfcGRhdGEsCj4gKyAgICAuZGVpbml0X3BkYXRhICAg PSBjc2NoZWRfZGVpbml0X3BkYXRhLAo+ICAgICAgLmZyZWVfcGRhdGEgICAgID0gY3NjaGVkX2Zy ZWVfcGRhdGEsCj4gICAgICAuc3dpdGNoX3NjaGVkICAgPSBjc2NoZWRfc3dpdGNoX3NjaGVkLAo+ ICAgICAgLmFsbG9jX2RvbWRhdGEgID0gY3NjaGVkX2FsbG9jX2RvbWRhdGEsCj4gZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQy LmMKPiBpbmRleCA1MGMxYjlkLi44MDNjYzQ0IDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vc2No ZWRfY3JlZGl0Mi5jCj4gKysrIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKPiBAQCAtMjIw MSw2ICsyMjAxLDEyIEBAIGNzY2hlZDJfaW5pdF9wZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVy ICpvcHMsIHZvaWQgKnBkYXRhLCBpbnQgY3B1KQo+ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsK PiAgICAgIHVuc2lnbmVkIHJxaTsKPiAgCj4gKyAgICAvKgo+ICsgICAgICogcGRhdGEgY29udGFp bnMgd2hhdCBhbGxvY19wZGF0YSByZXR1cm5lZC4gQnV0IHNpbmNlIHdlIGRvbid0IChuZWVkIHRv KQo+ICsgICAgICogaW1wbGVtZW50IGFsbG9jX3BkYXRhLCBlaXRoZXIgdGhhdCdzIE5VTEwsIG9y IHNvbWV0aGluZyBpcyB2ZXJ5IHdyb25nIQo+ICsgICAgICovCj4gKyAgICBBU1NFUlQoIXBkYXRh KTsKPiArCj4gICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmcHJ2LT5sb2NrLCBmbGFncyk7Cj4gICAg ICBvbGRfbG9jayA9IHBjcHVfc2NoZWR1bGVfbG9jayhjcHUpOwo+ICAKPiBAQCAtMjI2MSw3ICsy MjY3LDcgQEAgY3NjaGVkMl9zd2l0Y2hfc2NoZWQoc3RydWN0IHNjaGVkdWxlciAqbmV3X29wcywg dW5zaWduZWQgaW50IGNwdSwKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiAtY3NjaGVkMl9mcmVl X3BkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgdm9pZCAqcGNwdSwgaW50IGNwdSkK PiArY3NjaGVkMl9kZWluaXRfcGRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB2b2lk ICpwY3B1LCBpbnQgY3B1KQo+ICB7Cj4gICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAgICAg c3RydWN0IGNzY2hlZDJfcHJpdmF0ZSAqcHJ2ID0gQ1NDSEVEMl9QUklWKG9wcyk7Cj4gQEAgLTIy NzAsNyArMjI3NiwxMSBAQCBjc2NoZWQyX2ZyZWVfcGRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxl ciAqb3BzLCB2b2lkICpwY3B1LCBpbnQgY3B1KQo+ICAKPiAgICAgIHNwaW5fbG9ja19pcnFzYXZl KCZwcnYtPmxvY2ssIGZsYWdzKTsKPiAgCj4gLSAgICBBU1NFUlQoY3B1bWFza190ZXN0X2NwdShj cHUsICZwcnYtPmluaXRpYWxpemVkKSk7Cj4gKyAgICAvKgo+ICsgICAgICogYWxsb2NfcGRhdGEg aXMgbm90IGltcGxlbWVudGVkLCBzbyBwY3B1IG11c3QgYmUgTlVMTC4gT24gdGhlIG90aGVyCj4g KyAgICAgKiBoYW5kLCBpbml0X3BkYXRhIG11c3QgaGF2ZSBiZWVuIGNhbGxlZCBmb3IgdGhpcyBw Q1BVLgo+ICsgICAgICovCj4gKyAgICBBU1NFUlQoIXBjcHUgJiYgY3B1bWFza190ZXN0X2NwdShj cHUsICZwcnYtPmluaXRpYWxpemVkKSk7Cj4gICAgICAKPiAgICAgIC8qIEZpbmQgdGhlIG9sZCBy dW5xdWV1ZSBhbmQgcmVtb3ZlIHRoaXMgY3B1IGZyb20gaXQgKi8KPiAgICAgIHJxaSA9IHBydi0+ cnVucV9tYXBbY3B1XTsKPiBAQCAtMjM4Nyw3ICsyMzk3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgc2NoZWRfY3JlZGl0Ml9kZWYgPSB7Cj4gICAgICAuYWxsb2NfdmRhdGEgICAg PSBjc2NoZWQyX2FsbG9jX3ZkYXRhLAo+ICAgICAgLmZyZWVfdmRhdGEgICAgID0gY3NjaGVkMl9m cmVlX3ZkYXRhLAo+ICAgICAgLmluaXRfcGRhdGEgICAgID0gY3NjaGVkMl9pbml0X3BkYXRhLAo+ IC0gICAgLmZyZWVfcGRhdGEgICAgID0gY3NjaGVkMl9mcmVlX3BkYXRhLAo+ICsgICAgLmRlaW5p dF9wZGF0YSAgID0gY3NjaGVkMl9kZWluaXRfcGRhdGEsCj4gICAgICAuc3dpdGNoX3NjaGVkICAg PSBjc2NoZWQyX3N3aXRjaF9zY2hlZCwKPiAgICAgIC5hbGxvY19kb21kYXRhICA9IGNzY2hlZDJf YWxsb2NfZG9tZGF0YSwKPiAgICAgIC5mcmVlX2RvbWRhdGEgICA9IGNzY2hlZDJfZnJlZV9kb21k YXRhLAo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMgYi94ZW4vY29tbW9uL3Nj aGVkdWxlLmMKPiBpbmRleCA1NTQ2OTk5Li44MGZlYTM5IDEwMDY0NAo+IC0tLSBhL3hlbi9jb21t b24vc2NoZWR1bGUuYwo+ICsrKyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwo+IEBAIC0xNTQ2LDYg KzE1NDYsMzggQEAgc3RhdGljIGludCBjcHVfc2NoZWR1bGVfY2FsbGJhY2soCj4gICAgICBzdHJ1 Y3Qgc2NoZWR1bGVfZGF0YSAqc2QgPSAmcGVyX2NwdShzY2hlZHVsZV9kYXRhLCBjcHUpOwo+ICAg ICAgaW50IHJjID0gMDsKPiAgCj4gKyAgICAvKgo+ICsgICAgICogRnJvbSB0aGUgc2NoZWR1bGVy IHBlcnNwZWN0aXZlLCBicmluZ2luZyB1cCBhIHBDUFUgcmVxdWlyZXMKPiArICAgICAqIGFsbG9j YXRpbmcgYW5kIGluaXRpYWxpemluZyB0aGUgcGVyLXBDUFUgc2NoZWR1bGVyIHNwZWNpZmljIGRh dGEsCj4gKyAgICAgKiBhcyB3ZWxsIGFzICJyZWdpc3RlcmluZyIgdGhpcyBwQ1BVIHRvIHRoZSBz Y2hlZHVsZXIgKHdoaWNoIG1heQo+ICsgICAgICogaW52b2x2ZSBtb2RpZnlpbmcgc29tZSBzY2hl ZHVsZXIgd2lkZSBkYXRhIHN0cnVjdHVyZXMpLgo+ICsgICAgICogVGhpcyBoYXBwZW5zIGJ5IGNh bGxpbmcgdGhlIGFsbG9jX3BkYXRhIGFuZCBpbml0X3BkYXRhIGhvb2tzLCBpbgo+ICsgICAgICog dGhpcyBvcmRlci4gQSBzY2hlZHVsZXIgdGhhdCBkb2VzIG5vdCBuZWVkIHRvIGFsbG9jYXRlIGFu eSBwZXItcENQVQo+ICsgICAgICogZGF0YSBjYW4gYXZvaWQgaW1wbGVtZW50aW5nIGFsbG9jX3Bk YXRhLiBpbml0X3BkYXRhIG1heSwgaG93ZXZlciwgYmUKPiArICAgICAqIG5lY2Vzc2FyeS91c2Vm dWwgaW4gdGhpcyBjYXNlIHRvbyAoZS5nLiwgaXQgY2FuIGNvbnRhaW4gdGhlICJyZWdpc3Rlcgo+ ICsgICAgICogdGhlIHBDUFUgdG8gdGhlIHNjaGVkdWxlciIgcGFydCkuIGFsbG9jX3BkYXRhIChp ZiBwcmVzZW50KSBpcyBjYWxsZWQKPiArICAgICAqIGR1cmluZyBDUFVfVVBfUFJFUEFSRS4gaW5p dF9wZGF0YSAoaWYgcHJlc2VudCkgaXMgY2FsbGVkIGR1cmluZwo+ICsgICAgICogQ1BVX1NUQVJU SU5HLgo+ICsgICAgICoKPiArICAgICAqIE9uIHRoZSBvdGhlciBoYW5kLCBhdCB0ZWFyZG93biwg d2UgbmVlZCB0byByZXZlcnNlIHdoYXQgaGFzIGJlZW4gZG9uZQo+ICsgICAgICogZHVyaW5nIGlu aXRpYWxpemF0aW9uLCBhbmQgdGhlbiBmcmVlIHRoZSBwZXItcENQVSBzcGVjaWZpYyBkYXRhLiBU aGlzCj4gKyAgICAgKiBoYXBwZW5zIGJ5IGNhbGxpbmcgdGhlIGRlaW5pdF9wZGF0YSBhbmQgZnJl ZV9wZGF0YSBob29rcywgaW4gdGhpcwo+ICsgICAgICogb3JkZXIuIElmIG5vIHBlci1wQ1BVIG1l bW9yeSB3YXMgYWxsb2NhdGVkLCB0aGVyZSBpcyBubyBuZWVkIHRvCj4gKyAgICAgKiBwcm92aWRl IGFuIGltcGxlbWVudGF0aW9uIG9mIGZyZWVfcGRhdGEuIGRlaW5pdF9wZGF0YSBtYXksIGhvd2V2 ZXIsCj4gKyAgICAgKiBiZSBuZWNlc3NhcnkvdXNlZnVsIGluIHRoaXMgY2FzZSB0b28gKGUuZy4s IGl0IGNhbiB1bmRvIHNvbWV0aGluZyBkb25lCj4gKyAgICAgKiBvbiBzY2hlZHVsZXIgd2lkZSBk YXRhIHN0cnVjdHVyZSBkdXJpbmcgaW5pdF9wZGF0YSkuIEJvdGggZGVpbml0X3BkYXRhCj4gKyAg ICAgKiBhbmQgZnJlZV9wZGF0YSBhcmUgY2FsbGVkIGR1cmluZyBDUFVfREVBRC4KPiArICAgICAq Cj4gKyAgICAgKiBJZiBzb21ldGluZyBnb2VzIHdyb25nIGR1cmluZyBicmluZ3VwLCB3ZSBnbyB0 byBDUFVfVVBfQ0FOQ0VMTEVECj4gKyAgICAgKiAqYmVmb3JlKiBoYXZpbmcgY2FsbGVkIGluaXRf cGRhdGEuIEluIHRoaXMgY2FzZSwgYXMgdGhlcmUgaXMgbm8KPiArICAgICAqIGluaXRpYWxpemF0 aW9uIG5lZWRpbmcgdW5kb2luZywgb25seSBmcmVlX3BkYXRhIHNob3VsZCBiZSBjYWxsZWQuCj4g KyAgICAgKiBUaGlzIG1lYW5zIGl0IGlzIHBvc3NpYmxlIHRvIGNhbGwgZnJlZV9wZGF0YSBqdXN0 IGFmdGVyIGFsbG9jX3BkYXRhLAo+ICsgICAgICogd2l0aG91dCBhIGluaXRfcGRhdGEvZGVpbml0 X3BkYXRhICJjeWNsZSIgaW4gYmV0d2VlbiB0aGUgdHdvLgo+ICsgICAgICoKPiArICAgICAqIFNv LCBpbiBzdW1tYXJ5LCB0aGUgdXNhZ2UgcGF0dGVybiBzaG91bGQgbG9vayBlaXRoZXIKPiArICAg ICAqICAtIGFsbG9jX3BkYXRhLS0+aW5pdF9wZGF0YS0tPmRlaW5pdF9wZGF0YS0tPmZyZWVfcGRh dGEsIG9yCj4gKyAgICAgKiAgLSBhbGxvY19wZGF0YS0tPmZyZWVfcGRhdGEuCj4gKyAgICAgKi8K PiAgICAgIHN3aXRjaCAoIGFjdGlvbiApCj4gICAgICB7Cj4gICAgICBjYXNlIENQVV9TVEFSVElO RzoKPiBAQCAtMTU1NCw4ICsxNTg2LDEwIEBAIHN0YXRpYyBpbnQgY3B1X3NjaGVkdWxlX2NhbGxi YWNrKAo+ICAgICAgY2FzZSBDUFVfVVBfUFJFUEFSRToKPiAgICAgICAgICByYyA9IGNwdV9zY2hl ZHVsZV91cChjcHUpOwo+ICAgICAgICAgIGJyZWFrOwo+IC0gICAgY2FzZSBDUFVfVVBfQ0FOQ0VM RUQ6Cj4gICAgICBjYXNlIENQVV9ERUFEOgo+ICsgICAgICAgIFNDSEVEX09QKHNjaGVkLCBkZWlu aXRfcGRhdGEsIHNkLT5zY2hlZF9wcml2LCBjcHUpOwo+ICsgICAgICAgIC8qIEZhbGx0aHJvdWdo ICovCj4gKyAgICBjYXNlIENQVV9VUF9DQU5DRUxFRDoKPiAgICAgICAgICBjcHVfc2NoZWR1bGVf ZG93bihjcHUpOwo+ICAgICAgICAgIGJyZWFrOwo+ICAgICAgZGVmYXVsdDoKPiBAQCAtMTcxMyw2 ICsxNzQ3LDggQEAgaW50IHNjaGVkdWxlX2NwdV9zd2l0Y2godW5zaWduZWQgaW50IGNwdSwgc3Ry dWN0IGNwdXBvb2wgKmMpCj4gIAo+ICAgICAgU0NIRURfT1AobmV3X29wcywgdGlja19yZXN1bWUs IGNwdSk7Cj4gIAo+ICsgICAgU0NIRURfT1Aob2xkX29wcywgZGVpbml0X3BkYXRhLCBwcHJpdl9v bGQsIGNwdSk7Cj4gKwo+ICAgICAgU0NIRURfT1Aob2xkX29wcywgZnJlZV92ZGF0YSwgdnByaXZf b2xkKTsKPiAgICAgIFNDSEVEX09QKG9sZF9vcHMsIGZyZWVfcGRhdGEsIHBwcml2X29sZCwgY3B1 KTsKPiAgCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oIGIveGVuL2lu Y2x1ZGUveGVuL3NjaGVkLWlmLmgKPiBpbmRleCAxZGI3YzhkLi5iYzBlNzk0IDEwMDY0NAo+IC0t LSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC1pZi5oCj4gKysrIGIveGVuL2luY2x1ZGUveGVuL3Nj aGVkLWlmLmgKPiBAQCAtMTM4LDYgKzEzOCw3IEBAIHN0cnVjdCBzY2hlZHVsZXIgewo+ICAgICAg dm9pZCAgICAgICAgICgqZnJlZV9wZGF0YSkgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICos IHZvaWQgKiwgaW50KTsKPiAgICAgIHZvaWQgKiAgICAgICAoKmFsbG9jX3BkYXRhKSAgICAoY29u c3Qgc3RydWN0IHNjaGVkdWxlciAqLCBpbnQpOwo+ICAgICAgdm9pZCAgICAgICAgICgqaW5pdF9w ZGF0YSkgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICosIHZvaWQgKiwgaW50KTsKPiArICAg IHZvaWQgICAgICAgICAoKmRlaW5pdF9wZGF0YSkgICAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAq LCB2b2lkICosIGludCk7Cj4gICAgICB2b2lkICAgICAgICAgKCpmcmVlX2RvbWRhdGEpICAgKGNv bnN0IHN0cnVjdCBzY2hlZHVsZXIgKiwgdm9pZCAqKTsKPiAgICAgIHZvaWQgKiAgICAgICAoKmFs bG9jX2RvbWRhdGEpICAoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqLCBzdHJ1Y3QgZG9tYWluICop Owo+ICAKPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=