From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 3/3] drm/i915/region: support volatile objects Date: Tue, 8 Oct 2019 17:01:16 +0100 Message-ID: <20191008160116.18379-4-matthew.auld@intel.com> References: <20191008160116.18379-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E8F96E28B for ; Tue, 8 Oct 2019 16:01:24 +0000 (UTC) In-Reply-To: <20191008160116.18379-1-matthew.auld@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 Vm9sYXRpbGUgb2JqZWN0cyBhcmUgbWFya2VkIGFzIERPTlRORUVEIHdoaWxlIHBpbm5lZCwgdGhl cmVmb3JlIG9uY2UKdW5waW5uZWQgdGhlIGJhY2tpbmcgc3RvcmUgY2FuIGJlIGRpc2NhcmRlZC4g VGhpcyBpcyBsaW1pdGVkIHRvIGtlcm5lbAppbnRlcm5hbCBvYmplY3RzLgoKU2lnbmVkLW9mZi1i eTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBD USBUYW5nIDxjcS50YW5nQGludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxh aHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVs Z3VlQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9p bnRlcm5hbC5jICAgIHwgMTcgKysrKysrKysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9vYmplY3QuaCAgICAgIHwgMTIgKysrKysrKysrKysrCiAuLi4vZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaCAgICB8ICA5ICsrKysrKysrLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMgICAgICAgfCAgNiArKysrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYyAgICAgIHwgMTcgKysr KysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9w YWdlcy5jIHwgMTIgKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1v cnlfcmVnaW9uLmMgICAgICB8ICA1ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t ZW1vcnlfcmVnaW9uLmggICAgICB8ICA2ICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfZ2VtX2d0dC5jICAgfCAgNSArKy0tLQogOSBmaWxlcyBjaGFuZ2VkLCA2OCBp bnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9pbnRlcm5hbC5jCmluZGV4IDBjNDFlMDRhYjhmYS4uNWFlNjk0YzI0ZGY0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1faW50ZXJuYWwuYwpAQCAtMTE3 LDEzICsxMTcsNiBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJu YWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJZ290byBlcnI7CiAJfQogCi0J LyogTWFyayB0aGUgcGFnZXMgYXMgZG9udG5lZWQgd2hpbHN0IHRoZXkgYXJlIHN0aWxsIHBpbm5l ZC4gQXMgc29vbgotCSAqIGFzIHRoZXkgYXJlIHVucGlubmVkIHRoZXkgYXJlIGFsbG93ZWQgdG8g YmUgcmVhcGVkIGJ5IHRoZSBzaHJpbmtlciwKLQkgKiBhbmQgdGhlIGNhbGxlciBpcyBleHBlY3Rl ZCB0byByZXBvcHVsYXRlIC0gdGhlIGNvbnRlbnRzIG9mIHRoaXMKLQkgKiBvYmplY3QgYXJlIG9u bHkgdmFsaWQgd2hpbHN0IGFjdGl2ZSBhbmQgcGlubmVkLgotCSAqLwotCW9iai0+bW0ubWFkdiA9 IEk5MTVfTUFEVl9ET05UTkVFRDsKLQogCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmos IHN0LCBzZ19wYWdlX3NpemVzKTsKIAogCXJldHVybiAwOwpAQCAtMTQzLDcgKzEzNiw2IEBAIHN0 YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpbnRlcm5hbF9mcmVlX3BhZ2VzKHBhZ2VzKTsKIAogCW9i ai0+bW0uZGlydHkgPSBmYWxzZTsKLQlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7 CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaTkxNV9n ZW1fb2JqZWN0X2ludGVybmFsX29wcyA9IHsKQEAgLTE4OCw2ICsxODAsMTUgQEAgaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlk cm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7 CiAJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fb2JqZWN0X2ludGVybmFsX29w cyk7CiAKKwkvKgorCSAqIE1hcmsgdGhlIG9iamVjdCBhcyB2b2xhdGlsZSwgc3VjaCB0aGF0IHRo ZSBwYWdlcyBhcmUgbWFya2VkIGFzCisJICogZG9udG5lZWQgd2hpbHN0IHRoZXkgYXJlIHN0aWxs IHBpbm5lZC4gQXMgc29vbiBhcyB0aGV5IGFyZSB1bnBpbm5lZAorCSAqIHRoZXkgYXJlIGFsbG93 ZWQgdG8gYmUgcmVhcGVkIGJ5IHRoZSBzaHJpbmtlciwgYW5kIHRoZSBjYWxsZXIgaXMKKwkgKiBl eHBlY3RlZCB0byByZXBvcHVsYXRlIC0gdGhlIGNvbnRlbnRzIG9mIHRoaXMgb2JqZWN0IGFyZSBv bmx5IHZhbGlkCisJICogd2hpbHN0IGFjdGl2ZSBhbmQgcGlubmVkLgorCSAqLworCWk5MTVfZ2Vt X29iamVjdF9zZXRfdm9sYXRpbGUob2JqKTsKKwogCW9iai0+cmVhZF9kb21haW5zID0gSTkxNV9H RU1fRE9NQUlOX0NQVTsKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3Qu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCBkZmQx NmQ2NTYzMGYuLmM1ZTE0YzljODA1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuaApAQCAtMTQ1LDYgKzE0NSwxOCBAQCBpOTE1X2dlbV9vYmplY3RfaXNfY29u dGlndW91cyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXJldHVybiBv YmotPmZsYWdzICYgSTkxNV9CT19BTExPQ19DT05USUdVT1VTOwogfQogCitzdGF0aWMgaW5saW5l IGJvb2wKK2k5MTVfZ2VtX29iamVjdF9pc192b2xhdGlsZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQoreworCXJldHVybiBvYmotPmZsYWdzICYgSTkxNV9CT19BTExPQ19W T0xBVElMRTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitpOTE1X2dlbV9vYmplY3Rfc2V0X3Zv bGF0aWxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJb2JqLT5mbGFncyB8 PSBJOTE1X0JPX0FMTE9DX1ZPTEFUSUxFOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wKIGk5MTVf Z2VtX29iamVjdF90eXBlX2hhcyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCQkJIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKaW5kZXggYzZhNzEyY2Y3ZDdhLi5hMzg3ZTNlZTcy OGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3Rf dHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5 cGVzLmgKQEAgLTEyMSw3ICsxMjEsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAK IAl1bnNpZ25lZCBsb25nIGZsYWdzOwogI2RlZmluZSBJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMg QklUKDApCi0jZGVmaW5lIEk5MTVfQk9fQUxMT0NfRkxBR1MgKEk5MTVfQk9fQUxMT0NfQ09OVElH VU9VUykKKyNkZWZpbmUgSTkxNV9CT19BTExPQ19WT0xBVElMRSAgIEJJVCgxKQorI2RlZmluZSBJ OTE1X0JPX0FMTE9DX0ZMQUdTIChJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMgfCBJOTE1X0JPX0FM TE9DX1ZPTEFUSUxFKQogCiAJLyoKIAkgKiBJcyB0aGUgb2JqZWN0IHRvIGJlIG1hcHBlZCBhcyBy ZWFkLW9ubHkgdG8gdGhlIEdQVQpAQCAtMTcyLDYgKzE3MywxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCB7CiAJCSAqIExpc3Qgb2YgbWVtb3J5IHJlZ2lvbiBibG9ja3MgYWxsb2NhdGVk IGZvciB0aGlzIG9iamVjdC4KIAkJICovCiAJCXN0cnVjdCBsaXN0X2hlYWQgYmxvY2tzOworCQkv KioKKwkJICogRWxlbWVudCB3aXRoaW4gbWVtb3J5X3JlZ2lvbi0+b2JqZWN0cyBvciByZWdpb24t PnB1cmdlYWJsZQorCQkgKiBpZiB0aGUgb2JqZWN0IGlzIG1hcmtlZCBhcyBET05UTkVFRC4gQWNj ZXNzIGlzIHByb3RlY3RlZCBieQorCQkgKiByZWdpb24tPm9ial9sb2NrLgorCQkgKi8KKwkJc3Ry dWN0IGxpc3RfaGVhZCByZWdpb25fbGluazsKIAogCQlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOwog CQl2b2lkICptYXBwaW5nOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMu YwppbmRleCAyZTk0MWYwOTNhMjAuLmIwZWMwOTU5YzEzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKQEAgLTE4LDYgKzE4LDkgQEAgdm9pZCBfX2k5MTVfZ2Vt X29iamVjdF9zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAogCWxv Y2tkZXBfYXNzZXJ0X2hlbGQoJm9iai0+bW0ubG9jayk7CiAKKwlpZiAoaTkxNV9nZW1fb2JqZWN0 X2lzX3ZvbGF0aWxlKG9iaikpCisJCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVFRDsK KwogCS8qIE1ha2UgdGhlIHBhZ2VzIGNvaGVyZW50IHdpdGggdGhlIEdQVSAoZmx1c2hpbmcgYW55 IHN3YXBpbikuICovCiAJaWYgKG9iai0+Y2FjaGVfZGlydHkpIHsKIAkJb2JqLT53cml0ZV9kb21h aW4gPSAwOwpAQCAtMTYwLDYgKzE2Myw5IEBAIF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3BhZ2Vz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJaWYgKElTX0VSUl9PUl9OVUxMKHBh Z2VzKSkKIAkJcmV0dXJuIHBhZ2VzOwogCisJaWYgKGk5MTVfZ2VtX29iamVjdF9pc192b2xhdGls ZShvYmopKQorCQlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7CisKIAlpOTE1X2dl bV9vYmplY3RfbWFrZV91bnNocmlua2FibGUob2JqKTsKIAogCWlmIChvYmotPm1tLm1hcHBpbmcp IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYwppbmRleCA4OTcw OGIzZmEwM2QuLjJlZjhlYmExZjVkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9yZWdpb24uYwpAQCAtMTA3LDExICsxMDcsMjYgQEAgdm9pZCBpOTE1X2dlbV9vYmplY3Rf aW5pdF9tZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJSU5J VF9MSVNUX0hFQUQoJm9iai0+bW0uYmxvY2tzKTsKIAlvYmotPm1tLnJlZ2lvbiA9IGludGVsX21l bW9yeV9yZWdpb25fZ2V0KG1lbSk7CiAJb2JqLT5mbGFncyB8PSBmbGFnczsKKworCW11dGV4X2xv Y2soJm1lbS0+b2JqZWN0cy5sb2NrKTsKKworCWlmIChvYmotPmZsYWdzICYgSTkxNV9CT19BTExP Q19WT0xBVElMRSkKKwkJbGlzdF9hZGQoJm9iai0+bW0ucmVnaW9uX2xpbmssICZtZW0tPm9iamVj dHMucHVyZ2VhYmxlKTsKKwllbHNlCisJCWxpc3RfYWRkKCZvYmotPm1tLnJlZ2lvbl9saW5rLCAm bWVtLT5vYmplY3RzLmxpc3QpOworCisJbXV0ZXhfdW5sb2NrKCZtZW0tPm9iamVjdHMubG9jayk7 CiB9CiAKIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfbWVtb3J5X3JlZ2lvbihzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewotCWludGVsX21lbW9yeV9yZWdpb25fcHV0KG9i ai0+bW0ucmVnaW9uKTsKKwlzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtID0gb2JqLT5t bS5yZWdpb247CisKKwltdXRleF9sb2NrKCZtZW0tPm9iamVjdHMubG9jayk7CisJbGlzdF9kZWwo Jm9iai0+bW0ucmVnaW9uX2xpbmspOworCW11dGV4X3VubG9jaygmbWVtLT5vYmplY3RzLmxvY2sp OworCisJaW50ZWxfbWVtb3J5X3JlZ2lvbl9wdXQobWVtKTsKIH0KIAogc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1 Z2VfcGFnZXMuYwppbmRleCA2M2E0NzQzZTVmNTQuLmYyNzc3MmY2Nzc5YSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKQEAgLTExNSw4ICsx MTUsNiBAQCBzdGF0aWMgaW50IGdldF9odWdlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCiAJaWYgKGk5MTVfZ2VtX2d0dF9wcmVwYXJlX3BhZ2VzKG9iaiwgc3QpKQogCQln b3RvIGVycjsKIAotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVFRDsKLQogCUdFTV9C VUdfT04oc2dfcGFnZV9zaXplcyAhPSBvYmotPm1tLnBhZ2VfbWFzayk7CiAJX19pOTE1X2dlbV9v YmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QsIHNnX3BhZ2Vfc2l6ZXMpOwogCkBAIC0xMzcsNyArMTM1 LDYgQEAgc3RhdGljIHZvaWQgcHV0X2h1Z2VfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKIAlodWdlX3BhZ2VzX2ZyZWVfcGFnZXMocGFnZXMpOwogCiAJb2JqLT5tbS5kaXJ0 eSA9IGZhbHNlOwotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9XSUxMTkVFRDsKIH0KIAogc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBodWdlX3BhZ2Vfb3BzID0g ewpAQCAtMTcwLDYgKzE2Nyw4IEBAIGh1Z2VfcGFnZXNfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1LAogCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAm b2JqLT5iYXNlLCBzaXplKTsKIAlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZodWdlX3BhZ2Vf b3BzKTsKIAorCWk5MTVfZ2VtX29iamVjdF9zZXRfdm9sYXRpbGUob2JqKTsKKwogCW9iai0+d3Jp dGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX0NQVTsKIAlvYmotPnJlYWRfZG9tYWlucyA9IEk5 MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5jYWNoZV9sZXZlbCA9IEk5MTVfQ0FDSEVfTk9ORTsK QEAgLTIyOSw4ICsyMjgsNiBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X2h1Z2VfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogCWk5MTVfc2dfdHJpbShzdCk7CiAKLQlvYmot Pm1tLm1hZHYgPSBJOTE1X01BRFZfRE9OVE5FRUQ7Ci0KIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRf cGFnZXMob2JqLCBzdCwgc2dfcGFnZV9zaXplcyk7CiAKIAlyZXR1cm4gMDsKQEAgLTI2Myw4ICsy NjAsNiBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X2h1Z2VfcGFnZXNfc2luZ2xlKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJc2dfZG1hX2xlbihzZykgPSBvYmotPmJhc2Uuc2l6ZTsK IAlzZ19kbWFfYWRkcmVzcyhzZykgPSBwYWdlX3NpemU7CiAKLQlvYmotPm1tLm1hZHYgPSBJOTE1 X01BRFZfRE9OVE5FRUQ7Ci0KIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwg c2ctPmxlbmd0aCk7CiAKIAlyZXR1cm4gMDsKQEAgLTI4Myw3ICsyNzgsNiBAQCBzdGF0aWMgdm9p ZCBmYWtlX3B1dF9odWdlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiB7 CiAJZmFrZV9mcmVlX2h1Z2VfcGFnZXMob2JqLCBwYWdlcyk7CiAJb2JqLT5tbS5kaXJ0eSA9IGZh bHNlOwotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9XSUxMTkVFRDsKIH0KIAogc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBmYWtlX29wcyA9IHsKQEAgLTMyMyw2 ICszMTcsOCBAQCBmYWtlX2h1Z2VfcGFnZXNfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LCB1NjQgc2l6ZSwgYm9vbCBzaW5nbGUpCiAJZWxzZQogCQlpOTE1X2dlbV9vYmplY3Rf aW5pdChvYmosICZmYWtlX29wcyk7CiAKKwlpOTE1X2dlbV9vYmplY3Rfc2V0X3ZvbGF0aWxlKG9i aik7CisKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5y ZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BVOwogCW9iai0+Y2FjaGVfbGV2ZWwgPSBJ OTE1X0NBQ0hFX05PTkU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t ZW1vcnlfcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmMKaW5kZXggOTgwMDY2MThlODcxLi5jMDI5OTQzNWQ3NWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTE1Miw2ICsxNTIsMTAgQEAgaW50ZWxfbWVt b3J5X3JlZ2lvbl9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJbWVtLT5t aW5fcGFnZV9zaXplID0gbWluX3BhZ2Vfc2l6ZTsKIAltZW0tPm9wcyA9IG9wczsKIAorCW11dGV4 X2luaXQoJm1lbS0+b2JqZWN0cy5sb2NrKTsKKwlJTklUX0xJU1RfSEVBRCgmbWVtLT5vYmplY3Rz Lmxpc3QpOworCUlOSVRfTElTVF9IRUFEKCZtZW0tPm9iamVjdHMucHVyZ2VhYmxlKTsKKwogCW11 dGV4X2luaXQoJm1lbS0+bW1fbG9jayk7CiAKIAlpZiAob3BzLT5pbml0KSB7CkBAIC0xNzcsNiAr MTgxLDcgQEAgc3RhdGljIHZvaWQgX19pbnRlbF9tZW1vcnlfcmVnaW9uX2Rlc3Ryb3koc3RydWN0 IGtyZWYgKmtyZWYpCiAJCW1lbS0+b3BzLT5yZWxlYXNlKG1lbSk7CiAKIAltdXRleF9kZXN0cm95 KCZtZW0tPm1tX2xvY2spOworCW11dGV4X2Rlc3Ryb3koJm1lbS0+b2JqZWN0cy5sb2NrKTsKIAlr ZnJlZShtZW0pOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t ZW1vcnlfcmVnaW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmgKaW5kZXggMjliODZjYTE3ZGQ5Li41MmMxNDFiNjEwOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmgKQEAgLTUyLDYgKzUyLDEyIEBAIHN0cnVjdCBpbnRl bF9tZW1vcnlfcmVnaW9uIHsKIAl1bnNpZ25lZCBpbnQgdHlwZTsKIAl1bnNpZ25lZCBpbnQgaW5z dGFuY2U7CiAJdW5zaWduZWQgaW50IGlkOworCisJc3RydWN0IHsKKwkJc3RydWN0IG11dGV4IGxv Y2s7IC8qIFByb3RlY3RzIGFjY2VzcyB0byBvYmplY3RzICovCisJCXN0cnVjdCBsaXN0X2hlYWQg bGlzdDsKKwkJc3RydWN0IGxpc3RfaGVhZCBwdXJnZWFibGU7CisJfSBvYmplY3RzOwogfTsKIAog aW50IGludGVsX21lbW9yeV9yZWdpb25faW5pdF9idWRkeShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3Jl Z2lvbiAqbWVtKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9n dHQuYwppbmRleCAxNjViM2E3Zjk3NDQuLmViZTczNWRmNjUwNCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwpAQCAtODIsOCArODIsNiBAQCBzdGF0 aWMgaW50IGZha2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJ fQogCUdFTV9CVUdfT04ocmVtKTsKIAotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVF RDsKLQogCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19wYWdlX3Np emVzKTsKIAogCXJldHVybiAwOwpAQCAtOTUsNyArOTMsNiBAQCBzdGF0aWMgdm9pZCBmYWtlX3B1 dF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogewogCWZha2VfZnJlZV9w YWdlcyhvYmosIHBhZ2VzKTsKIAlvYmotPm1tLmRpcnR5ID0gZmFsc2U7Ci0Jb2JqLT5tbS5tYWR2 ID0gSTkxNV9NQURWX1dJTExORUVEOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3Rfb3BzIGZha2Vfb3BzID0gewpAQCAtMTIyLDYgKzExOSw4IEBAIGZha2VfZG1h X29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNpemUpCiAJZHJtX2dl bV9wcml2YXRlX29iamVjdF9pbml0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIHNpemUpOwogCWk5 MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmZha2Vfb3BzKTsKIAorCWk5MTVfZ2VtX29iamVjdF9z ZXRfdm9sYXRpbGUob2JqKTsKKwogCW9iai0+d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlO X0NQVTsKIAlvYmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5j YWNoZV9sZXZlbCA9IEk5MTVfQ0FDSEVfTk9ORTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4