From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH V2] drm/tegra: Fix crash caused by reference count imbalance Date: Wed, 18 May 2016 14:17:09 +0200 Message-ID: <20160518121709.GF27098@phenom.ffwll.local> References: <1463569889-14632-1-git-send-email-jonathanh@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1463569889-14632-1-git-send-email-jonathanh@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jon Hunter Cc: Alexandre Courbot , Stephen Warren , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org List-Id: linux-tegra@vger.kernel.org T24gV2VkLCBNYXkgMTgsIDIwMTYgYXQgMTI6MTE6MjlQTSArMDEwMCwgSm9uIEh1bnRlciB3cm90 ZToKPiBDb21taXQgZDIzMDdkZWExNGE0ICgiZHJtL2F0b21pYzogdXNlIGNvbm5lY3RvciByZWZl cmVuY2VzICh2MykiKSBhZGRlZAo+IHJlZmVyZW5jZSBjb3VudGluZyBmb3IgRFJNIGNvbm5lY3Rv cnMgYW5kIHRoaXMgY2F1c2VkIGEgY3Jhc2ggd2hlbgo+IGV4ZXJjaXNpbmcgc3lzdGVtIHN1c3Bl bmQgb24gVGVncmExMTQgRGFsbW9yZS4KPiAKPiBUaGUgVGVncmEgRFNJIGRyaXZlciBpbXBsZW1l bnRzIGEgVGVncmEgc3BlY2lmaWMgZnVuY3Rpb24sCj4gdGVncmFfZHNpX2Nvbm5lY3Rvcl9kdXBs aWNhdGVfc3RhdGUoKSwgdG8gZHVwbGljYXRlIHRoZSBjb25uZWN0b3Igc3RhdGUKPiBhbmQgZGVz dHJveXMgdGhlIHN0YXRlIHVzaW5nIHRoZSBnZW5lcmljIGhlbHBlciBmdW5jdGlvbiwKPiBkcm1f YXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSgpLiBGb2xsb3dpbmcgY29tbWl0 Cj4gZDIzMDdkZWExNGE0ICgiZHJtL2F0b21pYzogdXNlIGNvbm5lY3RvciByZWZlcmVuY2VzICh2 MykiKSB0aGVyZSBpcwo+IG5vdyBhbiBpbWJhbGFuY2UgaW4gdGhlIGNvbm5lY3RvciByZWZlcmVu Y2UgY291bnQgYmVjYXVzZSB0aGUgVGVncmEKPiBmdW5jdGlvbiB0byBkdXBsaWNhdGUgc3RhdGUg ZG9lcyBub3QgdGFrZSBhIHJlZmVyZW5jZSB3aGVuIGR1cGxpY2F0aW5nCj4gdGhlIHN0YXRlIGlu Zm9ybWF0aW9uLiBIb3dldmVyLCB0aGUgZ2VuZXJpYyBoZWxwZXIgZnVuY3Rpb24gdG8gZGVzdHJv eQo+IHRoZSBzdGF0ZSBpbmZvcm1hdGlvbiBhc3N1bWVzIGEgcmVmZXJlbmNlIGhhcyBiZWVuIHRh a2VuIGFuZCBkdXJpbmcKPiBzeXN0ZW0gc3VzcGVuZCwgd2hlbiB0aGUgY29ubmVjdG9yIHN0YXRl IGlzIGRlc3Ryb3llZCwgdGhpcyBsZWFkcyB0byBhCj4gY3Jhc2ggYmVjYXVzZSB3ZSBhdHRlbXB0 IHRvIHB1dCB0aGUgcmVmZXJlbmNlIGZvciBhbiBvYmplY3QgdGhhdCBoYXMKPiBhbHJlYWR5IGJl ZW4gZnJlZWQuCj4gCj4gRml4IHRoaXMgYnkgY2FsbGluZyBfX2RybV9hdG9taWNfaGVscGVyX2Nv bm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoKSBmcm9tCj4gdGVncmFfZHNpX2Nvbm5lY3Rvcl9kdXBs aWNhdGVfc3RhdGUoKSB0byBlbnN1cmUgdGhhdCB3ZSB0YWtlIGEgcmVmZXJlbmNlCj4gb24gYSBj b25uZWN0b3IgaWYgY3J0YyBpcyBzZXQuIE5vdGUgdGhhdCB0aGlzIHdpbGwgYWxzbyBjb3B5IHRo ZQo+IGNvbm5lY3RvciBzdGF0ZSBhIDJuZCB0aW1lLCBidXQgdGhpcyBzaG91bGQgYmUgaGFybWxl c3MuCj4gCj4gQnkgZml4aW5nIHRlZ3JhX2RzaV9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKCkg dG8gdGFrZSBhIHJlZmVyZW5jZSwKPiBhbHRob3VnaCBhIGNyYXNoIHdhcyBubyBsb25nZXIgc2Vl biwgaXQgd2FzIHRoZW4gb2JzZXJ2ZWQgdGhhdCBhZnRlcgo+IGVhY2ggc3lzdGVtIHN1c3BlbmQt cmVzdW1lIGN5Y2xlLCB0aGUgcmVmZXJlbmNlIHdvdWxkIGJlIG9uZSBncmVhdGVyCj4gdGhhbiBi ZWZvcmUgdGhlIHN1c3BlbmQtcmVzdW1lIGN5Y2xlLiBGb2xsb3dpbmcgY29tbWl0IGQyMzA3ZGVh MTRhNAo+ICgiZHJtL2F0b21pYzogdXNlIGNvbm5lY3RvciByZWZlcmVuY2VzICh2MykiKSwgaXQg d2FzIGZvdW5kIHRoYXQgd2UKPiBhbHNvIG5lZWQgdG8gcHV0IHRoZSByZWZlcmVuY2Ugd2hlbiBj YWxsaW5nIHRoZSBmdW5jdGlvbgo+IHRlZ3JhX2RzaV9jb25uZWN0b3JfcmVzZXQoKSBiZWZvcmUg ZnJlZWluZyB0aGUgc3RhdGUuIEZpeCB0aGlzIGJ5Cj4gdXBkYXRpbmcgdGVncmFfZHNpX2Nvbm5l Y3Rvcl9yZXNldCgpIHRvIGNhbGwgdGhlIGZ1bmN0aW9uCj4gX19kcm1fYXRvbWljX2hlbHBlcl9j b25uZWN0b3JfZGVzdHJveV9zdGF0ZSgpIGluIG9yZGVyIHRvIHB1dCB0aGUKPiByZWZlcmVuY2Ug Zm9yIHRoZSBjb25uZWN0b3IuCj4gCj4gRmluYWxseSwgYWRkIGEgd2FybmluZyBpZiBhbGxvY2F0 aW5nIG1lbW9yeSBmb3IgdGhlIHN0YXRlIGluZm9ybWF0aW9uCj4gZmFpbHMgaW4gdGVncmFfZHNp X2Nvbm5lY3Rvcl9yZXNldCgpLgo+IAo+IEZpeGVzOiBkMjMwN2RlYTE0YTQgKCJkcm0vYXRvbWlj OiB1c2UgY29ubmVjdG9yIHJlZmVyZW5jZXMgKHYzKSIpCj4gCj4gU2lnbmVkLW9mZi1ieTogSm9u IEh1bnRlciA8am9uYXRoYW5oQG52aWRpYS5jb20+CgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KClRoaWVycnksIHNpbmNlIERhdmUgaGFzbid0IHB1 bGxlZCBpbiB0aGUgZHJtLW1pc2MgcHVsbCB3aXRoIHRoZQpyZWZhY3RvcmluZywgc2hvdWxkIEkg YXBwbHkgdGhpcyB0byBkcm0tbWlzYz8KLURhbmllbAoKCj4gLS0tCj4gCj4gVjIgY2hhbmdlczoK PiAtIFVwZGF0ZWQgdG8gbmV4dC0yMDE2MDUxOAo+IC0gUmVwbGFjZWQgb3BlbiBjb2Rpbmcgb2Yg Y2FsbCB0byBkcm1fY29ubmVjdG9yX3JlZmVyZW5jZSgpIHdpdGgKPiAgIF9fZHJtX2F0b21pY19o ZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSgpIHBlciBEYW5pZWwncyBmZWVkYmFjay4K PiAKPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jIHwgMTUgKysrKysrKysrKystLS0tCj4g IDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0v dGVncmEvZHNpLmMKPiBpbmRleCA0NGUxMDI3OTkxOTUuLmE0OWJiMDA2MTgyZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v dGVncmEvZHNpLmMKPiBAQCAtNzQ1LDEzICs3NDUsMTcgQEAgc3RhdGljIHZvaWQgdGVncmFfZHNp X3NvZnRfcmVzZXQoc3RydWN0IHRlZ3JhX2RzaSAqZHNpKQo+ICAKPiAgc3RhdGljIHZvaWQgdGVn cmFfZHNpX2Nvbm5lY3Rvcl9yZXNldChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ ICB7Cj4gLQlzdHJ1Y3QgdGVncmFfZHNpX3N0YXRlICpzdGF0ZSA9Cj4gLQkJa3phbGxvYyhzaXpl b2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwlzdHJ1Y3QgdGVncmFfZHNpX3N0YXRlICpzdGF0 ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+ICAKPiAtCWlmIChzdGF0 ZSkgewo+ICsJaWYgKFdBUk5fT04oIXN0YXRlKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKGNv bm5lY3Rvci0+c3RhdGUpIHsKPiArCQlfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0 cm95X3N0YXRlKGNvbm5lY3Rvci0+c3RhdGUpOwo+ICAJCWtmcmVlKGNvbm5lY3Rvci0+c3RhdGUp Owo+IC0JCV9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX3Jlc2V0KGNvbm5lY3RvciwgJnN0 YXRlLT5iYXNlKTsKPiAgCX0KPiArCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9y ZXNldChjb25uZWN0b3IsICZzdGF0ZS0+YmFzZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqCj4gQEAgLTc2NCw2ICs3NjgsOSBAQCB0ZWdyYV9kc2lfY29u bmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ ICAJaWYgKCFjb3B5KQo+ICAJCXJldHVybiBOVUxMOwo+ICAKPiArCV9fZHJtX2F0b21pY19oZWxw ZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShjb25uZWN0b3IsCj4gKwkJCQkJCSAgICAgICZj b3B5LT5iYXNlKTsKPiArCj4gIAlyZXR1cm4gJmNvcHktPmJhc2U7Cj4gIH0KPiAgCj4gLS0gCj4g Mi4xLjQKPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jw b3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK