From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: [PATCH] drm/gem: Warn on illegal use of the dumb buffer interface v2 Date: Thu, 20 Nov 2014 09:56:25 +0100 Message-ID: <1416473785-8740-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp-outbound-1.vmware.com (smtp-outbound-1.vmware.com [208.91.2.12]) by gabe.freedesktop.org (Postfix) with ESMTP id E79656E895 for ; Thu, 20 Nov 2014 00:57:31 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@gmail.com, airlied@redhat.com Cc: Thomas Hellstrom , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SXQgaGFwcGVucyBvbiBvY2Nhc2lvbiB0aGF0IGRldmVsb3BlcnMgb2YgZ2VuZXJpYyB1c2VyLXNw YWNlIGFwcGxpY2F0aW9ucwphYnVzZSB0aGUgZHVtYiBidWZmZXIgQVBJIHRvIGdldCBob2xkIG9m IGRybSBidWZmZXJzIHRoYXQgdGhleSBjYW4gYm90aAptbWFwKCkgYW5kIHVzZSBmb3IgR1BVIGFj Y2VsZXJhdGlvbiwgdXNpbmcgdGhlIGFzc3VtcHRpb25zIHRoYXQgZHVtYiBidWZmZXJzCmFuZCBi dWZmZXJzIGF2YWlsYWJsZSBmb3IgR1BVIGFyZQphKSBUaGUgc2FtZSB0eXBlIGFuZCBjYW4gYmUg YXJpYnRyYXJpbHkgdHlwZS1jYXN0ZWQuCmIpIGZ1bGx5IGNvaGVyZW50LgoKVGhpcyBwYXRjaCBt YWtlcyB0aGUgbW9zdCB3aWRlbHkgdXNlZCBkcml2ZXJzIHdhcm4gbmljZWx5IHdoZW4gdGhhdCBo YXBwZW5zLAp0aGUgbmV4dCBzdGVwIHdpbGwgYmUgdG8gZmFpbC4KCnYyOiBNb3ZlIGRybVAuaCBj aGFuZ2VzIHRvIGRybV9nZW0uaC4gRml4IFJhZGVvbiBkdW1iIG1tYXAgYnJlYWthZ2UuCgpTaWdu ZWQtb2ZmLWJ5OiBUaG9tYXMgSGVsbHN0cm9tIDx0aGVsbHN0cm9tQHZtd2FyZS5jb20+CkFja2Vk LWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpBY2tlZC1ieTogQWxl eCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KQWx0aG91Z2ggSSBkb24n dCB0aGluayB0aGlzIHBhdGNoIHNob3VsZCBicmVhayBhbnl0aGluZywgaXQncyBvbmx5CmNvbXBp bGUtdGVzdGVkLgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAg NSArKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgMjgg KysrKysrKysrKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1 X2Rpc3BsYXkuYyAgfCAgOSArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfZ2VtLmMgICAgICB8ICAzICsrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2Vt LmMgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX29iamVjdC5jICAgICB8ICAzICsrKwogaW5jbHVkZS9kcm0vZHJtX2dl bS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCA3 NCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpp bmRleCAyNDA0YjJiLi5jNzQzOTA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTE1OTMs NyArMTU5Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIgPSB7CiAJLmdlbV9w cmltZV9pbXBvcnQgPSBpOTE1X2dlbV9wcmltZV9pbXBvcnQsCiAKIAkuZHVtYl9jcmVhdGUgPSBp OTE1X2dlbV9kdW1iX2NyZWF0ZSwKLQkuZHVtYl9tYXBfb2Zmc2V0ID0gaTkxNV9nZW1fbW1hcF9n dHQsCisJLmR1bWJfbWFwX29mZnNldCA9IGk5MTVfZ2VtX2R1bWJfbWFwX29mZnNldCwKIAkuZHVt Yl9kZXN0cm95ID0gZHJtX2dlbV9kdW1iX2Rlc3Ryb3ksCiAJLmlvY3RscyA9IGk5MTVfaW9jdGxz LAogCS5mb3BzID0gJmk5MTVfZHJpdmVyX2ZvcHMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCBmODMwNTk2Li40YmExYWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI1MjMsOCAr MjUyMyw5IEBAIHZvaWQgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2 bWEsCiBpbnQgaTkxNV9nZW1fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYs CiAJCQkgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSBzdHJ1Y3QgZHJtX21vZGVfY3JlYXRl X2R1bWIgKmFyZ3MpOwotaW50IGk5MTVfZ2VtX21tYXBfZ3R0KHN0cnVjdCBkcm1fZmlsZSAqZmls ZV9wcml2LCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkgICAgICB1aW50MzJfdCBoYW5kbGUs IHVpbnQ2NF90ICpvZmZzZXQpOworaW50IGk5MTVfZ2VtX2R1bWJfbWFwX29mZnNldChzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdiwKKwkJCSAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWlu dDMyX3QgaGFuZGxlLAorCQkJICAgICB1aW50NjRfdCAqb2Zmc2V0KTsKIC8qKgogICogUmV0dXJu cyB0cnVlIGlmIHNlcTEgaXMgbGF0ZXIgdGhhbiBzZXEyLgogICovCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwppbmRleCAzZTBjYWJlLi41MGI4NDIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTM0Niw2ICszNDYsNyBAQCBzdGF0aWMgaW50CiBpOTE1X2dlbV9jcmVhdGUoc3RydWN0IGRybV9m aWxlICpmaWxlLAogCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQl1aW50NjRfdCBzaXplLAor CQlib29sIGR1bWIsCiAJCXVpbnQzMl90ICpoYW5kbGVfcCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqOwpAQCAtMzYxLDYgKzM2Miw3IEBAIGk5MTVfZ2VtX2NyZWF0ZShzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGUsCiAJaWYgKG9iaiA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsK IAorCW9iai0+YmFzZS5kdW1iID0gZHVtYjsKIAlyZXQgPSBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUo ZmlsZSwgJm9iai0+YmFzZSwgJmhhbmRsZSk7CiAJLyogZHJvcCByZWZlcmVuY2UgZnJvbSBhbGxv Y2F0ZSAtIGhhbmRsZSBob2xkcyBpdCBub3cgKi8KIAlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5j ZV91bmxvY2tlZCgmb2JqLT5iYXNlKTsKQEAgLTM4MCw3ICszODIsNyBAQCBpOTE1X2dlbV9kdW1i X2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCiAJYXJncy0+cGl0Y2ggPSBBTElHTihhcmdz LT53aWR0aCAqIERJVl9ST1VORF9VUChhcmdzLT5icHAsIDgpLCA2NCk7CiAJYXJncy0+c2l6ZSA9 IGFyZ3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OwogCXJldHVybiBpOTE1X2dlbV9jcmVhdGUoZmls ZSwgZGV2LAotCQkJICAgICAgIGFyZ3MtPnNpemUsICZhcmdzLT5oYW5kbGUpOworCQkJICAgICAg IGFyZ3MtPnNpemUsIHRydWUsICZhcmdzLT5oYW5kbGUpOwogfQogCiAvKioKQEAgLTM5Myw3ICsz OTUsNyBAQCBpOTE1X2dlbV9jcmVhdGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZSAqYXJncyA9IGRhdGE7CiAKIAly ZXR1cm4gaTkxNV9nZW1fY3JlYXRlKGZpbGUsIGRldiwKLQkJCSAgICAgICBhcmdzLT5zaXplLCAm YXJncy0+aGFuZGxlKTsKKwkJCSAgICAgICBhcmdzLT5zaXplLCBmYWxzZSwgJmFyZ3MtPmhhbmRs ZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50CkBAIC0xNzczLDEwICsxNzc1LDEwIEBAIHN0YXRp YyB2b2lkIGk5MTVfZ2VtX29iamVjdF9mcmVlX21tYXBfb2Zmc2V0KHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJZHJtX2dlbV9mcmVlX21tYXBfb2Zmc2V0KCZvYmotPmJhc2UpOwog fQogCi1pbnQKK3N0YXRpYyBpbnQKIGk5MTVfZ2VtX21tYXBfZ3R0KHN0cnVjdCBkcm1fZmlsZSAq ZmlsZSwKIAkJICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkgIHVpbnQzMl90IGhhbmRsZSwK KwkJICB1aW50MzJfdCBoYW5kbGUsIGJvb2wgZHVtYiwKIAkJICB1aW50NjRfdCAqb2Zmc2V0KQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CkBAIC0xNzkzLDYgKzE3OTUsMTMgQEAgaTkxNV9nZW1fbW1hcF9ndHQoc3RydWN0IGRybV9maWxl ICpmaWxlLAogCQlnb3RvIHVubG9jazsKIAl9CiAKKwkvKgorCSAqIFdlIGRvbid0IGFsbG93IGR1 bWIgbW1hcHMgb24gb2JqZWN0cyBjcmVhdGVkIHVzaW5nIGFub3RoZXIKKwkgKiBpbnRlcmZhY2Uu CisJICovCisJV0FSTl9PTkNFKGR1bWIgJiYgIShvYmotPmJhc2UuZHVtYiB8fCBvYmotPmJhc2Uu aW1wb3J0X2F0dGFjaCksCisJCSAgIklsbGVnYWwgZHVtYiBtYXAgb2YgYWNjZWxlcmF0ZWQgYnVm ZmVyLlxuIik7CisKIAlpZiAob2JqLT5iYXNlLnNpemUgPiBkZXZfcHJpdi0+Z3R0Lm1hcHBhYmxl X2VuZCkgewogCQlyZXQgPSAtRTJCSUc7CiAJCWdvdG8gb3V0OwpAQCAtMTgxNyw2ICsxODI2LDE1 IEBAIHVubG9jazoKIAlyZXR1cm4gcmV0OwogfQogCitpbnQKK2k5MTVfZ2VtX2R1bWJfbWFwX29m ZnNldChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCisJCQkgc3RydWN0IGRybV9kZXZpY2UgKmRldiwK KwkJCSB1aW50MzJfdCBoYW5kbGUsCisJCQkgdWludDY0X3QgKm9mZnNldCkKK3sKKwlyZXR1cm4g aTkxNV9nZW1fbW1hcF9ndHQoZmlsZSwgZGV2LCBoYW5kbGUsIHRydWUsIG9mZnNldCk7Cit9CisK IC8qKgogICogaTkxNV9nZW1fbW1hcF9ndHRfaW9jdGwgLSBwcmVwYXJlIGFuIG9iamVjdCBmb3Ig R1RUIG1tYXAnaW5nCiAgKiBAZGV2OiBEUk0gZGV2aWNlCkBAIC0xODM4LDcgKzE4NTYsNyBAQCBp OTE1X2dlbV9tbWFwX2d0dF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcF9ndHQgKmFyZ3MgPSBkYXRhOwogCi0JcmV0 dXJuIGk5MTVfZ2VtX21tYXBfZ3R0KGZpbGUsIGRldiwgYXJncy0+aGFuZGxlLCAmYXJncy0+b2Zm c2V0KTsKKwlyZXR1cm4gaTkxNV9nZW1fbW1hcF9ndHQoZmlsZSwgZGV2LCBhcmdzLT5oYW5kbGUs IGZhbHNlLCAmYXJncy0+b2Zmc2V0KTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCBlMWVkODVhLi4yYjAyZmNm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMjEs NiArMTIxLDkgQEAgZWJfbG9va3VwX3ZtYXMoc3RydWN0IGViX3ZtYXMgKmViLAogCQkJZ290byBl cnI7CiAJCX0KIAorCQlXQVJOX09OQ0Uob2JqLT5iYXNlLmR1bWIsCisJCQkgICJHUFUgdXNlIG9m IGR1bWIgYnVmZmVyIGlzIGlsbGVnYWwuXG4iKTsKKwogCQlkcm1fZ2VtX29iamVjdF9yZWZlcmVu Y2UoJm9iai0+YmFzZSk7CiAJCWxpc3RfYWRkX3RhaWwoJm9iai0+b2JqX2V4ZWNfbGluaywgJm9i amVjdHMpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKaW5k ZXggYTg4ZTY5Mi4uMjY0MGZjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bm91dmVhdV9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9k aXNwbGF5LmMKQEAgLTg3MSw2ICs4NzEsNyBAQCBub3V2ZWF1X2Rpc3BsYXlfZHVtYl9jcmVhdGUo c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYg KHJldCkKIAkJcmV0dXJuIHJldDsKIAorCWJvLT5nZW0uZHVtYiA9IHRydWU7CiAJcmV0ID0gZHJt X2dlbV9oYW5kbGVfY3JlYXRlKGZpbGVfcHJpdiwgJmJvLT5nZW0sICZhcmdzLT5oYW5kbGUpOwog CWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKCZiby0+Z2VtKTsKIAlyZXR1cm4g cmV0OwpAQCAtODg2LDYgKzg4NywxNCBAQCBub3V2ZWF1X2Rpc3BsYXlfZHVtYl9tYXBfb2Zmc2V0 KHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCWdlbSA9IGRybV9nZW1fb2JqZWN0X2xvb2t1 cChkZXYsIGZpbGVfcHJpdiwgaGFuZGxlKTsKIAlpZiAoZ2VtKSB7CiAJCXN0cnVjdCBub3V2ZWF1 X2JvICpibyA9IG5vdXZlYXVfZ2VtX29iamVjdChnZW0pOworCisJCS8qCisJCSAqIFdlIGRvbid0 IGFsbG93IGR1bWIgbW1hcHMgb24gb2JqZWN0cyBjcmVhdGVkIHVzaW5nIGFub3RoZXIKKwkJICog aW50ZXJmYWNlLgorCQkgKi8KKwkJV0FSTl9PTkNFKCEoZ2VtLT5kdW1iIHx8IGdlbS0+aW1wb3J0 X2F0dGFjaCksCisJCQkgICJJbGxlZ2FsIGR1bWIgbWFwIG9mIGFjY2VsZXJhdGVkIGJ1ZmZlci5c biIpOworCiAJCSpwb2Zmc2V0ID0gZHJtX3ZtYV9ub2RlX29mZnNldF9hZGRyKCZiby0+Ym8udm1h X25vZGUpOwogCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZChnZW0pOwogCQly ZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2dlbS5jCmluZGV4IDM2OTUxZWUu LmViYmE5ZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZ2Vt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uYwpAQCAtNDQ0LDYg KzQ0NCw5IEBAIHZhbGlkYXRlX2xpc3Qoc3RydWN0IG5vdXZlYXVfY2hhbm5lbCAqY2hhbiwgc3Ry dWN0IG5vdXZlYXVfY2xpICpjbGksCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShudmJvLCBsaXN0LCBl bnRyeSkgewogCQlzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3B1c2hidWZfYm8gKmIgPSAmcGJib1tu dmJvLT5wYmJvX2luZGV4XTsKIAorCQlXQVJOX09OQ0UobnZiby0+Z2VtLmR1bWIsCisJCQkgICJH UFUgdXNlIG9mIGR1bWIgYnVmZmVyIGlzIGlsbGVnYWwuXG4iKTsKKwogCQlyZXQgPSBub3V2ZWF1 X2dlbV9zZXRfZG9tYWluKCZudmJvLT5nZW0sIGItPnJlYWRfZG9tYWlucywKIAkJCQkJICAgICBi LT53cml0ZV9kb21haW5zLAogCQkJCQkgICAgIGItPnZhbGlkX2RvbWFpbnMpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9nZW0uYwppbmRleCBjMTk0NDk3Li40MjkyMTNiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9nZW0uYwpAQCAtMzk0LDkgKzM5NCwxMCBAQCBpbnQgcmFkZW9uX2dlbV9z ZXRfZG9tYWluX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJcmV0 dXJuIHI7CiB9CiAKLWludCByYWRlb25fbW9kZV9kdW1iX21tYXAoc3RydWN0IGRybV9maWxlICpm aWxwLAotCQkJICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJICB1aW50MzJfdCBoYW5kbGUs IHVpbnQ2NF90ICpvZmZzZXRfcCkKK3N0YXRpYyBpbnQgcmFkZW9uX21vZGVfbW1hcChzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbHAsCisJCQkgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgICB1 aW50MzJfdCBoYW5kbGUsIGJvb2wgZHVtYiwKKwkJCSAgICB1aW50NjRfdCAqb2Zmc2V0X3ApCiB7 CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqOwogCXN0cnVjdCByYWRlb25fYm8gKnJvYmo7 CkBAIC00MDUsNiArNDA2LDE0IEBAIGludCByYWRlb25fbW9kZV9kdW1iX21tYXAoc3RydWN0IGRy bV9maWxlICpmaWxwLAogCWlmIChnb2JqID09IE5VTEwpIHsKIAkJcmV0dXJuIC1FTk9FTlQ7CiAJ fQorCisJLyoKKwkgKiBXZSBkb24ndCBhbGxvdyBkdW1iIG1tYXBzIG9uIG9iamVjdHMgY3JlYXRl ZCB1c2luZyBhbm90aGVyCisJICogaW50ZXJmYWNlLgorCSAqLworCVdBUk5fT05DRShkdW1iICYm ICEoZ29iai0+ZHVtYiB8fCBnb2JqLT5pbXBvcnRfYXR0YWNoKSwKKwkJIklsbGVnYWwgZHVtYiBt YXAgb2YgR1BVIGJ1ZmZlci5cbiIpOworCiAJcm9iaiA9IGdlbV90b19yYWRlb25fYm8oZ29iaik7 CiAJaWYgKHJhZGVvbl90dG1fdHRfaGFzX3VzZXJwdHIocm9iai0+dGJvLnR0bSkpIHsKIAkJZHJt X2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ29iaik7CkBAIC00MTUsMTIgKzQyNCwy MCBAQCBpbnQgcmFkZW9uX21vZGVfZHVtYl9tbWFwKHN0cnVjdCBkcm1fZmlsZSAqZmlscCwKIAly ZXR1cm4gMDsKIH0KIAoraW50IHJhZGVvbl9tb2RlX2R1bWJfbW1hcChzdHJ1Y3QgZHJtX2ZpbGUg KmZpbHAsCisJCQkgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkgIHVpbnQzMl90IGhhbmRs ZSwgdWludDY0X3QgKm9mZnNldF9wKQoreworCXJldHVybiByYWRlb25fbW9kZV9tbWFwKGZpbHAs IGRldiwgaGFuZGxlLCB0cnVlLCBvZmZzZXRfcCk7Cit9CisKIGludCByYWRlb25fZ2VtX21tYXBf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgc3RydWN0IGRy bV9maWxlICpmaWxwKQogewogCXN0cnVjdCBkcm1fcmFkZW9uX2dlbV9tbWFwICphcmdzID0gZGF0 YTsKIAotCXJldHVybiByYWRlb25fbW9kZV9kdW1iX21tYXAoZmlscCwgZGV2LCBhcmdzLT5oYW5k bGUsICZhcmdzLT5hZGRyX3B0cik7CisJcmV0dXJuIHJhZGVvbl9tb2RlX21tYXAoZmlscCwgZGV2 LCBhcmdzLT5oYW5kbGUsIGZhbHNlLAorCQkJCSZhcmdzLT5hZGRyX3B0cik7CiB9CiAKIGludCBy YWRlb25fZ2VtX2J1c3lfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK QEAgLTY4Miw2ICs2OTksNyBAQCBpbnQgcmFkZW9uX21vZGVfZHVtYl9jcmVhdGUoc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYsCiAJCXJldHVybiAtRU5PTUVNOwogCiAJciA9IGRybV9nZW1faGFu ZGxlX2NyZWF0ZShmaWxlX3ByaXYsIGdvYmosICZoYW5kbGUpOworCWdvYmotPmR1bWIgPSB0cnVl OwogCS8qIGRyb3AgcmVmZXJlbmNlIGZyb20gYWxsb2NhdGUgLSBoYW5kbGUgaG9sZHMgaXQgbm93 ICovCiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ29iaik7CiAJaWYgKHIp IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKaW5kZXggMzNlNmM3YS4uNzZl ZWRkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKQEAgLTUyMSw2ICs1 MjEsOSBAQCBpbnQgcmFkZW9uX2JvX2xpc3RfdmFsaWRhdGUoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsCiAJCQl1MzIgY3VycmVudF9kb21haW4gPQogCQkJCXJhZGVvbl9tZW1fdHlwZV90b19k b21haW4oYm8tPnRiby5tZW0ubWVtX3R5cGUpOwogCisJCQlXQVJOX09OQ0UoYm8tPmdlbV9iYXNl LmR1bWIsCisJCQkJICAiR1BVIHVzZSBvZiBkdW1iIGJ1ZmZlciBpcyBpbGxlZ2FsLlxuIik7CisK IAkJCS8qIENoZWNrIGlmIHRoaXMgYnVmZmVyIHdpbGwgYmUgbW92ZWQgYW5kIGRvbid0IG1vdmUg aXQKIAkJCSAqIGlmIHdlIGhhdmUgbW92ZWQgdG9vIG1hbnkgYnVmZmVycyBmb3IgdGhpcyBJQiBh bHJlYWR5LgogCQkJICoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9nZW0uaCBiL2luY2x1 ZGUvZHJtL2RybV9nZW0uaAppbmRleCAxZTZhZTE0Li43ODA1MTFhIDEwMDY0NAotLS0gYS9pbmNs dWRlL2RybS9kcm1fZ2VtLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2dlbS5oCkBAIC0xMTksNiAr MTE5LDEzIEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCB7CiAJICogc2ltcGx5IGxlYXZlIGl0IGFz IE5VTEwuCiAJICovCiAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqaW1wb3J0X2F0dGFjaDsK KworCS8qKgorCSAqIGR1bWIgLSBjcmVhdGVkIGFzIGR1bWIgYnVmZmVyCisJICogV2hldGhlciB0 aGUgZ2VtIG9iamVjdCB3YXMgY3JlYXRlZCB1c2luZyB0aGUgZHVtYiBidWZmZXIgaW50ZXJmYWNl CisJICogYXMgc3VjaCBpdCBtYXkgbm90IGJlIHVzZWQgZm9yIEdQVSByZW5kZXJpbmcuCisJICov CisJYm9vbCBkdW1iOwogfTsKIAogdm9pZCBkcm1fZ2VtX29iamVjdF9yZWxlYXNlKHN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqKTsKLS0gCjEuOC4zLjIKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==