From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v7 7/7] drm: add parameter-order checking to drm memory allocators Date: Wed, 2 Mar 2016 15:00:26 +0000 Message-ID: <56D7000A.5090008@linux.intel.com> References: <1456850039-25856-1-git-send-email-david.s.gordon@intel.com> <1456850039-25856-8-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456850039-25856-8-git-send-email-david.s.gordon@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Gordon , intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDAxLzAzLzE2IDE2OjMzLCBEYXZlIEdvcmRvbiB3cm90ZToKPiBBZnRlciB0aGUgcmVjZW50 IGFkZGl0aW9uIG9mIGRybV9tYWxsb2NfZ2ZwKCksIGl0IHdhcyBub3RpY2VkIHRoYXQKPiBzb21l IGNhbGxlcnMgb2YgdGhlc2UgZnVuY3Rpb25zIGhhcyBzd2FwcGVkIHRoZSBwYXJhbWV0ZXJzIGlu IHRoZQo+IGNhbGwgLSBpdCdzIHN1cHBvc2VkIHRvIGJlICdudW1iZXIgb2YgbWVtYmVycycgYW5k ICdzaXplb2YoZWxlbWVudCknLAo+IGJ1dCBhIGZldyBjYWxsZXJzIGhhZCBnb3QgdGhlIHNpemUg Zmlyc3QgYW5kIHRoZSBjb3VudCBzZWNvbmQuIFRoaXMKPiBpc24ndCBvdGhlcndpc2UgZGV0ZWN0 ZWQgYmVjYXVzZSB0aGV5J3JlIGJvdGggdHlwZSAnc2l6ZV90JywgYW5kCj4gdGhlIGltcGxlbWVu dGF0aW9uIGF0IHByZXNlbnQganVzdCBtdWx0aXBsaWVzIHRoZW0gYW55d2F5LCBzbyB0aGUKPiBy ZXN1bHQgaXMgc3RpbGwgcmlnaHQuIEJ1dCBzb21lIGZ1dHVyZSBpbXBsZW1lbnRhdGlvbiBtaWdo dCB0cmVhdAo+IHRoZW0gZGlmZmVyZW50bHkgKGUuZy4gYWxsb3dpbmcgMCBlbGVtZW50cyBidXQg bm90IHplcm8gc2l6ZSksIHNvCj4gbGV0J3MgYWRkIHNvbWUgY29tcGlsZS10aW1lIGNoZWNrcyBh bmQgY29tcGxhaW4gaWYgdGhlIHNlY29uZCAoc2l6ZSkKPiBwYXJhbWV0ZXIgaXNuJ3QgYSBzaXpl b2YoKSBleHByZXNzaW9uLCBvciBhdCBsZWFzdCBhIGNvbXBpbGUtdGltZQo+IGNvbnN0YW50Lgo+ Cj4gVGhpcyBwYXRjaCBhbHNvIGZpeGVzIHRob3NlIGNhbGxlcnMgd2hlcmUgdGhlIG9yZGVyIHdh cyB3cm9uZy4KPgo+IHY2OiByZW1vdmVkIGR1cGxpY2F0ZSBCVUlMRF9CVUdfT05fTVNHKCk7IGF2 b2lkZWQgcmVuYW1pbmcgZnVuY3Rpb25zCj4gICAgICBieSBzaGFkb3dpbmcgdGhlbSB3aXRoICNk ZWZpbmVzIGFuZCB0aGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9uCj4gICAgICAobm9uLXJlY3Vyc2l2 ZWx5ISkgZnJvbSBpbnNpZGUgdGhlICNkZWZpbmUgW0NocmlzIFdpbHNvbl0KPgo+IFNpZ25lZC1v ZmYtYnk6IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4gQ2M6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPkNjOiBkcmktCj4gQ2M6IGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgoKRGFuaWVsLCB0aGVyZSBhcmUgdHdvIERSTSBjb3JlIHBhdGNo ZXMgaW4gdGhpcyBzZXJpZXMgYW5kIG9ubHkgdGhpbmcgCm1pc3NpbmcgaXMgY29udmluY2luZyBD aHJpcyB0aGF0IDYvNyBkb2VzIGJyaW5nIHNvbWUgaW1wcm92ZW1lbnQsIAplc3BlY2lhbGx5IGxv b2tpbmcgZm9yd2FyZCB0byBmb2xsb3dpbmcgR3VDIHJlZmFjdG9yaW5nIGl0IHdpbGwgZW5hYmxl LgoKQXNzdW1pbmcgdGhhdCBnZXRzIHJlc29sdmVkLCBJIGFzc3VtZSBiZWNhdXNlIG9mIHRoZSBj b3JlIERSTSBiaXRzIEkgCndpbGwgbmVlZCB0byBwaW5nIHlvdSB0byBwaWNrdXAgdGhlIHNlcmll cz8KClJlZ2FyZHMsCgpUdnJ0a28KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X2dlbV9zdWJtaXQuYyB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMgICB8ICA4ICsrKystLS0tCj4gICBpbmNsdWRlL2RybS9kcm1fbWVt X3V0aWwuaCAgICAgICAgICAgICAgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKy0t LQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1p dC5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKPiBpbmRl eCAxYWJhMDFhLi45YWU0YTcxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRu YXZpdl9nZW1fc3VibWl0LmMKPiBAQCAtMzQwLDcgKzM0MCw3IEBAIGludCBldG5hdml2X2lvY3Rs X2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkgKi8K PiAgIAlib3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX2Jvcywgc2l6ZW9mKCpib3MpKTsKPiAg IAlyZWxvY3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX3JlbG9jcywgc2l6ZW9mKCpyZWxvY3Mp KTsKPiAtCXN0cmVhbSA9IGRybV9tYWxsb2NfYWIoMSwgYXJncy0+c3RyZWFtX3NpemUpOwo+ICsJ c3RyZWFtID0gZHJtX21hbGxvY19hYihhcmdzLT5zdHJlYW1fc2l6ZSwgc2l6ZW9mKCpzdHJlYW0p KTsKPiAgIAljbWRidWYgPSBldG5hdml2X2dwdV9jbWRidWZfbmV3KGdwdSwgQUxJR04oYXJncy0+ c3RyZWFtX3NpemUsIDgpICsgOCwKPiAgIAkJCQkJYXJncy0+bnJfYm9zKTsKPiAgIAlpZiAoIWJv cyB8fCAhcmVsb2NzIHx8ICFzdHJlYW0gfHwgIWNtZGJ1Zikgewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBpbmRleCBmNzM0YjNjLi4xYTEzNmQ5IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IEBAIC0xNjg2 LDggKzE2ODYsOCBAQCBzdGF0aWMgYm9vbCBvbmx5X21hcHBhYmxlX2Zvcl9yZWxvYyh1bnNpZ25l ZCBpbnQgZmxhZ3MpCj4gICAJfQo+Cj4gICAJLyogQ29weSBpbiB0aGUgZXhlYyBsaXN0IGZyb20g dXNlcmxhbmQgKi8KPiAtCWV4ZWNfbGlzdCA9IGRybV9tYWxsb2NfYWIoc2l6ZW9mKCpleGVjX2xp c3QpLCBhcmdzLT5idWZmZXJfY291bnQpOwo+IC0JZXhlYzJfbGlzdCA9IGRybV9tYWxsb2NfYWIo c2l6ZW9mKCpleGVjMl9saXN0KSwgYXJncy0+YnVmZmVyX2NvdW50KTsKPiArCWV4ZWNfbGlzdCA9 IGRybV9tYWxsb2NfYWIoYXJncy0+YnVmZmVyX2NvdW50LCBzaXplb2YoKmV4ZWNfbGlzdCkpOwo+ ICsJZXhlYzJfbGlzdCA9IGRybV9tYWxsb2NfYWIoYXJncy0+YnVmZmVyX2NvdW50LCBzaXplb2Yo KmV4ZWMyX2xpc3QpKTsKPiAgIAlpZiAoZXhlY19saXN0ID09IE5VTEwgfHwgZXhlYzJfbGlzdCA9 PSBOVUxMKSB7Cj4gICAJCURSTV9ERUJVRygiRmFpbGVkIHRvIGFsbG9jYXRlIGV4ZWMgbGlzdCBm b3IgJWQgYnVmZmVyc1xuIiwKPiAgIAkJCSAgYXJncy0+YnVmZmVyX2NvdW50KTsKPiBAQCAtMTc3 NSw4ICsxNzc1LDggQEAgc3RhdGljIGJvb2wgb25seV9tYXBwYWJsZV9mb3JfcmVsb2ModW5zaWdu ZWQgaW50IGZsYWdzKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9Cj4KPiAtCWV4ZWMyX2xp c3QgPSBkcm1fbWFsbG9jX2dmcChzaXplb2YoKmV4ZWMyX2xpc3QpLAo+IC0JCQkJICAgIGFyZ3Mt PmJ1ZmZlcl9jb3VudCwKPiArCWV4ZWMyX2xpc3QgPSBkcm1fbWFsbG9jX2dmcChhcmdzLT5idWZm ZXJfY291bnQsCj4gKwkJCQkgICAgc2l6ZW9mKCpleGVjMl9saXN0KSwKPiAgIAkJCQkgICAgR0ZQ X1RFTVBPUkFSWSk7Cj4gICAJaWYgKGV4ZWMyX2xpc3QgPT0gTlVMTCkgewo+ICAgCQlEUk1fREVC VUcoIkZhaWxlZCB0byBhbGxvY2F0ZSBleGVjIGxpc3QgZm9yICVkIGJ1ZmZlcnNcbiIsCj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tZW1fdXRpbC5oIGIvaW5jbHVkZS9kcm0vZHJtX21l bV91dGlsLmgKPiBpbmRleCA3NDFjZTc1Li41YjAxMTFjIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9tZW1fdXRpbC5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21lbV91dGlsLmgKPiBA QCAtMjksNyArMjksNyBAQAo+Cj4gICAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgo+Cj4gLXN0 YXRpYyBfX2lubGluZV9fIHZvaWQgKmRybV9jYWxsb2NfbGFyZ2Uoc2l6ZV90IG5tZW1iLCBzaXpl X3Qgc2l6ZSkKPiArc3RhdGljIF9faW5saW5lX18gdm9pZCAqZHJtX2NhbGxvY19sYXJnZShzaXpl X3Qgbm1lbWIsIGNvbnN0IHNpemVfdCBzaXplKQo+ICAgewo+ICAgCWlmIChzaXplICE9IDAgJiYg bm1lbWIgPiBTSVpFX01BWCAvIHNpemUpCj4gICAJCXJldHVybiBOVUxMOwo+IEBAIC00MSw4ICs0 MSwxNSBAQCBzdGF0aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fY2FsbG9jX2xhcmdlKHNpemVfdCBu bWVtYiwgc2l6ZV90IHNpemUpCj4gICAJCQkgR0ZQX0tFUk5FTCB8IF9fR0ZQX0hJR0hNRU0gfCBf X0dGUF9aRVJPLCBQQUdFX0tFUk5FTCk7Cj4gICB9Cj4KPiArI2RlZmluZQlkcm1fY2FsbG9jX2xh cmdlKG5tZW1iLCBzaXplKQkJCQkJXAo+ICsoewkJCQkJCQkJCVwKPiArCUJVSUxEX0JVR19PTl9N U0coIV9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUpLAkJCVwKPiArCQkiTm9uLWNvbnN0YW50ICdz aXplJyAtIGNoZWNrIGFyZ3VtZW50IG9yZGVyaW5nPyIpOwlcCj4gKwkoZHJtX2NhbGxvY19sYXJn ZSkobm1lbWIsIHNpemUpOwkJCQlcCj4gK30pCj4gKwo+ICAgLyogTW9kZWxlZCBhZnRlciBjYWly bydzIG1hbGxvY19hYiwgaXQncyBsaWtlIGNhbGxvYyBidXQgd2l0aG91dCB0aGUgemVyb2luZy4g Ki8KPiAtc3RhdGljIF9faW5saW5lX18gdm9pZCAqZHJtX21hbGxvY19hYihzaXplX3Qgbm1lbWIs IHNpemVfdCBzaXplKQo+ICtzdGF0aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fbWFsbG9jX2FiKHNp emVfdCBubWVtYiwgY29uc3Qgc2l6ZV90IHNpemUpCj4gICB7Cj4gICAJaWYgKHNpemUgIT0gMCAm JiBubWVtYiA+IFNJWkVfTUFYIC8gc2l6ZSkKPiAgIAkJcmV0dXJuIE5VTEw7Cj4gQEAgLTU0LDcg KzYxLDE0IEBAIHN0YXRpYyBfX2lubGluZV9fIHZvaWQgKmRybV9tYWxsb2NfYWIoc2l6ZV90IG5t ZW1iLCBzaXplX3Qgc2l6ZSkKPiAgIAkJCSBHRlBfS0VSTkVMIHwgX19HRlBfSElHSE1FTSwgUEFH RV9LRVJORUwpOwo+ICAgfQo+Cj4gLXN0YXRpYyBfX2lubGluZV9fIHZvaWQgKmRybV9tYWxsb2Nf Z2ZwKHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGdmcF90IGdmcCkKPiArI2RlZmluZQlkcm1f bWFsbG9jX2FiKG5tZW1iLCBzaXplKQkJCQkJXAo+ICsoewkJCQkJCQkJCVwKPiArCUJVSUxEX0JV R19PTl9NU0coIV9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUpLAkJCVwKPiArCQkiTm9uLWNvbnN0 YW50ICdzaXplJyAtIGNoZWNrIGFyZ3VtZW50IG9yZGVyaW5nPyIpOwlcCj4gKwkoZHJtX21hbGxv Y19hYikobm1lbWIsIHNpemUpOwkJCQkJXAo+ICt9KQo+ICsKPiArc3RhdGljIF9faW5saW5lX18g dm9pZCAqZHJtX21hbGxvY19nZnAoc2l6ZV90IG5tZW1iLCBjb25zdCBzaXplX3Qgc2l6ZSwgZ2Zw X3QgZ2ZwKQo+ICAgewo+ICAgCWlmIChzaXplICE9IDAgJiYgbm1lbWIgPiBTSVpFX01BWCAvIHNp emUpCj4gICAJCXJldHVybiBOVUxMOwo+IEBAIC03Myw2ICs4NywxMyBAQCBzdGF0aWMgX19pbmxp bmVfXyB2b2lkICpkcm1fbWFsbG9jX2dmcChzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBnZnBf dCBnZnApCj4gICAJCQkgZ2ZwIHwgX19HRlBfSElHSE1FTSwgUEFHRV9LRVJORUwpOwo+ICAgfQo+ Cj4gKyNkZWZpbmUJZHJtX21hbGxvY19nZnAobm1lbWIsIHNpemUsIGdmcCkJCQkJXAo+ICsoewkJ CQkJCQkJCVwKPiArCUJVSUxEX0JVR19PTl9NU0coIV9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUp LAkJCVwKPiArCQkiTm9uLWNvbnN0YW50ICdzaXplJyAtIGNoZWNrIGFyZ3VtZW50IG9yZGVyaW5n PyIpOwlcCj4gKwkoZHJtX21hbGxvY19nZnApKG5tZW1iLCBzaXplLCBnZnApOwkJCQlcCj4gK30p Cj4gKwo+ICAgc3RhdGljIF9faW5saW5lIHZvaWQgZHJtX2ZyZWVfbGFyZ2Uodm9pZCAqcHRyKQo+ ICAgewo+ICAgCWt2ZnJlZShwdHIpOwo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=