From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: [PATCH 8/9] drm/i915: switch intel_wait_for_register to uncore Date: Mon, 25 Mar 2019 14:49:39 -0700 Message-ID: <20190325214940.23632-9-daniele.ceraolospurio@intel.com> References: <20190325214940.23632-1-daniele.ceraolospurio@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 47A8E6E714 for ; Mon, 25 Mar 2019 21:50:10 +0000 (UTC) In-Reply-To: <20190325214940.23632-1-daniele.ceraolospurio@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 Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org VGhlIGludGVsX3VuY29yZSBzdHJ1Y3R1cmUgaXMgdGhlIG93bmVyIG9mIHJlZ2lzdGVyIGFjY2Vz cywgc28Kc3ViY2xhc3MgdGhlIGZ1bmN0aW9uIHRvIGl0LgoKV2hpbGUgYXQgaXQsIHVzZSBhIGxv Y2FsIHVuY29yZSB2YXIgYW5kIHN3aXRjaCB0byB0aGUgbmV3IHJlYWQvd3JpdGUKZnVuY3Rpb25z IHdoZXJlIGl0IG1ha2VzIHNlbnNlLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsZSBDZXJhb2xvIFNw dXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IFBhdWxvIFphbm9uaSA8 cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jICAgICAgICB8IDEyICsr KysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pY2xfZHNpLmMgICAgICAgICAgfCAgNiAr KysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICAgICB8ICA4ICsrKy0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jICAgICAgICB8ICA2ICsrKy0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8IDI1ICsrKysrKysrKysrLS0tLS0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICAgICB8ICA0ICsrLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5jICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBsbF9tZ3IuYyAgIHwgMjUgKysrKysrKysrKystLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZGNwLmMgICAgICAgfCAxNiArKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaHVjLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2x2ZHMuYyAgICAgICB8ICA2ICsrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNy LmMgICAgICAgIHwgIDggKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jIHwgIDcgKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9w bS5jIHwgIDggKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYyAg IHwgMTIgKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jICAg ICB8ICAzICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmggICAgIHwgIDYg KysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpLmMgICAgICAgICAgfCAyOCArKysr KysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpX3BsbC5j ICAgICAgfCAgNCArKy0tCiAyNCBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgOTYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggODVlODA3MDFhNGM2Li5m MTMzNGY1ZDRlYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMjY1NCw3ICsyNjU0LDcg QEAgaW50IHZsdl9mb3JjZV9nZnhfY2xvY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBib29sIGZvcmNlX29uKQogCWlmICghZm9yY2Vfb24pCiAJCXJldHVybiAwOwogCi0JZXJy ID0gaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJZXJyID0gaW50ZWxfd2FpdF9m b3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJICAgICAgVkxWX0dUTENfU1VSVklW QUJJTElUWV9SRUcsCiAJCQkJICAgICAgVkxWX0dGWF9DTEtfU1RBVFVTX0JJVCwKIAkJCQkgICAg ICBWTFZfR0ZYX0NMS19TVEFUVVNfQklULApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYwppbmRleCA4 NWM1Y2I3NzkyOTcuLjM5YTQ4MDQwOTFkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKQEAg LTE5MjAsMTAgKzE5MjAsMTAgQEAgc3RhdGljIHZvaWQgaTkxNV9vYV9zdHJlYW1fZW5hYmxlKHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiAKIHN0YXRpYyB2b2lkIGdlbjdfb2FfZGlz YWJsZShzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogewotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7CisJc3RydWN0IGludGVsX3Vu Y29yZSAqdW5jb3JlID0gJnN0cmVhbS0+ZGV2X3ByaXYtPnVuY29yZTsKIAotCUk5MTVfV1JJVEUo R0VON19PQUNPTlRST0wsIDApOwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJp diwKKwlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLCBHRU43X09BQ09OVFJPTCwgMCk7CisJaWYg KGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKHVuY29yZSwKIAkJCQkgICAgR0VON19PQUNPTlRST0ws IEdFTjdfT0FDT05UUk9MX0VOQUJMRSwgMCwKIAkJCQkgICAgNTApKQogCQlEUk1fRVJST1IoIndh aXQgZm9yIE9BIHRvIGJlIGRpc2FibGVkIHRpbWVkIG91dFxuIik7CkBAIC0xOTMxLDEwICsxOTMx LDEwIEBAIHN0YXRpYyB2b2lkIGdlbjdfb2FfZGlzYWJsZShzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtKQogCiBzdGF0aWMgdm9pZCBnZW44X29hX2Rpc2FibGUoc3RydWN0IGk5MTVfcGVy Zl9zdHJlYW0gKnN0cmVhbSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBzdHJlYW0tPmRldl9wcml2OworCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZzdHJl YW0tPmRldl9wcml2LT51bmNvcmU7CiAKLQlJOTE1X1dSSVRFKEdFTjhfT0FDT05UUk9MLCAwKTsK LQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaW50ZWxfdW5jb3JlX3dy aXRlKHVuY29yZSwgR0VOOF9PQUNPTlRST0wsIDApOworCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3Rlcih1bmNvcmUsCiAJCQkJICAgIEdFTjhfT0FDT05UUk9MLCBHRU44X09BX0NPVU5URVJfRU5B QkxFLCAwLAogCQkJCSAgICA1MCkpCiAJCURSTV9FUlJPUigid2FpdCBmb3IgT0EgdG8gYmUgZGlz YWJsZWQgdGltZWQgb3V0XG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lj bF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ljbF9kc2kuYwppbmRleCA5MjQ0MGZmNDhm OTMuLmZiMDY4MjE5OTAzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaWNsX2Rz aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ljbF9kc2kuYwpAQCAtODYxLDcgKzg2MSw4 IEBAIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9lbmFibGVfdHJhbnNjb2RlcihzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKIAkJSTkxNV9XUklURShQSVBFQ09ORihkc2lfdHJhbnMpLCB0bXAp OwogCiAJCS8qIHdhaXQgZm9yIHRyYW5zY29kZXIgdG8gYmUgZW5hYmxlZCAqLwotCQlpZiAoaW50 ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIFBJUEVDT05GKGRzaV90cmFucyksCisJCWlm IChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKKwkJCQkJICAgIFBJ UEVDT05GKGRzaV90cmFucyksCiAJCQkJCSAgICBJOTY1X1BJUEVDT05GX0FDVElWRSwKIAkJCQkJ ICAgIEk5NjVfUElQRUNPTkZfQUNUSVZFLCAxMCkpCiAJCQlEUk1fRVJST1IoIkRTSSB0cmFuc2Nv ZGVyIG5vdCBlbmFibGVkXG4iKTsKQEAgLTEwMzksNyArMTA0MCw4IEBAIHN0YXRpYyB2b2lkIGdl bjExX2RzaV9kaXNhYmxlX3RyYW5zY29kZXIoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp CiAJCUk5MTVfV1JJVEUoUElQRUNPTkYoZHNpX3RyYW5zKSwgdG1wKTsKIAogCQkvKiB3YWl0IGZv ciB0cmFuc2NvZGVyIHRvIGJlIGRpc2FibGVkICovCi0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcihkZXZfcHJpdiwgUElQRUNPTkYoZHNpX3RyYW5zKSwKKwkJaWYgKGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAorCQkJCQkgICAgUElQRUNPTkYoZHNpX3RyYW5z KSwKIAkJCQkJICAgIEk5NjVfUElQRUNPTkZfQUNUSVZFLCAwLCA1MCkpCiAJCQlEUk1fRVJST1Io IkRTSSB0cmFuY29kZXIgbm90IGRpc2FibGVkXG4iKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y2RjbGsuYwppbmRleCBkMjdjY2QyM2Q3NTMuLmQ5YjA5ZDNhMjJmMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jZGNsay5jCkBAIC05NjUsNyArOTY1LDcgQEAgc3RhdGljIHZvaWQgc2tsX2RwbGww X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCB2Y28pCiAKIAlJ OTE1X1dSSVRFKExDUExMMV9DVEwsIEk5MTVfUkVBRChMQ1BMTDFfQ1RMKSB8IExDUExMX1BMTF9F TkFCTEUpOwogCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChp bnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgTENQTEwx X0NUTCwgTENQTExfUExMX0xPQ0ssIExDUExMX1BMTF9MT0NLLAogCQkJCSAgICA1KSkKIAkJRFJN X0VSUk9SKCJEUExMMCBub3QgbG9ja2VkXG4iKTsKQEAgLTk3OSw3ICs5NzksNyBAQCBzdGF0aWMg dm9pZCBza2xfZHBsbDBfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg aW50IHZjbykKIHN0YXRpYyB2b2lkIHNrbF9kcGxsMF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIHsKIAlJOTE1X1dSSVRFKExDUExMMV9DVEwsIEk5MTVfUkVBRChM Q1BMTDFfQ1RMKSAmIH5MQ1BMTF9QTExfRU5BQkxFKTsKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVn aXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+ dW5jb3JlLAogCQkJCSAgIExDUExMMV9DVEwsIExDUExMX1BMTF9MT0NLLCAwLAogCQkJCSAgIDEp KQogCQlEUk1fRVJST1IoIkNvdWxkbid0IGRpc2FibGUgRFBMTDBcbiIpOwpAQCAtMTMyNCw3ICsx MzI0LDcgQEAgc3RhdGljIHZvaWQgYnh0X2RlX3BsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAlJOTE1X1dSSVRFKEJYVF9ERV9QTExfRU5BQkxFLCAwKTsKIAog CS8qIFRpbWVvdXQgMjAwdXMgKi8KLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3By aXYsCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJ CSAgICBCWFRfREVfUExMX0VOQUJMRSwgQlhUX0RFX1BMTF9MT0NLLCAwLAogCQkJCSAgICAxKSkK IAkJRFJNX0VSUk9SKCJ0aW1lb3V0IHdhaXRpbmcgZm9yIERFIFBMTCB1bmxvY2tcbiIpOwpAQCAt MTM0NSw3ICsxMzQ1LDcgQEAgc3RhdGljIHZvaWQgYnh0X2RlX3BsbF9lbmFibGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdmNvKQogCUk5MTVfV1JJVEUoQlhUX0RFX1BM TF9FTkFCTEUsIEJYVF9ERV9QTExfUExMX0VOQUJMRSk7CiAKIAkvKiBUaW1lb3V0IDIwMHVzICov Ci0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0 X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgQlhUX0RFX1BMTF9FTkFC TEUsCiAJCQkJICAgIEJYVF9ERV9QTExfTE9DSywKIAkJCQkgICAgQlhUX0RFX1BMTF9MT0NLLApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jcnQuYwppbmRleCAzNzE2YjJlZTM2MmYuLjUwNTMwZTQ5OTgyYyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKQEAgLTQzNSw3ICs0MzUsNyBAQCBzdGF0aWMgYm9v bCBpbnRlbF9pcm9ubGFrZV9jcnRfZGV0ZWN0X2hvdHBsdWcoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIAogCQlJOTE1X1dSSVRFKGNydC0+YWRwYV9yZWcsIGFkcGEpOwogCi0JCWlm IChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwkJaWYgKGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCQkgICAgY3J0LT5hZHBhX3JlZywKIAkJ CQkJICAgIEFEUEFfQ1JUX0hPVFBMVUdfRk9SQ0VfVFJJR0dFUiwgMCwKIAkJCQkJICAgIDEwMDAp KQpAQCAtNDg5LDcgKzQ4OSw3IEBAIHN0YXRpYyBib29sIHZhbGxleXZpZXdfY3J0X2RldGVjdF9o b3RwbHVnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIAlJOTE1X1dSSVRFKGNy dC0+YWRwYV9yZWcsIGFkcGEpOwogCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9w cml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJ CQkgICAgY3J0LT5hZHBhX3JlZywKIAkJCQkgICAgQURQQV9DUlRfSE9UUExVR19GT1JDRV9UUklH R0VSLCAwLAogCQkJCSAgICAxMDAwKSkgewpAQCAtNTQyLDcgKzU0Miw3IEBAIHN0YXRpYyBib29s IGludGVsX2NydF9kZXRlY3RfaG90cGx1ZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogCQkJCQkgICAgICBDUlRfSE9UUExVR19GT1JDRV9ERVRFQ1QsCiAJCQkJCSAgICAgIENSVF9I T1RQTFVHX0ZPUkNFX0RFVEVDVCk7CiAJCS8qIHdhaXQgZm9yIEZPUkNFX0RFVEVDVCB0byBnbyBv ZmYgKi8KLQkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQT1JUX0hPVFBM VUdfRU4sCisJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwg UE9SVF9IT1RQTFVHX0VOLAogCQkJCQkgICAgQ1JUX0hPVFBMVUdfRk9SQ0VfREVURUNULCAwLAog CQkJCQkgICAgMTAwMCkpCiAJCQlEUk1fREVCVUdfS01TKCJ0aW1lZCBvdXQgd2FpdGluZyBmb3Ig Rk9SQ0VfREVURUNUIHRvIGdvIG9mZiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCA5 MzNkZjNhNTdhOGEuLjgwNzYzZDdiNDIyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAg LTMwNzQsNyArMzA3NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9lbmFibGVfZmVjKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXZhbCB8PSBEUF9UUF9DVExfRkVDX0VOQUJMRTsK IAlJOTE1X1dSSVRFKERQX1RQX0NUTChwb3J0KSwgdmFsKTsKIAotCWlmIChpbnRlbF93YWl0X2Zv cl9yZWdpc3RlcihkZXZfcHJpdiwgRFBfVFBfU1RBVFVTKHBvcnQpLAorCWlmIChpbnRlbF93YWl0 X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwgRFBfVFBfU1RBVFVTKHBvcnQpLAogCQkJ CSAgICBEUF9UUF9TVEFUVVNfRkVDX0VOQUJMRV9MSVZFLAogCQkJCSAgICBEUF9UUF9TVEFUVVNf RkVDX0VOQUJMRV9MSVZFLAogCQkJCSAgICAxKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwppbmRleCA5YTliNzhjMTIwYjEuLjg1NzZhN2Y3OTlmMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTA0MCw3ICsxMDQwLDcgQEAgaW50ZWxfd2FpdF9mb3JfcGlw ZV9vZmYoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogCQlp OTE1X3JlZ190IHJlZyA9IFBJUEVDT05GKGNwdV90cmFuc2NvZGVyKTsKIAogCQkvKiBXYWl0IGZv ciB0aGUgUGlwZSBTdGF0ZSB0byBnbyBvZmYgKi8KLQkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lz dGVyKGRldl9wcml2LAorCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51 bmNvcmUsCiAJCQkJCSAgICByZWcsIEk5NjVfUElQRUNPTkZfQUNUSVZFLCAwLAogCQkJCQkgICAg MTAwKSkKIAkJCVdBUk4oMSwgInBpcGVfb2ZmIHdhaXQgdGltZWQgb3V0XG4iKTsKQEAgLTEzNDYs NyArMTM0Niw3IEBAIHN0YXRpYyB2b2lkIF92bHZfZW5hYmxlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKIAlQT1NUSU5HX1JFQUQoRFBMTChwaXBlKSk7CiAJdWRlbGF5KDE1MCk7CiAKLQlp ZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBEUExMKHBpcGUpLAogCQkJCSAg ICBEUExMX0xPQ0tfVkxWLAogCQkJCSAgICBEUExMX0xPQ0tfVkxWLApAQCAtMTM5OSw3ICsxMzk5 LDcgQEAgc3RhdGljIHZvaWQgX2Nodl9lbmFibGVfcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LAogCUk5MTVfV1JJVEUoRFBMTChwaXBlKSwgcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuZHBs bCk7CiAKIAkvKiBDaGVjayBQTEwgaXMgbG9ja2VkICovCi0JaWYgKGludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYt PnVuY29yZSwKIAkJCQkgICAgRFBMTChwaXBlKSwgRFBMTF9MT0NLX1ZMViwgRFBMTF9MT0NLX1ZM ViwKIAkJCQkgICAgMSkpCiAJCURSTV9FUlJPUigiUExMICVkIGZhaWxlZCB0byBsb2NrXG4iLCBw aXBlKTsKQEAgLTE1ODAsNyArMTU4MCw3IEBAIHZvaWQgdmx2X3dhaXRfcG9ydF9yZWFkeShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCUJVRygpOwogCX0KIAotCWlmIChpbnRl bF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0 ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJICAgIGRwbGxfcmVnLCBwb3J0X21hc2ssIGV4cGVj dGVkX21hc2ssCiAJCQkJICAgIDEwMDApKQogCQlXQVJOKDEsICJ0aW1lZCBvdXQgd2FpdGluZyBm b3IgcG9ydCAlYyByZWFkeTogZ290IDB4JXgsIGV4cGVjdGVkIDB4JXhcbiIsCkBAIC0xNjQxLDcg KzE2NDEsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9lbmFibGVfcGNoX3RyYW5zY29kZXIoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfcwogCX0KIAogCUk5MTVfV1JJVEUocmVn LCB2YWwgfCBUUkFOU19FTkFCTEUpOwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZf cHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJ CQkJICAgIHJlZywgVFJBTlNfU1RBVEVfRU5BQkxFLCBUUkFOU19TVEFURV9FTkFCTEUsCiAJCQkJ ICAgIDEwMCkpCiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGVuYWJsZSB0cmFuc2NvZGVyICVjXG4i LCBwaXBlX25hbWUocGlwZSkpOwpAQCAtMTY3MSw3ICsxNjcxLDcgQEAgc3RhdGljIHZvaWQgbHB0 X2VuYWJsZV9wY2hfdHJhbnNjb2RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJCXZhbCB8PSBUUkFOU19QUk9HUkVTU0lWRTsKIAogCUk5MTVfV1JJVEUoTFBUX1RSQU5TQ09O RiwgdmFsKTsKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBMUFRfVFJB TlNDT05GLAogCQkJCSAgICBUUkFOU19TVEFURV9FTkFCTEUsCiAJCQkJICAgIFRSQU5TX1NUQVRF X0VOQUJMRSwKQEAgLTE2OTcsNyArMTY5Nyw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2Rpc2Fi bGVfcGNoX3RyYW5zY29kZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXZh bCAmPSB+VFJBTlNfRU5BQkxFOwogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCS8qIHdhaXQgZm9y IFBDSCB0cmFuc2NvZGVyIG9mZiwgdHJhbnNjb2RlciBzdGF0ZSAqLwotCWlmIChpbnRlbF93YWl0 X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRl dl9wcml2LT51bmNvcmUsCiAJCQkJICAgIHJlZywgVFJBTlNfU1RBVEVfRU5BQkxFLCAwLAogCQkJ CSAgICA1MCkpCiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGRpc2FibGUgdHJhbnNjb2RlciAlY1xu IiwgcGlwZV9uYW1lKHBpcGUpKTsKQEAgLTE3MTksNyArMTcxOSw3IEBAIHZvaWQgbHB0X2Rpc2Fi bGVfcGNoX3RyYW5zY29kZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXZh bCAmPSB+VFJBTlNfRU5BQkxFOwogCUk5MTVfV1JJVEUoTFBUX1RSQU5TQ09ORiwgdmFsKTsKIAkv KiB3YWl0IGZvciBQQ0ggdHJhbnNjb2RlciBvZmYsIHRyYW5zY29kZXIgc3RhdGUgKi8KLQlpZiAo aW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBMUFRfVFJBTlNDT05GLCBUUkFOU19T VEFURV9FTkFCTEUsIDAsCiAJCQkJICAgIDUwKSkKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZGlz YWJsZSBQQ0ggdHJhbnNjb2RlclxuIik7CkBAIC01Mjk5LDcgKzUyOTksNyBAQCB2b2lkIGhzd19l bmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQkg KiBhbmQgZG9uJ3Qgd2FpdCBmb3IgdmJsYW5rcyB1bnRpbCB0aGUgZW5kIG9mIGNydGNfZW5hYmxl LCB0aGVuCiAJCSAqIHRoZSBIVyBzdGF0ZSByZWFkb3V0IGNvZGUgd2lsbCBjb21wbGFpbiB0aGF0 IHRoZSBleHBlY3RlZAogCQkgKiBJUFNfQ1RMIHZhbHVlIGlzIG5vdCB0aGUgb25lIHdlIHJlYWQu ICovCi0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwkJaWYgKGludGVs X3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCQkgICAgSVBTX0NUTCwg SVBTX0VOQUJMRSwgSVBTX0VOQUJMRSwKIAkJCQkJICAgIDUwKSkKIAkJCURSTV9FUlJPUigiVGlt ZWQgb3V0IHdhaXRpbmcgZm9yIElQUyBlbmFibGVcbiIpOwpAQCAtNTMyNCw3ICs1MzI0LDcgQEAg dm9pZCBoc3dfZGlzYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiAJCSAqIDQybXMgdGltZW91dCB2YWx1ZSBsZWFkcyB0byBvY2Nhc2lvbmFsIHRpbWVv dXRzIHNvIHVzZSAxMDBtcwogCQkgKiBpbnN0ZWFkLgogCQkgKi8KLQkJaWYgKGludGVsX3dhaXRf Zm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRl dl9wcml2LT51bmNvcmUsCiAJCQkJCSAgICBJUFNfQ1RMLCBJUFNfRU5BQkxFLCAwLAogCQkJCQkg ICAgMTAwKSkKIAkJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIElQUyBkaXNhYmxl XG4iKTsKQEAgLTk0ODEsNyArOTQ4MSw4IEBAIHN0YXRpYyB2b2lkIGhzd19kaXNhYmxlX2xjcGxs KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlJOTE1X1dSSVRFKExDUExMX0NU TCwgdmFsKTsKIAlQT1NUSU5HX1JFQUQoTENQTExfQ1RMKTsKIAotCWlmIChpbnRlbF93YWl0X2Zv cl9yZWdpc3RlcihkZXZfcHJpdiwgTENQTExfQ1RMLCBMQ1BMTF9QTExfTE9DSywgMCwgMSkpCisJ aWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAorCQkJCSAgICBM Q1BMTF9DVEwsIExDUExMX1BMTF9MT0NLLCAwLCAxKSkKIAkJRFJNX0VSUk9SKCJMQ1BMTCBzdGls bCBsb2NrZWRcbiIpOwogCiAJdmFsID0gaHN3X3JlYWRfZGNvbXAoZGV2X3ByaXYpOwpAQCAtOTUz Niw3ICs5NTM3LDcgQEAgc3RhdGljIHZvaWQgaHN3X3Jlc3RvcmVfbGNwbGwoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXZhbCAmPSB+TENQTExfUExMX0RJU0FCTEU7CiAJSTkx NV9XUklURShMQ1BMTF9DVEwsIHZhbCk7CiAKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo ZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3Jl LAogCQkJCSAgICBMQ1BMTF9DVEwsIExDUExMX1BMTF9MT0NLLCBMQ1BMTF9QTExfTE9DSywKIAkJ CQkgICAgNSkpCiAJCURSTV9FUlJPUigiTENQTEwgbm90IGxvY2tlZCB5ZXRcbiIpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKaW5kZXggMzI2ZGUxMmMzZjQ0Li43NGZlMTQxMDM0NTkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYwpAQCAtMjM0OCw3ICsyMzQ4LDcgQEAgc3RhdGljIHZvaWQgd2FpdF9w YW5lbF9zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCUk5MTVfUkVBRChwcF9z dGF0X3JlZyksCiAJCQlJOTE1X1JFQUQocHBfY3RybF9yZWcpKTsKIAotCWlmIChpbnRlbF93YWl0 X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRl dl9wcml2LT51bmNvcmUsCiAJCQkJICAgIHBwX3N0YXRfcmVnLCBtYXNrLCB2YWx1ZSwKIAkJCQkg ICAgNTAwMCkpCiAJCURSTV9FUlJPUigiUGFuZWwgc3RhdHVzIHRpbWVvdXQ6IHN0YXR1cyAlMDh4 IGNvbnRyb2wgJTA4eFxuIiwKQEAgLTM5MzcsNyArMzkzNyw3IEBAIHZvaWQgaW50ZWxfZHBfc2V0 X2lkbGVfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmIChwb3J0ID09 IFBPUlRfQSkKIAkJcmV0dXJuOwogCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9w cml2LERQX1RQX1NUQVRVUyhwb3J0KSwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRl dl9wcml2LT51bmNvcmUsIERQX1RQX1NUQVRVUyhwb3J0KSwKIAkJCQkgICAgRFBfVFBfU1RBVFVT X0lETEVfRE9ORSwKIAkJCQkgICAgRFBfVFBfU1RBVFVTX0lETEVfRE9ORSwKIAkJCQkgICAgMSkp CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCmluZGV4IGZiNjdjZDkzMTExNy4uZWNhZDFm NThlYmY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwpAQCAtMjg5LDcgKzI4OSw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAKIAlEUk1fREVCVUdfS01TKCJhY3RpdmUgbGlua3MgJWRcbiIsIGludGVsX2Rw LT5hY3RpdmVfbXN0X2xpbmtzKTsKIAotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZf cHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJ CQkJICAgIERQX1RQX1NUQVRVUyhwb3J0KSwKIAkJCQkgICAgRFBfVFBfU1RBVFVTX0FDVF9TRU5U LAogCQkJCSAgICBEUF9UUF9TVEFUVVNfQUNUX1NFTlQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBpb19waHkuYwppbmRleCBhMDU5MWI2NDA3MGIuLmRiMjk1Yzc3ZmYwZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBpb19waHkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5jCkBAIC0zNDEsNyArMzQxLDcgQEAgc3RhdGljIHUzMiBi eHRfZ2V0X2dyYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gZHBpb19w aHkgcGh5KQogc3RhdGljIHZvaWQgYnh0X3BoeV93YWl0X2dyY19kb25lKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgIGVudW0gZHBpb19waHkgcGh5KQogewotCWlmIChp bnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVn aXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJICAgIEJYVF9QT1JUX1JFRl9EVzMocGh5KSwK IAkJCQkgICAgR1JDX0RPTkUsIEdSQ19ET05FLAogCQkJCSAgICAxMCkpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBsbF9tZ3IuYwppbmRleCBlZWI2NTk5NDYyMDMuLmUwMWMwNTdjZTUwYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCkBAIC05NjAsNyArOTYwLDcgQEAgc3Rh dGljIHZvaWQgc2tsX2RkaV9wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAlJOTE1X1dSSVRFKHJlZ3NbaWRdLmN0bCwKIAkJICAgSTkxNV9SRUFEKHJlZ3NbaWRd LmN0bCkgfCBMQ1BMTF9QTExfRU5BQkxFKTsKIAotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3Rl cihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNv cmUsCiAJCQkJICAgIERQTExfU1RBVFVTLAogCQkJCSAgICBEUExMX0xPQ0soaWQpLAogCQkJCSAg ICBEUExMX0xPQ0soaWQpLApAQCAtMTk3Nyw3ICsxOTc3LDcgQEAgc3RhdGljIHZvaWQgY25sX2Rk aV9wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlJOTE1X1dS SVRFKENOTF9EUExMX0VOQUJMRShpZCksIHZhbCk7CiAKIAkvKiAyLiBXYWl0IGZvciBEUExMIHBv d2VyIHN0YXRlIGVuYWJsZWQgaW4gRFBMTF9FTkFCTEUuICovCi0JaWYgKGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3By aXYtPnVuY29yZSwKIAkJCQkgICAgQ05MX0RQTExfRU5BQkxFKGlkKSwKIAkJCQkgICAgUExMX1BP V0VSX1NUQVRFLAogCQkJCSAgICBQTExfUE9XRVJfU1RBVEUsCkBAIC0yMDE4LDcgKzIwMTgsNyBA QCBzdGF0aWMgdm9pZCBjbmxfZGRpX3BsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCUk5MTVfV1JJVEUoQ05MX0RQTExfRU5BQkxFKGlkKSwgdmFsKTsKIAogCS8q IDcuIFdhaXQgZm9yIFBMTCBsb2NrIHN0YXR1cyBpbiBEUExMX0VOQUJMRS4gKi8KLQlpZiAoaW50 ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lz dGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBDTkxfRFBMTF9FTkFCTEUoaWQpLAogCQkJ CSAgICBQTExfTE9DSywKIAkJCQkgICAgUExMX0xPQ0ssCkBAIC0yMDY2LDcgKzIwNjYsNyBAQCBz dGF0aWMgdm9pZCBjbmxfZGRpX3BsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAlJOTE1X1dSSVRFKENOTF9EUExMX0VOQUJMRShpZCksIHZhbCk7CiAKIAkvKiA0 LiBXYWl0IGZvciBQTEwgbm90IGxvY2tlZCBzdGF0dXMgaW4gRFBMTF9FTkFCTEUuICovCi0JaWYg KGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9y ZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgQ05MX0RQTExfRU5BQkxFKGlkKSwK IAkJCQkgICAgUExMX0xPQ0ssCiAJCQkJICAgIDAsCkBAIC0yMDg4LDcgKzIwODgsNyBAQCBzdGF0 aWMgdm9pZCBjbmxfZGRpX3BsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAlJOTE1X1dSSVRFKENOTF9EUExMX0VOQUJMRShpZCksIHZhbCk7CiAKIAkvKiA3LiBX YWl0IGZvciBEUExMIHBvd2VyIHN0YXRlIGRpc2FibGVkIGluIERQTExfRU5BQkxFLiAqLwotCWlm IChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3Jf cmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJICAgIENOTF9EUExMX0VOQUJMRShpZCks CiAJCQkJICAgIFBMTF9QT1dFUl9TVEFURSwKIAkJCQkgICAgMCwKQEAgLTMwNTAsOCArMzA1MCw4 IEBAIHN0YXRpYyB2b2lkIGljbF9wbGxfcG93ZXJfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkgKiBUaGUgc3BlYyBzYXlzIHdlIG5lZWQgdG8gIndhaXQiIGJ1dCBp dCBhbHNvIHNheXMgaXQgc2hvdWxkIGJlCiAJICogaW1tZWRpYXRlLgogCSAqLwotCWlmIChpbnRl bF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgZW5hYmxlX3JlZywgUExMX1BPV0VSX1NUQVRF LAotCQkJCSAgICBQTExfUE9XRVJfU1RBVEUsIDEpKQorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcigmZGV2X3ByaXYtPnVuY29yZSwgZW5hYmxlX3JlZywKKwkJCQkgICAgUExMX1BPV0VSX1NU QVRFLCBQTExfUE9XRVJfU1RBVEUsIDEpKQogCQlEUk1fRVJST1IoIlBMTCAlZCBQb3dlciBub3Qg ZW5hYmxlZFxuIiwgcGxsLT5pbmZvLT5pZCk7CiB9CiAKQEAgLTMwNjYsOCArMzA2Niw4IEBAIHN0 YXRpYyB2b2lkIGljbF9wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAlJOTE1X1dSSVRFKGVuYWJsZV9yZWcsIHZhbCk7CiAKIAkvKiBUaW1lb3V0IGlzIGFjdHVh bGx5IDYwMHVzLiAqLwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgZW5h YmxlX3JlZywgUExMX0xPQ0ssIFBMTF9MT0NLLAotCQkJCSAgICAxKSkKKwlpZiAoaW50ZWxfd2Fp dF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsIGVuYWJsZV9yZWcsCisJCQkJICAgIFBM TF9MT0NLLCBQTExfTE9DSywgMSkpCiAJCURSTV9FUlJPUigiUExMICVkIG5vdCBsb2NrZWRcbiIs IHBsbC0+aW5mby0+aWQpOwogfQogCkBAIC0zMTQ5LDcgKzMxNDksOCBAQCBzdGF0aWMgdm9pZCBp Y2xfcGxsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUk5MTVf V1JJVEUoZW5hYmxlX3JlZywgdmFsKTsKIAogCS8qIFRpbWVvdXQgaXMgYWN0dWFsbHkgMXVzLiAq LwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgZW5hYmxlX3JlZywgUExM X0xPQ0ssIDAsIDEpKQorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVu Y29yZSwKKwkJCQkgICAgZW5hYmxlX3JlZywgUExMX0xPQ0ssIDAsIDEpKQogCQlEUk1fRVJST1Io IlBMTCAlZCBsb2NrZWRcbiIsIHBsbC0+aW5mby0+aWQpOwogCiAJLyogRFZGUyBwb3N0IHNlcXVl bmNlIHdvdWxkIGJlIGhlcmUuIFNlZSB0aGUgY29tbWVudCBhYm92ZS4gKi8KQEAgLTMxNjIsOCAr MzE2Myw4IEBAIHN0YXRpYyB2b2lkIGljbF9wbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJICogVGhlIHNwZWMgc2F5cyB3ZSBuZWVkIHRvICJ3YWl0IiBidXQg aXQgYWxzbyBzYXlzIGl0IHNob3VsZCBiZQogCSAqIGltbWVkaWF0ZS4KIAkgKi8KLQlpZiAoaW50 ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIGVuYWJsZV9yZWcsIFBMTF9QT1dFUl9TVEFU RSwgMCwKLQkJCQkgICAgMSkpCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJp di0+dW5jb3JlLAorCQkJCSAgICBlbmFibGVfcmVnLCBQTExfUE9XRVJfU1RBVEUsIDAsIDEpKQog CQlEUk1fRVJST1IoIlBMTCAlZCBQb3dlciBub3QgZGlzYWJsZWRcbiIsIHBsbC0+aW5mby0+aWQp OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCmluZGV4IDY1NmU2ODRlN2M5YS4uNDNmZTA4 YmUzYjdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwpAQCAtMTA4LDcgKzEwOCw3IEBAIHN0 YXRpYyB2b2lkIGk4eHhfZmJjX2RlYWN0aXZhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCUk5MTVfV1JJVEUoRkJDX0NPTlRST0wsIGZiY19jdGwpOwogCiAJLyogV2FpdCBm b3IgY29tcHJlc3NpbmcgYml0IHRvIGNsZWFyICovCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lz dGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVu Y29yZSwKIAkJCQkgICAgRkJDX1NUQVRVUywgRkJDX1NUQVRfQ09NUFJFU1NJTkcsIDAsCiAJCQkJ ICAgIDEwKSkgewogCQlEUk1fREVCVUdfS01TKCJGQkMgaWRsZSB0aW1lZCBvdXRcbiIpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuYwppbmRleCBmYjlhZjE5M2RiZmMuLjNhYWJmYTJkOTE5OCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKQEAgLTU2NSw3ICs1NjUsNyBAQCBzdGF0aWMgaW50IGd1 Y19zbGVlcF9zdGF0ZV9hY3Rpb24oc3RydWN0IGludGVsX2d1YyAqZ3VjLAogCWlmIChyZXQpCiAJ CXJldHVybiByZXQ7CiAKLQlyZXQgPSBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2 LCBTT0ZUX1NDUkFUQ0goMTQpLAorCXJldCA9IF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRl dl9wcml2LT51bmNvcmUsIFNPRlRfU0NSQVRDSCgxNCksCiAJCQkJCUlOVEVMX0dVQ19TTEVFUF9T VEFURV9JTlZBTElEX01BU0ssCiAJCQkJCTAsIDAsIDEwLCAmc3RhdHVzKTsKIAlpZiAocmV0KQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCmluZGV4IDljZTA5ZjY3Nzc2ZC4uMTExZmYyMDQ0ZjJl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCkBAIC0yMjUsNyArMjI1LDcgQEAgc3RhdGlj IGludCBpbnRlbF9oZGNwX2xvYWRfa2V5cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJfQogCiAJLyogV2FpdCBmb3IgdGhlIGtleXMgdG8gbG9hZCAoNTAwdXMpICovCi0JcmV0 ID0gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgSERDUF9LRVlfU1RBVFVTLAor CXJldCA9IF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsIEhEQ1Bf S0VZX1NUQVRVUywKIAkJCQkJSERDUF9LRVlfTE9BRF9ET05FLCBIRENQX0tFWV9MT0FEX0RPTkUs CiAJCQkJCTEwLCAxLCAmdmFsKTsKIAlpZiAocmV0KQpAQCAtMjQzLDcgKzI0Myw3IEBAIHN0YXRp YyBpbnQgaW50ZWxfaGRjcF9sb2FkX2tleXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogc3RhdGljIGludCBpbnRlbF93cml0ZV9zaGFfdGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIHUzMiBzaGFfdGV4dCkKIHsKIAlJOTE1X1dSSVRFKEhEQ1BfU0hBX1RF WFQsIHNoYV90ZXh0KTsKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIEhE Q1BfUkVQX0NUTCwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNv cmUsIEhEQ1BfUkVQX0NUTCwKIAkJCQkgICAgSERDUF9TSEExX1JFQURZLCBIRENQX1NIQTFfUkVB RFksIDEpKSB7CiAJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFNIQTEgcmVhZHlc biIpOwogCQlyZXR1cm4gLUVUSU1FRE9VVDsKQEAgLTQ3NCw3ICs0NzQsNyBAQCBpbnQgaW50ZWxf aGRjcF92YWxpZGF0ZV92X3ByaW1lKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LAogCiAJLyogVGVsbCB0aGUgSFcgd2UncmUgZG9uZSB3aXRoIHRoZSBoYXNoIGFuZCB3 YWl0IGZvciBpdCB0byBBQ0sgKi8KIAlJOTE1X1dSSVRFKEhEQ1BfUkVQX0NUTCwgcmVwX2N0bCB8 IEhEQ1BfU0hBMV9DT01QTEVURV9IQVNIKTsKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo ZGV2X3ByaXYsIEhEQ1BfUkVQX0NUTCwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRl dl9wcml2LT51bmNvcmUsIEhEQ1BfUkVQX0NUTCwKIAkJCQkgICAgSERDUF9TSEExX0NPTVBMRVRF LAogCQkJCSAgICBIRENQX1NIQTFfQ09NUExFVEUsIDEpKSB7CiAJCURSTV9FUlJPUigiVGltZWQg b3V0IHdhaXRpbmcgZm9yIFNIQTEgY29tcGxldGVcbiIpOwpAQCAtNjA0LDcgKzYwNCw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfaGRjcF9hdXRoKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0LAogCUk5MTVfV1JJVEUoUE9SVF9IRENQX0NPTkYocG9ydCksIEhEQ1BfQ09ORl9D QVBUVVJFX0FOKTsKIAogCS8qIFdhaXQgZm9yIEFuIHRvIGJlIGFjcXVpcmVkICovCi0JaWYgKGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpLAor CWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwgUE9SVF9IRENQ X1NUQVRVUyhwb3J0KSwKIAkJCQkgICAgSERDUF9TVEFUVVNfQU5fUkVBRFksCiAJCQkJICAgIEhE Q1BfU1RBVFVTX0FOX1JFQURZLCAxKSkgewogCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5n IGZvciBBblxuIik7CkBAIC02ODUsNyArNjg1LDcgQEAgc3RhdGljIGludCBpbnRlbF9oZGNwX2F1 dGgoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJfQogCiAJLyog V2FpdCBmb3IgZW5jcnlwdGlvbiBjb25maXJtYXRpb24gKi8KLQlpZiAoaW50ZWxfd2FpdF9mb3Jf cmVnaXN0ZXIoZGV2X3ByaXYsIFBPUlRfSERDUF9TVEFUVVMocG9ydCksCisJaWYgKGludGVsX3dh aXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLCBQT1JUX0hEQ1BfU1RBVFVTKHBvcnQp LAogCQkJCSAgICBIRENQX1NUQVRVU19FTkMsIEhEQ1BfU1RBVFVTX0VOQywKIAkJCQkgICAgRU5D UllQVF9TVEFUVVNfQ0hBTkdFX1RJTUVPVVRfTVMpKSB7CiAJCURSTV9FUlJPUigiVGltZWQgb3V0 IHdhaXRpbmcgZm9yIGVuY3J5cHRpb25cbiIpOwpAQCAtNzE3LDcgKzcxNyw3IEBAIHN0YXRpYyBp bnQgX2ludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip CiAKIAloZGNwLT5oZGNwX2VuY3J5cHRlZCA9IGZhbHNlOwogCUk5MTVfV1JJVEUoUE9SVF9IRENQ X0NPTkYocG9ydCksIDApOwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwg UE9SVF9IRENQX1NUQVRVUyhwb3J0KSwgfjAsIDAsCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lz dGVyKCZkZXZfcHJpdi0+dW5jb3JlLCBQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpLCB+MCwgMCwKIAkJ CQkgICAgRU5DUllQVF9TVEFUVVNfQ0hBTkdFX1RJTUVPVVRfTVMpKSB7CiAJCURSTV9FUlJPUigi RmFpbGVkIHRvIGRpc2FibGUgSERDUCwgdGltZW91dCBjbGVhcmluZyBzdGF0dXNcbiIpOwogCQly ZXR1cm4gLUVUSU1FRE9VVDsKQEAgLTE0NzcsNyArMTQ3Nyw3IEBAIHN0YXRpYyBpbnQgaGRjcDJf ZW5hYmxlX2VuY3J5cHRpb24oc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJ ICAgQ1RMX0xJTktfRU5DUllQVElPTl9SRVEpOwogCX0KIAotCXJldCA9IGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKGRldl9wcml2LCBIRENQMl9TVEFUVVNfRERJKHBvcnQpLAorCXJldCA9IGludGVs X3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLCBIRENQMl9TVEFUVVNfRERJKHBv cnQpLAogCQkJCSAgICAgIExJTktfRU5DUllQVElPTl9TVEFUVVMsCiAJCQkJICAgICAgTElOS19F TkNSWVBUSU9OX1NUQVRVUywKIAkJCQkgICAgICBFTkNSWVBUX1NUQVRVU19DSEFOR0VfVElNRU9V VF9NUyk7CkBAIC0xNDk4LDcgKzE0OTgsNyBAQCBzdGF0aWMgaW50IGhkY3AyX2Rpc2FibGVfZW5j cnlwdGlvbihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJSTkxNV9XUklURShI RENQMl9DVExfRERJKHBvcnQpLAogCQkgICBJOTE1X1JFQUQoSERDUDJfQ1RMX0RESShwb3J0KSkg JiB+Q1RMX0xJTktfRU5DUllQVElPTl9SRVEpOwogCi0JcmV0ID0gaW50ZWxfd2FpdF9mb3JfcmVn aXN0ZXIoZGV2X3ByaXYsIEhEQ1AyX1NUQVRVU19EREkocG9ydCksCisJcmV0ID0gaW50ZWxfd2Fp dF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsIEhEQ1AyX1NUQVRVU19EREkocG9ydCks CiAJCQkJICAgICAgTElOS19FTkNSWVBUSU9OX1NUQVRVUywgMHgwLAogCQkJCSAgICAgIEVOQ1JZ UFRfU1RBVFVTX0NIQU5HRV9USU1FT1VUX01TKTsKIAlpZiAocmV0ID09IC1FVElNRURPVVQpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2h1Yy5jCmluZGV4IDliZDFjOTAwMmMyYS4uOTRjMDRmMTZhMmFkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYwpAQCAtNzksNyArNzksNyBAQCBpbnQgaW50ZWxfaHVj X2F1dGgoc3RydWN0IGludGVsX2h1YyAqaHVjKQogCX0KIAogCS8qIENoZWNrIGF1dGhlbnRpY2F0 aW9uIHN0YXR1cywgaXQgc2hvdWxkIGJlIGRvbmUgYnkgbm93ICovCi0JcmV0ID0gX19pbnRlbF93 YWl0X2Zvcl9yZWdpc3RlcihpOTE1LAorCXJldCA9IF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo Jmk5MTUtPnVuY29yZSwKIAkJCQkJSFVDX1NUQVRVUzIsCiAJCQkJCUhVQ19GV19WRVJJRklFRCwK IAkJCQkJSFVDX0ZXX1ZFUklGSUVELApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IGNj ZDVhYzZkM2ZjZC4uMzRkZDJkNzE4MTRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCkBA IC0zMTEsNyArMzExLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2x2ZHMoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJSTkxNV9XUklURShQUF9DT05UUk9MKDApLCBJOTE1X1JF QUQoUFBfQ09OVFJPTCgwKSkgfCBQQU5FTF9QT1dFUl9PTik7CiAJUE9TVElOR19SRUFEKGx2ZHNf ZW5jb2Rlci0+cmVnKTsKIAotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwg UFBfU1RBVFVTKDApLCBQUF9PTiwgUFBfT04sIDUwMDApKQorCWlmIChpbnRlbF93YWl0X2Zvcl9y ZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKKwkJCQkgICAgUFBfU1RBVFVTKDApLCBQUF9PTiwg UFBfT04sIDUwMDApKQogCQlEUk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5nIGZvciBwYW5lbCB0 byBwb3dlciBvblxuIik7CiAKIAlpbnRlbF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KHBpcGVfY29u ZmlnLCBjb25uX3N0YXRlKTsKQEAgLTMyNSw3ICszMjYsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k aXNhYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAKIAlJ OTE1X1dSSVRFKFBQX0NPTlRST0woMCksIEk5MTVfUkVBRChQUF9DT05UUk9MKDApKSAmIH5QQU5F TF9QT1dFUl9PTik7Ci0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQUF9T VEFUVVMoMCksIFBQX09OLCAwLCAxMDAwKSkKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo JmRldl9wcml2LT51bmNvcmUsCisJCQkJICAgIFBQX1NUQVRVUygwKSwgUFBfT04sIDAsIDEwMDAp KQogCQlEUk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5nIGZvciBwYW5lbCB0byBwb3dlciBvZmZc biIpOwogCiAJSTkxNV9XUklURShsdmRzX2VuY29kZXItPnJlZywgSTkxNV9SRUFEKGx2ZHNfZW5j b2Rlci0+cmVnKSAmIH5MVkRTX1BPUlRfRU4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwppbmRl eCA2MDVmZThmYzg1Y2MuLmVjODc0ZDgwMmQ0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMK QEAgLTgzNCw4ICs4MzQsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZGlzYWJsZV9sb2NrZWQo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAl9CiAKIAkvKiBXYWl0IHRpbGwgUFNSIGlzIGlk bGUgKi8KLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIHBzcl9zdGF0dXMs IHBzcl9zdGF0dXNfbWFzaywgMCwKLQkJCQkgICAgMjAwMCkpCisJaWYgKGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAorCQkJCSAgICBwc3Jfc3RhdHVzLCBwc3Jfc3Rh dHVzX21hc2ssIDAsIDIwMDApKQogCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIFBTUiBp ZGxlIHN0YXRlXG4iKTsKIAogCS8qIERpc2FibGUgUFNSIG9uIFNpbmsgKi8KQEAgLTk1Niw3ICs5 NTYsNyBAQCBpbnQgaW50ZWxfcHNyX3dhaXRfZm9yX2lkbGUoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAogCSAqIGRlZmVuc2l2ZSBlbm91Z2ggdG8gY292ZXIg ZXZlcnl0aGluZy4KIAkgKi8KIAotCXJldHVybiBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRl dl9wcml2LCBFRFBfUFNSX1NUQVRVUywKKwlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rl cigmZGV2X3ByaXYtPnVuY29yZSwgRURQX1BTUl9TVEFUVVMsCiAJCQkJCSBFRFBfUFNSX1NUQVRV U19TVEFURV9NQVNLLAogCQkJCQkgRURQX1BTUl9TVEFUVVNfU1RBVEVfSURMRSwgMiwgNTAsCiAJ CQkJCSBvdXRfdmFsdWUpOwpAQCAtOTgxLDcgKzk4MSw3IEBAIHN0YXRpYyBib29sIF9fcHNyX3dh aXRfZm9yX2lkbGVfbG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAog CW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsKIAotCWVyciA9IGludGVsX3dhaXRf Zm9yX3JlZ2lzdGVyKGRldl9wcml2LCByZWcsIG1hc2ssIDAsIDUwKTsKKwllcnIgPSBpbnRlbF93 YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwgcmVnLCBtYXNrLCAwLCA1MCk7CiAJ aWYgKGVycikKIAkJRFJNX0VSUk9SKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgUFNSIElkbGUgZm9y IHJlLWVuYWJsZVxuIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwpp bmRleCA1MTAzYmFkYTg5MDAuLmE1YjRhMmQ5YTQ5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYwpAQCAtNTg2LDcgKzU4Niw3IEBAIHN0YXRpYyB2b2lkIGZsdXNoX2Nz X3RsYihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJSTkxNV9XUklURShpbnN0cG0s CiAJCSAgIF9NQVNLRURfQklUX0VOQUJMRShJTlNUUE1fVExCX0lOVkFMSURBVEUgfAogCQkJCSAg ICAgIElOU1RQTV9TWU5DX0ZMVVNIKSk7Ci0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRl dl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwK IAkJCQkgICAgaW5zdHBtLCBJTlNUUE1fU1lOQ19GTFVTSCwgMCwKIAkJCQkgICAgMTAwMCkpCiAJ CURSTV9FUlJPUigiJXM6IHdhaXQgZm9yIFN5bmNGbHVzaCB0byBjb21wbGV0ZSBmb3IgVExCIGlu dmFsaWRhdGlvbiB0aW1lZCBvdXRcbiIsCkBAIC02MDcsNyArNjA3LDcgQEAgc3RhdGljIGJvb2wg c3RvcF9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID4gMikgewogCQlJOTE1X1dSSVRFX01PREUoZW5naW5lLCBfTUFTS0VEX0JJ VF9FTkFCTEUoU1RPUF9SSU5HKSk7Ci0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZf cHJpdiwKKwkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAog CQkJCQkgICAgUklOR19NSV9NT0RFKGVuZ2luZS0+bW1pb19iYXNlKSwKIAkJCQkJICAgIE1PREVf SURMRSwKIAkJCQkJICAgIE1PREVfSURMRSwKQEAgLTY5OSw3ICs2OTksOCBAQCBzdGF0aWMgaW50 IGluaXRfcmluZ19jb21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCUk5MTVf V1JJVEVfQ1RMKGVuZ2luZSwgUklOR19DVExfU0laRShyaW5nLT5zaXplKSB8IFJJTkdfVkFMSUQp OwogCiAJLyogSWYgdGhlIGhlYWQgaXMgc3RpbGwgbm90IHplcm8sIHRoZSByaW5nIGlzIGRlYWQg Ki8KLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIFJJTkdfQ1RMKGVuZ2lu ZS0+bW1pb19iYXNlKSwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51 bmNvcmUsCisJCQkJICAgIFJJTkdfQ1RMKGVuZ2luZS0+bW1pb19iYXNlKSwKIAkJCQkgICAgUklO R19WQUxJRCwgUklOR19WQUxJRCwKIAkJCQkgICAgNTApKSB7CiAJCURSTV9FUlJPUigiJXMgaW5p dGlhbGl6YXRpb24gZmFpbGVkICIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0u YwppbmRleCA2NzZhODliYjgxOTQuLjQwZGRmYmI5N2FjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3J1bnRpbWVfcG0uYwpAQCAtNTY1LDcgKzU2NSw3IEBAIHN0YXRpYyB2b2lkIGhzd193 YWl0X2Zvcl9wb3dlcl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJaW50IHB3X2lkeCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pZHg7CiAKIAkvKiBUaW1l b3V0IGZvciBQVzE6MTAgdXMsIEFVWDpub3Qgc3BlY2lmaWVkLCBvdGhlciBQV3M6MjAgdXMuICov Ci0JV0FSTl9PTihpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlXQVJOX09OKGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCQlyZWdzLT5kcml2 ZXIsCiAJCQkJCUhTV19QV1JfV0VMTF9DVExfU1RBVEUocHdfaWR4KSwKIAkJCQkJSFNXX1BXUl9X RUxMX0NUTF9TVEFURShwd19pZHgpLApAQCAtNjIwLDcgKzYyMCw3IEBAIHN0YXRpYyB2b2lkIGdl bjlfd2FpdF9mb3JfcG93ZXJfd2VsbF9mdXNlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJCQkJCSAgIGVudW0gc2tsX3Bvd2VyX2dhdGUgcGcpCiB7CiAJLyogVGltZW91dCA1 dXMgZm9yIFBHIzAsIGZvciBvdGhlciBQR3MgMXVzICovCi0JV0FSTl9PTihpbnRlbF93YWl0X2Zv cl9yZWdpc3RlcihkZXZfcHJpdiwgU0tMX0ZVU0VfU1RBVFVTLAorCVdBUk5fT04oaW50ZWxfd2Fp dF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsIFNLTF9GVVNFX1NUQVRVUywKIAkJCQkJ U0tMX0ZVU0VfUEdfRElTVF9TVEFUVVMocGcpLAogCQkJCQlTS0xfRlVTRV9QR19ESVNUX1NUQVRV UyhwZyksIDEpKTsKIH0KQEAgLTE1MjEsNyArMTUyMSw3IEBAIHN0YXRpYyB2b2lkIGFzc2VydF9j aHZfcGh5X3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogVGhl IFBIWSBtYXkgYmUgYnVzeSB3aXRoIHNvbWUgaW5pdGlhbCBjYWxpYnJhdGlvbiBhbmQgd2hhdG5v dCwKIAkgKiBzbyB0aGUgcG93ZXIgc3RhdGUgY2FuIHRha2UgYSB3aGlsZSB0byBhY3R1YWxseSBj aGFuZ2UuCiAJICovCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlm IChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgRElT UExBWV9QSFlfU1RBVFVTLAogCQkJCSAgICBwaHlfc3RhdHVzX21hc2ssCiAJCQkJICAgIHBoeV9z dGF0dXMsCkBAIC0xNTU2LDcgKzE1NTYsNyBAQCBzdGF0aWMgdm9pZCBjaHZfZHBpb19jbW5fcG93 ZXJfd2VsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXZsdl9z ZXRfcG93ZXJfd2VsbChkZXZfcHJpdiwgcG93ZXJfd2VsbCwgdHJ1ZSk7CiAKIAkvKiBQb2xsIGZv ciBwaHlwd3Jnb29kIHNpZ25hbCAqLwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZf cHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJ CQkJICAgIERJU1BMQVlfUEhZX1NUQVRVUywKIAkJCQkgICAgUEhZX1BPV0VSR09PRChwaHkpLAog CQkJCSAgICBQSFlfUE9XRVJHT09EKHBoeSksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zaWRlYmFuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJh bmQuYwppbmRleCA3NWM4NzJiYjhjYzkuLjU3ZGU0MWIxZjk4OSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zaWRlYmFuZC5jCkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBpbnQgdmx2X3NpZGVi YW5kX3J3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGRldmZuLAogCiAJ V0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXZfcHJpdi0+c2JfbG9jaykpOwogCi0JaWYgKGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgVkxWX0lPU0ZfRE9PUkJFTExfUkVRLCBJ T1NGX1NCX0JVU1ksIDAsCiAJCQkJICAgIDUpKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIklPU0Yg c2lkZWJhbmQgaWRsZSB3YWl0ICglcykgdGltZWQgb3V0XG4iLApAQCAtNjMsNyArNjMsNyBAQCBz dGF0aWMgaW50IHZsdl9zaWRlYmFuZF9ydyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHUzMiBkZXZmbiwKIAlJOTE1X1dSSVRFKFZMVl9JT1NGX0RBVEEsIGlzX3JlYWQgPyAwIDog KnZhbCk7CiAJSTkxNV9XUklURShWTFZfSU9TRl9ET09SQkVMTF9SRVEsIGNtZCk7CiAKLQlpZiAo aW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBWTFZfSU9TRl9ET09SQkVMTF9SRVEs IElPU0ZfU0JfQlVTWSwgMCwKIAkJCQkgICAgNSkpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiSU9T RiBzaWRlYmFuZCBmaW5pc2ggd2FpdCAoJXMpIHRpbWVkIG91dFxuIiwKQEAgLTIwOCw3ICsyMDgs NyBAQCB1MzIgaW50ZWxfc2JpX3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1MTYgcmVnLAogCXUzMiB2YWx1ZSA9IDA7CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZk ZXZfcHJpdi0+c2JfbG9jaykpOwogCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9w cml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJ CQkgICAgU0JJX0NUTF9TVEFULCBTQklfQlVTWSwgMCwKIAkJCQkgICAgMTAwKSkgewogCQlEUk1f RVJST1IoInRpbWVvdXQgd2FpdGluZyBmb3IgU0JJIHRvIGJlY29tZSByZWFkeVxuIik7CkBAIC0y MjQsNyArMjI0LDcgQEAgdTMyIGludGVsX3NiaV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTE2IHJlZywKIAkJdmFsdWUgPSBTQklfQ1RMX0RFU1RfTVBIWSB8IFNCSV9D VExfT1BfSU9SRDsKIAlJOTE1X1dSSVRFKFNCSV9DVExfU1RBVCwgdmFsdWUgfCBTQklfQlVTWSk7 CiAKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dh aXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBTQklfQ1RMX1NUQVQs CiAJCQkJICAgIFNCSV9CVVNZLAogCQkJCSAgICAwLApAQCAtMjQ4LDcgKzI0OCw3IEBAIHZvaWQg aW50ZWxfc2JpX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTE2IHJl ZywgdTMyIHZhbHVlLAogCiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXZfcHJpdi0+c2Jf bG9jaykpOwogCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChp bnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgU0JJX0NU TF9TVEFULCBTQklfQlVTWSwgMCwKIAkJCQkgICAgMTAwKSkgewogCQlEUk1fRVJST1IoInRpbWVv dXQgd2FpdGluZyBmb3IgU0JJIHRvIGJlY29tZSByZWFkeVxuIik7CkBAIC0yNjQsNyArMjY0LDcg QEAgdm9pZCBpbnRlbF9zYmlfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1MTYgcmVnLCB1MzIgdmFsdWUsCiAJCXRtcCA9IFNCSV9DVExfREVTVF9NUEhZIHwgU0JJX0NU TF9PUF9JT1dSOwogCUk5MTVfV1JJVEUoU0JJX0NUTF9TVEFULCBTQklfQlVTWSB8IHRtcCk7CiAK LQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRf Zm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBTQklfQ1RMX1NUQVQsCiAJ CQkJICAgIFNCSV9CVVNZLAogCQkJCSAgICAwLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YwppbmRleCAzZjM4YjM0NGY1OGIuLmZkM2FhNDQ0ODkyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdW5jb3JlLmMKQEAgLTE4MzEsNyArMTgzMSw3IEBAIGludCBfX2ludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyX2Z3KHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSwKICAqCiAgKiBSZXR1cm5zIDAg aWYgdGhlIHJlZ2lzdGVyIG1hdGNoZXMgdGhlIGRlc2lyZWQgY29uZGl0aW9uLCBvciAtRVRJTUVP VVQuCiAgKi8KLWludCBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKK2ludCBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKHN0cnVjdCBp bnRlbF91bmNvcmUgKnVuY29yZSwKIAkJCSAgICBpOTE1X3JlZ190IHJlZywKIAkJCSAgICB1MzIg bWFzaywKIAkJCSAgICB1MzIgdmFsdWUsCkBAIC0xODM5LDcgKzE4MzksNiBAQCBpbnQgX19pbnRl bF93YWl0X2Zvcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CQkgICAgdW5zaWduZWQgaW50IHNsb3dfdGltZW91dF9tcywKIAkJCSAgICB1MzIgKm91dF92YWx1 ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmZGV2X3ByaXYtPnVuY29yZTsK IAl1bnNpZ25lZCBmdyA9CiAJCWludGVsX3VuY29yZV9mb3JjZXdha2VfZm9yX3JlZyh1bmNvcmUs IHJlZywgRldfUkVHX1JFQUQpOwogCXUzMiByZWdfdmFsdWU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VuY29yZS5oCmluZGV4IGIwYTJiYzc3MmM3OS4uMWEzMmU1NzZiMzc2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuaApAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgaW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV9wdXRfX2xvY2tlZChzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUsCiB2b2lk IGludGVsX3VuY29yZV9mb3JjZXdha2VfdXNlcl9nZXQoc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlKTsKIHZvaWQgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV91c2VyX3B1dChzdHJ1Y3QgaW50ZWxf dW5jb3JlICp1bmNvcmUpOwogCi1pbnQgX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCitpbnQgX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rl cihzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUsCiAJCQkgICAgICBpOTE1X3JlZ190IHJlZywK IAkJCSAgICAgIHUzMiBtYXNrLAogCQkJICAgICAgdTMyIHZhbHVlLApAQCAtMTk3LDEzICsxOTcs MTMgQEAgaW50IF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJICAgICAgdW5zaWduZWQgaW50IHNsb3dfdGltZW91dF9tcywKIAkJ CSAgICAgIHUzMiAqb3V0X3ZhbHVlKTsKIHN0YXRpYyBpbmxpbmUKLWludCBpbnRlbF93YWl0X2Zv cl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCitpbnQgaW50ZWxf d2FpdF9mb3JfcmVnaXN0ZXIoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlLAogCQkJICAgIGk5 MTVfcmVnX3QgcmVnLAogCQkJICAgIHUzMiBtYXNrLAogCQkJICAgIHUzMiB2YWx1ZSwKIAkJCSAg ICB1bnNpZ25lZCBpbnQgdGltZW91dF9tcykKIHsKLQlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9y ZWdpc3RlcihkZXZfcHJpdiwgcmVnLCBtYXNrLCB2YWx1ZSwgMiwKKwlyZXR1cm4gX19pbnRlbF93 YWl0X2Zvcl9yZWdpc3Rlcih1bmNvcmUsIHJlZywgbWFzaywgdmFsdWUsIDIsCiAJCQkJCSB0aW1l b3V0X21zLCBOVUxMKTsKIH0KIGludCBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyX2Z3KHN0cnVj dCBpbnRlbF91bmNvcmUgKnVuY29yZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3Zsdl9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zsdl9kc2kuYwppbmRleCAwMTI3OGIy ZTI1N2MuLmQzNDA4NWU3MzhlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvdmx2 X2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zsdl9kc2kuYwpAQCAtNzgsNyArNzgs NyBAQCB2b2lkIHZsdl9kc2lfd2FpdF9mb3JfZmlmb19lbXB0eShzdHJ1Y3QgaW50ZWxfZHNpICpp bnRlbF9kc2ksIGVudW0gcG9ydCBwb3J0KQogCW1hc2sgPSBMUF9DVFJMX0ZJRk9fRU1QVFkgfCBI U19DVFJMX0ZJRk9fRU1QVFkgfAogCQlMUF9EQVRBX0ZJRk9fRU1QVFkgfCBIU19EQVRBX0ZJRk9f RU1QVFk7CiAKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBNSVBJX0dF Tl9GSUZPX1NUQVQocG9ydCksIG1hc2ssIG1hc2ssCiAJCQkJICAgIDEwMCkpCiAJCURSTV9FUlJP UigiRFBJIEZJRk9zIGFyZSBub3QgZW1wdHlcbiIpOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHN0YXRp YyBzc2l6ZV90IGludGVsX2RzaV9ob3N0X3RyYW5zZmVyKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpo b3N0LAogCiAJLyogbm90ZTogdGhpcyBpcyBuZXZlciB0cnVlIGZvciByZWFkcyAqLwogCWlmIChw YWNrZXQucGF5bG9hZF9sZW5ndGgpIHsKLQkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRl dl9wcml2LAorCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUs CiAJCQkJCSAgICBNSVBJX0dFTl9GSUZPX1NUQVQocG9ydCksCiAJCQkJCSAgICBkYXRhX21hc2ss IDAsCiAJCQkJCSAgICA1MCkpCkBAIC0xNjIsNyArMTYyLDcgQEAgc3RhdGljIHNzaXplX3QgaW50 ZWxfZHNpX2hvc3RfdHJhbnNmZXIoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiAJCUk5MTVf V1JJVEUoTUlQSV9JTlRSX1NUQVQocG9ydCksIEdFTl9SRUFEX0RBVEFfQVZBSUwpOwogCX0KIAot CWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwlpZiAoaW50ZWxfd2FpdF9m b3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJICAgIE1JUElfR0VOX0ZJRk9fU1RB VChwb3J0KSwKIAkJCQkgICAgY3RybF9tYXNrLCAwLAogCQkJCSAgICA1MCkpIHsKQEAgLTE3NCw3 ICsxNzQsNyBAQCBzdGF0aWMgc3NpemVfdCBpbnRlbF9kc2lfaG9zdF90cmFuc2ZlcihzdHJ1Y3Qg bWlwaV9kc2lfaG9zdCAqaG9zdCwKIAkvKiAtPnJ4X2xlbiBpcyBzZXQgb25seSBmb3IgcmVhZHMg Ki8KIAlpZiAobXNnLT5yeF9sZW4pIHsKIAkJZGF0YV9tYXNrID0gR0VOX1JFQURfREFUQV9BVkFJ TDsKLQkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCQlpZiAoaW50ZWxf d2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJCSAgICBNSVBJX0lOVFJf U1RBVChwb3J0KSwKIAkJCQkJICAgIGRhdGFfbWFzaywgZGF0YV9tYXNrLAogCQkJCQkgICAgNTAp KQpAQCAtMjM0LDcgKzIzNCw3IEBAIHN0YXRpYyBpbnQgZHBpX3NlbmRfY21kKHN0cnVjdCBpbnRl bF9kc2kgKmludGVsX2RzaSwgdTMyIGNtZCwgYm9vbCBocywKIAlJOTE1X1dSSVRFKE1JUElfRFBJ X0NPTlRST0wocG9ydCksIGNtZCk7CiAKIAltYXNrID0gU1BMX1BLVF9TRU5UX0lOVEVSUlVQVDsK LQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJaWYgKGludGVsX3dhaXRf Zm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCSAgICBNSVBJX0lOVFJfU1RBVChw b3J0KSwgbWFzaywgbWFzaywKIAkJCQkgICAgMTAwKSkKIAkJRFJNX0VSUk9SKCJWaWRlbyBtb2Rl IGNvbW1hbmQgMHglMDh4IHNlbmQgZmFpbGVkLlxuIiwgY21kKTsKQEAgLTM1Myw3ICszNTMsNyBA QCBzdGF0aWMgYm9vbCBnbGtfZHNpX2VuYWJsZV9pbyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKIAogCS8qIFdhaXQgZm9yIFB3ciBBQ0sgKi8KIAlmb3JfZWFjaF9kc2lfcG9ydChwb3J0 LCBpbnRlbF9kc2ktPnBvcnRzKSB7Ci0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZf cHJpdiwKKwkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAog CQkJCU1JUElfQ1RSTChwb3J0KSwgR0xLX01JUElJT19QT1JUX1BPV0VSRUQsCiAJCQkJR0xLX01J UElJT19QT1JUX1BPV0VSRUQsIDIwKSkKIAkJCURSTV9FUlJPUigiTUlQSU8gcG9ydCBpcyBwb3dl cmdhdGVkXG4iKTsKQEAgLTM3Nyw3ICszNzcsNyBAQCBzdGF0aWMgdm9pZCBnbGtfZHNpX2Rldmlj ZV9yZWFkeShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAogCS8qIFdhaXQgZm9yIE1J UEkgUEhZIHN0YXR1cyBiaXQgdG8gc2V0ICovCiAJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50 ZWxfZHNpLT5wb3J0cykgewotCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYs CisJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQlN SVBJX0NUUkwocG9ydCksIEdMS19QSFlfU1RBVFVTX1BPUlRfUkVBRFksCiAJCQkJR0xLX1BIWV9T VEFUVVNfUE9SVF9SRUFEWSwgMjApKQogCQkJRFJNX0VSUk9SKCJQSFkgaXMgbm90IE9OXG4iKTsK QEAgLTQwMyw3ICs0MDMsNyBAQCBzdGF0aWMgdm9pZCBnbGtfZHNpX2RldmljZV9yZWFkeShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJCUk5MTVfV1JJVEUoTUlQSV9ERVZJQ0VfUkVB RFkocG9ydCksIHZhbCk7CiAKIAkJCS8qIFdhaXQgZm9yIFVMUFMgYWN0aXZlICovCi0JCQlpZiAo aW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJCQlpZiAoaW50ZWxfd2FpdF9mb3Jf cmVnaXN0ZXIoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJTUlQSV9DVFJMKHBvcnQpLCBHTEtfVUxQ U19OT1RfQUNUSVZFLCAwLCAyMCkpCiAJCQkJRFJNX0VSUk9SKCJVTFBTIG5vdCBhY3RpdmVcbiIp OwogCkBAIC00MjcsNyArNDI3LDcgQEAgc3RhdGljIHZvaWQgZ2xrX2RzaV9kZXZpY2VfcmVhZHko c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAKIAkvKiBXYWl0IGZvciBTdG9wIHN0YXRl ICovCiAJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewotCQlpZiAo aW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCisJCWlmIChpbnRlbF93YWl0X2Zvcl9y ZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQlNSVBJX0NUUkwocG9ydCksIEdMS19EQVRB X0xBTkVfU1RPUF9TVEFURSwKIAkJCQlHTEtfREFUQV9MQU5FX1NUT1BfU1RBVEUsIDIwKSkKIAkJ CURSTV9FUlJPUigiRGF0ZSBsYW5lIG5vdCBpbiBTVE9QIHN0YXRlXG4iKTsKQEAgLTQzNSw3ICs0 MzUsNyBAQCBzdGF0aWMgdm9pZCBnbGtfZHNpX2RldmljZV9yZWFkeShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKIAogCS8qIFdhaXQgZm9yIEFGRSBMQVRDSCAqLwogCWZvcl9lYWNoX2Rz aV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKLQkJaWYgKGludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyKGRldl9wcml2LAorCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoJmRldl9wcml2 LT51bmNvcmUsCiAJCQkJQlhUX01JUElfUE9SVF9DVFJMKHBvcnQpLCBBRkVfTEFUQ0hPVVQsCiAJ CQkJQUZFX0xBVENIT1VULCAyMCkpCiAJCQlEUk1fRVJST1IoIkQtUEhZIG5vdCBlbnRlcmluZyBM UC0xMSBzdGF0ZVxuIik7CkBAIC01MzcsNyArNTM3LDcgQEAgc3RhdGljIHZvaWQgZ2xrX2RzaV9l bnRlcl9sb3dfcG93ZXJfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAogCS8q IFdhaXQgZm9yIE1JUEkgUEhZIHN0YXR1cyBiaXQgdG8gdW5zZXQgKi8KIAlmb3JfZWFjaF9kc2lf cG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7Ci0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcihkZXZfcHJpdiwKKwkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+ dW5jb3JlLAogCQkJCQkgICAgTUlQSV9DVFJMKHBvcnQpLAogCQkJCQkgICAgR0xLX1BIWV9TVEFU VVNfUE9SVF9SRUFEWSwgMCwgMjApKQogCQkJRFJNX0VSUk9SKCJQSFkgaXMgbm90IHR1cm5pbmcg T0ZGXG4iKTsKQEAgLTU0NSw3ICs1NDUsNyBAQCBzdGF0aWMgdm9pZCBnbGtfZHNpX2VudGVyX2xv d19wb3dlcl9tb2RlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCiAJLyogV2FpdCBm b3IgUHdyIEFDSyBiaXQgdG8gdW5zZXQgKi8KIAlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRl bF9kc2ktPnBvcnRzKSB7Ci0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwK KwkJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCQkg ICAgTUlQSV9DVFJMKHBvcnQpLAogCQkJCQkgICAgR0xLX01JUElJT19QT1JUX1BPV0VSRUQsIDAs IDIwKSkKIAkJCURSTV9FUlJPUigiTUlQSSBJTyBQb3J0IGlzIG5vdCBwb3dlcmdhdGVkXG4iKTsK QEAgLTU2Niw3ICs1NjYsNyBAQCBzdGF0aWMgdm9pZCBnbGtfZHNpX2Rpc2FibGVfbWlwaV9pbyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAogCS8qIFdhaXQgZm9yIE1JUEkgUEhZIHN0 YXR1cyBiaXQgdG8gdW5zZXQgKi8KIAlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2kt PnBvcnRzKSB7Ci0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwkJaWYg KGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAogCQkJCQkgICAgTUlQ SV9DVFJMKHBvcnQpLAogCQkJCQkgICAgR0xLX1BIWV9TVEFUVVNfUE9SVF9SRUFEWSwgMCwgMjAp KQogCQkJRFJNX0VSUk9SKCJQSFkgaXMgbm90IHR1cm5pbmcgT0ZGXG4iKTsKQEAgLTYxNiw3ICs2 MTYsNyBAQCBzdGF0aWMgdm9pZCB2bHZfZHNpX2NsZWFyX2RldmljZV9yZWFkeShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJICogUG9ydCBBIG9ubHkuIE1JUEkgUG9ydCBDIGhhcyBu byBzaW1pbGFyIGJpdCBmb3IgY2hlY2tpbmcuCiAJCSAqLwogCQlpZiAoKElTX0dFTjlfTFAoZGV2 X3ByaXYpIHx8IHBvcnQgPT0gUE9SVF9BKSAmJgotCQkgICAgaW50ZWxfd2FpdF9mb3JfcmVnaXN0 ZXIoZGV2X3ByaXYsCisJCSAgICBpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVu Y29yZSwKIAkJCQkJICAgIHBvcnRfY3RybCwgQUZFX0xBVENIT1VULCAwLAogCQkJCQkgICAgMzAp KQogCQkJRFJNX0VSUk9SKCJEU0kgTFAgbm90IGdvaW5nIExvd1xuIik7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpX3BsbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv dmx2X2RzaV9wbGwuYwppbmRleCA5NTRkNWE4YzRmYTcuLjVlN2IxZmIyZGI1ZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvdmx2X2RzaV9wbGwuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS92bHZfZHNpX3BsbC5jCkBAIC0yNDQsNyArMjQ0LDcgQEAgdm9pZCBieHRfZHNpX3Bs bF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCSAqIFBMTCBsb2NrIHNo b3VsZCBkZWFzc2VydCB3aXRoaW4gMjAwdXMuCiAJICogV2FpdCB1cCB0byAxbXMgYmVmb3JlIHRp bWluZyBvdXQuCiAJICovCi0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAor CWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAg QlhUX0RTSV9QTExfRU5BQkxFLAogCQkJCSAgICBCWFRfRFNJX1BMTF9MT0NLRUQsCiAJCQkJICAg IDAsCkBAIC01MjgsNyArNTI4LDcgQEAgdm9pZCBieHRfZHNpX3BsbF9lbmFibGUoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJSTkxNV9XUklURShCWFRfRFNJX1BMTF9FTkFCTEUsIHZh bCk7CiAKIAkvKiBUaW1lb3V0IGFuZCBmYWlsIGlmIFBMTCBub3QgbG9ja2VkICovCi0JaWYgKGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAorCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcigmZGV2X3ByaXYtPnVuY29yZSwKIAkJCQkgICAgQlhUX0RTSV9QTExfRU5BQkxFLAogCQkJ CSAgICBCWFRfRFNJX1BMTF9MT0NLRUQsCiAJCQkJICAgIEJYVF9EU0lfUExMX0xPQ0tFRCwKLS0g CjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4