From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiubo Li Date: Sat, 21 Jul 2018 02:21:46 +0000 Subject: Re: [PATCH] tcmu: fix crash for dereferencing the released udev->mb_addr memory Message-Id: List-Id: References: <1532010659-4657-1-git-send-email-xiubli@redhat.com> In-Reply-To: <1532010659-4657-1-git-send-email-xiubli@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="ibm852" Content-Transfer-Encoding: base64 To: target-devel@vger.kernel.org T24gMjAxOC83LzIwIDIzOjEzLCBNaWtlIENocmlzdGllIHdyb3RlOgo+IE9uIDA3LzE5LzIwMTgg MDc6MzQgUE0sIFhpdWJvIExpIHdyb3RlOgo+PiBPbiAyMDE4LzcvMTkgMjM6NDksIE1pa2UgQ2hy aXN0aWUgd3JvdGU6Cj4+PiBPbiAwNy8xOS8yMDE4IDA5OjMwIEFNLCB4aXVibGlAcmVkaGF0LmNv bSB3cm90ZToKPj4+PiBGcm9tOiBYaXVibyBMaSA8eGl1YmxpQHJlZGhhdC5jb20+Cj4+Pj4KPj4+ PiBUaGUgbG9ncyBhcmU6Cj4+Pj4KPj4+PiBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5V TEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAwMDAwMDAwMDAwMDAwMDQwCj4+Pj4gSVA6IFs8ZmZm ZmZmZmZjMDcyYjlhOT5dIHRjbXVfcmVzZXRfcmluZ19zdG9yZSsweDE0OS8weDI0MCBbdGFyZ2V0 X2NvcmVfdXNlcl0KPj4+PiBQR0QgODAwMDAwMDAwZTI1NDA2NyBQVUQgZTI1NTA2NyBQTUQgMAo+ Pj4+IE9vcHM6IDAwMDIgWyMxXSBTTVAKPj4+PiBbLi4uXQo+Pj4+IENQVTogMCBQSUQ6IDM2MDc3 IENvbW06IHRjbXUtcnVubmVyIEtkdW1wOiBsb2FkZWQgTm90IHRhaW50ZWQgMy4xMC4wLTkyNC5l bDcudGVzdC54ODZfNjQgIzEKPj4+IEl0IGlzIG5vdCBjbGVhciB0byBtZSBob3cgeW91IGhpdCB0 aGlzLiBJdCdzIG5vdCBhIFJIRUwgb25seSBidWcgaXMgaXQ/Cj4+PiBBcmUgeW91IHN1cmUgeW91 IGFyZSBoaXR0aW5nIGl0IGR1cmluZyBkZXZpY2UgcmVtb3ZhbD8KPj4gWWVzLCBub3Qgb25seSB0 aGUgUkhFTCBidWcsIGZvciB0aGUgUkhFTCB3ZSBoYXZlIHN5bmMgdGhlIHJlbGF0ZWQgY29kZQo+ PiB0byB0aGUgdXBzdHJlYW0uIEJlZm9yZSBhcyBJIHJlbWVtYmVyZWQgSSBoYXZlIGhpdCBvbmUg c3VkZGVuIGNyYXNoIGJ5Cj4+IHVzaW5nIHRoZSBTQ1NJIHJlcG8gY29kZSB3aGVuIHRlc3Rpbmcg dGhlIHRjbXUtcnVubmVyIFBSIzQwMjoKPj4gdGNtdS1ydW5uZXI6IGFkZCByZXNldCBuZXRsaW5r IHN1cHBvcnQuCj4+Cj4+IFRoZSBTQ1NJIHJlcG8gaXMgOgo+PiBnaXQ6Ly9naXQua2VybmVsLm9y Zy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbWtwL3Njc2kuZ2l0Cj4+Cj4+IFNpbmNlIHRoZSBr ZHVtcCBzZXJ2aWNlIHdhcyBub3Qgd29ya2luZyBmb3IgdGhlIHVwc3RyZWFtIGNvZGUgaW4gbXkK Pj4gc2V0dXBzIHRoYXQgdGltZSwgc28gY291bGQgb25seSBnZXQgdmVyeSBzaW1wbGUgbG9ncy4g VGhpcyB0aW1lIEkgd2FzCj4+IHVzaW5nIFByYXNhbm5hJ3Mgc2NyaXB0IGFuZCBSSEVMIGNvZGUg d2l0aCB0aGUgbmV0bGluayBhbmQgVUlPIGNyYXNoCj4+IGZpeGluZyBwYXRjaGVzIHRvIHJlcHJv ZHVjZSB0aGlzLiBUaGUgdGVzdCBzY3JpcHQgcGxlYXNlIHNlZSB0aGUgYXR0YWNobWVudC4KPj4K Pj4+IElmIHdlIGFyZSBjYWxsaW5nIHRjbXVfcmVzZXRfcmluZ19zdG9yZSBpc24ndCB0aGVyZSBh IHJlZmNvdW50IG9uIHRoZQo+Pj4gaXRlbT8gU28gd2UgY2Fubm90IGNhbGwgdGNtdV9kZXN0cm95 X2RldmljZSAtPiB0Y211X2Rldl9rcmVmX3JlbGVhc2UKPj4+IHVudGlsIGFmdGVyIHRoYXQgaGFz IGJlZW4gcmVsZWFzZWQsIHNvIHRoZXkgd291bGQgbmV2ZXIgcnVuIGF0IHRoZSBzYW1lCj4+PiB0 aW1lLiBBbmQsIGlmIHVzZXJzcGFjZSB3ZXJlIHRvIHRyeSB0byBvcGVuL3dyaXRlIHRvIHRoYXQg cmVzZXQgZmlsZQo+Pj4gYWZ0ZXIgdGhlIHJtZGlyIGhhcyBiZWVuIGRvbmUgb24gdGhlIHNlX2Rl dmljZSB0aGVuIGNvbmZpZ2ZzIGRldGVjdHMKPj4+IHRoaXMgYW5kIGZhaWxzIHRoZSBvcGVuLgo+ PiBXaXRoIHRoZSB0Y211LXJ1bm5lciBQUiM0MDIsIHdoZW4gc3RhcnRpbmcgdGNtdS1ydW5uZXIg dGhlIGRhZW1vbiB3aWxsIGRvIDoKPj4gMSwgYmxvY2sgbmV0bGluawo+PiAyLCByZXNldCBuZXRs aW5rIGV2ZW50cwo+PiAzLCBibG9jayBkZXZpY2UgLS0+IHJlc2V0IHJpbmcgLS0+IG9wZW4gZGV2 aWNlIC0tPiB1bmJsb2NrIGRldmljZQo+IElmIHRoZSBkZXZpY2Ugd2FzIG9ubHkgY3JlYXRlZCBh bmQgbm90IHlldCBlbmFibGVkIHlvdSB3aWxsIGhpdCB0aGUKPiBjcmFzaCBoZXJlLgo+Cj4gSWYg aW4geW91ciB0ZXN0IHlvdSBraWxsIHJ1bm5lciB3aGlsZSBhIGVuYWJsZSBpcyBpbiBwcm9jZXNz IHRoZW4gdGhpcwo+IHdvdWxkIGhhcHBlbi4KCkFzIHlvdSBtZW50aW9uZWQgaXQgaXMgcG9zc2li bGUgb25seSBjcmVhdGVkIHRoZW4gcnVubmVyIGlzIGtpbGxlZC4KCj4+IDQsIHVuYmxvY2sgbmV0 bGluawo+Pgo+Pgo+PiBDdXJyZW50bHkgdGhlcmUgbWF5IGhhcyBvbmUgYnVnIGluIHN5c3RlbWQg c2VydmljZSwgYmVjYXVzZSB3ZSBoaXQgb25lCj4+IG9kZCBpc3N1ZSBieSB1c2luZyB0aGUgdGVz dCBzY3JpcHQ6Cj4+IFdoZW4gZXhlY3V0aW5nICdzeXN0ZW1jdGwgcmVzdGFydCB0Y211LXJ1bm5l cicsIHRoaXMgcHJvY2VzcyBzZWVtcwo+PiB3YWl0aW5nIG9uZSBzaWduYWwgZnJvbSBzb21ld2hl cmUgYnkgc3R1Y2tpbmcgaXRzZWxmLCBpZiB3ZSBkbyBub3RoaW5nCj4+IEl0IHdpbGwgd2FpdCBm b3IgYWJvdXQgNiB+MjAgbWludXRlcyh0aGUgdGltZSBjb21lcyBmcm9tIG91ciB0ZXN0Cj4+IHJl c3VsdCkgdG8gcmVjb3ZlcnkgZnJvbSB0aGF0LiBBbmQgd2UgY2FuIGV4ZWN1dGUgJ3N5c3RlbWN0 bCByZXN0YXJ0Cj4+IGdsdXN0ZXItYmxvY2tkJyBpbiBhbm90aGVyIHRlcm1pbmFsLCB3aGljaCBj b3VsZCBzdG9wIHRoZSBzdHVjayBzdGF0ZQo+PiBhYm92ZSBpbW1lZGlhdGVseS4KPj4KPj4gW3Jv b3RAbG9jYWxob3N0IH5dIyBwcyAtYXV4IHwgZ3JlcCAtZSB0Y211IC1lCj4+IHRhcmdldAo+PiBy b290ICAgICAgMjAyMSAgMC4wICAwLjAgICAgICAwICAgICAwID8gICAgICAgIFM8ICAgMTU6MDkg ICAwOjAwCj4+IFt0YXJnZXRfY29tcGxldGldCj4+IHJvb3QgICAgICAyMzg2ICAwLjYgIDAuNSAy MjYyMzIgMTEwOTYgPyAgICAgICAgRHMgICAxNToxMSAgIDA6MDAKPj4gL3Vzci9iaW4vcHl0aG9u IC91c3IvYmluL3RhcmdldGN0bCBjbGVhcgo+PiByb290ICAgICAgMjQwMCAgMC4wICAwLjAgMTM0 ODE2ICAxMzE2IHB0cy8wICAgIFMrICAgMTU6MTEgICAwOjAwCj4+IHN5c3RlbWN0bCByZXN0YXJ0 IHRjbXUtcnVubmVyICAgICAgICAgICAgICAgICAgICAgICAgcm9vdCAgICAgIDI0MTUKPj4gMC4w ICAwLjAgMTEyNzA0ICAgOTg4IHB0cy8xICAgIFIrICAgMTU6MTEgICAwOjAwIGdyZXAgLS1jb2xv cj1hdXRvIC1lCj4+IHRjbXUgLWUgdGFyZ2V0Cj4+IFtyb290QGxvY2FsaG9zdCB+XSMgY2F0Cj4+ IC9wcm9jLzI0MDAvc3RhY2sKPj4KPj4gWzxmZmZmZmZmZjlkMDU0OGY1Pl0KPj4gcG9sbF9zY2hl ZHVsZV90aW1lb3V0KzB4NTUvMHhiMAo+Pgo+PiBbPGZmZmZmZmZmOWQwNTYwN2Q+XQo+PiBkb19z eXNfcG9sbCsweDQ4ZC8weDU5MAo+Pgo+PiBbPGZmZmZmZmZmOWQwNTY0ZjM+XQo+PiBTeVNfcHBv bGwrMHgxZDMvMHgxZjAKPj4KPj4gWzxmZmZmZmZmZjlkNTZjZGVmPl0KPj4gc3lzdGVtX2NhbGxf ZmFzdHBhdGgrMHgxYy8weDIxCj4+Cj4+Cj4+IEFuZCB3aXRoIElPcyBnb2luZyBvbiwgd2hlbiBr aWxsaW5nIHRoZSB0Y211LXJ1bm5lciBwcm9jZXNzLCB0aGUKPiBBcmUgeW91IGp1c3QgZG9pbmcg YSB0ZXN0IHRvIGtpbGwgcnVubmVyIGF0IHZhcmlvdXMgdGltZXMgb3IgaXMgeW91cgo+IHJlc3Rh cnQgb2YgeW91ciBzZXJ2aWNlIGRvaW5nIHRoaXMgd2hpbGUgdGhlIHRhcmdldGNsaSBjbGVhciBv cGVyYXRpb24KPiBpcyBydW5uaW5nPwpUaGVyZSBhcmUgMyByZWxhdGVkIHNlcnZpY2VzLCBhbmQg aGVyZSAnLS0+JyBtZWFucyB3aWxsIEJpbmR0byBhbmQgZGVwZW5kIHRvCmdsdXN0ZXItYmxvY2tk LnNlcnZpY2UgLS0+IGdsdXN0ZXItYmxvY2stdGFyZ2V0LnNlcnZpY2UgLS0+IHRjbXUtcnVubmVy IApzZXJ2aWNlCgpJIHdhcyBydW5uaW5nIHRoZSBzY3JpcHQgYXMgSSBoYXZlIGF0dGFjaGVkIGlu IGxhc3QgbWFpbCBhbmQgaW4gYW5vdGhlciAKdGVybWluYWwgcnVubmluZyB0aGUgJ3N5c3RlbWN0 bCByZXN0YXJ0IGdsdXN0ZXItYmxvY2tkJyBjbWQgd2hlbiB0aGlzIApjcmFzaCBpcyBoaXQuIEJl Y2F1c2UgYXMgSSBtZW50aW9uZWQgd2l0aG91dCB0aGUgJ3N5c3RlbWN0bCByZXN0YXJ0IApnbHVz dGVyLWJsb2NrZCcgaW4gYW5vdGhlciB0ZXJtaW5hbCwgdGhlIHNjcmlwdCB3aWxsIGJlIHN0dWNr IGluIAonc3lzdGVtY3RsIHJlc3RhcnQgdGNtdS1ydW5uZXInIGZvciBhIHZlcnkgbG9uZyB0aW1l LgoKV2hlbiByZXNhcnRpbmcgdGhlIGdsdXN0ZXItYmxvY2tkLCBpdCB3aWxsIHN0YXJ0IHRoZSB0 Y211LXJ1bm5lciBhbmQgCmdsdXN0ZXItYmxvY2stdGFyZ2V0IGZpcnN0LgoKQW5kIGl0IGlzIHBv c3NpYmxlIHRoYXQgdGhlIHRhcmdldGNsaSBjbGVhciBvcGVyYXRpb24gaXMgc3R1Y2sgc29tZXdo ZXJlIAp0aGVuIHRoZSBydW5uZXIgaXMgcmVzdGFydGVkLgoKPiBJZiB5b3UgcmUga2lsbGluZyBp dCBhdCB2YXJpb3VzIHRpbWVzLCBob3cgZG8geW91IGtub3cgeW91IGFyZSBub3QKPiBraWxsaW5n IGl0IGR1cmluZyBhIGVuYWJsZSBvcGVyYXRpb24gYW5kIGhpdHRpbmcgdGhpcyBidWcgdGhlcmU/ Ckl0IGlzIHZlcnkgcG9zc2libGUuCgoKPiBJZiB5b3UgYXJlIGtpbGxpbmcgb24gcHVycG9zZSBh cyBwYXJ0IG9mIHlvdXIgcmVzdGFydCBvcGVyYXRpb24gd2h5IGFyZQo+IHlvdSBraWxsaW5nIGl0 IHdoZW4gdGhlIHRhcmdldGNsaSBjbGVhciBvcGVyYXRpb24gbmVlZHMgdGhlIGJhY2tlbmRzIHRv Cj4gY29tcGxldGUgdGhlaXIgSU8gYXMgcGFydCBvZiB0aGUgdHBnIGRpc2FibGVtZW50IHByb2Nl c3MuCgpKdXN0IGFmdGVyIHJ1bm5lciBzZXJ2aWNlIGlzIGtpbGxlZCB0aGVuIHRoZSBnbHVzdGVy LWJsb2NrLXRhcmdldCAKc2VydmljZSB3aWxsIGJlIGtpbGxlZCB0b28sIGFuZCBpdCB3aWxsIGlu dm9rZSB0aGUgJ3RhcmdldGN0bCBjbGVhcicgCndoZW4gc3RvcHBpbmcuCgpXZSBhcmUgdGVzdGlu ZyB0aGUgbmV0bGluayByZXNldCBhbmQgdGhlIHJpbmcgcmVzZXQgZmVhdHVyZSwgc28gdGhlIApz Y3JpcHQgaXMga2lsbGluZyB0aGUgcnVubmVyIGRhZW1vbiB0byBlbXVsYXRlIHRoZSBEIHN0YXRl IGNhc2VzLiBBbmQgCnRoZSBzY3JpcHQgYWxzbyBlbXVsYXRpbmcgdGhlIGNyYXNoIGNhc2Ugb2Yg dGhlIHRjbXUtcnVubmVyIGRhZW1vbiBmb3IgCnNvbWUgcmVhc29ucy4KCj4KPj4gJ3RhcmdldGN0 bCBjbGVhcicgcHJvY2VzcyB3aWxsIHN0dWNrIGluIFsxXSBmaXJzdC4gVGhlbiB3ZSByZXN0YXJ0 IHRoZQo+PiB0Y211LXJ1bm5lciwgd2hpY2ggd2lsbCByZXNldCByaW5nIHdpdGggYWNjZXNzaW5n IHRoZSB1ZGV2LT5tYl9hZGRyLAo+PiBjdXJyZW50bHkgd2Ugc3RpbGwgY291bGQgYWNjZXNzIHRo ZQo+PiAvc3lzL2tlcm5lbC9jb25maWcvdGFyZ2V0L2NvcmUvdXNlcl9YWC8qLiBBbmQgd2hpbGUg dGhlIHJpbmcgcmVzZXQgaXMKPj4gc3RpbGwgZ29pbmcgb24sIHRoZSBzdHVja2VkICd0YXJnZXRj dGwgY2xlYXInIHByb2Nlc3Mgd2lsbCBiZSB3b2tlbiB1cAo+PiBhbmQgdGhlbiB0cmllcyB0byBk ZWxldGUgdGhlIGRldmljZSB3aGljaCB3aWxsIGtmcmVlKHVkZXYtPm1iX2FkZHIpLAo+PiBoZXJl IGFueSBhY2Nlc3NpbmcgdG8gIC9zeXMva2VybmVsL2NvbmZpZy90YXJnZXQvY29yZS91c2VyX1hY Lyogd2lsbCBzdHVjay4KPiBUaGUgcnRzbGliIGNsZWFyIG9wZXJhdGlvbiBkZWxldGVzIHRoZSB0 YXJnZXQgZmlyc3QgYW5kIHRoYXQgZGlzYWJsZXMKPiB0aGUgdHBnIHdoaWNoIHdhaXRzIGZvciBv dXRzdGFuZGluZyBjb21tYW5kcy4gSXQgdGhlbiBmaW5pc2hlcyB0ZWFyaW5nCj4gZG93biB0aGUg b2JqZWN0cyB1bmRlciB0aGUgdGFyZ2V0LCBhbmQgdGhlbiB0aGUgYmFja2VuZCBkZXZpY2VzIGFy ZSBkZWxldGVkLgo+Cj4gSWYgdGFyZ2V0Y2xpIGNsZWFyIGlzIHVuaHVuZyBmcm9tIHRoZSB0cGcg ZGlzYWJsZSBvcGVyYXRpb24gdGhlbgo+IHRjbXUtcnVubmVyIGhhcyByZXN0YXJ0ZWQgYW5kIGhh cyBzdGFydGVkIHRvIGNsZWFuIHVwIHRoZSBrZXJuZWwgc3RhdGUuCj4gU28gcnVubmVyIGhhcyBy ZXNldCB0aGUgcmluZyBhbmQgZmFpbGVkIHJ1bm5pbmcgSU8gcmlnaHQgKHRoaXMgaXMgaG93Cj4g dGhlIHRwZyBkaXNhYmxlIG9wZXJhdGlvbiB3aWxsIHNlZSBhbGwgb3V0c3RhbmRpbmcgY29tbWFu ZHMgY29tcGxldGVkCj4gYW5kIHByb2NjZWVkKT8gV2UgdGhlbiBwcm9jZWVkIGFuZCBjYW4gZG8g YSBybWRpciBvbiB0aGUgdGNtdSBkZXZpY2UuIFNvCj4gSSBhbSBzYXlpbmcgdGhlIG9ubHkgd2F5 IHRwZyBkaXNhYmxlbWVudCBoYXMgY29tcGxldGVkIHdoZW4gdGhlcmUgaXMKPiBvdXRzdGFuZGlu ZyBJTyBpcyBpZiByZXNldCByaW5nIGhhcyBjb21wbGV0ZWQgZmlyc3QuCj4KPiBBcmUgeW91IGNl cnRhaW4geW91IGhhdmUgbm90IGtpbGxlZCBhIHJ1bm5lciBpbiB0aGUgbWlkZGxlIG9mIGEKPiBl bmFibGUvY29uZmlndXJlIGV2ZW50IGF0IHNvbWUgcG9pbnQuCk5vLCBJIGFtIG5vdCBzdXJlLCBi ZWNhdXNlIHRoZSByZWFzb24gSSBtZW50aW9uZWQgYWJvdmUsIGl0IGlzIHZlcnkgCnBvc3NpYmxl IHRoZSB0Y211LXJ1bm5lciBpcyBraWxsZWQgaW4gdGhlIG1pZGRsZSBvZiBhIGVuYWJsZS9jb25m aWd1cmUgCmV2ZW50LgoKPiBUaGVuIHJ1bm5lciBoYXMgcmVzdGFydGVkIGFuZAo+IGtpbGxlZCB0 aGF0IG5sIG9wZXJhdGlvbiBsZWF2aW5nIHRoZSB1bmNvbmdpZ3VyZWQgZGV2aWNlLiBJdCB0aGVu IHJ1bnMKPiByZXNldCByaW5nIHdoaWNoIGZhaWxzIG91dHN0YW5kaW5nIGNvbW1hbmRzIGFuZCBh Y2Nlc3NlZCB0aGUgdW5zZXR1cAo+IG1iX2FkZHIgYW5kIGhpdHMgdGhlIGNyYXNoIGhlcmUuIFdo ZW4gdGhlIG91dHN0YW5kaW5nIGNvbW1hbmRzIGhhdmUKPiBjb21wbGV0ZWQgdGhlIHJ0c2xpYiBv cGVyYXRpb24gaXMgYWxzbyB1bmh1bmcgZnJvbSB0aGUgdHBnIGRpc2FibGUKPiBjb21wbGV0ZXMs IGFuZCB3ZSBwcm9jZWVkIHRvIHRoZSBiYWNrZW5kIGRldmljZSBkZWxldGlvbi4KPgo+PiBUaGVy ZSBhcmUgdHdvIHN0dWNrIGNhc2U6Cj4+IFsxXSwgSWYgdGhlcmUgaGFzIGFueSB1bmNvbXBsZXRl ZCBJTyBvciBjbWQsICd0YXJnZXRjdGwgY2xlYXInIHByb2Nlc3MKPj4gd2lsbCBzdHVjayBpbiBp c2NzaXRfZnJlZV9zZXNzaW9uKCkgLS0+Cj4+IGlzY3NpdF9jYXVzZV9jb25uZWN0aW9uX3JlaW5z dGF0ZW1lbnQoKSBmaXJzdCwgdGhlbiBhZnRlciBhbGwgdGhlIElPcyBvcgo+PiBjbWRzIGNvbXBs ZXRlZCwgaXQgd2lsbCBzdHVjayBpbiBbMl0uCj4+Cj4+IFsyXSwgSWYgdGhlcmUgaGFzIG5vIHVu Y29tcGxldGVkIElPcyBvciBjbWRzLCAndGFyZ2V0Y3RsIGNsZWFyJyBwcm9jZXNzCj4+IHdpbGwg c3R1Y2sgaW4gdGNtdV9kZXN0cm95X2RldmljZSgpIC0tPiB0Y211X25ldGxpbmtfZXZlbnQoKSAt LT4KPj4gd2FpdF9mb3JfY29tcGxldGlvbigpLgo+Pgo+PiAgIAo+Pgo+Pj4gSSB0aGluayB3ZSBj YW4gaGl0IHlvdXIgYnVnIGR1cmluZyBpbml0aWFsaXphdGlvbi4gV2UgZG8gbm90IHNldHVwIHRo ZQo+Pj4gbWJfYWRkciB1bnRpbCB0aGUgZGV2aWNlIGlzIGNvbmZpZ3VyZWQsIGJ1dCB0aGUgY29u ZmlnZnMgZmlsZXMgYXJlCj4+PiBleHBvcnRlZCB0byB1c2Vyc3BhY2UgYXQgZGV2aWNlIGNyZWF0 aW9uIHRpbWUuIFNvIGJldHdlZW4gdGhvc2UgdGltZXMsCj4+PiB1c2Vyc3BhY2UgY291bGQgYmUg d3JpdGluZyB0byB0aGUgcmVzZXQgZmlsZSBhbmQgaGl0dGluZyB0aGlzIGJ1Zy4gSXMKPj4+IHRo YXQgbWF5YmUgd2hhdCB5b3UgaGl0Pwo+Pj4KPj4+IElmIHRoYXQgaXMgdGhlIGJ1Zywgd2UgbmVl ZCB0byBncmFiIHRoZSBjbWRyX2xvY2sgaW4KPj4+IHRjbXVfY29uZmlndXJlX2RldmljZSB3aGVu IHdlIGFyZSBzZXR0aW5nIHVwIHRoZSBtYl9hZGRyIGFuZCBpbiB0aGUKPj4+IGZhaWx1cmUgcGF0 aCBpbiB0aGF0IGZ1bmN0aW9uLiBJbiB0Y211X3Jlc2V0X3JpbmcgdGhlbiBJIHRoaW5rIHdlIGFs c28KPj4+IG5lZWQgYSBjaGVjayBmb3IgYSBOVUxMIG1iX2FkZHIuCj4+Pgo+PiBJIGNoZWNrZWQg YWxsIHRoZSByZWxhdGVkIGNvZGUgYW5kIGZpbmQgdGhhdCBhbGwgdGhlIG1iX2FkZHIgYWNjZXNz aW5nCj4+IGFyZSBwcm90ZWN0IGJ5IHRoZSBjbWRyX2xvY2sgZXhjZXB0IGluIHRjbXVfZGV2X2ty ZWZfcmVsZWFzZSgpIGFmdGVyIHRoZQo+PiBkZXZpY2UgaW5pdGlhbGl6ZWQuCj4+Cj4+IFRvZGF5 IEkgaGF2ZSByZXByb2R1Y2VkIHRoaXMgYWdhaW4uCj4+Cj4gSWYgeW91IGNhbiByZXByb2R1Y2Ug aXQgY2FuIHlvdSBkZWJ1ZyBpdCBhIGxpdHRsZSBtb3JlIHRvIGZpZ3VyZSBvdXQKPiB3aGF0IGlz IGdvaW5nIG9uIGV4YWN0bHk/IElmIHlvdSBjYW5ub3QgZ2V0IGEga2R1bXAsIHRoZW4gYXQgbGVh c3Qgc3RpY2sKPiBpbiBhIHByaW50ayBpbiB0Y211X2Rldl9rcmVmX3JlbGVhc2UgYW5kIHRjbXVf cmVzZXRfcmluZyB0byBjb25maXJtIHRoYXQKPiB0aGUgcmVsZWFzZSBpcyBydW4gYmVmb3JlIHRo ZSByZXNldC4gQWxzbyBzdGljayBpbiBhIHByaW50ayB0byB0aGUKPiB0Y211X2NvbmZpZ3VyZV9k ZXZpY2UgZnVuY3Rpb24gdG8gdmVyaWZ5IGl0IGlzIGFsd2F5cyBzdWNjZWVkaW5nLgo+Cj4gVGhl IHByb2JsZW0gaXMgdGhhdCBpZiB5b3UgY2FuIGhpdCB0aGUgYnVnIHlvdSBkZXNjcmliZSB3aGVy ZSBjb25maWdmcwo+IGlzIGFjY2Vzc2luZyB0aGUgZGV2aWNlIGFmdGVyIHRoZSBkZXZpY2UgaGFz IGhhZCBhIHJtZGlyIGRvbmUgb24gaXQgdGhlbgo+IGEgbG90IG9mIHRoZSBjb25maWdmcyBjb2Rl IHdpbGwgaGF2ZSBhIHBvc3NpYmxlIGJ1Zy4gRm9yIHRoZSBzZV9kZXZpY2UKPiB0Y211X2Rldl9r cmVmX3JlbGVhc2UgaXMgb25seSBydW4gd2hlbiB0aGUgc2VfZGV2aWNlJ3MgY29uZmlnZnMgaXRl bSdzCj4gcmVmY291bnQgaGFzIGdvbmUgdG8gemVybyAodGFyZ2V0X2NvcmVfZGV2X3JlbGVhc2Ug LT4gdGFyZ2V0X2ZyZWVfZGV2aWNlCj4gLT4gdGFyZ2V0X2ZyZWVfZGV2aWNlIC0+IHRjbXVfZnJl ZV9kZXZpY2UpLCBzbyB0aGUgc2VfZGV2aWNlL3RjbXVfZGV2aWNlCj4gY291bGQgYWxzbyBiZSBm cmVlZCBhdCBhbnkgdGltZSB3aGlsZSBjb25maWdmcyBpcyBvcGVyYXRpb24gaXMgcnVubmluZwo+ IGlmIHlvdSBhcmUgcmlnaHQgYW5kIHlvdXIgcGF0Y2ggaXMgbm90IGdvaW5nIHRvIGhlbHAgdGhh dC4KU3VyZSwgSSB3aWxsIGRlYnVnIHRoaXMgd2l0aCBzb21lIHByaW50ayBtZXNzYWdlcy4gQnV0 IG5vdCBzdXJlIGNvdWxkIApyZXByb2R1Y2UgaXQgaW4gdGltZSwgaXQgbWF5IHRha2UgZGF5cyBv ciB3ZWVrcy4KCkJlY2F1c2UgdGhlIGZpcnN0IHRpbWUgdG8gaGl0IHRoaXMgaXMgbWFueSB3ZWVr cyBhZ28gYW5kIHRoaXMgd2VlayB0d2ljZS4KCkFuZCBpZiB5b3UgYXJlIGFncmVlIHdpdGggY3Vy cmVudCBmaXhpbmcsIGxldCdzIHB1c2ggdGhpcyBmaXJzdCBhbmQgSSAKd2lsbCBwb3N0IHRoZSBW MiB3aXRoIHNvbWUgb3RoZXIgZml4aW5nLgpUaGVuIEkgd2lsbCBjb250aW51ZSB0byByZXByb2R1 Y2UgdGhpcyBieSBhZGRpbmcgc29tZSBwcmludGsgbWVzc2FnZXMgdG8gCm1ha2Ugc3VyZSB0aGVy ZSBoYXMgbm8gcHJvYmxlbSB3aXRoIHRoZSBjb25maWdmcyBjb2RlLCBpZiBpdCdzIHJlYWxseSAK aGFzIGJ1Z3MsIHRoYXQgbWVhbnMgdGhlIHRocmVlIHRpbWVzIGNyYXNoIG1heSBoYXZlIGRpZmZl cmVudCByb290IApjYXVzZXMuIFRoZW4gbGV0J3MgZml4IGl0ID8KClRoYW5rcyBNaWtlLgpCUnMK Cj4KPj4gVGhhbmtz77yMCj4+IEJScwo+PiBYaXVibwo+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3RhcmdldC90YXJnZXRfY29yZV91c2VyLmMgYi9kcml2ZXJzL3RhcmdldC90YXJnZXRfY29y ZV91c2VyLmMKPj4+PiBpbmRleCA4NDc3MDdhLi44ZDcyNzRlIDEwMDY0NAo+Pj4+IC0tLSBhL2Ry aXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX3VzZXIuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvdGFyZ2V0 L3RhcmdldF9jb3JlX3VzZXIuYwo+Pj4+IEBAIC0xNTg3LDE2ICsxNTg3LDE2IEBAIHN0YXRpYyB2 b2lkIHRjbXVfZGV2X2tyZWZfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZikKPj4+PiAgIAlib29s IGFsbF9leHBpcmVkID0gdHJ1ZTsKPj4+PiAgIAlpbnQgaTsKPj4+PiAgIAo+Pj4+IC0JdmZyZWUo dWRldi0+bWJfYWRkcik7Cj4+Pj4gLQl1ZGV2LT5tYl9hZGRyID0gTlVMTDsKPj4+PiAtCj4+Pj4g ICAJc3Bpbl9sb2NrX2JoKCZ0aW1lZF9vdXRfdWRldnNfbG9jayk7Cj4+Pj4gICAJaWYgKCFsaXN0 X2VtcHR5KCZ1ZGV2LT50aW1lZG91dF9lbnRyeSkpCj4+Pj4gICAJCWxpc3RfZGVsKCZ1ZGV2LT50 aW1lZG91dF9lbnRyeSk7Cj4+Pj4gICAJc3Bpbl91bmxvY2tfYmgoJnRpbWVkX291dF91ZGV2c19s b2NrKTsKPj4+PiAgIAo+Pj4+IC0JLyogVXBwZXIgbGF5ZXIgc2hvdWxkIGRyYWluIGFsbCByZXF1 ZXN0cyBiZWZvcmUgY2FsbGluZyB0aGlzICovCj4+Pj4gICAJbXV0ZXhfbG9jaygmdWRldi0+Y21k cl9sb2NrKTsKPj4+PiArCXZmcmVlKHVkZXYtPm1iX2FkZHIpOwo+Pj4+ICsJdWRldi0+bWJfYWRk ciA9IE5VTEw7Cj4+Pj4gKwo+Pj4+ICsJLyogVXBwZXIgbGF5ZXIgc2hvdWxkIGRyYWluIGFsbCBy ZXF1ZXN0cyBiZWZvcmUgY2FsbGluZyB0aGlzICovCj4+Pj4gICAJaWRyX2Zvcl9lYWNoX2VudHJ5 KCZ1ZGV2LT5jb21tYW5kcywgY21kLCBpKSB7Cj4+Pj4gICAJCWlmICh0Y211X2NoZWNrX2FuZF9m cmVlX3BlbmRpbmdfY21kKGNtZCkgIT0gMCkKPj4+PiAgIAkJCWFsbF9leHBpcmVkID0gZmFsc2U7 Cj4+Pj4KPj4+IC0tCj4+PiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUg bGluZSAidW5zdWJzY3JpYmUgdGFyZ2V0LWRldmVsIiBpbgo+Pj4gdGhlIGJvZHkgb2YgYSBtZXNz YWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPj4+IE1vcmUgbWFqb3Jkb21vIGluZm8g YXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo+PgoKLS0KVG8g dW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIHRh cmdldC1kZXZlbCIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtl cm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9t YWpvcmRvbW8taW5mby5odG1s