From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 10/17] drm/i915: Hide unshrinkable context objects from the shrinker Date: Tue, 30 Jul 2019 14:30:28 +0100 Message-ID: <20190730133035.1977-11-chris@chris-wilson.co.uk> References: <20190730133035.1977-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id BECEA6E50E for ; Tue, 30 Jul 2019 13:30:56 +0000 (UTC) In-Reply-To: <20190730133035.1977-1-chris@chris-wilson.co.uk> 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 VGhlIHNocmlua2VyIGNhbm5vdCB0b3VjaCBvYmplY3RzIHVzZWQgYnkgdGhlIGNvbnRleHRzIChs b2dpY2FsIHN0YXRlCmFuZCByaW5nKS4gQ3VycmVudGx5IHdlIG1hcmsgdGhvc2UgYXMgInBpbl9n bG9iYWwiIHRvIGxldCB0aGUgc2hyaW5rZXIKc2tpcCBvdmVyIHRoZW0sIGhvd2V2ZXIsIGlmIHdl IHJlbW92ZSB0aGVtIGZyb20gdGhlIHNocmlua2VyIGxpc3RzCmVudGlyZWx5LCB3ZSBkb24ndCBl dmVudCBoYXZlIHRvIGluY2x1ZGUgdGhlbSBpbiBvdXIgc2hyaW5rIGFjY291bnRpbmcuCgpCeSBr ZWVwaW5nIHRoZSB1bnNocmlua2FibGUgb2JqZWN0cyBpbiBvdXIgc2hyaW5rZXIgdHJhY2tpbmcs IHdlIHJlcG9ydAphIGxhcmdlIG51bWJlciBvZiBvYmplY3RzIGF2YWlsYWJsZSB0byBiZSBzaHJ1 bmssIGFuZCBsZWF2ZSB0aGUgc2hyaW5rZXIKZGVlcGx5IHVuc2F0aXNmaWVkIHdoZW4gd2UgZmFp bCB0byByZWNsYWltIHRob3NlLiBUaGUgc2hyaW5rZXIgd2lsbApwZXJzaXN0IGluIHRyeWluZyB0 byByZWNsYWltIHRoZSB1bmF2YWlsYWJsZSBvYmplY3RzLCBmb3JjaW5nIHRoZSBzeXN0ZW0KaW50 byBhIGxpdmVsb2NrIChub3QgZXZlbiBoaXR0aW5nIHRoZSBkcmVhZCBvb21raWxsZXIpLgoKdjI6 IEV4dGVuZCB1bnNocmlua2FibGUgcHJvdGVjdGlvbiBmb3IgcGVybWEtcGlubmVkIHNjcmF0Y2gg YW5kIGd1YwphbGxvY2F0aW9ucyAoVHZydGtvKQp2MzogTm90aWNlIHRoYXQgd2Ugc2hvdWxkIGJl IHBpbm5lZCB3aGVuIG1hcmtpbmcgdW5zaHJpbmthYmxlIGFuZCBzbyB0aGUKbGluayBjYW5ub3Qg YmUgZW1wdHk7IG1lcmdlIGR1cGxpY2F0ZSBwYXRocy4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fb2JqZWN0LmMgICB8IDExICstLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9vYmplY3QuaCAgIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9w YWdlcy5jICAgIHwgMTMgKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9z aHJpbmtlci5jIHwgNTggKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2NvbnRleHQuYyAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2d0LmMgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3JpbmdidWZmZXIuYyAgIHwgMTcgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWMuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyAgICAgICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5j ICAgICAgICAgICAgICB8IDE2ICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEu aCAgICAgICAgICAgICAgfCAgNCArKwogMTEgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMo KyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9v YmplY3QuYwppbmRleCBkNTE5N2EyYTEwNmYuLjRlYTk3ZmNhOWMzNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYwpAQCAtNjMsNiArNjMsOCBAQCB2b2lkIGk5 MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJc3Bp bl9sb2NrX2luaXQoJm9iai0+dm1hLmxvY2spOwogCUlOSVRfTElTVF9IRUFEKCZvYmotPnZtYS5s aXN0KTsKIAorCUlOSVRfTElTVF9IRUFEKCZvYmotPm1tLmxpbmspOworCiAJSU5JVF9MSVNUX0hF QUQoJm9iai0+bHV0X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZvYmotPmJhdGNoX3Bvb2xfbGlu ayk7CiAKQEAgLTI3MywxNCArMjc1LDcgQEAgdm9pZCBpOTE1X2dlbV9mcmVlX29iamVjdChzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmopCiAJICogb3IgZWxzZSB3ZSBtYXkgb29tIHdoaWxz dCB0aGVyZSBhcmUgcGxlbnR5IG9mIGRlZmVycmVkCiAJICogZnJlZWQgb2JqZWN0cy4KIAkgKi8K LQlpZiAoaTkxNV9nZW1fb2JqZWN0X2hhc19wYWdlcyhvYmopICYmCi0JICAgIGk5MTVfZ2VtX29i amVjdF9pc19zaHJpbmthYmxlKG9iaikpIHsKLQkJdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCQlz cGluX2xvY2tfaXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKLQkJbGlzdF9kZWxf aW5pdCgmb2JqLT5tbS5saW5rKTsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTkxNS0+bW0u b2JqX2xvY2ssIGZsYWdzKTsKLQl9CisJaTkxNV9nZW1fb2JqZWN0X21ha2VfdW5zaHJpbmthYmxl KG9iaik7CiAKIAkvKgogCSAqIFNpbmNlIHdlIHJlcXVpcmUgYmxvY2tpbmcgb24gc3RydWN0X211 dGV4IHRvIHVuYmluZCB0aGUgZnJlZWQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9vYmplY3QuaAppbmRleCA2N2FlYTA3ZWEwMTkuLjM3MTRjZjIzNGQ2NCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAtMzk0LDYgKzM5NCwxMCBAQCBp OTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiwKIAkJCQkgICAgIHVuc2lnbmVkIGludCBmbGFncyk7CiB2b2lkIGk5MTVfZ2Vt X29iamVjdF91bnBpbl9mcm9tX2Rpc3BsYXlfcGxhbmUoc3RydWN0IGk5MTVfdm1hICp2bWEpOwog Cit2b2lkIGk5MTVfZ2VtX29iamVjdF9tYWtlX3Vuc2hyaW5rYWJsZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKTsKK3ZvaWQgaTkxNV9nZW1fb2JqZWN0X21ha2Vfc2hyaW5rYWJsZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKK3ZvaWQgaTkxNV9nZW1fb2JqZWN0X21h a2VfcHVyZ2VhYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOworCiBzdGF0aWMg aW5saW5lIGJvb2wgY3B1X3dyaXRlX25lZWRzX2NsZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaikKIHsKIAlpZiAob2JqLT5jYWNoZV9kaXJ0eSkKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKaW5kZXggNjVlYjQzMGNlZGJhLi4xOGYwY2UwMTM1YzEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCkBAIC0xNTMsMjQg KzE1MywxMyBAQCBzdGF0aWMgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9yZXNldF9wYWdlX2l0ZXIo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHN0cnVjdCBzZ190YWJsZSAqCiBfX2k5 MTVfZ2VtX29iamVjdF91bnNldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2Uu ZGV2KTsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOwogCiAJcGFnZXMgPSBmZXRjaF9hbmRfemVy bygmb2JqLT5tbS5wYWdlcyk7CiAJaWYgKElTX0VSUl9PUl9OVUxMKHBhZ2VzKSkKIAkJcmV0dXJu IHBhZ2VzOwogCi0JaWYgKGk5MTVfZ2VtX29iamVjdF9pc19zaHJpbmthYmxlKG9iaikpIHsKLQkJ dW5zaWduZWQgbG9uZyBmbGFnczsKLQotCQlzcGluX2xvY2tfaXJxc2F2ZSgmaTkxNS0+bW0ub2Jq X2xvY2ssIGZsYWdzKTsKLQotCQlsaXN0X2RlbCgmb2JqLT5tbS5saW5rKTsKLQkJaTkxNS0+bW0u c2hyaW5rX2NvdW50LS07Ci0JCWk5MTUtPm1tLnNocmlua19tZW1vcnkgLT0gb2JqLT5iYXNlLnNp emU7Ci0KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdz KTsKLQl9CisJaTkxNV9nZW1fb2JqZWN0X21ha2VfdW5zaHJpbmthYmxlKG9iaik7CiAKIAlpZiAo b2JqLT5tbS5tYXBwaW5nKSB7CiAJCXZvaWQgKnB0cjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKaW5kZXggYjE4NmJiNWJmYjQ0Li5iNTUwNmNhMTQzODMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5jCkBAIC01 MzAsMyArNTMwLDYxIEBAIHZvaWQgaTkxNV9nZW1fc2hyaW5rZXJfdGFpbnRzX211dGV4KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCWlmICh1bmxvY2spCiAJCW11dGV4X3JlbGVhc2Uo Jmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXguZGVwX21hcCwgMCwgX1JFVF9JUF8pOwogfQorCisjZGVm aW5lIG9ial90b19pOTE1KG9ial9fKSB0b19pOTE1KChvYmpfXyktPmJhc2UuZGV2KQorCit2b2lk IGk5MTVfZ2VtX29iamVjdF9tYWtlX3Vuc2hyaW5rYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQoreworCS8qCisJICogV2UgY2FuIG9ubHkgYmUgY2FsbGVkIHdoaWxlIHRoZSBw YWdlcyBhcmUgcGlubmVkIG9yIHdoZW4KKwkgKiB0aGUgcGFnZXMgYXJlIHJlbGVhc2VkLiBJZiBw aW5uZWQsIHdlIHNob3VsZCBvbmx5IGJlIGNhbGxlZAorCSAqIGZyb20gYSBzaW5nbGUgY2FsbGVy IHVuZGVyIGNvbnRyb2xsZWQgY29uZGl0aW9uczsgYW5kIG9uIHJlbGVhc2UKKwkgKiBvbmx5IG9u ZSBjYWxsZXIgbWF5IHJlbGVhc2UgdXMuIE5laXRoZXIgdGhlIHR3byBtYXkgY3Jvc3MuCisJICov CisJaWYgKCFsaXN0X2VtcHR5KCZvYmotPm1tLmxpbmspKSB7IC8qIHBpbm5lZCBieSBjYWxsZXIg Ki8KKwkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBvYmpfdG9faTkxNShvYmopOwor CQl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5tbS5v YmpfbG9jaywgZmxhZ3MpOworCQlHRU1fQlVHX09OKGxpc3RfZW1wdHkoJm9iai0+bW0ubGluaykp OworCisJCWxpc3RfZGVsX2luaXQoJm9iai0+bW0ubGluayk7CisJCWk5MTUtPm1tLnNocmlua19j b3VudC0tOworCQlpOTE1LT5tbS5zaHJpbmtfbWVtb3J5IC09IG9iai0+YmFzZS5zaXplOworCisJ CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CisJfQor fQorCitzdGF0aWMgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9tYWtlX3Nocmlua2FibGUoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkJICAgICAgc3RydWN0IGxpc3RfaGVhZCAq aGVhZCkKK3sKKwlHRU1fQlVHX09OKCFpOTE1X2dlbV9vYmplY3RfaGFzX3BhZ2VzKG9iaikpOwor CUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJm9iai0+bW0ubGluaykpOworCisJaWYgKGk5MTVfZ2Vt X29iamVjdF9pc19zaHJpbmthYmxlKG9iaikpIHsKKwkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSBvYmpfdG9faTkxNShvYmopOworCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJCXNw aW5fbG9ja19pcnFzYXZlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOworCQlHRU1fQlVHX09O KCFrcmVmX3JlYWQoJm9iai0+YmFzZS5yZWZjb3VudCkpOworCisJCWxpc3RfYWRkX3RhaWwoJm9i ai0+bW0ubGluaywgaGVhZCk7CisJCWk5MTUtPm1tLnNocmlua19jb3VudCsrOworCQlpOTE1LT5t bS5zaHJpbmtfbWVtb3J5ICs9IG9iai0+YmFzZS5zaXplOworCisJCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CisJfQorfQorCit2b2lkIGk5MTVfZ2Vt X29iamVjdF9tYWtlX3Nocmlua2FibGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK K3sKKwlfX2k5MTVfZ2VtX29iamVjdF9tYWtlX3Nocmlua2FibGUob2JqLAorCQkJCQkgICZvYmpf dG9faTkxNShvYmopLT5tbS5zaHJpbmtfbGlzdCk7Cit9CisKK3ZvaWQgaTkxNV9nZW1fb2JqZWN0 X21ha2VfcHVyZ2VhYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJX19p OTE1X2dlbV9vYmplY3RfbWFrZV9zaHJpbmthYmxlKG9iaiwKKwkJCQkJICAmb2JqX3RvX2k5MTUo b2JqKS0+bW0ucHVyZ2VfbGlzdCk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250 ZXh0LmMKaW5kZXggZGI5MjM2NTcwZmY1Li5lMDE4MWIwOTI4MmMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9jb250ZXh0LmMKQEAgLTExOCw3ICsxMTgsNyBAQCBzdGF0aWMgaW50IF9f Y29udGV4dF9waW5fc3RhdGUoc3RydWN0IGk5MTVfdm1hICp2bWEpCiAJICogQW5kIG1hcmsgaXQg YXMgYSBnbG9iYWxseSBwaW5uZWQgb2JqZWN0IHRvIGxldCB0aGUgc2hyaW5rZXIga25vdwogCSAq IGl0IGNhbm5vdCByZWNsYWltIHRoZSBvYmplY3QgdW50aWwgd2UgcmVsZWFzZSBpdC4KIAkgKi8K LQl2bWEtPm9iai0+cGluX2dsb2JhbCsrOworCWk5MTVfdm1hX21ha2VfdW5zaHJpbmthYmxlKHZt YSk7CiAJdm1hLT5vYmotPm1tLmRpcnR5ID0gdHJ1ZTsKIAogCXJldHVybiAwOwpAQCAtMTI2LDgg KzEyNiw4IEBAIHN0YXRpYyBpbnQgX19jb250ZXh0X3Bpbl9zdGF0ZShzdHJ1Y3QgaTkxNV92bWEg KnZtYSkKIAogc3RhdGljIHZvaWQgX19jb250ZXh0X3VucGluX3N0YXRlKHN0cnVjdCBpOTE1X3Zt YSAqdm1hKQogewotCXZtYS0+b2JqLT5waW5fZ2xvYmFsLS07CiAJX19pOTE1X3ZtYV91bnBpbih2 bWEpOworCWk5MTVfdm1hX21ha2Vfc2hyaW5rYWJsZSh2bWEpOwogfQogCiBzdGF0aWMgdm9pZCBf X2ludGVsX2NvbnRleHRfcmV0aXJlKHN0cnVjdCBpOTE1X2FjdGl2ZSAqYWN0aXZlKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2d0LmMKaW5kZXggZjdlNjlkYjQwMTlkLi5kZTBkNmFkNWY5M2MgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwpAQCAtMjMxLDcgKzIzMSw4IEBAIGludCBpbnRl bF9ndF9pbml0X3NjcmF0Y2goc3RydWN0IGludGVsX2d0ICpndCwgdW5zaWduZWQgaW50IHNpemUp CiAJaWYgKHJldCkKIAkJZ290byBlcnJfdW5yZWY7CiAKLQlndC0+c2NyYXRjaCA9IHZtYTsKKwln dC0+c2NyYXRjaCA9IGk5MTVfdm1hX21ha2VfdW5zaHJpbmthYmxlKHZtYSk7CisKIAlyZXR1cm4g MDsKIAogZXJyX3VucmVmOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZl ci5jCmluZGV4IGViZGEzNzlmN2JhYy4uZGIwMjAyOWUzZTU4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0xMjIyLDcgKzEyMjIsNyBAQCBpbnQgaW50 ZWxfcmluZ19waW4oc3RydWN0IGludGVsX3JpbmcgKnJpbmcpCiAJCWdvdG8gZXJyX3Jpbmc7CiAJ fQogCi0Jdm1hLT5vYmotPnBpbl9nbG9iYWwrKzsKKwlpOTE1X3ZtYV9tYWtlX3Vuc2hyaW5rYWJs ZSh2bWEpOwogCiAJR0VNX0JVR19PTihyaW5nLT52YWRkcik7CiAJcmluZy0+dmFkZHIgPSBhZGRy OwpAQCAtMTI1MSw2ICsxMjUxLDggQEAgdm9pZCBpbnRlbF9yaW5nX3Jlc2V0KHN0cnVjdCBpbnRl bF9yaW5nICpyaW5nLCB1MzIgdGFpbCkKIAogdm9pZCBpbnRlbF9yaW5nX3VucGluKHN0cnVjdCBp bnRlbF9yaW5nICpyaW5nKQogeworCXN0cnVjdCBpOTE1X3ZtYSAqdm1hID0gcmluZy0+dm1hOwor CiAJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZyaW5nLT5waW5fY291bnQpKQogCQlyZXR1cm47 CiAKQEAgLTEyNTksMTggKzEyNjEsMTcgQEAgdm9pZCBpbnRlbF9yaW5nX3VucGluKHN0cnVjdCBp bnRlbF9yaW5nICpyaW5nKQogCS8qIERpc2NhcmQgYW55IHVudXNlZCBieXRlcyBiZXlvbmQgdGhh dCBzdWJtaXR0ZWQgdG8gaHcuICovCiAJaW50ZWxfcmluZ19yZXNldChyaW5nLCByaW5nLT50YWls KTsKIAotCUdFTV9CVUdfT04oIXJpbmctPnZtYSk7Ci0JaTkxNV92bWFfdW5zZXRfZ2d0dF93cml0 ZShyaW5nLT52bWEpOwotCWlmIChpOTE1X3ZtYV9pc19tYXBfYW5kX2ZlbmNlYWJsZShyaW5nLT52 bWEpKQotCQlpOTE1X3ZtYV91bnBpbl9pb21hcChyaW5nLT52bWEpOworCWk5MTVfdm1hX3Vuc2V0 X2dndHRfd3JpdGUodm1hKTsKKwlpZiAoaTkxNV92bWFfaXNfbWFwX2FuZF9mZW5jZWFibGUodm1h KSkKKwkJaTkxNV92bWFfdW5waW5faW9tYXAodm1hKTsKIAllbHNlCi0JCWk5MTVfZ2VtX29iamVj dF91bnBpbl9tYXAocmluZy0+dm1hLT5vYmopOworCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFw KHZtYS0+b2JqKTsKIAogCUdFTV9CVUdfT04oIXJpbmctPnZhZGRyKTsKIAlyaW5nLT52YWRkciA9 IE5VTEw7CiAKLQlyaW5nLT52bWEtPm9iai0+cGluX2dsb2JhbC0tOwotCWk5MTVfdm1hX3VucGlu KHJpbmctPnZtYSk7CisJaTkxNV92bWFfdW5waW4odm1hKTsKKwlpOTE1X3ZtYV9tYWtlX3B1cmdl YWJsZSh2bWEpOwogCiAJaW50ZWxfdGltZWxpbmVfdW5waW4ocmluZy0+dGltZWxpbmUpOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuYwppbmRleCAxM2ZiYmZmZDA1YzcuLmVk NjRmZDliZTZhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxf Z3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmMKQEAgLTYy NSw3ICs2MjUsNyBAQCBzdHJ1Y3QgaTkxNV92bWEgKmludGVsX2d1Y19hbGxvY2F0ZV92bWEoc3Ry dWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgc2l6ZSkKIAkJZ290byBlcnI7CiAJfQogCi0JcmV0dXJu IHZtYTsKKwlyZXR1cm4gaTkxNV92bWFfbWFrZV91bnNocmlua2FibGUodm1hKTsKIAogZXJyOgog CWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK aW5kZXggMGZmNTA0Zjc5Nzc5Li5hYTYxYjc5YTZlMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCkBAIC0zNjcsOCArMzY3LDkgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3Rf aW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSBub2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7CiAJaW50IHJldDsKIAotCXNl cV9wcmludGYobSwgIiV1IHNocmlua2FibGUgb2JqZWN0cywgJWxsdSBieXRlc1xuIiwKKwlzZXFf cHJpbnRmKG0sICIldSBzaHJpbmthYmxlIFsldSBmcmVlXSBvYmplY3RzLCAlbGx1IGJ5dGVzXG4i LAogCQkgICBpOTE1LT5tbS5zaHJpbmtfY291bnQsCisJCSAgIGF0b21pY19yZWFkKCZpOTE1LT5t bS5mcmVlX2NvdW50KSwKIAkJICAgaTkxNS0+bW0uc2hyaW5rX21lbW9yeSk7CiAKIAlzZXFfcHV0 YyhtLCAnXG4nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IGViMTZhMWE5M2JiYy4uYjUy ZjcxZTBhZGU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTEwMzAsNiArMTAzMCwyMiBA QCBpbnQgaTkxNV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCXJldHVybiAwOwog fQogCitzdHJ1Y3QgaTkxNV92bWEgKmk5MTVfdm1hX21ha2VfdW5zaHJpbmthYmxlKHN0cnVjdCBp OTE1X3ZtYSAqdm1hKQoreworCWk5MTVfZ2VtX29iamVjdF9tYWtlX3Vuc2hyaW5rYWJsZSh2bWEt Pm9iaik7CisJcmV0dXJuIHZtYTsKK30KKwordm9pZCBpOTE1X3ZtYV9tYWtlX3Nocmlua2FibGUo c3RydWN0IGk5MTVfdm1hICp2bWEpCit7CisJaTkxNV9nZW1fb2JqZWN0X21ha2Vfc2hyaW5rYWJs ZSh2bWEtPm9iaik7Cit9CisKK3ZvaWQgaTkxNV92bWFfbWFrZV9wdXJnZWFibGUoc3RydWN0IGk5 MTVfdm1hICp2bWEpCit7CisJaTkxNV9nZW1fb2JqZWN0X21ha2VfcHVyZ2VhYmxlKHZtYS0+b2Jq KTsKK30KKwogI2lmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKQogI2luY2x1 ZGUgInNlbGZ0ZXN0cy9pOTE1X3ZtYS5jIgogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZtYS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaApp bmRleCA0Yjc2OWRiNjQ5YmYuLjVjNDIyNDc0OWJkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92bWEuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5o CkBAIC00NTksNCArNDU5LDggQEAgdm9pZCBpOTE1X3ZtYV9wYXJrZWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpOwogc3RydWN0IGk5MTVfdm1hICppOTE1X3ZtYV9hbGxvYyh2b2lkKTsK IHZvaWQgaTkxNV92bWFfZnJlZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSk7CiAKK3N0cnVjdCBpOTE1 X3ZtYSAqaTkxNV92bWFfbWFrZV91bnNocmlua2FibGUoc3RydWN0IGk5MTVfdm1hICp2bWEpOwor dm9pZCBpOTE1X3ZtYV9tYWtlX3Nocmlua2FibGUoc3RydWN0IGk5MTVfdm1hICp2bWEpOwordm9p ZCBpOTE1X3ZtYV9tYWtlX3B1cmdlYWJsZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSk7CisKICNlbmRp ZgotLSAKMi4yMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n Zng=