From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v5 2/7] drm: add parameter-order checking to drm memory allocators Date: Mon, 29 Feb 2016 16:16:57 +0000 Message-ID: <56D46EF9.9020703@linux.intel.com> References: <1456744394-29831-1-git-send-email-david.s.gordon@intel.com> <1456744394-29831-3-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: <1456744394-29831-3-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: dri-devel@lists.freedesktop.org Ck9uIDI5LzAyLzE2IDExOjEzLCBEYXZlIEdvcmRvbiB3cm90ZToKPiBBZnRlciB0aGUgcmVjZW50 IGFkZGl0aW9uIG9mIGRybV9tYWxsb2NfZ2ZwKCksIGl0IHdhcyBub3RpY2VkIHRoYXQKPiBzb21l IGNhbGxlcnMgb2YgdGhlc2UgZnVuY3Rpb25zIGhhcyBzd2FwcGVkIHRoZSBwYXJhbWV0ZXJzIGlu IHRoZQo+IGNhbGwgLSBpdCdzIHN1cHBvc2VkIHRvIGJlICdudW1iZXIgb2YgbWVtYmVycycgYW5k ICdzaXplb2YoZWxlbWVudCknLAo+IGJ1dCBhIGZldyBjYWxsZXJzIGhhZCBnb3QgdGhlIHNpemUg Zmlyc3QgYW5kIHRoZSBjb3VudCBzZWNvbmQuIFRoaXMKPiBpc24ndCBvdGhlcndpc2UgZGV0ZWN0 ZWQgYmVjYXVzZSB0aGV5J3JlIGJvdGggdHlwZSAnc2l6ZV90JywgYW5kCj4gdGhlIGltcGxlbWVu dGF0aW9uIGF0IHByZXNlbnQganVzdCBtdWx0aXBsaWVzIHRoZW0gYW55d2F5LCBzbyB0aGUKPiBy ZXN1bHQgaXMgc3RpbGwgcmlnaHQuIEJ1dCBzb21lIGZ1dHVyZSBpbXBsZW1lbnRhdGlvbiBtaWdo dCB0cmVhdAo+IHRoZW0gZGlmZmVyZW50bHkgKGUuZy4gYWxsb3dpbmcgMCBlbGVtZW50cyBidXQg bm90IHplcm8gc2l6ZSksIHNvCj4gbGV0J3MgYWRkIHNvbWUgY29tcGlsZS10aW1lIGNoZWNrcyBh bmQgY29tcGxhaW4gaWYgdGhlIHNlY29uZCAoc2l6ZSkKPiBwYXJhbWV0ZXIgaXNuJ3QgYSBzaXpl b2YoKSBleHByZXNzaW9uLCBvciBhdCBsZWFzdCBhIGNvbXBpbGUtdGltZQo+IGNvbnN0YW50Lgo+ Cj4gVGhpcyBwYXRjaCBhbHNvIGZpeGVzIHRob3NlIGNhbGxlcnMgd2hlcmUgdGhlIG9yZGVyIHdh cyB3cm9uZy4KPgo+IFNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBp bnRlbC5jb20+Cj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPkNjOiBk cmktCj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiAtLS0KPiAgIGRyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgIDIgKy0KPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyAgIHwgIDggKysrKy0tLS0KPiAg IGluY2x1ZGUvZHJtL2RybV9tZW1fdXRpbC5oICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysr KysrKysrKysrKysrKysrKysrKy0tLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25z KCspLCA4IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5h dml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZp dl9nZW1fc3VibWl0LmMKPiBpbmRleCAxYWJhMDFhLi45YWU0YTcxIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKPiBAQCAtMzQwLDcgKzM0MCw3 IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKPiAgIAkgKi8KPiAgIAlib3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX2Jv cywgc2l6ZW9mKCpib3MpKTsKPiAgIAlyZWxvY3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX3Jl bG9jcywgc2l6ZW9mKCpyZWxvY3MpKTsKPiAtCXN0cmVhbSA9IGRybV9tYWxsb2NfYWIoMSwgYXJn cy0+c3RyZWFtX3NpemUpOwo+ICsJc3RyZWFtID0gZHJtX21hbGxvY19hYihhcmdzLT5zdHJlYW1f c2l6ZSwgc2l6ZW9mKCpzdHJlYW0pKTsKCkkgd2FzIHN1cnByaXNlZCBzaXplb2Yodm9pZCkgPT0g MS4gT24gZnVydGhlciByZXNlYXJjaCB0aGF0IHNlZW1zIHRvIGJlIAphbiBHQ0MgZXh0ZW5zaW9u LgoKSSBhbSBub3Qgc3VyZSBob3cgYWN0aXZlIHByb2plY3RzIHRvIGNvbXBpbGUgdGhlIGtlcm5l bCB3aXRoIGZvciBleGFtcGxlIApJQ0MgYXJlLCBqdXN0IHJlbWVtYmVyIHNvbWUgdGFsa3MgYWJv dXQgaXQgaW4gdGhlIHBhc3QuIE1heWJlIGl0IGlzIGV2ZW4gCnBvc3NpYmxlPyBJbiB0aGF0IGNh c2UgaXQgd291bGQgYmUgYmV0dGVyIHRvIGp1c3QgbGVhdmUgIjEiIHRoZXJlIHRvIG5vdCAKcmVs eSBvbiBHQ0MgZXh0ZW5zaW9ucy4KCkFuZCB0aGlzIHVzZSBvZiBhcnJheSBhbGxvY2F0b3IgaW4g RXRuYXZpdiBpcyBzdHJhbmdlIHNpbmNlIHRoZXkgYXJlIAphbGxvY2F0aW5nIGFuIHVuc3RydWN0 dXJlZCBidWZmZXIsIGJ1dCB3aGF0ZXZlciwgaXQgZXhpc3RpbmcgYW5kIApleHRlcm5hbCBjb2Rl LiAoSSBhbSBub3QgZXZlbiBzdXJlIHdvdWxkIEkgYm90aGVyIHRvdWNoaW5nIGl0LCBzaW5jZSwg aXMgCnRoZSBsb2dpY2FsIHZpZXcgdG8gYWxsb2NhdGUgKm9uZSogX2J1ZmZlcl8gb2YgYSBzcGVj aWZpZWQgc2l6ZSwgb3IgCnNwZWNpZmllZCBzaXplIG9mIGJ5dGVzIG1ha2UgYSBidWZmZXI/IDop ICkKCj4gICAJY21kYnVmID0gZXRuYXZpdl9ncHVfY21kYnVmX25ldyhncHUsIEFMSUdOKGFyZ3Mt PnN0cmVhbV9zaXplLCA4KSArIDgsCj4gICAJCQkJCWFyZ3MtPm5yX2Jvcyk7Cj4gICAJaWYgKCFi b3MgfHwgIXJlbG9jcyB8fCAhc3RyZWFtIHx8ICFjbWRidWYpIHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggMThhNWRjYy4uODY1ODc2ZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBAQCAtMTY4 Nyw4ICsxNjg3LDggQEAgc3RhdGljIGJvb2wgb25seV9tYXBwYWJsZV9mb3JfcmVsb2ModW5zaWdu ZWQgaW50IGZsYWdzKQo+ICAgCX0KPgo+ICAgCS8qIENvcHkgaW4gdGhlIGV4ZWMgbGlzdCBmcm9t IHVzZXJsYW5kICovCj4gLQlleGVjX2xpc3QgPSBkcm1fbWFsbG9jX2FiKHNpemVvZigqZXhlY19s aXN0KSwgYXJncy0+YnVmZmVyX2NvdW50KTsKPiAtCWV4ZWMyX2xpc3QgPSBkcm1fbWFsbG9jX2Fi KHNpemVvZigqZXhlYzJfbGlzdCksIGFyZ3MtPmJ1ZmZlcl9jb3VudCk7Cj4gKwlleGVjX2xpc3Qg PSBkcm1fbWFsbG9jX2FiKGFyZ3MtPmJ1ZmZlcl9jb3VudCwgc2l6ZW9mKCpleGVjX2xpc3QpKTsK PiArCWV4ZWMyX2xpc3QgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPmJ1ZmZlcl9jb3VudCwgc2l6ZW9m KCpleGVjMl9saXN0KSk7Cj4gICAJaWYgKGV4ZWNfbGlzdCA9PSBOVUxMIHx8IGV4ZWMyX2xpc3Qg PT0gTlVMTCkgewo+ICAgCQlEUk1fREVCVUcoIkZhaWxlZCB0byBhbGxvY2F0ZSBleGVjIGxpc3Qg Zm9yICVkIGJ1ZmZlcnNcbiIsCj4gICAJCQkgIGFyZ3MtPmJ1ZmZlcl9jb3VudCk7Cj4gQEAgLTE3 NzYsOCArMTc3Niw4IEBAIHN0YXRpYyBib29sIG9ubHlfbWFwcGFibGVfZm9yX3JlbG9jKHVuc2ln bmVkIGludCBmbGFncykKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+Cj4gLQlleGVjMl9s aXN0ID0gZHJtX21hbGxvY19nZnAoc2l6ZW9mKCpleGVjMl9saXN0KSwKPiAtCQkJCSAgICBhcmdz LT5idWZmZXJfY291bnQsCj4gKwlleGVjMl9saXN0ID0gZHJtX21hbGxvY19nZnAoYXJncy0+YnVm ZmVyX2NvdW50LAo+ICsJCQkJICAgIHNpemVvZigqZXhlYzJfbGlzdCksCj4gICAJCQkJICAgIEdG UF9URU1QT1JBUlkpOwo+ICAgCWlmIChleGVjMl9saXN0ID09IE5VTEwpIHsKPiAgIAkJRFJNX0RF QlVHKCJGYWlsZWQgdG8gYWxsb2NhdGUgZXhlYyBsaXN0IGZvciAlZCBidWZmZXJzXG4iLAo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbWVtX3V0aWwuaCBiL2luY2x1ZGUvZHJtL2RybV9t ZW1fdXRpbC5oCj4gaW5kZXggNzQxY2U3NS4uODg2ZmYwYSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2RybS9kcm1fbWVtX3V0aWwuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tZW1fdXRpbC5oCj4g QEAgLTI5LDcgKzI5LDcgQEAKPgo+ICAgI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KPgo+IC1z dGF0aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fY2FsbG9jX2xhcmdlKHNpemVfdCBubWVtYiwgc2l6 ZV90IHNpemUpCj4gK3N0YXRpYyBfX2lubGluZV9fIHZvaWQgKl9fZHJtX2NhbGxvY19sYXJnZShz aXplX3Qgbm1lbWIsIGNvbnN0IHNpemVfdCBzaXplKQo+ICAgewo+ICAgCWlmIChzaXplICE9IDAg JiYgbm1lbWIgPiBTSVpFX01BWCAvIHNpemUpCj4gICAJCXJldHVybiBOVUxMOwo+IEBAIC00MSw4 ICs0MSwxNSBAQCBzdGF0aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fY2FsbG9jX2xhcmdlKHNpemVf dCBubWVtYiwgc2l6ZV90IHNpemUpCj4gICAJCQkgR0ZQX0tFUk5FTCB8IF9fR0ZQX0hJR0hNRU0g fCBfX0dGUF9aRVJPLCBQQUdFX0tFUk5FTCk7Cj4gICB9Cj4KPiArI2RlZmluZQlkcm1fY2FsbG9j X2xhcmdlKG5tZW1iLCBzaXplKQkJCQkJXAo+ICsoewkJCQkJCQkJCVwKPiArCUJVSUxEX0JVR19P Tl9NU0coIV9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUpLAkJCVwKPiArCQkiTm9uLWNvbnN0YW50 ICdzaXplJyAtIGNoZWNrIGFyZ3VtZW50IG9yZGVyaW5nPyIpOwlcCj4gKwlfX2RybV9jYWxsb2Nf bGFyZ2Uobm1lbWIsIHNpemUpOwkJCQlcCj4gK30pCj4gKwo+ICAgLyogTW9kZWxlZCBhZnRlciBj YWlybydzIG1hbGxvY19hYiwgaXQncyBsaWtlIGNhbGxvYyBidXQgd2l0aG91dCB0aGUgemVyb2lu Zy4gKi8KPiAtc3RhdGljIF9faW5saW5lX18gdm9pZCAqZHJtX21hbGxvY19hYihzaXplX3Qgbm1l bWIsIHNpemVfdCBzaXplKQo+ICtzdGF0aWMgX19pbmxpbmVfXyB2b2lkICpfX2RybV9tYWxsb2Nf YWIoc2l6ZV90IG5tZW1iLCBjb25zdCBzaXplX3Qgc2l6ZSkKPiAgIHsKPiAgIAlpZiAoc2l6ZSAh PSAwICYmIG5tZW1iID4gU0laRV9NQVggLyBzaXplKQo+ICAgCQlyZXR1cm4gTlVMTDsKPiBAQCAt NTQsOCArNjEsMTggQEAgc3RhdGljIF9faW5saW5lX18gdm9pZCAqZHJtX21hbGxvY19hYihzaXpl X3Qgbm1lbWIsIHNpemVfdCBzaXplKQo+ICAgCQkJIEdGUF9LRVJORUwgfCBfX0dGUF9ISUdITUVN LCBQQUdFX0tFUk5FTCk7Cj4gICB9Cj4KPiAtc3RhdGljIF9faW5saW5lX18gdm9pZCAqZHJtX21h bGxvY19nZnAoc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgZ2ZwX3QgZ2ZwKQo+ICsjZGVmaW5l CWRybV9tYWxsb2NfYWIobm1lbWIsIHNpemUpCQkJCQlcCj4gKyh7CQkJCQkJCQkJXAo+ICsJQlVJ TERfQlVHX09OX01TRyghX19idWlsdGluX2NvbnN0YW50X3Aoc2l6ZSksCQkJXAo+ICsJCSJOb24t Y29uc3RhbnQgJ3NpemUnIC0gY2hlY2sgYXJndW1lbnQgb3JkZXJpbmc/Iik7CVwKPiArCV9fZHJt X21hbGxvY19hYihubWVtYiwgc2l6ZSk7CQkJCQlcCj4gK30pCj4gKwo+ICtzdGF0aWMgX19pbmxp bmVfXyB2b2lkICpfX2RybV9tYWxsb2NfZ2ZwKHNpemVfdCBubWVtYiwgY29uc3Qgc2l6ZV90IHNp emUsIGdmcF90IGdmcCkKPiAgIHsKPiArCUJVSUxEX0JVR19PTl9NU0coIV9fYnVpbHRpbl9jb25z dGFudF9wKHNpemUpLAo+ICsJCSJOb24tY29uc3RhbnQgJ3NpemUnIC0gY2hlY2sgYXJndW1lbnQg b3JkZXJpbmc/Iik7Cj4gKwo+ICAgCWlmIChzaXplICE9IDAgJiYgbm1lbWIgPiBTSVpFX01BWCAv IHNpemUpCj4gICAJCXJldHVybiBOVUxMOwo+Cj4gQEAgLTczLDYgKzkwLDEzIEBAIHN0YXRpYyBf X2lubGluZV9fIHZvaWQgKmRybV9tYWxsb2NfZ2ZwKHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUs IGdmcF90IGdmcCkKPiAgIAkJCSBnZnAgfCBfX0dGUF9ISUdITUVNLCBQQUdFX0tFUk5FTCk7Cj4g ICB9Cj4KPiArI2RlZmluZQlkcm1fbWFsbG9jX2dmcChubWVtYiwgc2l6ZSwgZ2ZwKQkJCQlcCj4g Kyh7CQkJCQkJCQkJXAo+ICsJQlVJTERfQlVHX09OX01TRyghX19idWlsdGluX2NvbnN0YW50X3Ao c2l6ZSksCQkJXAo+ICsJCSJOb24tY29uc3RhbnQgJ3NpemUnIC0gY2hlY2sgYXJndW1lbnQgb3Jk ZXJpbmc/Iik7CVwKPiArCV9fZHJtX21hbGxvY19nZnAobm1lbWIsIHNpemUsIGdmcCk7CQkJCVwK PiArfSkKPiArCj4gICBzdGF0aWMgX19pbmxpbmUgdm9pZCBkcm1fZnJlZV9sYXJnZSh2b2lkICpw dHIpCj4gICB7Cj4gICAJa3ZmcmVlKHB0cik7Cj4KCmk5MTUgY2xlYW51cHMgYXJlIGdvb2QgYnV0 IEkgYW0gdW5zdXJlIG9mIHdoZXRoZXIgaXQgaXMgZ29vZCB0byBhZGQgdGhpcyAKY29uc3RhbnQg Y29uc3RyYWludHMuIEFsbCBjdXJyZW50IGNvZGUgc2VlbXMgdG8gdXNlIGl0IGxpa2UgdGhhdCwg dHJ1ZSwgCmJ1dCBJIGFtIG5vdCBzdXJlIHRoYXQgaXQgc2hvdWxkIGJlIGEgcmVxdWlyZW1lbnQu CgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=