From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Hunter Subject: [PATCH] drm/tegra: Fix crash caused by reference count imbalance Date: Tue, 17 May 2016 17:27:15 +0100 Message-ID: <1463502435-29217-1-git-send-email-jonathanh@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , David Airlie , Stephen Warren , Alexandre Courbot Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jon Hunter List-Id: linux-tegra@vger.kernel.org Q29tbWl0IGQyMzA3ZGVhMTRhNCAoImRybS9hdG9taWM6IHVzZSBjb25uZWN0b3IgcmVmZXJlbmNl cyAodjMpIikgYWRkZWQKcmVmZXJlbmNlIGNvdW50aW5nIGZvciBEUk0gY29ubmVjdG9ycyBhbmQg dGhpcyBjYXVzZWQgYSBjcmFzaCB3aGVuCmV4ZXJjaXNpbmcgc3lzdGVtIHN1c3BlbmQgb24gVGVn cmExMTQgRGFsbW9yZS4KClRoZSBUZWdyYSBEU0kgZHJpdmVyIGltcGxlbWVudHMgYSBUZWdyYSBz cGVjaWZpYyBmdW5jdGlvbiwKdGVncmFfZHNpX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoKSwg dG8gZHVwbGljYXRlIHRoZSBjb25uZWN0b3Igc3RhdGUKYW5kIGRlc3Ryb3lzIHRoZSBzdGF0ZSB1 c2luZyB0aGUgZ2VuZXJpYyBoZWxwZXIgZnVuY3Rpb24sCmRybV9hdG9taWNfaGVscGVyX2Nvbm5l Y3Rvcl9kZXN0cm95X3N0YXRlKCkuIEZvbGxvd2luZyBjb21taXQKZDIzMDdkZWExNGE0ICgiZHJt L2F0b21pYzogdXNlIGNvbm5lY3RvciByZWZlcmVuY2VzICh2MykiKSB0aGVyZSBpcwpub3cgYW4g aW1iYWxhbmNlIGluIHRoZSBjb25uZWN0b3IgcmVmZXJlbmNlIGNvdW50IGJlY2F1c2UgdGhlIFRl Z3JhCmZ1bmN0aW9uIHRvIGR1cGxpY2F0ZSBzdGF0ZSBkb2VzIG5vdCB0YWtlIGEgcmVmZXJlbmNl IHdoZW4gZHVwbGljYXRpbmcKdGhlIHN0YXRlIGluZm9ybWF0aW9uLiBIb3dldmVyLCB0aGUgZ2Vu ZXJpYyBoZWxwZXIgZnVuY3Rpb24gdG8gZGVzdHJveQp0aGUgc3RhdGUgaW5mb3JtYXRpb24gYXNz dW1lcyBhIHJlZmVyZW5jZSBoYXMgYmVlbiB0YWtlbiBhbmQgZHVyaW5nCnN5c3RlbSBzdXNwZW5k LCB3aGVuIHRoZSBjb25uZWN0b3Igc3RhdGUgaXMgZGVzdHJveWVkLCB0aGlzIGxlYWRzIHRvIGEK Y3Jhc2ggYmVjYXVzZSB3ZSBhdHRlbXB0IHRvIHB1dCB0aGUgcmVmZXJlbmNlIGZvciBhbiBvYmpl Y3QgdGhhdCBoYXMKYWxyZWFkeSBiZWVuIGZyZWVkLgoKRml4IHRoaXMgYnkgYWxpZ25pbmcgdGVn cmFfZHNpX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoKSB3aXRoIGNvbW1pdApkMjMwN2RlYTE0 YTQgKCJkcm0vYXRvbWljOiB1c2UgY29ubmVjdG9yIHJlZmVyZW5jZXMgKHYzKSIpLCBzbyB0aGF0 IHdlCnRha2UgYSByZWZlcmVuY2Ugb24gYSBjb25uZWN0b3IgaWYgY3J0YyBpcyBzZXQuCgpCeSBm aXhpbmcgdGVncmFfZHNpX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoKSB0byB0YWtlIGEgcmVm ZXJlbmNlLAphbHRob3VnaCBhIGNyYXNoIHdhcyBubyBsb25nZXIgc2VlbiwgaXQgd2FzIHRoZW4g b2JzZXJ2ZWQgdGhhdCBhZnRlcgplYWNoIHN5c3RlbSBzdXNwZW5kLXJlc3VtZSBjeWNsZSwgdGhl IHJlZmVyZW5jZSB3b3VsZCBiZSBvbmUgZ3JlYXRlcgp0aGFuIGJlZm9yZSB0aGUgc3VzcGVuZC1y ZXN1bWUgY3ljbGUuIEZvbGxvd2luZyBjb21taXQgZDIzMDdkZWExNGE0CigiZHJtL2F0b21pYzog dXNlIGNvbm5lY3RvciByZWZlcmVuY2VzICh2MykiKSwgaXQgd2FzIGZvdW5kIHRoYXQgd2UKYWxz byBuZWVkIHRvIHB1dCB0aGUgcmVmZXJlbmNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb24KdGVn cmFfZHNpX2Nvbm5lY3Rvcl9yZXNldCgpIGJlZm9yZSBmcmVlaW5nIHRoZSBzdGF0ZS4gRml4IHRo aXMgYnkKdXBkYXRpbmcgdGVncmFfZHNpX2Nvbm5lY3Rvcl9yZXNldCgpIHRvIGNhbGwgdGhlIGZ1 bmN0aW9uCl9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUoKSBpbiBv cmRlciB0byBwdXQgdGhlCnJlZmVyZW5jZSBmb3IgdGhlIGNvbm5lY3Rvci4KCkZpbmFsbHksIGFk ZCBhIHdhcm5pbmcgaWYgYWxsb2NhdGluZyBtZW1vcnkgZm9yIHRoZSBzdGF0ZSBpbmZvcm1hdGlv bgpmYWlscyBpbiB0ZWdyYV9kc2lfY29ubmVjdG9yX3Jlc2V0KCkuCgpGaXhlczogZDIzMDdkZWEx NGE0ICgiZHJtL2F0b21pYzogdXNlIGNvbm5lY3RvciByZWZlcmVuY2VzICh2MykiKQoKU2lnbmVk LW9mZi1ieTogSm9uIEh1bnRlciA8am9uYXRoYW5oQG52aWRpYS5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL3RlZ3JhL2RzaS5jIHwgMTYgKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDEyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3RlZ3JhL2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCmluZGV4IDQ0 ZTEwMjc5OTE5NS4uNjhhYWE0YzMzY2Q4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVn cmEvZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCkBAIC03NDUsMTMgKzc0 NSwxOCBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9kc2lfc29mdF9yZXNldChzdHJ1Y3QgdGVncmFfZHNp ICpkc2kpCiAKIHN0YXRpYyB2b2lkIHRlZ3JhX2RzaV9jb25uZWN0b3JfcmVzZXQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKLQlzdHJ1Y3QgdGVncmFfZHNpX3N0YXRlICpzdGF0 ZSA9Ci0JCWt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOworCXN0cnVjdCB0ZWdy YV9kc2lfc3RhdGUgKnN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7 CiAKLQlpZiAoc3RhdGUpIHsKKwlpZiAoV0FSTl9PTighc3RhdGUpKQorCQlyZXR1cm47CisKKwlp ZiAoY29ubmVjdG9yLT5zdGF0ZSkgeworCQlfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9k ZXN0cm95X3N0YXRlKGNvbm5lY3RvciwKKwkJCQkJCQkgICAgY29ubmVjdG9yLT5zdGF0ZSk7CiAJ CWtmcmVlKGNvbm5lY3Rvci0+c3RhdGUpOwotCQlfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rv cl9yZXNldChjb25uZWN0b3IsICZzdGF0ZS0+YmFzZSk7CiAJfQorCisJX19kcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfcmVzZXQoY29ubmVjdG9yLCAmc3RhdGUtPmJhc2UpOwogfQogCiBzdGF0 aWMgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKgpAQCAtNzY0LDYgKzc2OSw5IEBAIHRlZ3Jh X2RzaV9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJaWYgKCFjb3B5KQogCQlyZXR1cm4gTlVMTDsKIAorCWlmIChjb3B5LT5iYXNlLmNy dGMpCisJCWRybV9jb25uZWN0b3JfcmVmZXJlbmNlKGNvbm5lY3Rvcik7CisKIAlyZXR1cm4gJmNv cHktPmJhc2U7CiB9CiAKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK