From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 29D6C89261 for ; Wed, 12 Jun 2019 22:58:57 +0000 (UTC) From: Antonio Argenziano Date: Wed, 12 Jun 2019 15:57:34 -0700 Message-Id: <20190612225734.14514-10-antonio.argenziano@intel.com> In-Reply-To: <20190612225734.14514-1-antonio.argenziano@intel.com> References: <20190612225734.14514-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v5 9/9] igt/lib: If mappable aperture is missing return 0 size List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Matthew Auld List-ID: U28gZmFyIHRoZSBhcGVydHVyZSBzaXplIGhhcyBiZWVuIHJlYWQgZGlyZWN0bHkgZnJvbSB0aGUg YmFyLAppbiB0aGlzIHBhdGNoIHdlIHJldHVybiB6ZXJvIGlmIHRoZSBtYXBwYWJsZSBhcGVydHVy ZSBpcyBub3QgYXZhaWxhYmxlCmFzIHRoZSB2YWx1ZSBzdG9yZWQgaW4gdGhlIGJhciBpcyBub3Qg YWNjdXJhdGUuIFRoZSBwYXRjaCBhbHNvIGFkZHMgYQoncmVxdWlyZScgd2hlbiBhIGNhbGwgdG8g Z2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKSBpcyBtYWRlIHNvIHRoYXQKdGhlIGFwZXJ0dXJl IGlzIGd1YXJhbnRlZWQgdG8gZXhpc3QgYmVmb3JlIGNoZWNraW5nIHRoZSBzaXplLgoKQ2M6IEth dGFyenluYSBEZWMgPGthdGFyenluYS5kZWNAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBp bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25pby5hcmdl bnppYW5vQGludGVsLmNvbT4KLS0tCiBsaWIvaW9jdGxfd3JhcHBlcnMuYyAgICAgICAgICAgIHwg MjggKysrKysrKysrKysrKystLS0tLS0tCiBsaWIvaW9jdGxfd3JhcHBlcnMuaCAgICAgICAgICAg IHwgIDMgKystCiB0ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jIHwgMTIgKysrKy0tLS0t CiB0ZXN0cy9pOTE1L2dlbV9jcHVfcmVsb2MuYyAgICAgIHwgIDQgKy0tCiB0ZXN0cy9pOTE1L2dl bV9tbWFwLmMgICAgICAgICAgIHwgIDQgKy0tCiB0ZXN0cy9pOTE1L2dlbV9tbWFwX2d0dC5jICAg ICAgIHwgMTAgKysrKy0tLS0KIHRlc3RzL2k5MTUvZ2VtX3B3cml0ZS5jICAgICAgICAgfCAgNCAr LS0KIHRlc3RzL2k5MTUvZ2VtX3Nocmluay5jICAgICAgICAgfCAgMiArLQogdGVzdHMvaTkxNS9p OTE1X3BtX3JwbS5jICAgICAgICB8ICAyICstCiB0ZXN0cy9rbXNfYmlnX2ZiLmMgICAgICAgICAg ICAgIHwgIDIgKy0KIHRlc3RzL2ttc19mbGlwLmMgICAgICAgICAgICAgICAgfCAgMiArLQogdGVz dHMvcHJpbWVfbW1hcC5jICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLQogMTIgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lvY3RsX3dyYXBwZXJzLmMgYi9saWIvaW9jdGxfd3Jh cHBlcnMuYwppbmRleCAyODBmZGQ2Mi4uNTg2MDNlMGUgMTAwNjQ0Ci0tLSBhL2xpYi9pb2N0bF93 cmFwcGVycy5jCisrKyBiL2xpYi9pb2N0bF93cmFwcGVycy5jCkBAIC0xMDg4LDE5ICsxMDg4LDE0 IEBAIHVpbnQ2NF90IGdlbV9hcGVydHVyZV9zaXplKGludCBmZCkKIAlyZXR1cm4gYXBlcnR1cmVf c2l6ZTsKIH0KIAotLyoqCi0gKiBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZToKLSAqCi0gKiBG ZWF0dXJlIHRlc3QgbWFjcm8gdG8gcXVlcnkgdGhlIGtlcm5lbCBmb3IgdGhlIG1hcHBhYmxlIGdw dSBhcGVydHVyZSBzaXplLgotICogVGhpcyBpcyB0aGUgYXJlYSBhdmFpbGFibGUgZm9yIEdUVCBt ZW1vcnkgbWFwcGluZ3MuCi0gKgotICogUmV0dXJuczogVGhlIG1hcHBhYmxlIGd0dCBhZGRyZXNz IHNwYWNlIHNpemUuCi0gKi8KLXVpbnQ2NF90IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKHZv aWQpCitzdGF0aWMgdWludDY0X3QgX19nZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShpbnQgZmQp CiB7CiAJc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYgPSBpbnRlbF9nZXRfcGNpX2RldmljZSgp OwogCWludCBiYXI7CiAKKwlpZiAoIWdlbV9tbWFwX19oYXNfZ3R0KGZkKSkKKwkJcmV0dXJuIDA7 IC8qIEFwZXJ0dXJlIG5vdCBhdmFpbGFibGUgKi8KKwogCWlmIChpbnRlbF9nZW4ocGNpX2Rldi0+ ZGV2aWNlX2lkKSA8IDMpCiAJCWJhciA9IDA7CiAJZWxzZQpAQCAtMTEwOSw2ICsxMTA0LDIxIEBA IHVpbnQ2NF90IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKHZvaWQpCiAJcmV0dXJuIHBjaV9k ZXYtPnJlZ2lvbnNbYmFyXS5zaXplOwogfQogCisvKioKKyAqIGdlbV9tYXBwYWJsZV9hcGVydHVy ZV9zaXplOgorICoKKyAqIEZlYXR1cmUgdGVzdCBtYWNybyB0byBxdWVyeSB0aGUga2VybmVsIGZv ciB0aGUgbWFwcGFibGUgZ3B1IGFwZXJ0dXJlIHNpemUuCisgKiBUaGlzIGlzIHRoZSBhcmVhIGF2 YWlsYWJsZSBmb3IgR1RUIG1lbW9yeSBtYXBwaW5ncy4KKyAqCisgKiBSZXR1cm5zOiBUaGUgbWFw cGFibGUgZ3R0IGFkZHJlc3Mgc3BhY2Ugc2l6ZS4KKyAqLwordWludDY0X3QgZ2VtX21hcHBhYmxl X2FwZXJ0dXJlX3NpemUoaW50IGZkKQoreworCWdlbV9yZXF1aXJlX21tYXBfZ3R0KGZkKTsKKwor CXJldHVybiBfX2dlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKTsKK30KKwogLyoqCiAgKiBn ZW1fZ2xvYmFsX2FwZXJ0dXJlX3NpemU6CiAgKiBAZmQ6IG9wZW4gaTkxNSBkcm0gZmlsZSBkZXNj cmlwdG9yCmRpZmYgLS1naXQgYS9saWIvaW9jdGxfd3JhcHBlcnMuaCBiL2xpYi9pb2N0bF93cmFw cGVycy5oCmluZGV4IDAzMjExYzk3Li41ZThlOTJlMSAxMDA2NDQKLS0tIGEvbGliL2lvY3RsX3dy YXBwZXJzLmgKKysrIGIvbGliL2lvY3RsX3dyYXBwZXJzLmgKQEAgLTM4LDYgKzM4LDcgQEAKIAog I2luY2x1ZGUgImk5MTUvZ2VtX2NvbnRleHQuaCIKICNpbmNsdWRlICJpOTE1L2dlbV9zY2hlZHVs ZXIuaCIKKyNpbmNsdWRlICJpOTE1L2dlbV9tbWFuLmgiCiAKIC8qKgogICogaWd0X2lvY3RsOgpA QCAtMTM2LDcgKzEzNyw3IEBAIHVpbnQ2NF90IGdlbV90b3RhbF9zdG9sZW5fc2l6ZShpbnQgZmQp OwogdWludDY0X3QgZ2VtX2F2YWlsYWJsZV9hcGVydHVyZV9zaXplKGludCBmZCk7CiB1aW50NjRf dCBnZW1fYXBlcnR1cmVfc2l6ZShpbnQgZmQpOwogdWludDY0X3QgZ2VtX2dsb2JhbF9hcGVydHVy ZV9zaXplKGludCBmZCk7Ci11aW50NjRfdCBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSh2b2lk KTsKK3VpbnQ2NF90IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGludCBmZCk7CiBib29sIGdl bV9oYXNfc29mdHBpbihpbnQgZmQpOwogYm9vbCBnZW1faGFzX2V4ZWNfZmVuY2UoaW50IGZkKTsK IApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYyBiL3Rlc3RzL2k5 MTUvZ2VtX2NvbmN1cnJlbnRfYWxsLmMKaW5kZXggMjU5MTYxZDkuLjY0NmYyZWVmIDEwMDY0NAot LS0gYS90ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2Vt X2NvbmN1cnJlbnRfYWxsLmMKQEAgLTE4MzEsNyArMTgzMSw3IEBAIGlndF9tYWluCiAJCQkJIGMt Pm5hbWUsIHMtPm5hbWUsICJzbWFsbCIpOwogCQkJaWd0X3N1YnRlc3RfZ3JvdXAgewogCQkJCWln dF9maXh0dXJlIHsKLQkJCQkJY291bnQgPSBudW1fYnVmZmVycyhnZW1fbWFwcGFibGVfYXBlcnR1 cmVfc2l6ZSgpLzQsCisJCQkJCWNvdW50ID0gbnVtX2J1ZmZlcnMoZ2VtX21hcHBhYmxlX2FwZXJ0 dXJlX3NpemUoZmQpLzQsCiAJCQkJCQkJICAgIHMsIGMsIENIRUNLX1JBTSk7CiAJCQkJfQogCQkJ CXJ1bl9tb2RlcyhuYW1lLCBjLCBtb2RlcywgcywgY291bnQpOwpAQCAtMTg0Miw3ICsxODQyLDcg QEAgaWd0X21haW4KIAkJCQkgYy0+bmFtZSwgcy0+bmFtZSwgInRocmFzaCIpOwogCQkJaWd0X3N1 YnRlc3RfZ3JvdXAgewogCQkJCWlndF9maXh0dXJlIHsKLQkJCQkJY291bnQgPSBudW1fYnVmZmVy cyhnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpLAorCQkJCQljb3VudCA9IG51bV9idWZmZXJz KGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSwKIAkJCQkJCQkgICAgcywgYywgQ0hFQ0tf UkFNKTsKIAkJCQl9CiAJCQkJcnVuX21vZGVzKG5hbWUsIGMsIG1vZGVzLCBzLCBjb3VudCk7CkBA IC0xODc0LDcgKzE4NzQsNyBAQCBpZ3RfbWFpbgogCQkJCSBjLT5uYW1lLCBzLT5uYW1lLCAic2hy aW5rIik7CiAJCQlpZ3Rfc3VidGVzdF9ncm91cCB7CiAJCQkJaWd0X2ZpeHR1cmUgewotCQkJCQlj b3VudCA9IG51bV9idWZmZXJzKGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCksCisJCQkJCWNv dW50ID0gbnVtX2J1ZmZlcnMoZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpLAogCQkJCQkJ CSAgICBzLCBjLCBDSEVDS19SQU0pOwogCiAJCQkJCWlndF9mb3JrX3Nocmlua19oZWxwZXIoZmQp OwpAQCAtMTg5MCw4ICsxODkwLDggQEAgaWd0X21haW4KIAkJCQkgYy0+bmFtZSwgcy0+bmFtZSwg InN3YXAiKTsKIAkJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKIAkJCQlpZ3RfZml4dHVyZSB7Ci0JCQkJ CWlmIChpbnRlbF9nZXRfYXZhaWxfcmFtX21iKCkgPiBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6 ZSgpLygxMDI0KjEwMjQpKSB7Ci0JCQkJCQlwaW5fc3ogPSBpbnRlbF9nZXRfYXZhaWxfcmFtX21i KCkgLSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpLygxMDI0KjEwMjQpOworCQkJCQlpZiAo aW50ZWxfZ2V0X2F2YWlsX3JhbV9tYigpID4gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQp LygxMDI0KjEwMjQpKSB7CisJCQkJCQlwaW5fc3ogPSBpbnRlbF9nZXRfYXZhaWxfcmFtX21iKCkg LSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkvKDEwMjQqMTAyNCk7CiAKIAkJCQkJCWln dF9kZWJ1ZygiUGlubmluZyAlbGxkIE1pQlxuIiwgKGxvbmcgbG9uZylwaW5fc3opOwogCQkJCQkJ cGluX3N6ICo9IDEwMjQgKiAxMDI0OwpAQCAtMTkwNSw3ICsxOTA1LDcgQEAgaWd0X21haW4KIAkJ CQkJCWlndF9yZXF1aXJlKHBpbm5lZCk7CiAJCQkJCX0KIAotCQkJCQljb3VudCA9IG51bV9idWZm ZXJzKGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCksCisJCQkJCWNvdW50ID0gbnVtX2J1ZmZl cnMoZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpLAogCQkJCQkJCSAgICBzLCBjLCBDSEVD S19SQU0gfCBDSEVDS19TV0FQKTsKIAkJCQl9CiAJCQkJcnVuX21vZGVzKG5hbWUsIGMsIG1vZGVz LCBzLCBjb3VudCk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9jcHVfcmVsb2MuYyBiL3Rl c3RzL2k5MTUvZ2VtX2NwdV9yZWxvYy5jCmluZGV4IDQ3MDk5ODYyLi4xN2MyZmUxMSAxMDA2NDQK LS0tIGEvdGVzdHMvaTkxNS9nZW1fY3B1X3JlbG9jLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fY3B1 X3JlbG9jLmMKQEAgLTI4Myw3ICsyODMsNyBAQCBpZ3RfbWFpbgogCQlydW5fdGVzdChpOTE1LCAx KTsKIAogCWlndF9zdWJ0ZXN0KCJmdWxsIikgewotCQl1aW50NjRfdCBhcGVyX3NpemUgPSBnZW1f bWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpOworCQl1aW50NjRfdCBhcGVyX3NpemUgPSBnZW1fbWFw cGFibGVfYXBlcnR1cmVfc2l6ZShpOTE1KTsKIAkJdW5zaWduZWQgbG9uZyBjb3VudCA9IGFwZXJf c2l6ZSAvIDQwOTYgKyAxOwogCiAJCWludGVsX3JlcXVpcmVfbWVtb3J5KGNvdW50LCA0MDk2LCBD SEVDS19SQU0pOwpAQCAtMjkyLDcgKzI5Miw3IEBAIGlndF9tYWluCiAJfQogCiAJaWd0X3N1YnRl c3QoImZvcmtlZCIpIHsKLQkJdWludDY0X3QgYXBlcl9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0 dXJlX3NpemUoKTsKKwkJdWludDY0X3QgYXBlcl9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJl X3NpemUoaTkxNSk7CiAJCXVuc2lnbmVkIGxvbmcgY291bnQgPSBhcGVyX3NpemUgLyA0MDk2ICsg MTsKIAkJaW50IG5jcHVzID0gc3lzY29uZihfU0NfTlBST0NFU1NPUlNfT05MTik7CiAKZGlmZiAt LWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX21tYXAuYyBiL3Rlc3RzL2k5MTUvZ2VtX21tYXAuYwppbmRl eCBmOGNmMDUyZS4uMDVhNjA2MjcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX21tYXAuYwor KysgYi90ZXN0cy9pOTE1L2dlbV9tbWFwLmMKQEAgLTUzLDEwICs1MywxMCBAQCB0ZXN0X2h1Z2Vf Ym8oaW50IGh1Z2UpCiAKIAlzd2l0Y2ggKGh1Z2UpIHsKIAljYXNlIC0xOgotCQlodWdlX29iamVj dF9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKSAvIDI7CisJCWh1Z2Vfb2JqZWN0 X3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkgLyAyOwogCQlicmVhazsKIAlj YXNlIDA6Ci0JCWh1Z2Vfb2JqZWN0X3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgp ICsgUEFHRV9TSVpFOworCQlodWdlX29iamVjdF9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJl X3NpemUoZmQpICsgUEFHRV9TSVpFOwogCQlicmVhazsKIAljYXNlIDE6CiAJCWh1Z2Vfb2JqZWN0 X3NpemUgPSBnZW1fYXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJWkU7CmRpZmYgLS1naXQgYS90 ZXN0cy9pOTE1L2dlbV9tbWFwX2d0dC5jIGIvdGVzdHMvaTkxNS9nZW1fbW1hcF9ndHQuYwppbmRl eCA2Zjk0YWU2ZS4uNTVkNGNhNjUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX21tYXBfZ3R0 LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fbW1hcF9ndHQuYwpAQCAtNTYyLDcgKzU2Miw3IEBAIHRl c3RfaHVnZV9ibyhpbnQgZmQsIGludCBodWdlLCBpbnQgdGlsaW5nKQogCiAJc3dpdGNoIChodWdl KSB7CiAJY2FzZSAtMToKLQkJc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgLyAy OworCQlzaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpIC8gMjsKIAogCQkvKiBQ b3dlciBvZiB0d28gZmVuY2Ugc2l6ZSwgbmF0dXJhbCBmZW5jZQogCQkgKiBhbGlnbm1lbnQsIGFu ZCB0aGUgZ3VhcmQgcGFnZSBhdCB0aGUgZW5kCkBAIC01NzcsNyArNTc3LDcgQEAgdGVzdF9odWdl X2JvKGludCBmZCwgaW50IGh1Z2UsIGludCB0aWxpbmcpCiAJCQlzaXplIC89IDI7CiAJCWJyZWFr OwogCWNhc2UgMDoKLQkJc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgKyBQQUdF X1NJWkU7CisJCXNpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJ WkU7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXNpemUgPSBnZW1fZ2xvYmFsX2FwZXJ0dXJlX3Np emUoZmQpICsgUEFHRV9TSVpFOwpAQCAtNjYxLDEzICs2NjEsMTMgQEAgdGVzdF9odWdlX2NvcHko aW50IGZkLCBpbnQgaHVnZSwgaW50IHRpbGluZ19hLCBpbnQgdGlsaW5nX2IsIGludCBuY3B1cykK IAogCXN3aXRjaCAoaHVnZSkgewogCWNhc2UgLTI6Ci0JCWh1Z2Vfb2JqZWN0X3NpemUgPSBnZW1f bWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpIC8gNDsKKwkJaHVnZV9vYmplY3Rfc2l6ZSA9IGdlbV9t YXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSAvIDQ7CiAJCWJyZWFrOwogCWNhc2UgLTE6Ci0JCWh1 Z2Vfb2JqZWN0X3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpIC8gMjsKKwkJaHVn ZV9vYmplY3Rfc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSAvIDI7CiAJCWJy ZWFrOwogCWNhc2UgMDoKLQkJaHVnZV9vYmplY3Rfc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVy ZV9zaXplKCkgKyBQQUdFX1NJWkU7CisJCWh1Z2Vfb2JqZWN0X3NpemUgPSBnZW1fbWFwcGFibGVf YXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJWkU7CiAJCWJyZWFrOwogCWNhc2UgMToKIAkJaHVn ZV9vYmplY3Rfc2l6ZSA9IGdlbV9nbG9iYWxfYXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJWkU7 CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9wd3JpdGUuYyBiL3Rlc3RzL2k5MTUvZ2VtX3B3 cml0ZS5jCmluZGV4IDk3NzAzYTJhLi43YzRiZjNkMyAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9n ZW1fcHdyaXRlLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fcHdyaXRlLmMKQEAgLTEyMSw3ICsxMjEs NyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2JpZ19jcHUoaW50IGZkLCBpbnQgc2NhbGUsIHVuc2lnbmVk IGZsYWdzKQogCiAJc3dpdGNoIChzY2FsZSkgewogCWNhc2UgMDoKLQkJc2l6ZSA9IGdlbV9tYXBw YWJsZV9hcGVydHVyZV9zaXplKCkgKyA0MDk2OworCQlzaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0 dXJlX3NpemUoZmQpICsgNDA5NjsKIAkJYnJlYWs7CiAJY2FzZSAxOgogCQlzaXplID0gZ2VtX2ds b2JhbF9hcGVydHVyZV9zaXplKGZkKSArIDQwOTY7CkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGlj IHZvaWQgdGVzdF9iaWdfZ3R0KGludCBmZCwgaW50IHNjYWxlLCB1bnNpZ25lZCBmbGFncykKIAlp Z3RfcmVxdWlyZShnZW1fbW1hcF9faGFzX3djKGZkKSk7CiAJc3dpdGNoIChzY2FsZSkgewogCWNh c2UgMDoKLQkJc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgKyA0MDk2OworCQlz aXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpICsgNDA5NjsKIAkJYnJlYWs7CiAJ Y2FzZSAxOgogCQlzaXplID0gZ2VtX2dsb2JhbF9hcGVydHVyZV9zaXplKGZkKSArIDQwOTY7CmRp ZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyBiL3Rlc3RzL2k5MTUvZ2VtX3Nocmlu ay5jCmluZGV4IDgzZDc1ZDMxLi45ZjY0Mjg2NyAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1f c2hyaW5rLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fc2hyaW5rLmMKQEAgLTQxNSw3ICs0MTUsNyBA QCBpZ3RfbWFpbgogCQkgKiB3ZSBleHBlY3QgdGhlIHNocmlua2VyIHRvIHN0YXJ0IHB1cmdpbmcg b2JqZWN0cywKIAkJICogYW5kIHBvc3NpYmx5IGZhaWwuCiAJCSAqLwotCQlhbGxvY19zaXplID0g Z2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKSAvIDI7CisJCWFsbG9jX3NpemUgPSBnZW1fbWFw cGFibGVfYXBlcnR1cmVfc2l6ZShmZCkgLyAyOwogCQludW1fcHJvY2Vzc2VzID0gMSArIChtZW1f c2l6ZSAvIChhbGxvY19zaXplID4+IDIwKSk7CiAKIAkJaWd0X2luZm8oIlVzaW5nICVkIHByb2Nl c3NlcyBhbmQgJSdsbHVNaUIgcGVyIHByb2Nlc3NcbiIsCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1 L2k5MTVfcG1fcnBtLmMgYi90ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMKaW5kZXggN2U5YTkyMGQu LmViN2RlMWU2IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMKKysrIGIvdGVz dHMvaTkxNS9pOTE1X3BtX3JwbS5jCkBAIC0xMzc0LDcgKzEzNzQsNyBAQCBzdGF0aWMgdm9pZCBn ZW1fZXZpY3RfcHdyaXRlX3N1YnRlc3Qodm9pZCkKIAl1aW50MzJfdCBidWY7CiAKIAlnZW1fcmVx dWlyZV9tbWFwX2d0dChkcm1fZmQpOwotCW51bV90cmFzaF9ib3MgPSBnZW1fbWFwcGFibGVfYXBl cnR1cmVfc2l6ZSgpIC8gKDEwMjQqMTAyNCkgKyAxOworCW51bV90cmFzaF9ib3MgPSBnZW1fbWFw cGFibGVfYXBlcnR1cmVfc2l6ZShkcm1fZmQpIC8gKDEwMjQqMTAyNCkgKyAxOwogCiAJdHJhc2hf Ym9zID0gbWFsbG9jKG51bV90cmFzaF9ib3MgKiBzaXplb2YoKnRyYXNoX2JvcykpOwogCWlndF9h c3NlcnQodHJhc2hfYm9zKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19iaWdfZmIuYyBiL3Rlc3Rz L2ttc19iaWdfZmIuYwppbmRleCBjMzQ5OGM2Ny4uN2Y4ZTI3ZmQgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L2ttc19iaWdfZmIuYworKysgYi90ZXN0cy9rbXNfYmlnX2ZiLmMKQEAgLTYzMSw3ICs2MzEsNyBA QCBpZ3RfbWFpbgogCiAJCWRhdGEucmFtX3NpemUgPSBpbnRlbF9nZXRfdG90YWxfcmFtX21iKCkg PDwgMjA7CiAJCWRhdGEuYXBlcl9zaXplID0gZ2VtX2FwZXJ0dXJlX3NpemUoZGF0YS5kcm1fZmQp OwotCQlkYXRhLm1hcHBhYmxlX3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpOwor CQlkYXRhLm1hcHBhYmxlX3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShkYXRhLmRy bV9mZCk7CiAKIAkJaWd0X2luZm8oIlJBTTogJSJQUkl1NjQiIE1pQiwgR1BVIGFkZHJlc3Mgc3Bh Y2U6ICUiUFJJZDY0IiBNaUIsIEdHVFQgbWFwcGFibGUgc2l6ZTogJSJQUklkNjQiIE1pQlxuIiwK IAkJCSBkYXRhLnJhbV9zaXplID4+IDIwLCBkYXRhLmFwZXJfc2l6ZSA+PiAyMCwKZGlmZiAtLWdp dCBhL3Rlc3RzL2ttc19mbGlwLmMgYi90ZXN0cy9rbXNfZmxpcC5jCmluZGV4IDJhMTU4ZDk3Li43 OGQxNDQzZiAxMDA3NTUKLS0tIGEvdGVzdHMva21zX2ZsaXAuYworKysgYi90ZXN0cy9rbXNfZmxp cC5jCkBAIC0xMjM3LDcgKzEyMzcsNyBAQCBzdGF0aWMgdm9pZCBydW5fdGVzdF9vbl9jcnRjX3Nl dChzdHJ1Y3QgdGVzdF9vdXRwdXQgKm8sIGludCAqY3J0Y19pZHhzLAogCS8qIDI1NiBNQiBpcyB1 c3VhbGx5IHRoZSBtYXhpbXVtIG1hcHBhYmxlIGFwZXJ0dXJlLAogCSAqIChtYWtlIGl0IDR4IHRp bWVzIHRoYXQgdG8gZW5zdXJlIGZhaWx1cmUpICovCiAJaWYgKG8tPmZsYWdzICYgVEVTVF9CT19U T09CSUcpIHsKLQkJYm9fc2l6ZSA9IDQqZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKTsKKwkJ Ym9fc2l6ZSA9IDQqZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZHJtX2ZkKTsKIAkJaWd0X3Jl cXVpcmUoYm9fc2l6ZSA8IGdlbV9nbG9iYWxfYXBlcnR1cmVfc2l6ZShkcm1fZmQpKTsKIAl9CiAK ZGlmZiAtLWdpdCBhL3Rlc3RzL3ByaW1lX21tYXAuYyBiL3Rlc3RzL3ByaW1lX21tYXAuYwppbmRl eCBlOGFiMTljMC4uYzg0NGVmZmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3ByaW1lX21tYXAuYworKysg Yi90ZXN0cy9wcmltZV9tbWFwLmMKQEAgLTczLDcgKzczLDcgQEAgZmlsbF9ib19jcHUoY2hhciAq cHRyKQogfQogCiBzdGF0aWMgdm9pZAotdGVzdF9jb3JyZWN0KHZvaWQpCit0ZXN0X2NvcnJlY3Rf Z3R0KHZvaWQpCiB7CiAJaW50IGRtYV9idWZfZmQ7CiAJY2hhciAqcHRyMSwgKnB0cjI7CkBAIC0x MDMsNiArMTAzLDM3IEBAIHRlc3RfY29ycmVjdCh2b2lkKQogCWdlbV9jbG9zZShmZCwgaGFuZGxl KTsKIH0KIAorc3RhdGljIHZvaWQKK3Rlc3RfY29ycmVjdF93Yyh2b2lkKQoreworCWludCBkbWFf YnVmX2ZkOworCWNoYXIgKnB0cjEsICpwdHIyOworCXVpbnQzMl90IGhhbmRsZTsKKworCWdlbV9y ZXF1aXJlX21tYXBfd2MoZmQpOworCisJaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgQk9fU0laRSk7 CisJZmlsbF9ibyhoYW5kbGUsIEJPX1NJWkUpOworCisJZG1hX2J1Zl9mZCA9IHByaW1lX2hhbmRs ZV90b19mZChmZCwgaGFuZGxlKTsKKwlpZ3RfYXNzZXJ0KGVycm5vID09IDApOworCisJLyogQ2hl Y2sgY29ycmVjdG5lc3MgdnMgV0MgbWFwcGluZyAqLworCXB0cjEgPSBnZW1fbW1hcF9fd2MoZmQs IGhhbmRsZSwgMCwgQk9fU0laRSwgUFJPVF9SRUFEKTsKKwlwdHIyID0gbW1hcChOVUxMLCBCT19T SVpFLCBQUk9UX1JFQUQsIE1BUF9TSEFSRUQsIGRtYV9idWZfZmQsIDApOworCWlndF9hc3NlcnQo cHRyMSAhPSBNQVBfRkFJTEVEKTsKKwlpZ3RfYXNzZXJ0KHB0cjIgIT0gTUFQX0ZBSUxFRCk7CisJ aWd0X2Fzc2VydChtZW1jbXAocHRyMSwgcHRyMiwgQk9fU0laRSkgPT0gMCk7CisKKwkvKiBDaGVj ayBwYXR0ZXJuIGNvcnJlY3RuZXNzICovCisJaWd0X2Fzc2VydChtZW1jbXAocHRyMiwgcGF0dGVy biwgc2l6ZW9mKHBhdHRlcm4pKSA9PSAwKTsKKworCW11bm1hcChwdHIxLCBCT19TSVpFKTsKKwlt dW5tYXAocHRyMiwgQk9fU0laRSk7CisJY2xvc2UoZG1hX2J1Zl9mZCk7CisJZ2VtX2Nsb3NlKGZk LCBoYW5kbGUpOworfQorCiBzdGF0aWMgdm9pZAogdGVzdF9tYXBfdW5tYXAodm9pZCkKIHsKQEAg LTQ0OSw4ICs0ODAsMTEgQEAgdGVzdF9hcGVydHVyZV9saW1pdCh2b2lkKQogCWNoYXIgKnB0cjEs ICpwdHIyOwogCXVpbnQzMl90IGhhbmRsZTEsIGhhbmRsZTI7CiAJLyogVHdvIGJ1ZmZlcnMgdGhl IHN1bSBvZiB3aGljaCA+IG1hcHBhYmxlIGFwZXJ0dXJlICovCi0JdWludDY0X3Qgc2l6ZTEgPSAo Z2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKSAqIDcpIC8gODsKLQl1aW50NjRfdCBzaXplMiA9 IChnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpICogMykgLyA4OworCXVpbnQ2NF90IHNpemUx OworCXVpbnQ2NF90IHNpemUyOworCisJc2l6ZTEgPSAoZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3Np emUoZmQpICogNykgLyA4OworCXNpemUyID0gKGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZk KSAqIDMpIC8gODsKIAogCWhhbmRsZTEgPSBnZW1fY3JlYXRlKGZkLCBzaXplMSk7CiAJZmlsbF9i byhoYW5kbGUxLCBCT19TSVpFKTsKQEAgLTUwNCw3ICs1MzgsOCBAQCBpZ3RfbWFpbgogCQljb25z dCBjaGFyICpuYW1lOwogCQl2b2lkICgqZm4pKHZvaWQpOwogCX0gdGVzdHNbXSA9IHsKLQkJeyAi dGVzdF9jb3JyZWN0IiwgdGVzdF9jb3JyZWN0IH0sCisJCXsgInRlc3RfY29ycmVjdF9ndHQiLCB0 ZXN0X2NvcnJlY3RfZ3R0IH0sCisJCXsgInRlc3RfY29ycmVjdF93YyIsIHRlc3RfY29ycmVjdF93 YyB9LAogCQl7ICJ0ZXN0X21hcF91bm1hcCIsIHRlc3RfbWFwX3VubWFwIH0sCiAJCXsgInRlc3Rf cmVwcmltZSIsIHRlc3RfcmVwcmltZSB9LAogCQl7ICJ0ZXN0X2ZvcmtlZCIsIHRlc3RfZm9ya2Vk IH0sCi0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==