From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3] drm/i915: Fix use after free in lpe_audio_platdev_destroy() Date: Wed, 12 Apr 2017 22:17:33 +0300 Message-ID: <20170412191733.GT30290@intel.com> References: <20170301185918.9114-1-chris@chris-wilson.co.uk> <20170412083139.10649-1-chris@chris-wilson.co.uk> <20170412085254.GP30290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id D13D06E250 for ; Wed, 12 Apr 2017 19:17:37 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Takashi Iwai Cc: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMTIsIDIwMTcgYXQgMDE6NDE6MDVQTSArMDIwMCwgVGFrYXNoaSBJd2FpIHdy b3RlOgo+IE9uIFdlZCwgMTIgQXByIDIwMTcgMTA6NTI6NTQgKzAyMDAsCj4gVmlsbGUgU3lyasOk bMOkIHdyb3RlOgo+ID4gCj4gPiBPbiBXZWQsIEFwciAxMiwgMjAxNyBhdCAwOTozMTozOUFNICsw MTAwLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gPiA+IFszMTkwOC41NDcxMzZdIEJVRzogS0FTQU46 IHVzZS1hZnRlci1mcmVlIGluIGludGVsX2xwZV9hdWRpb190ZWFyZG93bisweDc4LzB4YjAgW2k5 MTVdIGF0IGFkZHIgZmZmZjg4MDFmNzc4ODM1OAo+ID4gPiBbMzE5MDguNTQ3Mjk3XSBSZWFkIG9m IHNpemUgOCBieSB0YXNrIGRydl9zZWxmdGVzdC8zNzgxCj4gPiA+IFszMTkwOC41NDc0MDVdIENQ VTogMCBQSUQ6IDM3ODEgQ29tbTogZHJ2X3NlbGZ0ZXN0IFRhaW50ZWQ6IEcgICAgQlUgIFcgICAg ICAgNC4xMC4wKyAjNDUxCj4gPiA+IFszMTkwOC41NDc1NTNdIEhhcmR3YXJlIG5hbWU6ICAgICAg ICAgICAgICAgICAgLyAgICAgICAgLCBCSU9TIFBZQlNXQ0VMLjg2QS4wMDI3LjIwMTUuMDUwNy4x NzU4IDA1LzA3LzIwMTUKPiA+ID4gWzMxOTA4LjU0NzY4Ml0gQ2FsbCBUcmFjZToKPiA+ID4gWzMx OTA4LjU0Nzc3Ml0gIGR1bXBfc3RhY2srMHg2OC8weDlmCj4gPiA+IFszMTkwOC41NDc4NTddICBr YXNhbl9vYmplY3RfZXJyKzB4MWMvMHg3MAo+ID4gPiBbMzE5MDguNTQ3OTQ3XSAga2FzYW5fcmVw b3J0X2Vycm9yKzB4MWYxLzB4NGYwCj4gPiA+IFszMTkwOC41NDgwMzhdICA/IGtmcmVlKzB4YWEv MHgxNzAKPiA+ID4gWzMxOTA4LjU0ODEyMV0gIGthc2FuX3JlcG9ydCsweDM0LzB4NDAKPiA+ID4g WzMxOTA4LjU0ODIxMV0gID8ga2xpc3RfY2hpbGRyZW5fZ2V0KzB4MjAvMHgzMAo+ID4gPiBbMzE5 MDguNTQ4NDcyXSAgPyBpbnRlbF9scGVfYXVkaW9fdGVhcmRvd24rMHg3OC8weGIwIFtpOTE1XQo+ ID4gPiBbMzE5MDguNTQ4NTY3XSAgX19hc2FuX2xvYWQ4KzB4NWUvMHg3MAo+ID4gPiBbMzE5MDgu NTQ4ODI0XSAgaW50ZWxfbHBlX2F1ZGlvX3RlYXJkb3duKzB4NzgvMHhiMCBbaTkxNV0KPiA+ID4g WzMxOTA4LjU0OTA4MF0gIGludGVsX2F1ZGlvX2RlaW5pdCsweDI4LzB4ODAgW2k5MTVdCj4gPiA+ IFszMTkwOC41NDkzMTVdICBpOTE1X2RyaXZlcl91bmxvYWQrMHhlNC8weDM2MCBbaTkxNV0KPiA+ ID4gWzMxOTA4LjU0OTU1MV0gID8gaTkxNV9kcml2ZXJfbG9hZCsweDFkNzAvMHgxZDcwIFtpOTE1 XQo+ID4gPiBbMzE5MDguNTQ5NjUxXSAgPyB0cmFjZV9oYXJkaXJxc19vbisweGQvMHgxMAo+ID4g PiBbMzE5MDguNTQ5ODg1XSAgaTkxNV9wY2lfcmVtb3ZlKzB4MjMvMHgzMCBbaTkxNV0KPiA+ID4g WzMxOTA4LjU0OTk3OF0gIHBjaV9kZXZpY2VfcmVtb3ZlKzB4NWMvMHgxMDAKPiA+ID4gWzMxOTA4 LjU1MDA2OV0gIGRldmljZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbCsweDFkYi8weDJlMAo+ID4g PiBbMzE5MDguNTUwMTY1XSAgZHJpdmVyX2RldGFjaCsweDY4LzB4YzAKPiA+ID4gWzMxOTA4LjU1 MDI1Nl0gIGJ1c19yZW1vdmVfZHJpdmVyKzB4OGIvMHgxNTAKPiA+ID4gWzMxOTA4LjU1MDM0Nl0g IGRyaXZlcl91bnJlZ2lzdGVyKzB4M2UvMHg2MAo+ID4gPiBbMzE5MDguNTUwNDM5XSAgcGNpX3Vu cmVnaXN0ZXJfZHJpdmVyKzB4MWQvMHgxMTAKPiA+ID4gWzMxOTA4LjU1MDUzMV0gID8gZmluZF9t b2R1bGVfYWxsKzB4N2EvMHhhMAo+ID4gPiBbMzE5MDguNTUwNzkxXSAgaTkxNV9leGl0KzB4MWEv MHg4NyBbaTkxNV0KPiA+ID4gWzMxOTA4LjU1MDg4MV0gIFN5U19kZWxldGVfbW9kdWxlKzB4MjY0 LzB4MmMwCj4gPiA+IFszMTkwOC41NTA5NzFdICA/IGZyZWVfbW9kdWxlKzB4NDMwLzB4NDMwCj4g PiA+IFszMTkwOC41NTEwNjRdICA/IHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIrMHgxNi8weDEx MAo+ID4gPiBbMzE5MDguNTUxMTU5XSAgPyB0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIrMHgxNi8w eDI4MAo+ID4gPiBbMzE5MDguNTUxMjU2XSAgPyB0cmFjZV9oYXJkaXJxc19vbl90aHVuaysweDFh LzB4MWMKPiA+ID4gWzMxOTA4LjU1MTM1MF0gIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgx Yy8weGIxCj4gPiA+IFszMTkwOC41NTE0NDBdIFJJUDogMDAzMzoweDdmMWQ2NzMxMmVjNwo+ID4g PiBbMzE5MDguNTUxNTIwXSBSU1A6IDAwMmI6MDAwMDdmZmViZTM0ZTg4OCBFRkxBR1M6IDAwMDAw MjA2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMGIwCj4gPiA+IFszMTkwOC41NTE2NTBdIFJBWDog ZmZmZmZmZmZmZmZmZmZkYSBSQlg6IGZmZmZmZmZmODExMTIzZjYgUkNYOiAwMDAwN2YxZDY3MzEy ZWM3Cj4gPiA+IFszMTkwOC41NTE3NDNdIFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAw MDAwMDAwMDA4MDAgUkRJOiAwMDAwNTYwZDBhZjQ3NmI4Cj4gPiA+IFszMTkwOC41NTE4MzddIFJC UDogZmZmZjg4MDIzM2Q4N2Y5OCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwN2ZmZWJl MzRlOGI4Cj4gPiA+IFszMTkwOC41NTE5MzBdIFIxMDogMDAwMDdmMWQ2OGFkZjhjMCBSMTE6IDAw MDAwMDAwMDAwMDAyMDYgUjEyOiAwMDAwMDAwMDAwMDAwMDAwCj4gPiA+IFszMTkwOC41NTIwMjNd IFIxMzogMDAwMDU2MGQwYWY0NjQ0MCBSMTQ6IDAwMDAwMDAwMDAwMDAwMzQgUjE1OiAwMDAwN2Zm ZWJlMzRkODYwCj4gPiA+IFszMTkwOC41NTIxMjFdICA/IHRyYWNlX2hhcmRpcnFzX29mZl9jYWxs ZXIrMHgxNi8weDExMAo+ID4gPiBbMzE5MDguNTUyMjE3XSBPYmplY3QgYXQgZmZmZjg4MDFmNzc4 ODAwMCwgaW4gY2FjaGUga21hbGxvYy0yMDQ4IHNpemU6IDIwNDgKPiA+ID4gWzMxOTA4LjU1MjMw Nl0gQWxsb2NhdGVkOgo+ID4gPiBbMzE5MDguNTUyMzc3XSBQSUQgPSAzNzgxCj4gPiA+IFszMTkw OC41NTI0NTZdICBzYXZlX3N0YWNrX3RyYWNlKzB4MTYvMHgyMAo+ID4gPiBbMzE5MDguNTUyNTM5 XSAga2FzYW5fa21hbGxvYysweGVlLzB4MTkwCj4gPiA+IFszMTkwOC41NTI2MjddICBfX2ttYWxs b2MrMHhkYi8weDFiMAo+ID4gPiBbMzE5MDguNTUyNzEzXSAgcGxhdGZvcm1fZGV2aWNlX2FsbG9j KzB4MjcvMHg5MAo+ID4gPiBbMzE5MDguNTUyODA0XSAgcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVy X2Z1bGwrMHgzNi8weDIyMAo+ID4gPiBbMzE5MDguNTUzMDY2XSAgaW50ZWxfbHBlX2F1ZGlvX2lu aXQrMHg0MWUvMHg1NzAgW2k5MTVdCj4gPiA+IFszMTkwOC41NTMzMjBdICBpbnRlbF9hdWRpb19p bml0KzB4ZC8weDQwIFtpOTE1XQo+ID4gPiBbMzE5MDguNTUzNTUyXSAgaTkxNV9kcml2ZXJfbG9h ZCsweDEzZjUvMHgxZDcwIFtpOTE1XQo+ID4gPiBbMzE5MDguNTUzNzg4XSAgaTkxNV9wY2lfcHJv YmUrMHg2NS8weGUwIFtpOTE1XQo+ID4gPiBbMzE5MDguNTUzODgxXSAgcGNpX2RldmljZV9wcm9i ZSsweGRhLzB4MTQwCj4gPiA+IFszMTkwOC41NTM5NjldICBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4 NDAwLzB4NjYwCj4gPiA+IFszMTkwOC41NTQwNThdICBfX2RyaXZlcl9hdHRhY2grMHgxMWMvMHgx MjAKPiA+ID4gWzMxOTA4LjU1NDE0N10gIGJ1c19mb3JfZWFjaF9kZXYrMHhlNi8weDE1MAo+ID4g PiBbMzE5MDguNTU0MjM3XSAgZHJpdmVyX2F0dGFjaCsweDI2LzB4MzAKPiA+ID4gWzMxOTA4LjU1 NDMyNV0gIGJ1c19hZGRfZHJpdmVyKzB4MjZiLzB4M2IwCj4gPiA+IFszMTkwOC41NTQ0MTJdICBk cml2ZXJfcmVnaXN0ZXIrMHhjZS8weDE5MAo+ID4gPiBbMzE5MDguNTU0NTAyXSAgX19wY2lfcmVn aXN0ZXJfZHJpdmVyKzB4YWYvMHhjMAo+ID4gPiBbMzE5MDguNTU0NTg5XSAgMHhmZmZmZmZmZmEw NTUwMDYzCj4gPiA+IFszMTkwOC41NTQ2NzVdICBkb19vbmVfaW5pdGNhbGwrMHg4Yi8weDFlMAo+ ID4gPiBbMzE5MDguNTU0NzY0XSAgZG9faW5pdF9tb2R1bGUrMHgxMDIvMHgzMjUKPiA+ID4gWzMx OTA4LjU1NDg1Ml0gIGxvYWRfbW9kdWxlKzB4M2FhZC8weDQ1ZTAKPiA+ID4gWzMxOTA4LjU1NDk0 NF0gIFN5U19maW5pdF9tb2R1bGUrMHgxNjkvMHgxYTAKPiA+ID4gWzMxOTA4LjU1NTAzM10gIGVu dHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGIxCj4gPiA+IFszMTkwOC41NTUxMTldIEZy ZWVkOgo+ID4gPiBbMzE5MDguNTU1MTg4XSBQSUQgPSAzNzgxCj4gPiA+IFszMTkwOC41NTUyNjZd ICBzYXZlX3N0YWNrX3RyYWNlKzB4MTYvMHgyMAo+ID4gPiBbMzE5MDguNTU1MzQ5XSAga2FzYW5f c2xhYl9mcmVlKzB4YjAvMHgxODAKPiA+ID4gWzMxOTA4LjU1NTQzNl0gIGtmcmVlKzB4YWEvMHgx NzAKPiA+ID4gWzMxOTA4LjU1NTUyMF0gIHBsYXRmb3JtX2RldmljZV9yZWxlYXNlKzB4NzYvMHg4 MAo+ID4gPiBbMzE5MDguNTU1NjEwXSAgZGV2aWNlX3JlbGVhc2UrMHg0NS8weGUwCj4gPiA+IFsz MTkwOC41NTU2OThdICBrb2JqZWN0X3B1dCsweDExZi8weDI2MAo+ID4gPiBbMzE5MDguNTU1Nzg1 XSAgcHV0X2RldmljZSsweDEyLzB4MjAKPiA+ID4gWzMxOTA4LjU1NTg3MV0gIHBsYXRmb3JtX2Rl dmljZV91bnJlZ2lzdGVyKzB4MWIvMHgyMAo+ID4gPiBbMzE5MDguNTU2MTM1XSAgaW50ZWxfbHBl X2F1ZGlvX3RlYXJkb3duKzB4NWMvMHhiMCBbaTkxNV0KPiA+ID4gWzMxOTA4LjU1NjM5MF0gIGlu dGVsX2F1ZGlvX2RlaW5pdCsweDI4LzB4ODAgW2k5MTVdCj4gPiA+IFszMTkwOC41NTY2MjJdICBp OTE1X2RyaXZlcl91bmxvYWQrMHhlNC8weDM2MCBbaTkxNV0KPiA+ID4gWzMxOTA4LjU1Njg1OF0g IGk5MTVfcGNpX3JlbW92ZSsweDIzLzB4MzAgW2k5MTVdCj4gPiA+IFszMTkwOC41NTY5NDhdICBw Y2lfZGV2aWNlX3JlbW92ZSsweDVjLzB4MTAwCj4gPiA+IFszMTkwOC41NTcwMzddICBkZXZpY2Vf cmVsZWFzZV9kcml2ZXJfaW50ZXJuYWwrMHgxZGIvMHgyZTAKPiA+ID4gWzMxOTA4LjU1NzEyOV0g IGRyaXZlcl9kZXRhY2grMHg2OC8weGMwCj4gPiA+IFszMTkwOC41NTcyMTddICBidXNfcmVtb3Zl X2RyaXZlcisweDhiLzB4MTUwCj4gPiA+IFszMTkwOC41NTczMDRdICBkcml2ZXJfdW5yZWdpc3Rl cisweDNlLzB4NjAKPiA+ID4gWzMxOTA4LjU1NzM5NF0gIHBjaV91bnJlZ2lzdGVyX2RyaXZlcisw eDFkLzB4MTEwCj4gPiA+IFszMTkwOC41NTc2NTNdICBpOTE1X2V4aXQrMHgxYS8weDg3IFtpOTE1 XQo+ID4gPiBbMzE5MDguNTU3NzQxXSAgU3lTX2RlbGV0ZV9tb2R1bGUrMHgyNjQvMHgyYzAKPiA+ ID4gWzMxOTA4LjU1NzgzNF0gIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGIxCj4g PiA+IFszMTkwOC41NTc5MTldIE1lbW9yeSBzdGF0ZSBhcm91bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6 Cj4gPiA+IFszMTkwOC41NTgwMDVdICBmZmZmODgwMWY3Nzg4MjAwOiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgo+ID4gPiBbMzE5MDguNTU4MTI3XSAgZmZm Zjg4MDFmNzc4ODI4MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIKPiA+ID4gWzMxOTA4LjU1ODI1NV0gPmZmZmY4ODAxZjc3ODgzMDA6IGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCj4gPiA+IFszMTkwOC41NTgzNzRd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4g PiA+IFszMTkwOC41NTg0NjddICBmZmZmODgwMWY3Nzg4MzgwOiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgo+ID4gPiBbMzE5MDguNTU4NTk1XSAgZmZmZjg4 MDFmNzc4ODQwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIKPiA+ID4gCj4gPiA+IHYyOiBKdXN0IGxlYWsgdGhlIG1lbW9yeSAoOCBieXRlcykgYXMgZnJl ZWluZyBpdCBvdXJzZWx2ZXMgaXMgbm90IHNhZmUsCj4gPiA+IGFuZCB3ZSBuZWVkIHRvIGNvb3Jk aW5hdGUgYSBwcm9wZXIgZml4IGluIHBsYXRmb3JtX2RldmljZSBpdHNlbGYuCj4gPiA+IHYzOiBV c2UgZG1hX2NvZXJjZV9tYXNrX2FuZF9jb2hlcmVudCgpIHRvIHNraXAgdGhlIGttYWxsb2MKPiA+ ID4gCj4gPiA+IEZpeGVzOiBlZWY1NzMyNGQ5MjYgKCJkcm0vaTkxNTogc2V0dXAgYnJpZGdlIGZv ciBIRE1JIExQRSBhdWRpbyBkcml2ZXIiKQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiA+ID4gQ2M6IFBpZXJyZS1Mb3VpcyBCb3Nz YXJ0IDxwaWVycmUtbG91aXMuYm9zc2FydEBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IENjOiBKZXJv bWUgQW5hbmQgPGplcm9tZS5hbmFuZEBpbnRlbC5jb20+Cj4gPiA+IENjOiBKYW5pIE5pa3VsYSA8 amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4gPiBDYzogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNl LmRlPgo+ID4gPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Cj4gPiA+IC0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHBl X2F1ZGlvLmMgfCA0ICsrLS0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHBlX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scGVf YXVkaW8uYwo+ID4gPiBpbmRleCBkOGNhMTg3YWUwMDEuLmRhY2UyZmIzMTU0ZiAxMDA2NDQKPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHBlX2F1ZGlvLmMKPiA+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHBlX2F1ZGlvLmMKPiA+ID4gQEAgLTEwOCw3 ICsxMDgsNiBAQCBscGVfYXVkaW9fcGxhdGRldl9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4gPiAgCXBpbmZvLm51bV9yZXMgPSAyOwo+ID4gPiAgCXBpbmZvLmRh dGEgPSBwZGF0YTsKPiA+ID4gIAlwaW5mby5zaXplX2RhdGEgPSBzaXplb2YoKnBkYXRhKTsKPiA+ ID4gLQlwaW5mby5kbWFfbWFzayA9IERNQV9CSVRfTUFTSygzMik7Cj4gPiA+ICAKPiA+ID4gIAlz cGluX2xvY2tfaW5pdCgmcGRhdGEtPmxwZV9hdWRpb19zbG9jayk7Cj4gPiA+ICAKPiA+ID4gQEAg LTExOSw2ICsxMTgsOCBAQCBscGVfYXVkaW9fcGxhdGRldl9jcmVhdGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAgCQlnb3RvIGVycjsKPiA+ID4gIAl9Cj4gPiA+ICAK PiA+ID4gKwlkbWFfY29lcmNlX21hc2tfYW5kX2NvaGVyZW50KCZwbGF0ZGV2LT5kZXYsIERNQV9C SVRfTUFTSygzMikpOwo+ID4gPiArCj4gPiAKPiA+IE5vdCBzdXJlIGhvdyByYWN5IHRoYXQgaXMg c2luY2Ugd2UndmUgYWxyZWFkeSByZWdpc3RlcmVkIHRoZSBwbGF0ZGV2IGF0Cj4gPiB0aGF0IHBv aW50LiBUaGUgd2hvbGUgcGxhdGZvcm1fcmVnaXN0ZXJfZnVsbCgpIEFQSSBsb29rcyBtaXNkZXNp Z25lZCB0bwo+ID4gbWUgc2luY2UgeW91IGNhbid0IGRvIHN0dWZmIGJldHdlZW4gYWxsb2MgYW5k IHJlZ2lzdGVyLgo+ID4gCj4gPiBXZSBjb3VsZCBzaG92ZWwgdGhlIGRtYV9jb2VyY2VfbWFza19h bmRfY29oZXJlbnQoKSBjYWxsIGludG8KPiA+IHBsYXRmb3JtX3JlZ2lzdGVyX2Z1bGwoKSBpdHNl bGYgSSBzdXBwb3NlLiBPciB3ZSBqdXN0IHN0b3AgdXNpbmcgdGhlCj4gPiByZWdpc3Rlcl9mdWxs KCkgc3R1ZmYgYW5kIGRvIGVhY2ggc3RlcCBvdXJzZWx2ZXMsIGJ1dCB0aGF0IGxvb2tzIGEgYml0 Cj4gPiB0ZWRpb3VzLgo+IAo+IEFncmVlZC4gIFRocm91Z2ggYSBxdWljayBnbGFuY2UsIEkgY291 bGRuJ3QgZmluZCBhbnkgY2FsbGVyIHRoYXQgdXNlcwo+IGRldl9tYXNrIGFuZCBjb2hlcmVudF9t YXNrIGluZGl2aWR1YWxseS4gIFdlIGNhbiBjbGVhbiB1cCB0aGUgd2hvbGUKPiBtZXNzIGxpa2Ug YmVsb3cuCj4gCj4gVGhlIHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9mdWxsKCkgZG9lc24ndCBu ZWNlc3NhcmlseSBzdXBwb3J0IGFsbAo+IHVzZS1jYXNlcy4gIElmIGFueW9uZSByZWFsbHkgbmVl ZHMgdGhlIHNlcGFyYXRlZCBkZXZfbWFzayBmcm9tIHRoZQo+IGNvaGVyZW50X2RtYV9tYXNrLCB0 aGV5IHNob3VsZCBkbyBtYW51YWxseS4KPiAKPiAKPiB0aGFua3MsCj4gCj4gVGFrYXNoaQo+IAo+ IC0tLQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvcGxhdGZvcm0uYyBiL2RyaXZlcnMvYmFz ZS9wbGF0Zm9ybS5jCj4gaW5kZXggYzRhZjAwMzg1NTAyLi5kN2UxNjBiMjEyYjIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9iYXNlL3BsYXRmb3JtLmMKPiArKysgYi9kcml2ZXJzL2Jhc2UvcGxhdGZv cm0uYwo+IEBAIC01MDQsMjEgKzUwNCw4IEBAIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRm b3JtX2RldmljZV9yZWdpc3Rlcl9mdWxsKAo+ICAJcGRldi0+ZGV2LnBhcmVudCA9IHBkZXZpbmZv LT5wYXJlbnQ7Cj4gIAlwZGV2LT5kZXYuZndub2RlID0gcGRldmluZm8tPmZ3bm9kZTsKPiAgCj4g LQlpZiAocGRldmluZm8tPmRtYV9tYXNrKSB7Cj4gLQkJLyoKPiAtCQkgKiBUaGlzIG1lbW9yeSBp c24ndCBmcmVlZCB3aGVuIHRoZSBkZXZpY2UgaXMgcHV0LAo+IC0JCSAqIEkgZG9uJ3QgaGF2ZSBh IG5pY2UgaWRlYSBmb3IgdGhhdCB0aG91Z2guICBDb25jZXB0dWFsbHkKPiAtCQkgKiBkbWFfbWFz ayBpbiBzdHJ1Y3QgZGV2aWNlIHNob3VsZCBub3QgYmUgYSBwb2ludGVyLgo+IC0JCSAqIFNlZSBo dHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5saW51eC5rZXJuZWwucGNpLzkwODEKPiAtCQkg Ki8KPiAtCQlwZGV2LT5kZXYuZG1hX21hc2sgPQo+IC0JCQlrbWFsbG9jKHNpemVvZigqcGRldi0+ ZGV2LmRtYV9tYXNrKSwgR0ZQX0tFUk5FTCk7Cj4gLQkJaWYgKCFwZGV2LT5kZXYuZG1hX21hc2sp Cj4gLQkJCWdvdG8gZXJyOwo+IC0KPiAtCQkqcGRldi0+ZGV2LmRtYV9tYXNrID0gcGRldmluZm8t PmRtYV9tYXNrOwo+IC0JCXBkZXYtPmRldi5jb2hlcmVudF9kbWFfbWFzayA9IHBkZXZpbmZvLT5k bWFfbWFzazsKPiAtCX0KPiArCWlmIChwZGV2aW5mby0+ZG1hX21hc2spCj4gKwkJZG1hX2NvZXJj ZV9tYXNrX2FuZF9jb2hlcmVudCgmcGRldi0+ZGV2LCBwZGV2aW5mby0+ZG1hX21hc2spOwoKQSBm dXJ0aGVyIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBzaG91bGQgYWN0dWFsbHkgY2hlY2sgZm9y IHRoZSBlcnJvcgphbmQgcHJvcGFnYXRlIGl0IHRvIHRoZSBjYWxsZXIuIFRoZSBvbGQgY29kZSBz aWxlbnRseSBhc3N1bWVkIHRoZSBETUEKbWFzayB3YXMgYWNjZXB0YWJsZSwgYnV0IHRoZSBuZXcg Y29kZSB3aWxsIGFjdHVhbGx5IGNoZWNrIGZvciB0aGF0LgoKPiAgCj4gIAlyZXQgPSBwbGF0Zm9y bV9kZXZpY2VfYWRkX3Jlc291cmNlcyhwZGV2LAo+ICAJCQlwZGV2aW5mby0+cmVzLCBwZGV2aW5m by0+bnVtX3Jlcyk7Cj4gQEAgLTU0MSw3ICs1MjgsNiBAQCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZnVsbCgKPiAgCWlmIChyZXQpIHsKPiAgZXJyOgo+ ICAJCUFDUElfQ09NUEFOSU9OX1NFVCgmcGRldi0+ZGV2LCBOVUxMKTsKClVucmVsYXRlZCwgYnV0 IEkgYWxzbyBoYXZlIHRvIHdvbmRlciB3aGF0IHRoaXMgZ3V5cyBpcyBkb2luZyBoZXJlLgpTb21l IGtpbmQgb2YgbWlzcGxhY2VkIHRoaW5nLCBvciBhIGxheWVyaW5nIHZpb2xhdGlvbiBtZXRoaW5r cy4KVGhlIGNvZGUgbmV2ZXIgaXRzZWxmIHNldCB0aGlzIHNvIEkgZG9uJ3Qgc2VlIHdoeSBpdCB3 b3VsZCBoYXZlCnRvIGNsZWFyIGl0IGVpdGhlci4KCj4gLQkJa2ZyZWUocGRldi0+ZGV2LmRtYV9t YXNrKTsKPiAgCj4gIGVycl9hbGxvYzoKPiAgCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KHBkZXYpOwoK LS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==