From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH v5 2/7] drm: add parameter-order checking to drm memory allocators Date: Mon, 29 Feb 2016 11:13:09 +0000 Message-ID: <1456744394-29831-3-git-send-email-david.s.gordon@intel.com> References: <1456744394-29831-1-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456744394-29831-1-git-send-email-david.s.gordon@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: Dave Gordon , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QWZ0ZXIgdGhlIHJlY2VudCBhZGRpdGlvbiBvZiBkcm1fbWFsbG9jX2dmcCgpLCBpdCB3YXMgbm90 aWNlZCB0aGF0CnNvbWUgY2FsbGVycyBvZiB0aGVzZSBmdW5jdGlvbnMgaGFzIHN3YXBwZWQgdGhl IHBhcmFtZXRlcnMgaW4gdGhlCmNhbGwgLSBpdCdzIHN1cHBvc2VkIHRvIGJlICdudW1iZXIgb2Yg bWVtYmVycycgYW5kICdzaXplb2YoZWxlbWVudCknLApidXQgYSBmZXcgY2FsbGVycyBoYWQgZ290 IHRoZSBzaXplIGZpcnN0IGFuZCB0aGUgY291bnQgc2Vjb25kLiBUaGlzCmlzbid0IG90aGVyd2lz ZSBkZXRlY3RlZCBiZWNhdXNlIHRoZXkncmUgYm90aCB0eXBlICdzaXplX3QnLCBhbmQKdGhlIGlt cGxlbWVudGF0aW9uIGF0IHByZXNlbnQganVzdCBtdWx0aXBsaWVzIHRoZW0gYW55d2F5LCBzbyB0 aGUKcmVzdWx0IGlzIHN0aWxsIHJpZ2h0LiBCdXQgc29tZSBmdXR1cmUgaW1wbGVtZW50YXRpb24g bWlnaHQgdHJlYXQKdGhlbSBkaWZmZXJlbnRseSAoZS5nLiBhbGxvd2luZyAwIGVsZW1lbnRzIGJ1 dCBub3QgemVybyBzaXplKSwgc28KbGV0J3MgYWRkIHNvbWUgY29tcGlsZS10aW1lIGNoZWNrcyBh bmQgY29tcGxhaW4gaWYgdGhlIHNlY29uZCAoc2l6ZSkKcGFyYW1ldGVyIGlzbid0IGEgc2l6ZW9m KCkgZXhwcmVzc2lvbiwgb3IgYXQgbGVhc3QgYSBjb21waWxlLXRpbWUKY29uc3RhbnQuCgpUaGlz IHBhdGNoIGFsc28gZml4ZXMgdGhvc2UgY2FsbGVycyB3aGVyZSB0aGUgb3JkZXIgd2FzIHdyb25n LgoKU2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4K Q2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT5DYzogZHJpLQpDYzogZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwotLS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyAgIHwgIDggKysrKy0tLS0KIGluY2x1ZGUvZHJtL2RybV9tZW1fdXRpbC5o ICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMyBm aWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIGIvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKaW5kZXggMWFiYTAxYS4uOWFl NGE3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3Vi bWl0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMK QEAgLTM0MCw3ICszNDAsNyBAQCBpbnQgZXRuYXZpdl9pb2N0bF9nZW1fc3VibWl0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJICovCiAJYm9zID0gZHJtX21hbGxvY19hYihh cmdzLT5ucl9ib3MsIHNpemVvZigqYm9zKSk7CiAJcmVsb2NzID0gZHJtX21hbGxvY19hYihhcmdz LT5ucl9yZWxvY3MsIHNpemVvZigqcmVsb2NzKSk7Ci0Jc3RyZWFtID0gZHJtX21hbGxvY19hYigx LCBhcmdzLT5zdHJlYW1fc2l6ZSk7CisJc3RyZWFtID0gZHJtX21hbGxvY19hYihhcmdzLT5zdHJl YW1fc2l6ZSwgc2l6ZW9mKCpzdHJlYW0pKTsKIAljbWRidWYgPSBldG5hdml2X2dwdV9jbWRidWZf bmV3KGdwdSwgQUxJR04oYXJncy0+c3RyZWFtX3NpemUsIDgpICsgOCwKIAkJCQkJYXJncy0+bnJf Ym9zKTsKIAlpZiAoIWJvcyB8fCAhcmVsb2NzIHx8ICFzdHJlYW0gfHwgIWNtZGJ1ZikgewpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDE4YTVkY2MuLjg2 NTg3NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAg LTE2ODcsOCArMTY4Nyw4IEBAIHN0YXRpYyBib29sIG9ubHlfbWFwcGFibGVfZm9yX3JlbG9jKHVu c2lnbmVkIGludCBmbGFncykKIAl9CiAKIAkvKiBDb3B5IGluIHRoZSBleGVjIGxpc3QgZnJvbSB1 c2VybGFuZCAqLwotCWV4ZWNfbGlzdCA9IGRybV9tYWxsb2NfYWIoc2l6ZW9mKCpleGVjX2xpc3Qp LCBhcmdzLT5idWZmZXJfY291bnQpOwotCWV4ZWMyX2xpc3QgPSBkcm1fbWFsbG9jX2FiKHNpemVv ZigqZXhlYzJfbGlzdCksIGFyZ3MtPmJ1ZmZlcl9jb3VudCk7CisJZXhlY19saXN0ID0gZHJtX21h bGxvY19hYihhcmdzLT5idWZmZXJfY291bnQsIHNpemVvZigqZXhlY19saXN0KSk7CisJZXhlYzJf bGlzdCA9IGRybV9tYWxsb2NfYWIoYXJncy0+YnVmZmVyX2NvdW50LCBzaXplb2YoKmV4ZWMyX2xp c3QpKTsKIAlpZiAoZXhlY19saXN0ID09IE5VTEwgfHwgZXhlYzJfbGlzdCA9PSBOVUxMKSB7CiAJ CURSTV9ERUJVRygiRmFpbGVkIHRvIGFsbG9jYXRlIGV4ZWMgbGlzdCBmb3IgJWQgYnVmZmVyc1xu IiwKIAkJCSAgYXJncy0+YnVmZmVyX2NvdW50KTsKQEAgLTE3NzYsOCArMTc3Niw4IEBAIHN0YXRp YyBib29sIG9ubHlfbWFwcGFibGVfZm9yX3JlbG9jKHVuc2lnbmVkIGludCBmbGFncykKIAkJcmV0 dXJuIC1FSU5WQUw7CiAJfQogCi0JZXhlYzJfbGlzdCA9IGRybV9tYWxsb2NfZ2ZwKHNpemVvZigq ZXhlYzJfbGlzdCksCi0JCQkJICAgIGFyZ3MtPmJ1ZmZlcl9jb3VudCwKKwlleGVjMl9saXN0ID0g ZHJtX21hbGxvY19nZnAoYXJncy0+YnVmZmVyX2NvdW50LAorCQkJCSAgICBzaXplb2YoKmV4ZWMy X2xpc3QpLAogCQkJCSAgICBHRlBfVEVNUE9SQVJZKTsKIAlpZiAoZXhlYzJfbGlzdCA9PSBOVUxM KSB7CiAJCURSTV9ERUJVRygiRmFpbGVkIHRvIGFsbG9jYXRlIGV4ZWMgbGlzdCBmb3IgJWQgYnVm ZmVyc1xuIiwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tZW1fdXRpbC5oIGIvaW5jbHVk ZS9kcm0vZHJtX21lbV91dGlsLmgKaW5kZXggNzQxY2U3NS4uODg2ZmYwYSAxMDA2NDQKLS0tIGEv aW5jbHVkZS9kcm0vZHJtX21lbV91dGlsLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21lbV91dGls LmgKQEAgLTI5LDcgKzI5LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KIAotc3Rh dGljIF9faW5saW5lX18gdm9pZCAqZHJtX2NhbGxvY19sYXJnZShzaXplX3Qgbm1lbWIsIHNpemVf dCBzaXplKQorc3RhdGljIF9faW5saW5lX18gdm9pZCAqX19kcm1fY2FsbG9jX2xhcmdlKHNpemVf dCBubWVtYiwgY29uc3Qgc2l6ZV90IHNpemUpCiB7CiAJaWYgKHNpemUgIT0gMCAmJiBubWVtYiA+ IFNJWkVfTUFYIC8gc2l6ZSkKIAkJcmV0dXJuIE5VTEw7CkBAIC00MSw4ICs0MSwxNSBAQCBzdGF0 aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fY2FsbG9jX2xhcmdlKHNpemVfdCBubWVtYiwgc2l6ZV90 IHNpemUpCiAJCQkgR0ZQX0tFUk5FTCB8IF9fR0ZQX0hJR0hNRU0gfCBfX0dGUF9aRVJPLCBQQUdF X0tFUk5FTCk7CiB9CiAKKyNkZWZpbmUJZHJtX2NhbGxvY19sYXJnZShubWVtYiwgc2l6ZSkJCQkJ CVwKKyh7CQkJCQkJCQkJXAorCUJVSUxEX0JVR19PTl9NU0coIV9fYnVpbHRpbl9jb25zdGFudF9w KHNpemUpLAkJCVwKKwkJIk5vbi1jb25zdGFudCAnc2l6ZScgLSBjaGVjayBhcmd1bWVudCBvcmRl cmluZz8iKTsJXAorCV9fZHJtX2NhbGxvY19sYXJnZShubWVtYiwgc2l6ZSk7CQkJCVwKK30pCisK IC8qIE1vZGVsZWQgYWZ0ZXIgY2Fpcm8ncyBtYWxsb2NfYWIsIGl0J3MgbGlrZSBjYWxsb2MgYnV0 IHdpdGhvdXQgdGhlIHplcm9pbmcuICovCi1zdGF0aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fbWFs bG9jX2FiKHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUpCitzdGF0aWMgX19pbmxpbmVfXyB2b2lk ICpfX2RybV9tYWxsb2NfYWIoc2l6ZV90IG5tZW1iLCBjb25zdCBzaXplX3Qgc2l6ZSkKIHsKIAlp ZiAoc2l6ZSAhPSAwICYmIG5tZW1iID4gU0laRV9NQVggLyBzaXplKQogCQlyZXR1cm4gTlVMTDsK QEAgLTU0LDggKzYxLDE4IEBAIHN0YXRpYyBfX2lubGluZV9fIHZvaWQgKmRybV9tYWxsb2NfYWIo c2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSkKIAkJCSBHRlBfS0VSTkVMIHwgX19HRlBfSElHSE1F TSwgUEFHRV9LRVJORUwpOwogfQogCi1zdGF0aWMgX19pbmxpbmVfXyB2b2lkICpkcm1fbWFsbG9j X2dmcChzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBnZnBfdCBnZnApCisjZGVmaW5lCWRybV9t YWxsb2NfYWIobm1lbWIsIHNpemUpCQkJCQlcCisoewkJCQkJCQkJCVwKKwlCVUlMRF9CVUdfT05f TVNHKCFfX2J1aWx0aW5fY29uc3RhbnRfcChzaXplKSwJCQlcCisJCSJOb24tY29uc3RhbnQgJ3Np emUnIC0gY2hlY2sgYXJndW1lbnQgb3JkZXJpbmc/Iik7CVwKKwlfX2RybV9tYWxsb2NfYWIobm1l bWIsIHNpemUpOwkJCQkJXAorfSkKKworc3RhdGljIF9faW5saW5lX18gdm9pZCAqX19kcm1fbWFs bG9jX2dmcChzaXplX3Qgbm1lbWIsIGNvbnN0IHNpemVfdCBzaXplLCBnZnBfdCBnZnApCiB7CisJ QlVJTERfQlVHX09OX01TRyghX19idWlsdGluX2NvbnN0YW50X3Aoc2l6ZSksCisJCSJOb24tY29u c3RhbnQgJ3NpemUnIC0gY2hlY2sgYXJndW1lbnQgb3JkZXJpbmc/Iik7CisKIAlpZiAoc2l6ZSAh PSAwICYmIG5tZW1iID4gU0laRV9NQVggLyBzaXplKQogCQlyZXR1cm4gTlVMTDsKIApAQCAtNzMs NiArOTAsMTMgQEAgc3RhdGljIF9faW5saW5lX18gdm9pZCAqZHJtX21hbGxvY19nZnAoc2l6ZV90 IG5tZW1iLCBzaXplX3Qgc2l6ZSwgZ2ZwX3QgZ2ZwKQogCQkJIGdmcCB8IF9fR0ZQX0hJR0hNRU0s IFBBR0VfS0VSTkVMKTsKIH0KIAorI2RlZmluZQlkcm1fbWFsbG9jX2dmcChubWVtYiwgc2l6ZSwg Z2ZwKQkJCQlcCisoewkJCQkJCQkJCVwKKwlCVUlMRF9CVUdfT05fTVNHKCFfX2J1aWx0aW5fY29u c3RhbnRfcChzaXplKSwJCQlcCisJCSJOb24tY29uc3RhbnQgJ3NpemUnIC0gY2hlY2sgYXJndW1l bnQgb3JkZXJpbmc/Iik7CVwKKwlfX2RybV9tYWxsb2NfZ2ZwKG5tZW1iLCBzaXplLCBnZnApOwkJ CQlcCit9KQorCiBzdGF0aWMgX19pbmxpbmUgdm9pZCBkcm1fZnJlZV9sYXJnZSh2b2lkICpwdHIp CiB7CiAJa3ZmcmVlKHB0cik7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==