From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: Add checks for NULL drm_*_helper_funcs Date: Tue, 29 May 2018 10:03:53 +0200 Message-ID: <20180529080353.GC3438@phenom.ffwll.local> References: <20180525022008.GA29417@haneen-vb> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F99789DF7 for ; Tue, 29 May 2018 08:03:57 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id v131-v6so18704779wma.1 for ; Tue, 29 May 2018 01:03:56 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180525022008.GA29417@haneen-vb> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Haneen Mohammed Cc: rodrigosiqueiramelo@gmail.com, David Airlie , Daniel Vetter , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXkgMjUsIDIwMTggYXQgMDU6MjA6MDhBTSArMDMwMCwgSGFuZWVuIE1vaGFtbWVk IHdyb3RlOgo+IFRoaXMgcGF0Y2ggYWRkIGNoZWNrcyBmb3IgTlVMTCBkcm1fW2Nvbm5lY3Rvci9j cnRjL3BsYW5lXV9oZWxwZXJfZnVuY3MKPiBwb2ludGVycyBiZWZvcmUgZGVyZWZyZW5jaW5nIHRo ZSB2YXJpYWJsZSB0byBhdm9pZCBOVUxMIHBvaW50ZXIKPiBkZXJlZmVyZW5jZSBhbmQgbWFrZSB0 aGUgaGVscGVyIGZ1bmN0aW9ucyBhcyBvcHRpb25hbCBhcyBwb3NzaWJsZS4KPiAKPiBTaWduZWQt b2ZmLWJ5OiBIYW5lZW4gTW9oYW1tZWQgPGhhbW9oYW1tZWQuc2FAZ21haWwuY29tPgoKSSBzdGFy dGVkIHJldmlld2luZyB0aGlzLCBhbmQgdGhlbiByZWFsaXplZCBpdCdzIGEgYml0IGEgY2FuIG9m IHdvcm1zLgpFLmcuIGNvbm5lY3Rvci0+ZnVuY3MtPmRldGVjdCBzaG91bGRuJ3QgYmUgdGhlcmUs IGl0J3MgYSBoZWxwZXIgY2FsbGJhY2sKcmVhbGx5IChidXQgcGxhY2VkIGluIHRoZSB3cm9uZyBm dW5jdGlvbiB0YWJsZSkuIFNvIGNvbm5lY3Rvci0+ZnVuY3MgaXNuJ3QKb3B0aW9uYWwsIGJ1dCBj b25uZWN0b3ItPmZ1bmNzLT5kZXRlY3QgbWF5YmUgc2hvdWxkIGJlIG9wdGlvbmFsLgoKU28gSSdt IG5vdCBzdXJlIGFueW1vcmUgd2hldGhlciBkb2luZyB0aGlzIGhvbGVzYWxlIGlzIGEgZ29vZCBp ZGVhLiBEbyB3ZQpzdGlsbCBuZWVkIHRoaXMgZm9yIHZrbXM/IElmIHllcywgdGhlbiBhIG1vcmUg Zm9jdXNlZCBwYXRjaCB0byBqdXN0IG1ha2UKdGhlIHRoaW5ncyBvcHRpb25hbCB0aGF0IHZrbXMg ZG9lcyBub3QgKHlldCkgcHJvdmlkZSBtaWdodCBiZSBiZXR0ZXIuCkluY2x1ZGluZyBhbiBleHBs YW5hdGlvbiBvZiB3aGF0IGV4YWN0bHkgYmxvd3MgdXAgaW4gdmttcy4KClRoYW5rcywgRGFuaWVs Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgNDIgKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxw ZXIuYyAgfCAxMSArKysrLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyks IDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gaW5k ZXggYzM1NjU0NTkxYzEyLi41MjA5MmRlYjc0MWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYwo+IEBAIC0xMTIsOSArMTEyLDkgQEAgc3RhdGljIGludCBoYW5kbGVfY29uZmxp Y3RpbmdfZW5jb2RlcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCWlmICgh bmV3X2Nvbm5fc3RhdGUtPmNydGMpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAtCQlpZiAoZnVuY3Mt PmF0b21pY19iZXN0X2VuY29kZXIpCj4gKwkJaWYgKGZ1bmNzICYmIGZ1bmNzLT5hdG9taWNfYmVz dF9lbmNvZGVyKQo+ICAJCQluZXdfZW5jb2RlciA9IGZ1bmNzLT5hdG9taWNfYmVzdF9lbmNvZGVy KGNvbm5lY3RvciwgbmV3X2Nvbm5fc3RhdGUpOwo+IC0JCWVsc2UgaWYgKGZ1bmNzLT5iZXN0X2Vu Y29kZXIpCj4gKwkJZWxzZSBpZiAoZnVuY3MgJiYgZnVuY3MtPmJlc3RfZW5jb2RlcikKPiAgCQkJ bmV3X2VuY29kZXIgPSBmdW5jcy0+YmVzdF9lbmNvZGVyKGNvbm5lY3Rvcik7Cj4gIAkJZWxzZQo+ ICAJCQluZXdfZW5jb2RlciA9IGRybV9hdG9taWNfaGVscGVyX2Jlc3RfZW5jb2Rlcihjb25uZWN0 b3IpOwo+IEBAIC0zMDgsMTAgKzMwOCwxMCBAQCB1cGRhdGVfY29ubmVjdG9yX3JvdXRpbmcoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAKPiAgCWZ1bmNzID0gY29ubmVjdG9yLT5o ZWxwZXJfcHJpdmF0ZTsKPiAgCj4gLQlpZiAoZnVuY3MtPmF0b21pY19iZXN0X2VuY29kZXIpCj4g KwlpZiAoZnVuY3MgJiYgZnVuY3MtPmF0b21pY19iZXN0X2VuY29kZXIpCj4gIAkJbmV3X2VuY29k ZXIgPSBmdW5jcy0+YXRvbWljX2Jlc3RfZW5jb2Rlcihjb25uZWN0b3IsCj4gIAkJCQkJCQkgbmV3 X2Nvbm5lY3Rvcl9zdGF0ZSk7Cj4gLQllbHNlIGlmIChmdW5jcy0+YmVzdF9lbmNvZGVyKQo+ICsJ ZWxzZSBpZiAoZnVuY3MgJiYgZnVuY3MtPmJlc3RfZW5jb2RlcikKPiAgCQluZXdfZW5jb2RlciA9 IGZ1bmNzLT5iZXN0X2VuY29kZXIoY29ubmVjdG9yKTsKPiAgCWVsc2UKPiAgCQluZXdfZW5jb2Rl ciA9IGRybV9hdG9taWNfaGVscGVyX2Jlc3RfZW5jb2Rlcihjb25uZWN0b3IpOwo+IEBAIC00Mzgs NyArNDM4LDcgQEAgbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4g IAkJCWNvbnRpbnVlOwo+ICAKPiAgCQlmdW5jcyA9IGNydGMtPmhlbHBlcl9wcml2YXRlOwo+IC0J CWlmICghZnVuY3MtPm1vZGVfZml4dXApCj4gKwkJaWYgKCFmdW5jcyB8fCAhZnVuY3MtPm1vZGVf Zml4dXApCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAgCQlyZXQgPSBmdW5jcy0+bW9kZV9maXh1cChj cnRjLCAmbmV3X2NydGNfc3RhdGUtPm1vZGUsCj4gQEAgLTYzOSw3ICs2MzksNyBAQCBkcm1fYXRv bWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQlu ZXdfY3J0Y19zdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkID0gdHJ1ZTsKPiAgCQl9Cj4gIAo+IC0J CWlmIChmdW5jcy0+YXRvbWljX2NoZWNrKQo+ICsJCWlmIChmdW5jcyAmJiBmdW5jcy0+YXRvbWlj X2NoZWNrKQo+ICAJCQlyZXQgPSBmdW5jcy0+YXRvbWljX2NoZWNrKGNvbm5lY3RvciwgbmV3X2Nv bm5lY3Rvcl9zdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJcmV0dXJuIHJldDsKPiBAQCAtNjgx LDcgKzY4MSw3IEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgCQlpZiAoY29ubmVjdG9yc19tYXNrICYgQklUKGkpKQo+ICAJCQljb250 aW51ZTsKPiAgCj4gLQkJaWYgKGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gKwkJaWYgKGZ1bmNzICYm IGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gIAkJCXJldCA9IGZ1bmNzLT5hdG9taWNfY2hlY2soY29u bmVjdG9yLCBuZXdfY29ubmVjdG9yX3N0YXRlKTsKPiAgCQlpZiAocmV0KQo+ICAJCQlyZXR1cm4g cmV0Owo+IEBAIC05NzIsMTQgKzk3MiwxNiBAQCBkaXNhYmxlX291dHB1dHMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgCj4gIAo+ ICAJCS8qIFJpZ2h0IGZ1bmN0aW9uIGRlcGVuZHMgdXBvbiB0YXJnZXQgc3RhdGUuICovCj4gLQkJ aWYgKG5ld19jcnRjX3N0YXRlLT5lbmFibGUgJiYgZnVuY3MtPnByZXBhcmUpCj4gLQkJCWZ1bmNz LT5wcmVwYXJlKGNydGMpOwo+IC0JCWVsc2UgaWYgKGZ1bmNzLT5hdG9taWNfZGlzYWJsZSkKPiAt CQkJZnVuY3MtPmF0b21pY19kaXNhYmxlKGNydGMsIG9sZF9jcnRjX3N0YXRlKTsKPiAtCQllbHNl IGlmIChmdW5jcy0+ZGlzYWJsZSkKPiAtCQkJZnVuY3MtPmRpc2FibGUoY3J0Yyk7Cj4gLQkJZWxz ZQo+IC0JCQlmdW5jcy0+ZHBtcyhjcnRjLCBEUk1fTU9ERV9EUE1TX09GRik7Cj4gKwkJaWYgKGZ1 bmNzKSB7Cj4gKwkJCWlmIChuZXdfY3J0Y19zdGF0ZS0+ZW5hYmxlICYmIGZ1bmNzLT5wcmVwYXJl KQo+ICsJCQkJZnVuY3MtPnByZXBhcmUoY3J0Yyk7Cj4gKwkJCWVsc2UgaWYgKGZ1bmNzLT5hdG9t aWNfZGlzYWJsZSkKPiArCQkJCWZ1bmNzLT5hdG9taWNfZGlzYWJsZShjcnRjLCBvbGRfY3J0Y19z dGF0ZSk7Cj4gKwkJCWVsc2UgaWYgKGZ1bmNzLT5kaXNhYmxlKQo+ICsJCQkJZnVuY3MtPmRpc2Fi bGUoY3J0Yyk7Cj4gKwkJCWVsc2UKPiArCQkJCWZ1bmNzLT5kcG1zKGNydGMsIERSTV9NT0RFX0RQ TVNfT0ZGKTsKPiArCQl9Cj4gIAo+ICAJCWlmICghKGRldi0+aXJxX2VuYWJsZWQgJiYgZGV2LT5u dW1fY3J0Y3MpKQo+ICAJCQljb250aW51ZTsKPiBAQCAtMTA5Myw3ICsxMDk1LDcgQEAgY3J0Y19z ZXRfbW9kZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq b2xkX3N0YXRlKQo+ICAKPiAgCQlmdW5jcyA9IGNydGMtPmhlbHBlcl9wcml2YXRlOwo+ICAKPiAt CQlpZiAobmV3X2NydGNfc3RhdGUtPmVuYWJsZSAmJiBmdW5jcy0+bW9kZV9zZXRfbm9mYikgewo+ ICsJCWlmIChuZXdfY3J0Y19zdGF0ZS0+ZW5hYmxlICYmIGZ1bmNzICYmIGZ1bmNzLT5tb2RlX3Nl dF9ub2ZiKSB7Cj4gIAkJCURSTV9ERUJVR19BVE9NSUMoIm1vZGVzZXQgb24gW0NSVEM6JWQ6JXNd XG4iLAo+ICAJCQkJCSBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lKTsKPiAgCj4gQEAgLTExOTcs NyArMTE5OSw3IEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X21vZGVzZXRfZW5hYmxl cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAgCQlmdW5jcyA9IGNydGMtPmhlbHBlcl9w cml2YXRlOwo+ICAKPiAtCQlpZiAobmV3X2NydGNfc3RhdGUtPmVuYWJsZSkgewo+ICsJCWlmIChm dW5jcyAmJiBuZXdfY3J0Y19zdGF0ZS0+ZW5hYmxlKSB7Cj4gIAkJCURSTV9ERUJVR19BVE9NSUMo ImVuYWJsaW5nIFtDUlRDOiVkOiVzXVxuIiwKPiAgCQkJCQkgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+ bmFtZSk7Cj4gIAo+IEBAIC0yMTE3LDcgKzIxMTksNyBAQCBpbnQgZHJtX2F0b21pY19oZWxwZXJf cHJlcGFyZV9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAkJZnVuY3MgPSBw bGFuZS0+aGVscGVyX3ByaXZhdGU7Cj4gIAo+IC0JCWlmIChmdW5jcy0+cHJlcGFyZV9mYikgewo+ ICsJCWlmIChmdW5jcyAmJiBmdW5jcy0+cHJlcGFyZV9mYikgewo+ICAJCQlyZXQgPSBmdW5jcy0+ cHJlcGFyZV9mYihwbGFuZSwgbmV3X3BsYW5lX3N0YXRlKTsKPiAgCQkJaWYgKHJldCkKPiAgCQkJ CWdvdG8gZmFpbDsKPiBAQCAtMjEzNSw3ICsyMTM3LDcgQEAgaW50IGRybV9hdG9taWNfaGVscGVy X3ByZXBhcmVfcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJCWZ1bmNzID0g cGxhbmUtPmhlbHBlcl9wcml2YXRlOwo+ICAKPiAtCQlpZiAoZnVuY3MtPmNsZWFudXBfZmIpCj4g KwkJaWYgKGZ1bmNzICYmIGZ1bmNzLT5jbGVhbnVwX2ZiKQo+ICAJCQlmdW5jcy0+Y2xlYW51cF9m YihwbGFuZSwgbmV3X3BsYW5lX3N0YXRlKTsKPiAgCX0KPiAgCj4gQEAgLTI0MTIsNyArMjQxNCw3 IEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY2xlYW51cF9wbGFuZXMoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCj4gIAkJZnVuY3MgPSBwbGFuZS0+aGVscGVyX3ByaXZhdGU7Cj4gIAo+IC0J CWlmIChmdW5jcy0+Y2xlYW51cF9mYikKPiArCQlpZiAoZnVuY3MgJiYgZnVuY3MtPmNsZWFudXBf ZmIpCj4gIAkJCWZ1bmNzLT5jbGVhbnVwX2ZiKHBsYW5lLCBwbGFuZV9zdGF0ZSk7Cj4gIAl9Cj4g IH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKPiBpbmRleCA1Mjc3NDMzOTQxNTAuLjQy NTA3YWE3Zjc2MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBl ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+IEBAIC0yNzIs OSArMjcyLDkgQEAgZHJtX2hlbHBlcl9wcm9iZV9kZXRlY3RfY3R4KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4gIHJldHJ5Ogo+ICAJcmV0ID0gZHJtX21vZGVz ZXRfbG9jaygmY29ubmVjdG9yLT5kZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsICZj dHgpOwo+ICAJaWYgKCFyZXQpIHsKPiAtCQlpZiAoZnVuY3MtPmRldGVjdF9jdHgpCj4gKwkJaWYg KGZ1bmNzICYmIGZ1bmNzLT5kZXRlY3RfY3R4KQo+ICAJCQlyZXQgPSBmdW5jcy0+ZGV0ZWN0X2N0 eChjb25uZWN0b3IsICZjdHgsIGZvcmNlKTsKPiAtCQllbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNz LT5kZXRlY3QpCj4gKwkJZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcyAmJiBjb25uZWN0b3ItPmZ1 bmNzLT5kZXRlY3QpCj4gIAkJCXJldCA9IGNvbm5lY3Rvci0+ZnVuY3MtPmRldGVjdChjb25uZWN0 b3IsIGZvcmNlKTsKPiAgCQllbHNlCj4gIAkJCXJldCA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVj dGVkOwo+IEBAIC0zMjAsOSArMzIwLDkgQEAgZHJtX2hlbHBlcl9wcm9iZV9kZXRlY3Qoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsK PiAgCj4gLQlpZiAoZnVuY3MtPmRldGVjdF9jdHgpCj4gKwlpZiAoZnVuY3MgJiYgZnVuY3MtPmRl dGVjdF9jdHgpCj4gIAkJcmV0dXJuIGZ1bmNzLT5kZXRlY3RfY3R4KGNvbm5lY3RvciwgY3R4LCBm b3JjZSk7Cj4gLQllbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5kZXRlY3QpCj4gKwllbHNlIGlm IChjb25uZWN0b3ItPmZ1bmNzICYmIGNvbm5lY3Rvci0+ZnVuY3MtPmRldGVjdCkKPiAgCQlyZXR1 cm4gY29ubmVjdG9yLT5mdW5jcy0+ZGV0ZWN0KGNvbm5lY3RvciwgZm9yY2UpOwo+ICAJZWxzZQo+ ICAJCXJldHVybiBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPiBAQCAtNDgwLDcgKzQ4MCw4 IEBAIGludCBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQlnb3RvIHBydW5lOwo+ICAJfQo+ICAKPiAtCWNv dW50ID0gKCpjb25uZWN0b3JfZnVuY3MtPmdldF9tb2RlcykoY29ubmVjdG9yKTsKPiArCWlmIChj b25uZWN0b3JfZnVuY3MgJiYgY29ubmVjdG9yX2Z1bmNzLT5nZXRfbW9kZXMpCj4gKwkJY291bnQg PSAoKmNvbm5lY3Rvcl9mdW5jcy0+Z2V0X21vZGVzKShjb25uZWN0b3IpOwo+ICAKPiAgCWlmIChj b3VudCA9PSAwICYmIGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVj dGVkKQo+ICAJCWNvdW50ID0gZHJtX2FkZF9tb2Rlc19ub2VkaWQoY29ubmVjdG9yLCAxMDI0LCA3 NjgpOwo+IC0tIAo+IDIuMTcuMAo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5l ZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=