From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 01/10] drm/i915: Make GEM object alloc/free and stolen created take dev_priv Date: Thu, 1 Dec 2016 14:16:36 +0000 Message-ID: <1480601805-14391-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1480601805-14391-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8289B6E7DF for ; Thu, 1 Dec 2016 14:16:54 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id u144so34348480wmu.0 for ; Thu, 01 Dec 2016 06:16:54 -0800 (PST) In-Reply-To: <1480601805-14391-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldoZXJlIGl0 IGlzIG1vcmUgYXBwcm9wcmlhdGUgYW5kIGFsc28gdG8gYmUgY29uc2lzdGVudCB3aXRoCnRoZSBk aXJlY3Rpb24gb2YgdGhlIGRyaXZlci4KCnYyOiBMZWF2ZSBvdXQgb2JqZWN0IGFsbG9jL2ZyZWUg aW5saW5pbmcuIChKb29uYXMgTGFodGluZW4pCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxp biA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpv b25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyAgICAgICAgICB8ICA1ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9kbWFidWYuYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ludGVy bmFsLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgICB8 IDIxICsrKysrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dXNlcnB0ci5jICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgICAgIHwgIDMgKy0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICB8ICAyICstCiAxMiBmaWxlcyBjaGFuZ2VkLCAy NCBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApp bmRleCAzNGYyYjBkYTZhODEuLjY1ZDdhNzgxMTIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CkBAIC0yOTgxLDcgKzI5ODEsNyBAQCB2b2lkIGk5MTVfZ2VtX2xvYWRfaW5pdF9mZW5jZXMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2dlbV9mcmVlemUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2dlbV9mcmVlemVfbGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCi12b2lkICppOTE1X2dlbV9v YmplY3RfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cit2b2lkICppOTE1X2dlbV9vYmpl Y3RfYWxsb2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaTkxNV9n ZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGk5 MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkg Y29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzICpvcHMpOwpAQCAtMzM2Niw5ICsz MzY2LDkgQEAgdm9pZCBpOTE1X2dlbV9zdG9sZW5fcmVtb3ZlX25vZGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfc3RvbGVuKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkx NV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHNp emUpOworaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1MzIgc2l6ZSk7CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCi1p OTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2Nh dGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJICAgICAgIHUzMiBz dG9sZW5fb2Zmc2V0LAogCQkJCQkgICAgICAgdTMyIGd0dF9vZmZzZXQsCiAJCQkJCSAgICAgICB1 MzIgc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA4ZWJlZmI2ZjZjZjIuLmFiNzVk MjdiNzRkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC02MjIsOSArNjIyLDggQEAgaTkx NV9nZW1fcGh5c19wd3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlyZXR1 cm4gcmV0OwogfQogCi12b2lkICppOTE1X2dlbV9vYmplY3RfYWxsb2Moc3RydWN0IGRybV9kZXZp Y2UgKmRldikKK3ZvaWQgKmk5MTVfZ2VtX29iamVjdF9hbGxvYyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkZXYpOwogCXJldHVybiBrbWVtX2NhY2hlX3phbGxvYyhkZXZfcHJpdi0+b2JqZWN0 cywgR0ZQX0tFUk5FTCk7CiB9CiAKQEAgLTM5OTAsNyArMzk4OSw3IEBAIGk5MTVfZ2VtX29iamVj dF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTY0IHNpemUpCiAJaWYgKG92ZXJmbG93 c190eXBlKHNpemUsIG9iai0+YmFzZS5zaXplKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUUyQklHKTsK IAotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9hbGxvYyhkZXYpOworCW9iaiA9IGk5MTVfZ2VtX29i amVjdF9hbGxvYyhkZXZfcHJpdik7CiAJaWYgKG9iaiA9PSBOVUxMKQogCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYwppbmRleCA1 ZTM4Mjk5YjVkZjYuLmQwMzdhZGNkYTZmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZG1hYnVmLmMKQEAgLTI3OCw3ICsyNzgsNyBAQCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmk5MTVf Z2VtX3ByaW1lX2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJZ2V0X2RtYV9idWYo ZG1hX2J1Zik7CiAKLQlvYmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2KTsKKwlvYmogPSBp OTE1X2dlbV9vYmplY3RfYWxsb2ModG9faTkxNShkZXYpKTsKIAlpZiAob2JqID09IE5VTEwpIHsK IAkJcmV0ID0gLUVOT01FTTsKIAkJZ290byBmYWlsX2RldGFjaDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ludGVybmFsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9pbnRlcm5hbC5jCmluZGV4IDRiM2ZmM2U1YjkxMS4uMDhkMjYzMDZkNDBlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ludGVybmFsLmMKQEAgLTE1NSw3ICsxNTUs NyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAKLQlvYmog PSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoJmk5MTUtPmRybSk7CisJb2JqID0gaTkxNV9nZW1fb2Jq ZWN0X2FsbG9jKGk5MTUpOwogCWlmICghb2JqKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwppbmRleCBlYmFhOTQxYzgzYWYu LmIzYmFjMjU1NzY2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f c3RvbGVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKQEAg LTU3OSwyMiArNTc5LDIxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dF9vcHMgaTkxNV9nZW1fb2JqZWN0X3N0b2xlbl9vcHMgPSB7CiB9OwogCiBzdGF0aWMgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKgotX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCitfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgICAgIHN0cnVjdCBkcm1fbW1f bm9kZSAqc3RvbGVuKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAKLQlv YmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2KTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3Rf YWxsb2MoZGV2X3ByaXYpOwogCWlmIChvYmogPT0gTlVMTCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlk cm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoZGV2LCAmb2JqLT5iYXNlLCBzdG9sZW4tPnNpemUp OworCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmZGV2X3ByaXYtPmRybSwgJm9iai0+YmFz ZSwgc3RvbGVuLT5zaXplKTsKIAlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZpOTE1X2dlbV9v YmplY3Rfc3RvbGVuX29wcyk7CiAKIAlvYmotPnN0b2xlbiA9IHN0b2xlbjsKIAlvYmotPmJhc2Uu cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX0NQVSB8IEk5MTVfR0VNX0RPTUFJTl9HVFQ7 Ci0Jb2JqLT5jYWNoZV9sZXZlbCA9IEhBU19MTEModG9faTkxNShkZXYpKSA/Ci0JCQkgICBJOTE1 X0NBQ0hFX0xMQyA6IEk5MTVfQ0FDSEVfTk9ORTsKKwlvYmotPmNhY2hlX2xldmVsID0gSEFTX0xM QyhkZXZfcHJpdikgPyBJOTE1X0NBQ0hFX0xMQyA6IEk5MTVfQ0FDSEVfTk9ORTsKIAogCWlmIChp OTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaikpCiAJCWdvdG8gY2xlYW51cDsKQEAgLTYwNyw5 ICs2MDYsOCBAQCBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIH0KIAogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1fb2Jq ZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHNpemUpCitpOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHUzMiBzaXplKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCXN0cnVjdCBk cm1fbW1fbm9kZSAqc3RvbGVuOwogCWludCByZXQ7CkBAIC02MzAsNyArNjI4LDcgQEAgaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHNpemUp CiAJCXJldHVybiBOVUxMOwogCX0KIAotCW9iaiA9IF9pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0 b2xlbihkZXYsIHN0b2xlbik7CisJb2JqID0gX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVu KGRldl9wcml2LCBzdG9sZW4pOwogCWlmIChvYmopCiAJCXJldHVybiBvYmo7CiAKQEAgLTY0MCwx MiArNjM4LDExIEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHUzMiBzaXplKQogfQogCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCi1p OTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2Nh dGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJICAgICAgIHUzMiBz dG9sZW5fb2Zmc2V0LAogCQkJCQkgICAgICAgdTMyIGd0dF9vZmZzZXQsCiAJCQkJCSAgICAgICB1 MzIgc2l6ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CiAJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZkZXZfcHJpdi0+Z2d0dDsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCXN0cnVjdCBkcm1fbW1fbm9kZSAqc3RvbGVu OwpAQCAtNjU1LDcgKzY1Miw3IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9w cmVhbGxvY2F0ZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpZiAoIWRybV9tbV9pbml0aWFs aXplZCgmZGV2X3ByaXYtPm1tLnN0b2xlbikpCiAJCXJldHVybiBOVUxMOwogCi0JbG9ja2RlcF9h c3NlcnRfaGVsZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRl dl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIAogCURSTV9ERUJVR19LTVMoImNyZWF0aW5nIHBy ZWFsbG9jYXRlZCBzdG9sZW4gb2JqZWN0OiBzdG9sZW5fb2Zmc2V0PSV4LCBndHRfb2Zmc2V0PSV4 LCBzaXplPSV4XG4iLAogCQkJc3RvbGVuX29mZnNldCwgZ3R0X29mZnNldCwgc2l6ZSk7CkBAIC02 ODAsNyArNjc3LDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9j YXRlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlvYmog PSBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2LCBzdG9sZW4pOworCW9iaiA9IF9p OTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXZfcHJpdiwgc3RvbGVuKTsKIAlpZiAob2Jq ID09IE5VTEwpIHsKIAkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIGFsbG9jYXRlIHN0b2xlbiBv YmplY3RcbiIpOwogCQlpOTE1X2dlbV9zdG9sZW5fcmVtb3ZlX25vZGUoZGV2X3ByaXYsIHN0b2xl bik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKaW5kZXggMTA3ZGRmNTEw NjVlLi40ODk2M2EyMDk5MmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRy LmMKQEAgLTc4NCw3ICs3ODQsNyBAQCBpOTE1X2dlbV91c2VycHRyX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZQogCQlyZXR1cm4g LUVOT0RFVjsKIAl9CiAKLQlvYmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2KTsKKwlvYmog PSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2X3ByaXYpOwogCWlmIChvYmogPT0gTlVMTCkKIAkJ cmV0dXJuIC1FTk9NRU07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA4 Y2U1MzZhNzY3YWQuLjQ0NWU3ODUzOWRlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwpAQCAtMjY4OSw3ICsyNjg5LDcgQEAgaW50ZWxfYWxsb2NfaW5pdGlhbF9wbGFuZV9vYmoo c3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7CiAKLQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2Nh dGVkKGRldiwKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxs b2NhdGVkKGRldl9wcml2LAogCQkJCQkJCSAgICAgYmFzZV9hbGlnbmVkLAogCQkJCQkJCSAgICAg YmFzZV9hbGlnbmVkLAogCQkJCQkJCSAgICAgc2l6ZV9hbGlnbmVkKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggM2RhNGQ0NjZlMzMyLi4zNDhmYWU2MjA4MTEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCkBAIC0yNTcsNyArMjU3LDcgQEAg aW50IGludGVsX2VuZ2luZV9jcmVhdGVfc2NyYXRjaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUsIGludCBzaXplKQogCiAJV0FSTl9PTihlbmdpbmUtPnNjcmF0Y2gpOwogCi0Jb2JqID0g aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oJmVuZ2luZS0+aTkxNS0+ZHJtLCBzaXplKTsK KwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihlbmdpbmUtPmk5MTUsIHNpemUp OwogCWlmICghb2JqKQogCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKGVu Z2luZS0+aTkxNSwgc2l6ZSk7CiAJaWYgKElTX0VSUihvYmopKSB7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZmJkZXYuYwppbmRleCBiZWIwODk4MmRjMGIuLjdjNTE4M2Q4ZTI5ZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9mYmRldi5jCkBAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIGludCBpbnRlbGZi X2FsbG9jKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJICogaW1wb3J0YW50IGFuZCB3 ZSBzaG91bGQgcHJvYmFibHkgdXNlIHRoYXQgc3BhY2Ugd2l0aCBGQkMgb3Igb3RoZXIKIAkgKiBm ZWF0dXJlcy4gKi8KIAlpZiAoc2l6ZSAqIDIgPCBnZ3R0LT5zdG9sZW5fdXNhYmxlX3NpemUpCi0J CW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGRldiwgc2l6ZSk7CisJCW9iaiA9 IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGRldl9wcml2LCBzaXplKTsKIAlpZiAob2Jq ID09IE5VTEwpCiAJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoZGV2LCBzaXplKTsKIAlp ZiAoSVNfRVJSKG9iaikpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwppbmRleCBm ZDBlNGRhYzdjYzEuLjBhN2I4M2FhYTJiNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfb3ZlcmxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJs YXkuYwpAQCAtMTM5MSw4ICsxMzkxLDcgQEAgdm9pZCBpbnRlbF9zZXR1cF9vdmVybGF5KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCXJlZ19ibyA9IE5VTEw7CiAJaWYgKCFP VkVSTEFZX05FRURTX1BIWVNJQ0FMKGRldl9wcml2KSkKLQkJcmVnX2JvID0gaTkxNV9nZW1fb2Jq ZWN0X2NyZWF0ZV9zdG9sZW4oJmRldl9wcml2LT5kcm0sCi0JCQkJCQkgICAgICAgUEFHRV9TSVpF KTsKKwkJcmVnX2JvID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIFBB R0VfU0laRSk7CiAJaWYgKHJlZ19ibyA9PSBOVUxMKQogCQlyZWdfYm8gPSBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlKCZkZXZfcHJpdi0+ZHJtLCBQQUdFX1NJWkUpOwogCWlmIChJU19FUlIocmVnX2Jv KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDI5YjY2NTM2NjFjZC4uY2EzMWNkZDgyZWJk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTU4MDUsNyArNTgwNSw3IEBAIHN0YXRpYyB2 b2lkIHZhbGxleXZpZXdfc2V0dXBfcGN0eChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJCWludCBwY2JyX29mZnNldDsKIAogCQlwY2JyX29mZnNldCA9IChwY2JyICYgKH40MDk1 KSkgLSBkZXZfcHJpdi0+bW0uc3RvbGVuX2Jhc2U7Ci0JCXBjdHggPSBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2NhdGVkKCZkZXZfcHJpdi0+ZHJtLAorCQlwY3R4ID0g aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChkZXZfcHJpdiwK IAkJCQkJCQkJICAgICAgcGNicl9vZmZzZXQsCiAJCQkJCQkJCSAgICAgIEk5MTVfR1RUX09GRlNF VF9OT05FLAogCQkJCQkJCQkgICAgICBwY3R4X3NpemUpOwpAQCAtNTgyMiw3ICs1ODIyLDcgQEAg c3RhdGljIHZvaWQgdmFsbGV5dmlld19zZXR1cF9wY3R4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAkgKiBvdmVybGFwIHdpdGggb3RoZXIgcmFuZ2VzLCBzdWNoIGFzIHRoZSBm cmFtZSBidWZmZXIsIHByb3RlY3RlZAogCSAqIG1lbW9yeSwgb3IgYW55IG90aGVyIHJlbGV2YW50 IHJhbmdlcy4KIAkgKi8KLQlwY3R4ID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oJmRl dl9wcml2LT5kcm0sIHBjdHhfc2l6ZSk7CisJcGN0eCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVf c3RvbGVuKGRldl9wcml2LCBwY3R4X3NpemUpOwogCWlmICghcGN0eCkgewogCQlEUk1fREVCVUco Im5vdCBlbm91Z2ggc3RvbGVuIHNwYWNlIGZvciBQQ1RYLCBkaXNhYmxpbmdcbiIpOwogCQlnb3Rv IG91dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBhZWI2Mzdk YzFmZGYuLmUxOTNlNTJmNjY5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYwpAQCAtMTg2OSw3ICsxODY5LDcgQEAgaW50ZWxfcmluZ19jcmVhdGVfdm1hKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHNpemUpCiAJc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAotCW9iaiA9IGk5MTVfZ2Vt X29iamVjdF9jcmVhdGVfc3RvbGVuKCZkZXZfcHJpdi0+ZHJtLCBzaXplKTsKKwlvYmogPSBpOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXZfcHJpdiwgc2l6ZSk7CiAJaWYgKCFvYmopCiAJ CW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoJmRldl9wcml2LT5kcm0sIHNpemUpOwogCWlm IChJU19FUlIob2JqKSkKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK