From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: [PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP Date: Tue, 12 Jul 2016 22:18:35 +0200 Message-ID: <20160712201835.GA2390@al> References: <20160712164934.1390-1-peter@lekensteyn.nl> <20160712191622.GA5476@wunner.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160712191622.GA5476-JFq808J9C/izQB+pC5nmwQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Lukas Wunner Cc: Dave Airlie , Chris Wilson , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org T24gVHVlLCBKdWwgMTIsIDIwMTYgYXQgMDk6MTY6MjJQTSArMDIwMCwgTHVrYXMgV3VubmVyIHdy b3RlOgo+IE9uIFR1ZSwgSnVsIDEyLCAyMDE2IGF0IDA2OjQ5OjM0UE0gKzAyMDAsIFBldGVyIFd1 IHdyb3RlOgo+ID4gVGhlIEZCSU9QVVRfQ09OMkZCTUFQIGlvY3RsIHRha2VzIGEgY29uc29sZV9s b2NrKCkuIFdoZW4gdGhpcyBpcyBjYWxsZWQKPiA+IHdoaWxlIG5vdXZlYXUgd2FzIHJ1bnRpbWUg c3VzcGVuZGVkLCBhIGRlYWRsb2NrIHdvdWxkIG9jY3VyIGR1ZSB0bwo+ID4gbm91dmVhdV9mYmNv bl9zZXRfc3VzcGVuZCBhbHNvIHRyeWluZyB0byBvYnRhaW4gY29uc29sZV9sb2NrKCkuCj4gPiAK PiA+IEZpeCB0aGlzIGJ5IGRlbGF5aW5nIHRoZSBkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kIGNh bGwuIEJhc2VkIG9uIHRoZQo+ID4gaTkxNSBjb2RlICh3aGljaCB3YXMgZG9uZSBmb3IgcGVyZm9y bWFuY2UgcmVhc29ucyB0aG91Z2gpLgo+ID4gCj4gPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBm ZndsbC5jaD4KPiA+IFNpZ25lZC1vZmYtYnk6IFBldGVyIFd1IDxwZXRlckBsZWtlbnN0ZXluLm5s Pgo+ID4gLS0tCj4gPiBUZXN0ZWQgb24gdG9wIG9mIHY0LjctcmM1LCB0aGUgZGVhZGxvY2sgaXMg Z29uZS4KPiAKPiBIbSwgaG93IGRpZCB5b3UgdHJpZ2dlciB0aGlzIGRlYWRsb2NrPwo+IAo+IFRo YW5rcywKPiBMdWthcwoKSGVyZSBpcyBhIHNtYWxsIFB5dGhvbiBzY3JpcHQgd2l0aCBoYXJkY29k ZWQgdmFsdWVzOgoKICAgICMhL3Vzci9iaW4vZW52IHB5dGhvbjMKICAgICMgc2VlIGRyaXZlcnMv dmlkZW8vZmJkZXYvY29yZS9mYm1lbS5jIC0+CiAgICAjIGRyaXZlcnMvdmlkZW8vY29uc29sZS9m YmNvbi5jIGZvciBGQl9FVkVOVF9TRVRfQ09OU09MRV9NQVAKICAgIGltcG9ydCBhcnJheSwgZmNu dGwKICAgIEZCSU9QVVRfQ09OMkZCTUFQID0gMHg0NjEwCiAgICBjb25zb2xlLCBmcmFtZWJ1ZmZl ciA9IDYsIDEKICAgIHdpdGggb3BlbigiL2Rldi9mYjAiKSBhcyBmOgogICAgICAgIGluZm8gPSBh cnJheS5hcnJheSgnSScsIFtjb25zb2xlLCBmcmFtZWJ1ZmZlcl0pCiAgICAgICAgZmNudGwuaW9j dGwoZiwgRkJJT1BVVF9DT04yRkJNQVAsIGluZm8pCgpFbnN1cmUgdGhhdCB0aGUgbm91dmVhdSBj YXJkIGlzIHNsZWVwaW5nLCB0aGVuIGludm9rZToKCiAgICBweXRob24zIGNvbjJmYm1hcC5weQoK SWYgeW91IGNoZWNrIC9wcm9jL2BwaWRvZiBweXRob24zYC9zdGFjayBvciB0aGUgZG1lc2cgc3Bl dyAxMjAgc2Vjb25kcwpsYXRlciwgeW91IHdpbGwgc2VlIGEgdHJhY2UgbGlrZSB0aGlzIG9uIGEg a2VybmVsIHdpdGhvdXQgdGhpcyBwYXRjaDoKClsgICA2MC43MzgwODldIHNuZF9oZGFfaW50ZWwg MDAwMDowMTowMC4xOiBEaXNhYmxpbmcgdmlhIHZnYV9zd2l0Y2hlcm9vClsgICA2MC43Mzk4MTBd IG5vdXZlYXUgMDAwMDowMTowMC4wOiBEUk06IHN1c3BlbmRpbmcgY29uc29sZS4uLgpbICAgNjAu NzQwMDkwXSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogRFJNOiBzdXNwZW5kaW5nIGRpc3BsYXkuLi4K WyAgIDYwLjc0MDU4MV0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IERSTTogZXZpY3RpbmcgYnVmZmVy cy4uLgpbICAgNjAuNzQwNzE4XSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogRFJNOiB3YWl0aW5nIGZv ciBrZXJuZWwgY2hhbm5lbHMgdG8gZ28gaWRsZS4uLgpbICAgNjAuNzQxMDk2XSBub3V2ZWF1IDAw MDA6MDE6MDAuMDogRFJNOiBzdXNwZW5kaW5nIGNsaWVudCBvYmplY3QgdHJlZXMuLi4KWyAgIDYw Ljc0ODAxNV0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IERSTTogc3VzcGVuZGluZyBrZXJuZWwgb2Jq ZWN0IHRyZWUuLi4KWyAgIDYyLjU5ODE1Nl0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IHBvd2VyIHN0 YXRlIGNoYW5nZWQgYnkgQUNQSSB0byBEM2NvbGQKWyAgIDY2Ljg4Mzg4MF0gbm91dmVhdSAwMDAw OjAxOjAwLjA6IHBvd2VyIHN0YXRlIGNoYW5nZWQgYnkgQUNQSSB0byBEMApbICAgNjYuODgzOTg3 XSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogcmVzdG9yaW5nIGNvbmZpZyBzcGFjZSBhdCBvZmZzZXQg MHg0ICh3YXMgMHgxMDA0MDMsIHdyaXRpbmcgMHgxMDA0MDcpClsgICA2Ni44ODQwMTddIG5vdXZl YXUgMDAwMDowMTowMC4wOiBjYWxsaW5nIG52X21zaV9odF9jYXBfcXVpcmtfbGVhZisweDAvMHgz MApbICAgNjYuODg0MDMyXSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogRFJNOiByZXN1bWluZyBrZXJu ZWwgb2JqZWN0IHRyZWUuLi4KWyAgIDY2Ljk5NTUwNV0gbm91dmVhdSAwMDAwOjAxOjAwLjA6IHBy aXY6IEdQQzA6IDQxOWRmNCAwMDAwMDAwMCAoMWY0MDgyMGUpClsgICA2Ni45OTU1MTJdIG5vdXZl YXUgMDAwMDowMTowMC4wOiBwcml2OiBHUEMxOiA0MTlkZjQgMDAwMDAwMDAgKDFmNDA4MjBlKQpb ICAgNjcuMDE0ODI5XSBub3V2ZWF1IDAwMDA6MDE6MDAuMDogRFJNOiByZXN1bWluZyBjbGllbnQg b2JqZWN0IHRyZWVzLi4uClsgICA2Ny4wMTQ5MDVdIG5vdXZlYXUgMDAwMDowMTowMC4wOiBEUk06 IHJlc3VtaW5nIGRpc3BsYXkuLi4KWyAgIDY3LjAxNDk2Ml0gbm91dmVhdSAwMDAwOjAxOjAwLjA6 IERSTTogcmVzdW1pbmcgY29uc29sZS4uLgpbICAyNDAuNjE5ODQwXSBJTkZPOiB0YXNrIGNvbjJm Yjo0ODIgYmxvY2tlZCBmb3IgbW9yZSB0aGFuIDEyMCBzZWNvbmRzLgpbICAyNDAuNjE5ODQ0XSAg ICAgICBOb3QgdGFpbnRlZCA0LjcuMC1yYzFrYXNhbi0wMDAxMS1nNWM3MmQ5MCAjMgpbICAyNDAu NjE5ODQ1XSAiZWNobyAwID4gL3Byb2Mvc3lzL2tlcm5lbC9odW5nX3Rhc2tfdGltZW91dF9zZWNz IiBkaXNhYmxlcyB0aGlzIG1lc3NhZ2UuClsgIDI0MC42MTk4NThdIGNvbjJmYiAgICAgICAgICBE IGZmZmY4ODA3Njk0NjczNzggMjU0NjQgICA0ODIgICAgNDQ3IDB4MDAwMDAwMDAKWyAgMjQwLjYx OTg2NF0gIGZmZmY4ODA3Njk0NjczNzggZmZmZmZmZmY4NDVlYjM0MCBmZmZmZmZmZjgzZWQxNzA4 IDAwZmY4ODA3Njk0NjczMzAKWyAgMjQwLjYxOTg2OF0gIGZmZmY4ODA3NzYyYTA2ZTAgZmZmZjg4 MDc3NjJhMDcwOCBmZmZmODgwNzc2MjlmZGQ4IGZmZmY4ODA3NzYyOWZkYzAKWyAgMjQwLjYxOTg3 Ml0gIGZmZmY4ODA3NzJiYzYyMDAgZmZmZjg4MDc2ZjIyMTg4MCBmZmZmODgwNzY5NDYwMDAwIGZm ZmZlZDAwZWQyOGMwMDEKWyAgMjQwLjYxOTg3NF0gQ2FsbCBUcmFjZToKWyAgMjQwLjYxOTg4MV0g IFs8ZmZmZmZmZmY4MmU5MDRjNT5dIHNjaGVkdWxlKzB4OTUvMHgxYjAKWyAgMjQwLjYxOTg4NV0g IFs8ZmZmZmZmZmY4MmU5Yjc0MD5dIHNjaGVkdWxlX3RpbWVvdXQrMHgzZDAvMHg4YjAKWyAgMjQw LjYxOTg4OV0gIFs8ZmZmZmZmZmY4MmU5YjM3MD5dID8gdXNsZWVwX3JhbmdlKzB4ZTAvMHhlMApb ICAyNDAuNjE5ODk0XSAgWzxmZmZmZmZmZjgxMjI2NmM3Pl0gPyBkZWJ1Z19sb2NrZGVwX3JjdV9l bmFibGVkKzB4NzcvMHg5MApbICAyNDAuNjE5ODk3XSAgWzxmZmZmZmZmZjgxMWYwOTE4Pl0gPyBt YXJrX2hlbGRfbG9ja3MrMHhjOC8weDEyMApbICAyNDAuNjE5OTAxXSAgWzxmZmZmZmZmZjgyZTlk MGNjPl0gPyBfcmF3X3NwaW5fdW5sb2NrX2lycSsweDJjLzB4MzAKWyAgMjQwLjYxOTkwNF0gIFs8 ZmZmZmZmZmY4MTFmMGQ2OT5dID8gdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKzB4M2Y5LzB4NTgw ClsgIDI0MC42MTk5MDddICBbPGZmZmZmZmZmODJlOThiZGY+XSBfX2Rvd24rMHhmZi8weDFkMApb ICAyNDAuNjE5OTExXSAgWzxmZmZmZmZmZjgyZTk4YWUwPl0gPyB3d19tdXRleF91bmxvY2srMHgy NzAvMHgyNzAKWyAgMjQwLjYxOTkyNV0gIFs8ZmZmZmZmZmY4MjIyNWMzMj5dID8gX2Rldl9pbmZv KzB4YzIvMHhmMApbICAyNDAuNjE5OTI5XSAgWzxmZmZmZmZmZjgxMWU1NmIzPl0gZG93bisweDYz LzB4ODAKWyAgMjQwLjYxOTkzM10gIFs8ZmZmZmZmZmY4MTIwNzk2ZT5dIGNvbnNvbGVfbG9jaysw eDFlLzB4NzAKWyAgMjQwLjYyMDAxMl0gIFs8ZmZmZmZmZmZhMTg0MmQ2MT5dIG5vdXZlYXVfZmJj b25fc2V0X3N1c3BlbmQrMHg3MS8weDM5MCBbbm91dmVhdV0KWyAgMjQwLjYyMDA4NV0gIFs8ZmZm ZmZmZmZhMTdmOGEyMj5dIG5vdXZlYXVfZG9fcmVzdW1lKzB4MmUyLzB4MzgwIFtub3V2ZWF1XQpb ICAyNDAuNjIwMTU3XSAgWzxmZmZmZmZmZmExN2Y5MmRlPl0gbm91dmVhdV9wbW9wc19ydW50aW1l X3Jlc3VtZSsweGNlLzB4MjEwIFtub3V2ZWF1XQpbICAyNDAuNjIwMTYzXSAgWzxmZmZmZmZmZjgx YzJiZTgwPl0gPyBwY2lfcmVzdG9yZV9zdGFuZGFyZF9jb25maWcrMHg3MC8weDcwClsgIDI0MC42 MjAxNjddICBbPGZmZmZmZmZmODFjMmJmYjA+XSBwY2lfcG1fcnVudGltZV9yZXN1bWUrMHgxMzAv MHgyMjAKWyAgMjQwLjYyMDE3MV0gIFs8ZmZmZmZmZmY4MWMyYmU4MD5dID8gcGNpX3Jlc3RvcmVf c3RhbmRhcmRfY29uZmlnKzB4NzAvMHg3MApbICAyNDAuNjIwMTc1XSAgWzxmZmZmZmZmZjgyMjQ5 ZDEyPl0gX19ycG1fY2FsbGJhY2srMHg2Mi8weGUwClsgIDI0MC42MjAxNzldICBbPGZmZmZmZmZm ODFjMmJlODA+XSA/IHBjaV9yZXN0b3JlX3N0YW5kYXJkX2NvbmZpZysweDcwLzB4NzAKWyAgMjQw LjYyMDE4Ml0gIFs8ZmZmZmZmZmY4MjI0OWVmOD5dIHJwbV9jYWxsYmFjaysweDE2OC8weDIxMApb ICAyNDAuNjIwMTg2XSAgWzxmZmZmZmZmZjgxYzJiZTgwPl0gPyBwY2lfcmVzdG9yZV9zdGFuZGFy ZF9jb25maWcrMHg3MC8weDcwClsgIDI0MC42MjAxODldICBbPGZmZmZmZmZmODIyNGI2YjM+XSBy cG1fcmVzdW1lKzB4YmMzLzB4MTg4MApbICAyNDAuNjIwMTkzXSAgWzxmZmZmZmZmZjgyMjRhYWYw Pl0gPyBwbV9ydW50aW1lX2F1dG9zdXNwZW5kX2V4cGlyYXRpb24rMHg2MC8weDYwClsgIDI0MC42 MjAxOTZdICBbPGZmZmZmZmZmODIyNGYxMWE+XSA/IF9fcG1fcnVudGltZV9yZXN1bWUrMHg2YS8w eGEwClsgIDI0MC42MjAyMDBdICBbPGZmZmZmZmZmODIyNGYxMjg+XSBfX3BtX3J1bnRpbWVfcmVz dW1lKzB4NzgvMHhhMApbICAyNDAuNjIwMjcwXSAgWzxmZmZmZmZmZmExODQwYWQwPl0gbm91dmVh dV9mYmNvbl9vcGVuKzB4ZDAvMHgxMjAgW25vdXZlYXVdClsgIDI0MC42MjAyNzRdICBbPGZmZmZm ZmZmODFjOTM1Nzc+XSBjb24yZmJfYWNxdWlyZV9uZXdpbmZvKzB4YzcvMHgyYzAKWyAgMjQwLjYy MDI3N10gIFs8ZmZmZmZmZmY4MWM5NWUxOD5dIHNldF9jb24yZmJfbWFwKzB4NzI4LzB4Y2IwClsg IDI0MC42MjAyODFdICBbPGZmZmZmZmZmODFjOTZlNGM+XSBmYmNvbl9ldmVudF9ub3RpZnkrMHhh YWMvMHgxZjkwClsgIDI0MC42MjAyODVdICBbPGZmZmZmZmZmODExNjJjYzk+XSBub3RpZmllcl9j YWxsX2NoYWluKzB4YzkvMHgxMzAKWyAgMjQwLjYyMDI4OF0gIFs8ZmZmZmZmZmY4MTE2MzExMD5d IF9fYmxvY2tpbmdfbm90aWZpZXJfY2FsbF9jaGFpbisweDcwLzB4YjAKWyAgMjQwLjYyMDI5Ml0g IFs8ZmZmZmZmZmY4MTE2MzE2Nj5dIGJsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgxNi8w eDIwClsgIDI0MC42MjAyOTVdICBbPGZmZmZmZmZmODFjYTBjOGI+XSBmYl9ub3RpZmllcl9jYWxs X2NoYWluKzB4MWIvMHgyMApbICAyNDAuNjIwMjk4XSAgWzxmZmZmZmZmZjgxY2E5MzlhPl0gZG9f ZmJfaW9jdGwrMHg5M2EvMHhhODAKWyAgMjQwLjYyMDMwMV0gIFs8ZmZmZmZmZmY4MTUxMzM3Nz5d ID8gbW50cHV0KzB4NTcvMHg3MApbICAyNDAuNjIwMzA1XSAgWzxmZmZmZmZmZjgxY2E4YTYwPl0g PyBmYl9yZWFkKzB4NWYwLzB4NWYwClsgIDI0MC42MjAzMDldICBbPGZmZmZmZmZmODEyMjY2Yzc+ XSA/IGRlYnVnX2xvY2tkZXBfcmN1X2VuYWJsZWQrMHg3Ny8weDkwClsgIDI0MC42MjAzMTJdICBb PGZmZmZmZmZmODExZjI0NzU+XSA/IF9fbG9ja19hY3F1aXJlKzB4MTA1NS8weDJlZDAKWyAgMjQw LjYyMDMxNl0gIFs8ZmZmZmZmZmY4MTIyNjZjNz5dID8gZGVidWdfbG9ja2RlcF9yY3VfZW5hYmxl ZCsweDc3LzB4OTAKWyAgMjQwLjYyMDMxOV0gIFs8ZmZmZmZmZmY4MTFmMjQ3NT5dID8gX19sb2Nr X2FjcXVpcmUrMHgxMDU1LzB4MmVkMApbICAyNDAuNjIwMzIzXSAgWzxmZmZmZmZmZjgxMjI2NmM3 Pl0gPyBkZWJ1Z19sb2NrZGVwX3JjdV9lbmFibGVkKzB4NzcvMHg5MApbICAyNDAuNjIwMzI3XSAg WzxmZmZmZmZmZjgxMWYxNDIwPl0gPyBkZWJ1Z19jaGVja19ub19sb2Nrc19mcmVlZCsweDI4MC8w eDI4MApbICAyNDAuNjIwMzMxXSAgWzxmZmZmZmZmZjgxMjI2NmM3Pl0gPyBkZWJ1Z19sb2NrZGVw X3JjdV9lbmFibGVkKzB4NzcvMHg5MApbICAyNDAuNjIwMzM1XSAgWzxmZmZmZmZmZjgxMjI2NmM3 Pl0gPyBkZWJ1Z19sb2NrZGVwX3JjdV9lbmFibGVkKzB4NzcvMHg5MApbICAyNDAuNjIwMzQwXSAg WzxmZmZmZmZmZjgxNDk3MTRkPl0gPyBjbXB4Y2hnX2RvdWJsZV9zbGFiLmlzcmEuNTQrMHgxMGQv MHgxMzAKWyAgMjQwLjYyMDM0NF0gIFs8ZmZmZmZmZmY4MmU5ZDEwNj5dID8gX3Jhd19zcGluX3Vu bG9ja19pcnFyZXN0b3JlKzB4MzYvMHg1MApbICAyNDAuNjIwMzQ3XSAgWzxmZmZmZmZmZjgxMWYw ZDY5Pl0gPyB0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIrMHgzZjkvMHg1ODAKWyAgMjQwLjYyMDM1 MV0gIFs8ZmZmZmZmZmY4MWNhOTVhYz5dIGZiX2lvY3RsKzB4Y2MvMHgxNDAKWyAgMjQwLjYyMDM1 NV0gIFs8ZmZmZmZmZmY4MTRlOTM3Mj5dIGRvX3Zmc19pb2N0bCsweDE5Mi8weDEwMDAKWyAgMjQw LjYyMDM1OV0gIFs8ZmZmZmZmZmY4MTRlMDE5MT5dID8gcHV0bmFtZSsweGMxLzB4ZjAKWyAgMjQw LjYyMDM2Ml0gIFs8ZmZmZmZmZmY4MTRlOTFlMD5dID8gaW9jdGxfcHJlYWxsb2NhdGUrMHgxZTAv MHgxZTAKWyAgMjQwLjYyMDM2NV0gIFs8ZmZmZmZmZmY4MTRlMDE5MT5dID8gcHV0bmFtZSsweGMx LzB4ZjAKWyAgMjQwLjYyMDM2OV0gIFs8ZmZmZmZmZmY4MTIyNjg5OT5dID8gcmN1X3JlYWRfbG9j a19zY2hlZF9oZWxkKzB4ZTkvMHgxMTAKWyAgMjQwLjYyMDM3M10gIFs8ZmZmZmZmZmY4MTQ5OGZm ZT5dID8ga21lbV9jYWNoZV9mcmVlKzB4MWZlLzB4MjgwClsgIDI0MC42MjAzNzZdICBbPGZmZmZm ZmZmODE0ZTAxOTE+XSA/IHB1dG5hbWUrMHhjMS8weGYwClsgIDI0MC42MjAzODBdICBbPGZmZmZm ZmZmODE0YWJiYmQ+XSA/IGRvX3N5c19vcGVuKzB4MjVkLzB4MzQwClsgIDI0MC42MjAzODRdICBb PGZmZmZmZmZmODJlOWQ2OTI+XSA/IGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHg1LzB4YTgK WyAgMjQwLjYyMDM4N10gIFs8ZmZmZmZmZmY4MTIyNjZjNz5dID8gZGVidWdfbG9ja2RlcF9yY3Vf ZW5hYmxlZCsweDc3LzB4OTAKWyAgMjQwLjYyMDM5MF0gIFs8ZmZmZmZmZmY4MTUwOTgzOT5dID8g X19mZ2V0X2xpZ2h0KzB4MTM5LzB4MjAwClsgIDI0MC42MjAzOTNdICBbPGZmZmZmZmZmODE0ZWEy NTk+XSBTeVNfaW9jdGwrMHg3OS8weDkwClsgIDI0MC42MjAzOTddICBbPGZmZmZmZmZmODJlOWQ2 YTU+XSBlbnRyeV9TWVNDQUxMXzY0X2Zhc3RwYXRoKzB4MTgvMHhhOApbICAyNDAuNjIwNDAxXSAz IGxvY2tzIGhlbGQgYnkgY29uMmZiLzQ4MjoKWyAgMjQwLjYyMDQwOV0gICMwOiAgKGNvbnNvbGVf bG9jayl7Ky4rLisufSwgYXQ6IFs8ZmZmZmZmZmY4MWNhOTM3Nj5dIGRvX2ZiX2lvY3RsKzB4OTE2 LzB4YTgwClsgIDI0MC42MjA0MTZdICAjMTogICgmZmJfaW5mby0+bG9jayl7Ky4rLisufSwgYXQ6 IFs8ZmZmZmZmZmY4MWNhMWQ1ZD5dIGxvY2tfZmJfaW5mbysweDFkLzB4NzAKWyAgMjQwLjYyMDQy M10gICMyOiAgKChmYl9ub3RpZmllcl9saXN0KS5yd3NlbSl7LisuKy4rfSwgYXQ6IFs8ZmZmZmZm ZmY4MTE2MzBmYj5dIF9fYmxvY2tpbmdfbm90aWZpZXJfY2FsbF9jaGFpbisweDViLzB4YjAKClBl dGVyCgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYyAg IHwgIDQgKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaCAgIHwg IDEgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uYyB8IDU0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L25vdXZlYXVfZmJjb24uaCB8ICAyICstCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u b3V2ZWF1X2RybS5jCj4gPiBpbmRleCAxMWY4ZGQ5Li5mOWEyYzEwIDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwo+ID4gQEAgLTU1Miw3ICs1NTIsNyBAQCBub3V2 ZWF1X2RvX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBydW50aW1lKQo+ID4g IAo+ID4gIAlpZiAoZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0Yykgewo+ID4gIAkJTlZfSU5GTyhk cm0sICJzdXNwZW5kaW5nIGNvbnNvbGUuLi5cbiIpOwo+ID4gLQkJbm91dmVhdV9mYmNvbl9zZXRf c3VzcGVuZChkZXYsIDEpOwo+ID4gKwkJbm91dmVhdV9mYmNvbl9zZXRfc3VzcGVuZChkZXYsIEZC SU5GT19TVEFURV9TVVNQRU5ERUQsIHRydWUpOwo+ID4gIAkJTlZfSU5GTyhkcm0sICJzdXNwZW5k aW5nIGRpc3BsYXkuLi5cbiIpOwo+ID4gIAkJcmV0ID0gbm91dmVhdV9kaXNwbGF5X3N1c3BlbmQo ZGV2LCBydW50aW1lKTsKPiA+ICAJCWlmIChyZXQpCj4gPiBAQCAtNjM1LDcgKzYzNSw3IEBAIG5v dXZlYXVfZG9fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcnVudGltZSkKPiA+ ICAJCU5WX0lORk8oZHJtLCAicmVzdW1pbmcgZGlzcGxheS4uLlxuIik7Cj4gPiAgCQlub3V2ZWF1 X2Rpc3BsYXlfcmVzdW1lKGRldiwgcnVudGltZSk7Cj4gPiAgCQlOVl9JTkZPKGRybSwgInJlc3Vt aW5nIGNvbnNvbGUuLi5cbiIpOwo+ID4gLQkJbm91dmVhdV9mYmNvbl9zZXRfc3VzcGVuZChkZXYs IDApOwo+ID4gKwkJbm91dmVhdV9mYmNvbl9zZXRfc3VzcGVuZChkZXYsIEZCSU5GT19TVEFURV9S VU5OSU5HLCBmYWxzZSk7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJcmV0dXJuIDA7Cj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmgKPiA+IGluZGV4IDgyMmEwMjEuLmE3NDNkMTkgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oCj4gPiBAQCAtMTQ3LDYg KzE0Nyw3IEBAIHN0cnVjdCBub3V2ZWF1X2RybSB7Cj4gPiAgCXN0cnVjdCBub3V2ZWF1X2NoYW5u ZWwgKmNoYW5uZWw7Cj4gPiAgCXN0cnVjdCBudmttX2dwdW9iaiAqbm90aWZ5Owo+ID4gIAlzdHJ1 Y3Qgbm91dmVhdV9mYmRldiAqZmJjb247Cj4gPiArCXN0cnVjdCB3b3JrX3N0cnVjdCBmYmRldl9z dXNwZW5kX3dvcms7Cj4gPiAgCXN0cnVjdCBudmlmX29iamVjdCBudnN3Owo+ID4gIAlzdHJ1Y3Qg bnZpZl9vYmplY3QgbnRmeTsKPiA+ICAJc3RydWN0IG52aWZfbm90aWZ5IGZsaXA7Cj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNvbi5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNvbi5jCj4gPiBpbmRleCBkMWYyNDhmLi4wODkx NTZhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNv bi5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmMKPiA+ IEBAIC00OTIsMTkgKzQ5Miw1MyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mYl9oZWxwZXJf ZnVuY3Mgbm91dmVhdV9mYmNvbl9oZWxwZXJfZnVuY3MgPSB7Cj4gPiAgCS5mYl9wcm9iZSA9IG5v dXZlYXVfZmJjb25fY3JlYXRlLAo+ID4gIH07Cj4gPiAgCj4gPiArc3RhdGljIHZvaWQgbm91dmVh dV9mYmNvbl9zdXNwZW5kX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gPiArewo+ ID4gKwlub3V2ZWF1X2ZiY29uX3NldF9zdXNwZW5kKGNvbnRhaW5lcl9vZih3b3JrLAo+ID4gKwkJ CQkJICAgICAgIHN0cnVjdCBub3V2ZWF1X2RybSwKPiA+ICsJCQkJCSAgICAgICBmYmRldl9zdXNw ZW5kX3dvcmspLT5kZXYsCj4gPiArCQkJCSAgRkJJTkZPX1NUQVRFX1JVTk5JTkcsCj4gPiArCQkJ CSAgdHJ1ZSk7Cj4gPiArfQo+ID4gKwo+ID4gIHZvaWQKPiA+IC1ub3V2ZWF1X2ZiY29uX3NldF9z dXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSkKPiA+ICtub3V2ZWF1X2Zi Y29uX3NldF9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSwgYm9vbCBz eW5jaHJvbm91cykKPiA+ICB7Cj4gPiAgCXN0cnVjdCBub3V2ZWF1X2RybSAqZHJtID0gbm91dmVh dV9kcm0oZGV2KTsKPiA+IC0JaWYgKGRybS0+ZmJjb24pIHsKPiA+IC0JCWNvbnNvbGVfbG9jaygp Owo+ID4gLQkJaWYgKHN0YXRlID09IEZCSU5GT19TVEFURV9SVU5OSU5HKQo+ID4gLQkJCW5vdXZl YXVfZmJjb25fYWNjZWxfcmVzdG9yZShkZXYpOwo+ID4gLQkJZHJtX2ZiX2hlbHBlcl9zZXRfc3Vz cGVuZCgmZHJtLT5mYmNvbi0+aGVscGVyLCBzdGF0ZSk7Cj4gPiArCWlmICghZHJtLT5mYmNvbikK PiA+ICsJCXJldHVybjsKPiA+ICsKPiA+ICsJaWYgKHN5bmNocm9ub3VzKSB7Cj4gPiArCQkvKiBG bHVzaCBhbnkgcGVuZGluZyB3b3JrIHRvIHR1cm4gdGhlIGNvbnNvbGUgb24sIGFuZCB0aGVuCj4g PiArCQkgKiB3YWl0IHRvIHR1cm4gaXQgb2ZmLiBJdCBtdXN0IGJlIHN5bmNocm9ub3VzIGFzIHdl IGFyZQo+ID4gKwkJICogYWJvdXQgdG8gc3VzcGVuZCBvciB1bmxvYWQgdGhlIGRyaXZlci4KPiA+ ICsJCSAqCj4gPiArCQkgKiBOb3RlIHRoYXQgZnJvbSB3aXRoaW4gdGhlIHdvcmstaGFuZGxlciwg d2UgY2Fubm90IGZsdXNoCj4gPiArCQkgKiBvdXJzZWx2ZXMsIHNvIG9ubHkgZmx1c2ggb3V0c3Rh bmRpbmcgd29yayB1cG9uIHN1c3BlbmQhCj4gPiArCQkgKi8KPiA+ICAJCWlmIChzdGF0ZSAhPSBG QklORk9fU1RBVEVfUlVOTklORykKPiA+IC0JCQlub3V2ZWF1X2ZiY29uX2FjY2VsX3NhdmVfZGlz YWJsZShkZXYpOwo+ID4gLQkJY29uc29sZV91bmxvY2soKTsKPiA+ICsJCQlmbHVzaF93b3JrKCZk cm0tPmZiZGV2X3N1c3BlbmRfd29yayk7Cj4gPiArCQljb25zb2xlX2xvY2soKTsKPiA+ICsJfSBl bHNlIHsKPiA+ICsJCS8qCj4gPiArCQkgKiBUaGUgY29uc29sZSBsb2NrIGNhbiBiZSBwcmV0dHkg Y29udGVudGVkIG9uIHJlc3VtZSBkdWUKPiA+ICsJCSAqIHRvIGFsbCB0aGUgcHJpbnRrIGFjdGl2 aXR5LiAgVHJ5IHRvIGtlZXAgaXQgb3V0IG9mIHRoZSBob3QKPiA+ICsJCSAqIHBhdGggb2YgcmVz dW1lIGlmIHBvc3NpYmxlLiAgVGhpcyBhbHNvIHByZXZlbnRzIGEgZGVhZGxvY2sKPiA+ICsJCSAq IHdpdGggRkJJT1BVVF9DT04yRkJNQVAuCj4gPiArCQkgKi8KPiA+ICsJCVdBUk5fT04oc3RhdGUg IT0gRkJJTkZPX1NUQVRFX1JVTk5JTkcpOwo+ID4gKwkJaWYgKCFjb25zb2xlX3RyeWxvY2soKSkg ewo+ID4gKwkJCXNjaGVkdWxlX3dvcmsoJmRybS0+ZmJkZXZfc3VzcGVuZF93b3JrKTsKPiA+ICsJ CQlyZXR1cm47Cj4gPiArCQl9Cj4gPiAgCX0KPiA+ICsKPiA+ICsJaWYgKHN0YXRlID09IEZCSU5G T19TVEFURV9SVU5OSU5HKQo+ID4gKwkJbm91dmVhdV9mYmNvbl9hY2NlbF9yZXN0b3JlKGRldik7 Cj4gPiArCWRybV9mYl9oZWxwZXJfc2V0X3N1c3BlbmQoJmRybS0+ZmJjb24tPmhlbHBlciwgc3Rh dGUpOwo+ID4gKwlpZiAoc3RhdGUgIT0gRkJJTkZPX1NUQVRFX1JVTk5JTkcpCj4gPiArCQlub3V2 ZWF1X2ZiY29uX2FjY2VsX3NhdmVfZGlzYWJsZShkZXYpOwo+ID4gKwljb25zb2xlX3VubG9jaygp Owo+ID4gIH0KPiA+ICAKPiA+ICBpbnQKPiA+IEBAIC01MjYsNiArNTYwLDggQEAgbm91dmVhdV9m YmNvbl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCWZiY29uLT5kZXYgPSBkZXY7 Cj4gPiAgCWRybS0+ZmJjb24gPSBmYmNvbjsKPiA+ICAKPiA+ICsJSU5JVF9XT1JLKCZkcm0tPmZi ZGV2X3N1c3BlbmRfd29yaywgbm91dmVhdV9mYmNvbl9zdXNwZW5kX3dvcmtlcik7Cj4gPiArCj4g PiAgCWRybV9mYl9oZWxwZXJfcHJlcGFyZShkZXYsICZmYmNvbi0+aGVscGVyLCAmbm91dmVhdV9m YmNvbl9oZWxwZXJfZnVuY3MpOwo+ID4gIAo+ID4gIAlyZXQgPSBkcm1fZmJfaGVscGVyX2luaXQo ZGV2LCAmZmJjb24tPmhlbHBlciwKPiA+IEBAIC01NzEsNiArNjA3LDggQEAgbm91dmVhdV9mYmNv bl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCWlmICghZHJtLT5mYmNvbikKPiA+ ICAJCXJldHVybjsKPiA+ICAKPiA+ICsJZmx1c2hfd29yaygmZHJtLT5mYmRldl9zdXNwZW5kX3dv cmspOwo+ID4gKwo+ID4gIAlub3V2ZWF1X2ZiY29uX2FjY2VsX2ZpbmkoZGV2KTsKPiA+ICAJbm91 dmVhdV9mYmNvbl9kZXN0cm95KGRldiwgZHJtLT5mYmNvbik7Cj4gPiAgCWtmcmVlKGRybS0+ZmJj b24pOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJj b24uaCBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uaAo+ID4gaW5kZXgg Y2E3N2FkMC4uMzRiMjUwNCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfZmJjb24uaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9mYmNvbi5oCj4gPiBAQCAtNjYsNyArNjYsNyBAQCB2b2lkIG5vdXZlYXVfZmJjb25fZ3B1X2xv Y2t1cChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4gPiAgCj4gPiAgaW50IG5vdXZlYXVfZmJjb25f aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICB2b2lkIG5vdXZlYXVfZmJjb25fZmlu aShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+IC12b2lkIG5vdXZlYXVfZmJjb25fc2V0X3N1 c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHN0YXRlKTsKPiA+ICt2b2lkIG5vdXZl YXVfZmJjb25fc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHN0YXRlLCBi b29sIHN5bmNocm9ub3VzKTsKPiA+ICB2b2lkIG5vdXZlYXVfZmJjb25fYWNjZWxfc2F2ZV9kaXNh YmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gIHZvaWQgbm91dmVhdV9mYmNvbl9hY2Nl bF9yZXN0b3JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gIAo+ID4gLS0gCj4gPiAyLjgu Mwo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+ID4gTm91dmVhdSBtYWlsaW5nIGxpc3QKPiA+IE5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25v dXZlYXUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91 dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==