From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [patch 1/4] drm/amdgpu: unwind properly in amdgpu_cs_parser_init() Date: Wed, 23 Sep 2015 16:16:50 +0200 Message-ID: <5602B452.5060804@amd.com> References: <20150923105928.GA16158@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0098.outbound.protection.outlook.com [207.46.100.98]) by gabe.freedesktop.org (Postfix) with ESMTPS id 915F16EDAE for ; Wed, 23 Sep 2015 07:50:49 -0700 (PDT) In-Reply-To: <20150923105928.GA16158@mwanda> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Dan Carpenter , David Airlie , Ilja Van Sprundel Cc: security@kernel.org, =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= , dri-devel@lists.freedesktop.org, Alex Deucher , "monk.liu" List-Id: dri-devel@lists.freedesktop.org T24gMjMuMDkuMjAxNSAxMjo1OSwgRGFuIENhcnBlbnRlciB3cm90ZToKPiBUaGUgYW1kZ3B1X2Nz X3BhcnNlcl9pbml0KCkgZnVuY3Rpb24gZG9lc24ndCBjbGVhbiB1cCBhZnRlciBpdHNlbGYgYnV0 Cj4gaW5zdGVhZCB0aGUgY2FsbGVyIHVzZXMgYSBmcmVlIGV2ZXJ5dGhpbmcgZnVuY3Rpb24gYW1k Z3B1X2NzX3BhcnNlcl9maW5pKCkKPiBvbiBmYWlsdXJlLiAgVGhpcyBzdHlsZSBvZiBlcnJvciBo YW5kbGluZyBpcyBvZnRlbiBidWdneS4gIEluIHRoaXMKPiBleGFtcGxlLCB3ZSBjYWxsICJkcm1f ZnJlZV9sYXJnZShwYXJzZXItPmNodW5rc1tpXS5rZGF0YSk7IiB3aGVuIGl0IGlzCj4gYW4gdW5p bnRpYWxpemVkIHBvaW50ZXIgb3Igd2hlbiAicGFyc2VyLT5jaHVua3MiIGlzIE5VTEwuCj4KPiBJ IGZpeGVkIHRoaXMgYnVnIGJ5IGFkZGluZyB1bndpbmQgY29kZSBzbyB0aGF0IGl0IGZyZWVzIGV2 ZXJ5dGhpbmcgdGhhdAo+IGl0IGFsbG9jYXRlcy4KPgo+IEkgYWxzbyBtb2RlIHNvbWUgb3RoZXIg dmVyeSBtaW5vciBjaGFuZ2VzOgo+IDEpIFJlbmFtZWQgInIiIHRvICJyZXQiLgo+IDIpIE1vdmVk IHRoZSBjaHVua19hcnJheSBhbGxvY2F0aW9uIHRvIHRoZSBzdGFydCBvZiB0aGUgZnVuY3Rpb24u Cj4gMykgUmVtb3ZlZCBzb21lIGluaXRpYWxpemVycyB3aGljaCBhcmUgbm8gbG9uZ2VyIG5lZWRl ZC4KPgo+IFJlcG9ydGVkLWJ5OiBJbGphIFZhbiBTcHJ1bmRlbCA8aXZhbnNwcnVuZGVsQGlvYWN0 aXZlLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9y YWNsZS5jb20+CgpUaGUgd2hvbGUgc2V0IGxvb2tzIHNhbmUgdG8gbWUsIHBhdGNoZXMgYXJlIFJl dmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIAo8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoK UmVnYXJkcywKQ2hyaXN0aWFuLgoKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j cy5jCj4gaW5kZXggM2IzNTVhZS4uYWJiMjU3ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9jcy5jCj4gQEAgLTE1NCw0MiArMTU0LDQxIEBAIGludCBhbWRncHVfY3NfcGFy c2VyX2luaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsIHZvaWQgKmRhdGEpCj4gICB7Cj4g ICAJdW5pb24gZHJtX2FtZGdwdV9jcyAqY3MgPSBkYXRhOwo+ICAgCXVpbnQ2NF90ICpjaHVua19h cnJheV91c2VyOwo+IC0JdWludDY0X3QgKmNodW5rX2FycmF5ID0gTlVMTDsKPiArCXVpbnQ2NF90 ICpjaHVua19hcnJheTsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2Zwcml2ICpmcHJpdiA9IHAtPmZpbHAt PmRyaXZlcl9wcml2Owo+ICAgCXVuc2lnbmVkIHNpemUsIGk7Cj4gLQlpbnQgciA9IDA7Cj4gKwlp bnQgcmV0Owo+ICAgCj4gLQlpZiAoIWNzLT5pbi5udW1fY2h1bmtzKQo+IC0JCWdvdG8gb3V0Owo+ ICsJaWYgKGNzLT5pbi5udW1fY2h1bmtzID09IDApCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJY2h1 bmtfYXJyYXkgPSBrbWFsbG9jX2FycmF5KGNzLT5pbi5udW1fY2h1bmtzLCBzaXplb2YodWludDY0 X3QpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghY2h1bmtfYXJyYXkpCj4gKwkJcmV0dXJuIC1FTk9N RU07Cj4gICAKPiAgIAlwLT5jdHggPSBhbWRncHVfY3R4X2dldChmcHJpdiwgY3MtPmluLmN0eF9p ZCk7Cj4gICAJaWYgKCFwLT5jdHgpIHsKPiAtCQlyID0gLUVJTlZBTDsKPiAtCQlnb3RvIG91dDsK PiArCQlyZXQgPSAtRUlOVkFMOwo+ICsJCWdvdG8gZnJlZV9jaHVuazsKPiAgIAl9Cj4gKwo+ICAg CXAtPmJvX2xpc3QgPSBhbWRncHVfYm9fbGlzdF9nZXQoZnByaXYsIGNzLT5pbi5ib19saXN0X2hh bmRsZSk7Cj4gICAKPiAgIAkvKiBnZXQgY2h1bmtzICovCj4gICAJSU5JVF9MSVNUX0hFQUQoJnAt PnZhbGlkYXRlZCk7Cj4gLQljaHVua19hcnJheSA9IGttYWxsb2NfYXJyYXkoY3MtPmluLm51bV9j aHVua3MsIHNpemVvZih1aW50NjRfdCksIEdGUF9LRVJORUwpOwo+IC0JaWYgKGNodW5rX2FycmF5 ID09IE5VTEwpIHsKPiAtCQlyID0gLUVOT01FTTsKPiAtCQlnb3RvIG91dDsKPiAtCX0KPiAtCj4g ICAJY2h1bmtfYXJyYXlfdXNlciA9ICh1aW50NjRfdCBfX3VzZXIgKikoY3MtPmluLmNodW5rcyk7 Cj4gICAJaWYgKGNvcHlfZnJvbV91c2VyKGNodW5rX2FycmF5LCBjaHVua19hcnJheV91c2VyLAo+ ICAgCQkJICAgc2l6ZW9mKHVpbnQ2NF90KSpjcy0+aW4ubnVtX2NodW5rcykpIHsKPiAtCQlyID0g LUVGQVVMVDsKPiAtCQlnb3RvIG91dDsKPiArCQlyZXQgPSAtRUZBVUxUOwo+ICsJCWdvdG8gcHV0 X2JvX2xpc3Q7Cj4gICAJfQo+ICAgCj4gICAJcC0+bmNodW5rcyA9IGNzLT5pbi5udW1fY2h1bmtz Owo+ICAgCXAtPmNodW5rcyA9IGttYWxsb2NfYXJyYXkocC0+bmNodW5rcywgc2l6ZW9mKHN0cnVj dCBhbWRncHVfY3NfY2h1bmspLAo+ICAgCQkJICAgIEdGUF9LRVJORUwpOwo+IC0JaWYgKHAtPmNo dW5rcyA9PSBOVUxMKSB7Cj4gLQkJciA9IC1FTk9NRU07Cj4gLQkJZ290byBvdXQ7Cj4gKwlpZiAo IXAtPmNodW5rcykgewo+ICsJCXJldCA9IC1FTk9NRU07Cj4gKwkJZ290byBwdXRfYm9fbGlzdDsK PiAgIAl9Cj4gICAKPiAgIAlmb3IgKGkgPSAwOyBpIDwgcC0+bmNodW5rczsgaSsrKSB7Cj4gQEAg LTIwMCw4ICsxOTksOSBAQCBpbnQgYW1kZ3B1X2NzX3BhcnNlcl9pbml0KHN0cnVjdCBhbWRncHVf Y3NfcGFyc2VyICpwLCB2b2lkICpkYXRhKQo+ICAgCQljaHVua19wdHIgPSAodm9pZCBfX3VzZXIg KiljaHVua19hcnJheVtpXTsKPiAgIAkJaWYgKGNvcHlfZnJvbV91c2VyKCZ1c2VyX2NodW5rLCBj aHVua19wdHIsCj4gICAJCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVu aykpKSB7Cj4gLQkJCXIgPSAtRUZBVUxUOwo+IC0JCQlnb3RvIG91dDsKPiArCQkJcmV0ID0gLUVG QVVMVDsKPiArCQkJaS0tOwo+ICsJCQlnb3RvIGZyZWVfcGFydGlhbF9rZGF0YTsKPiAgIAkJfQo+ ICAgCQlwLT5jaHVua3NbaV0uY2h1bmtfaWQgPSB1c2VyX2NodW5rLmNodW5rX2lkOwo+ICAgCQlw LT5jaHVua3NbaV0ubGVuZ3RoX2R3ID0gdXNlcl9jaHVuay5sZW5ndGhfZHc7Cj4gQEAgLTIxMiwx MyArMjEyLDE0IEBAIGludCBhbWRncHVfY3NfcGFyc2VyX2luaXQoc3RydWN0IGFtZGdwdV9jc19w YXJzZXIgKnAsIHZvaWQgKmRhdGEpCj4gICAKPiAgIAkJcC0+Y2h1bmtzW2ldLmtkYXRhID0gZHJt X21hbGxvY19hYihzaXplLCBzaXplb2YodWludDMyX3QpKTsKPiAgIAkJaWYgKHAtPmNodW5rc1tp XS5rZGF0YSA9PSBOVUxMKSB7Cj4gLQkJCXIgPSAtRU5PTUVNOwo+IC0JCQlnb3RvIG91dDsKPiAr CQkJcmV0ID0gLUVOT01FTTsKPiArCQkJaS0tOwo+ICsJCQlnb3RvIGZyZWVfcGFydGlhbF9rZGF0 YTsKPiAgIAkJfQo+ICAgCQlzaXplICo9IHNpemVvZih1aW50MzJfdCk7Cj4gICAJCWlmIChjb3B5 X2Zyb21fdXNlcihwLT5jaHVua3NbaV0ua2RhdGEsIGNkYXRhLCBzaXplKSkgewo+IC0JCQlyID0g LUVGQVVMVDsKPiAtCQkJZ290byBvdXQ7Cj4gKwkJCXJldCA9IC1FRkFVTFQ7Cj4gKwkJCWdvdG8g ZnJlZV9wYXJ0aWFsX2tkYXRhOwo+ICAgCQl9Cj4gICAKPiAgIAkJc3dpdGNoIChwLT5jaHVua3Nb aV0uY2h1bmtfaWQpIHsKPiBAQCAtMjM4LDE1ICsyMzksMTUgQEAgaW50IGFtZGdwdV9jc19wYXJz ZXJfaW5pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwgdm9pZCAqZGF0YSkKPiAgIAkJCQln b2JqID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKHAtPmFkZXYtPmRkZXYsCj4gICAJCQkJCQkJICAg ICBwLT5maWxwLCBoYW5kbGUpOwo+ICAgCQkJCWlmIChnb2JqID09IE5VTEwpIHsKPiAtCQkJCQly ID0gLUVJTlZBTDsKPiAtCQkJCQlnb3RvIG91dDsKPiArCQkJCQlyZXQgPSAtRUlOVkFMOwo+ICsJ CQkJCWdvdG8gZnJlZV9wYXJ0aWFsX2tkYXRhOwo+ICAgCQkJCX0KPiAgIAo+ICAgCQkJCXAtPnVm LmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhnb2JqKTsKPiAgIAkJCQlwLT51Zi5vZmZzZXQgPSBmZW5j ZV9kYXRhLT5vZmZzZXQ7Cj4gICAJCQl9IGVsc2Ugewo+IC0JCQkJciA9IC1FSU5WQUw7Cj4gLQkJ CQlnb3RvIG91dDsKPiArCQkJCXJldCA9IC1FSU5WQUw7Cj4gKwkJCQlnb3RvIGZyZWVfcGFydGlh bF9rZGF0YTsKPiAgIAkJCX0KPiAgIAkJCWJyZWFrOwo+ICAgCj4gQEAgLTI1NCwxOSArMjU1LDM1 IEBAIGludCBhbWRncHVfY3NfcGFyc2VyX2luaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAs IHZvaWQgKmRhdGEpCj4gICAJCQlicmVhazsKPiAgIAo+ICAgCQlkZWZhdWx0Ogo+IC0JCQlyID0g LUVJTlZBTDsKPiAtCQkJZ290byBvdXQ7Cj4gKwkJCXJldCA9IC1FSU5WQUw7Cj4gKwkJCWdvdG8g ZnJlZV9wYXJ0aWFsX2tkYXRhOwo+ICAgCQl9Cj4gICAJfQo+ICAgCj4gICAKPiAgIAlwLT5pYnMg PSBrY2FsbG9jKHAtPm51bV9pYnMsIHNpemVvZihzdHJ1Y3QgYW1kZ3B1X2liKSwgR0ZQX0tFUk5F TCk7Cj4gLQlpZiAoIXAtPmlicykKPiAtCQlyID0gLUVOT01FTTsKPiArCWlmICghcC0+aWJzKSB7 Cj4gKwkJcmV0ID0gLUVOT01FTTsKPiArCQlnb3RvIGZyZWVfYWxsX2tkYXRhOwo+ICsJfQo+ICAg Cj4gLW91dDoKPiAgIAlrZnJlZShjaHVua19hcnJheSk7Cj4gLQlyZXR1cm4gcjsKPiArCXJldHVy biAwOwo+ICsKPiArZnJlZV9hbGxfa2RhdGE6Cj4gKwlpID0gcC0+bmNodW5rcyAtIDE7Cj4gK2Zy ZWVfcGFydGlhbF9rZGF0YToKPiArCWZvciAoOyBpID49IDA7IGktLSkKPiArCQlkcm1fZnJlZV9s YXJnZShwLT5jaHVua3NbaV0ua2RhdGEpOwo+ICsJa2ZyZWUocC0+Y2h1bmtzKTsKPiArcHV0X2Jv X2xpc3Q6Cj4gKwlpZiAocC0+Ym9fbGlzdCkKPiArCQlhbWRncHVfYm9fbGlzdF9wdXQocC0+Ym9f bGlzdCk7Cj4gKwlhbWRncHVfY3R4X3B1dChwLT5jdHgpOwo+ICtmcmVlX2NodW5rOgo+ICsJa2Zy ZWUoY2h1bmtfYXJyYXkpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiAgIC8qIFJl dHVybnMgaG93IG1hbnkgYnl0ZXMgVFRNIGNhbiBtb3ZlIHBlciBJQi4KPiBAQCAtODA0LDcgKzgy MSw3IEBAIGludCBhbWRncHVfY3NfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxwKQo+ICAgCXIgPSBhbWRncHVfY3NfcGFyc2VyX2lu aXQocGFyc2VyLCBkYXRhKTsKPiAgIAlpZiAocikgewo+ICAgCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBpbml0aWFsaXplIHBhcnNlciAhXG4iKTsKPiAtCQlhbWRncHVfY3NfcGFyc2VyX2ZpbmkocGFy c2VyLCByLCBmYWxzZSk7Cj4gKwkJa2ZyZWUocGFyc2VyKTsKPiAgIAkJdXBfcmVhZCgmYWRldi0+ ZXhjbHVzaXZlX2xvY2spOwo+ICAgCQlyID0gYW1kZ3B1X2NzX2hhbmRsZV9sb2NrdXAoYWRldiwg cik7Cj4gICAJCXJldHVybiByOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK