From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1BC9AC63777 for ; Fri, 27 Nov 2020 12:08:35 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BFF3321D81 for ; Fri, 27 Nov 2020 12:08:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BFF3321D81 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E6B9B6EC1E; Fri, 27 Nov 2020 12:08:01 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id D9ACC6EC15; Fri, 27 Nov 2020 12:07:53 +0000 (UTC) IronPort-SDR: wM07YqskMye1pUPQaLcV0F67MvugJ252/v/aWacayUkga793Lb89ZzwUAGvMYBioRR7rbIP0qf EkeMulZ4HmZA== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="168883374" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="168883374" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:07:48 -0800 IronPort-SDR: RSbczQcNo9oj+bWxD5AUqcbCZGUbwHhbRz5H10wuh7iThBDd0yGIlW2zPbwA45UglTBjgsAsR1 COPYi3OfCzvQ== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028567" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:07:47 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 012/162] drm/i915: Move cmd parser pinning to execbuffer Date: Fri, 27 Nov 2020 12:04:48 +0000 Message-Id: <20201127120718.454037-13-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCldlIG5lZWQgdG8gZ2V0IHJpZCBvZiBhbGxvY2F0aW9ucyBpbiB0aGUgY21kIHBhcnNlciwg YmVjYXVzZSBpdCBuZWVkcwp0byBiZSBjYWxsZWQgZnJvbSBhIHNpZ25hbGluZyBjb250ZXh0LCBm aXJzdCBtb3ZlIGFsbCBwaW5uaW5nIHRvCmV4ZWNidWYsIHdoZXJlIHdlIGFscmVhZHkgaG9sZCBh bGwgbG9ja3MuCgpBbGxvY2F0ZSBqdW1wX3doaXRlbGlzdCBpbiB0aGUgZXhlY2J1ZmZlciwgYW5k IGFkZCBhbm5vdGF0aW9ucyBhcm91bmQKaW50ZWxfZW5naW5lX2NtZF9wYXJzZXIoKSwgdG8gZW5z dXJlIHdlIG9ubHkgY2FsbCB0aGUgY29tbWFuZCBwYXJzZXIKd2l0aG91dCBhbGxvY2F0aW5nIGFu eSBtZW1vcnksIG9yIHRha2luZyBhbnkgbG9ja3Mgd2UncmUgbm90IHN1cHBvc2VkIHRvLgoKQmVj YXVzZSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoKSBtYXkgYWxzbyBhbGxvY2F0ZSBtZW1vcnks IGFkZCBhCnBhdGggdG8gaTkxNV9nZW1fb2JqZWN0X2dldF9zZygpIHRoYXQgcHJldmVudHMgbWVt b3J5IGFsbG9jYXRpb25zLAphbmQgd2FsayB0aGUgc2cgbGlzdCBtYW51YWxseS4gSXQgc2hvdWxk IGJlIHNpbWlsYXJseSBmYXN0LgoKVGhpcyBoYXMgdGhlIGFkZGVkIGJlbmVmaXQgb2YgYmVpbmcg YWJsZSB0byBjYXRjaCBhbGwgbWVtb3J5IGFsbG9jYXRpb24KZXJyb3JzIGJlZm9yZSB0aGUgcG9p bnQgb2Ygbm8gcmV0dXJuLCBhbmQgcmV0dXJuIC1FTk9NRU0gc2FmZWx5IHRvIHRoZQpleGVjYnVm IHN1Ym1pdHRlci4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhl bGxzdHJvbUBsaW51eC5pbnRlbC5jb20+Ci0tLQogLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fZXhlY2J1ZmZlci5jICAgIHwgIDc0ICsrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCAgICB8ICAxMCArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMgICAgIHwgIDIxICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2dndHQuYyAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9jbWRfcGFyc2VyLmMgICAgICAgIHwgMTA0ICsrKysrKysrLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgICA3ICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X21lbWNweS5jICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfbWVtY3B5LmggICAgICAgICAgICB8ICAgMiArLQogOCBmaWxl cyBjaGFuZ2VkLCAxNDIgaW5zZXJ0aW9ucygrKSwgODAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggMTkwNGU2ZTVl YTY0Li42MGFmYTZmODI2ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2V4ZWNidWZmZXIuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImk5MTVfZ2VtX2Ns Zmx1c2guaCIKICNpbmNsdWRlICJpOTE1X2dlbV9jb250ZXh0LmgiCiAjaW5jbHVkZSAiaTkxNV9n ZW1faW9jdGxzLmgiCisjaW5jbHVkZSAiaTkxNV9tZW1jcHkuaCIKICNpbmNsdWRlICJpOTE1X3N3 X2ZlbmNlX3dvcmsuaCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCiAjaW5jbHVkZSAiaTkxNV91 c2VyX2V4dGVuc2lvbnMuaCIKQEAgLTIyNzMsMjQgKzIyNzQsNDUgQEAgc3RydWN0IGViX3BhcnNl X3dvcmsgewogCXN0cnVjdCBpOTE1X3ZtYSAqdHJhbXBvbGluZTsKIAl1bnNpZ25lZCBsb25nIGJh dGNoX29mZnNldDsKIAl1bnNpZ25lZCBsb25nIGJhdGNoX2xlbmd0aDsKKwl1bnNpZ25lZCBsb25n ICpqdW1wX3doaXRlbGlzdDsKKwljb25zdCB2b2lkICpiYXRjaF9tYXA7CisJdm9pZCAqc2hhZG93 X21hcDsKIH07CiAKIHN0YXRpYyBpbnQgX19lYl9wYXJzZShzdHJ1Y3QgZG1hX2ZlbmNlX3dvcmsg KndvcmspCiB7CiAJc3RydWN0IGViX3BhcnNlX3dvcmsgKnB3ID0gY29udGFpbmVyX29mKHdvcmss IHR5cGVvZigqcHcpLCBiYXNlKTsKKwlpbnQgcmV0OworCWJvb2wgY29va2llOwogCi0JcmV0dXJu IGludGVsX2VuZ2luZV9jbWRfcGFyc2VyKHB3LT5lbmdpbmUsCi0JCQkJICAgICAgIHB3LT5iYXRj aCwKLQkJCQkgICAgICAgcHctPmJhdGNoX29mZnNldCwKLQkJCQkgICAgICAgcHctPmJhdGNoX2xl bmd0aCwKLQkJCQkgICAgICAgcHctPnNoYWRvdywKLQkJCQkgICAgICAgcHctPnRyYW1wb2xpbmUp OworCWNvb2tpZSA9IGRtYV9mZW5jZV9iZWdpbl9zaWduYWxsaW5nKCk7CisJcmV0ID0gaW50ZWxf ZW5naW5lX2NtZF9wYXJzZXIocHctPmVuZ2luZSwKKwkJCQkgICAgICBwdy0+YmF0Y2gsCisJCQkJ ICAgICAgcHctPmJhdGNoX29mZnNldCwKKwkJCQkgICAgICBwdy0+YmF0Y2hfbGVuZ3RoLAorCQkJ CSAgICAgIHB3LT5zaGFkb3csCisJCQkJICAgICAgcHctPmp1bXBfd2hpdGVsaXN0LAorCQkJCSAg ICAgIHB3LT5zaGFkb3dfbWFwLAorCQkJCSAgICAgIHB3LT5iYXRjaF9tYXApOworCWRtYV9mZW5j ZV9lbmRfc2lnbmFsbGluZyhjb29raWUpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZv aWQgX19lYl9wYXJzZV9yZWxlYXNlKHN0cnVjdCBkbWFfZmVuY2Vfd29yayAqd29yaykKIHsKIAlz dHJ1Y3QgZWJfcGFyc2Vfd29yayAqcHcgPSBjb250YWluZXJfb2Yod29yaywgdHlwZW9mKCpwdyks IGJhc2UpOwogCisJaWYgKCFJU19FUlJfT1JfTlVMTChwdy0+anVtcF93aGl0ZWxpc3QpKQorCQlr ZnJlZShwdy0+anVtcF93aGl0ZWxpc3QpOworCisJaWYgKHB3LT5iYXRjaF9tYXApCisJCWk5MTVf Z2VtX29iamVjdF91bnBpbl9tYXAocHctPmJhdGNoLT5vYmopOworCWVsc2UKKwkJaTkxNV9nZW1f b2JqZWN0X3VucGluX3BhZ2VzKHB3LT5iYXRjaC0+b2JqKTsKKworCWk5MTVfZ2VtX29iamVjdF91 bnBpbl9tYXAocHctPnNoYWRvdy0+b2JqKTsKKwogCWlmIChwdy0+dHJhbXBvbGluZSkKIAkJaTkx NV9hY3RpdmVfcmVsZWFzZSgmcHctPnRyYW1wb2xpbmUtPmFjdGl2ZSk7CiAJaTkxNV9hY3RpdmVf cmVsZWFzZSgmcHctPnNoYWRvdy0+YWN0aXZlKTsKQEAgLTIzNDAsNiArMjM2Miw4IEBAIHN0YXRp YyBpbnQgZWJfcGFyc2VfcGlwZWxpbmUoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAqZWIsCiAJCQkg ICAgIHN0cnVjdCBpOTE1X3ZtYSAqdHJhbXBvbGluZSkKIHsKIAlzdHJ1Y3QgZWJfcGFyc2Vfd29y ayAqcHc7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoID0gZWItPmJhdGNoLT52 bWEtPm9iajsKKwlib29sIG5lZWRzX2NsZmx1c2g7CiAJaW50IGVycjsKIAogCUdFTV9CVUdfT04o b3ZlcmZsb3dzX3R5cGUoZWItPmJhdGNoX3N0YXJ0X29mZnNldCwgcHctPmJhdGNoX29mZnNldCkp OwpAQCAtMjM2Myw2ICsyMzg3LDM0IEBAIHN0YXRpYyBpbnQgZWJfcGFyc2VfcGlwZWxpbmUoc3Ry dWN0IGk5MTVfZXhlY2J1ZmZlciAqZWIsCiAJCQlnb3RvIGVycl9zaGFkb3c7CiAJfQogCisJcHct PnNoYWRvd19tYXAgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChzaGFkb3ctPm9iaiwgSTkxNV9N QVBfRk9SQ0VfV0IpOworCWlmIChJU19FUlIocHctPnNoYWRvd19tYXApKSB7CisJCWVyciA9IFBU Ul9FUlIocHctPnNoYWRvd19tYXApOworCQlnb3RvIGVycl90cmFtcG9saW5lOworCX0KKworCW5l ZWRzX2NsZmx1c2ggPQorCQkhKGJhdGNoLT5jYWNoZV9jb2hlcmVudCAmIEk5MTVfQk9fQ0FDSEVf Q09IRVJFTlRfRk9SX1JFQUQpOworCisJcHctPmJhdGNoX21hcCA9IEVSUl9QVFIoLUVOT0RFVik7 CisJaWYgKG5lZWRzX2NsZmx1c2ggJiYgaTkxNV9oYXNfbWVtY3B5X2Zyb21fd2MoKSkKKwkJcHct PmJhdGNoX21hcCA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKGJhdGNoLCBJOTE1X01BUF9XQyk7 CisKKwlpZiAoSVNfRVJSKHB3LT5iYXRjaF9tYXApKSB7CisJCWVyciA9IGk5MTVfZ2VtX29iamVj dF9waW5fcGFnZXMoYmF0Y2gpOworCQlpZiAoZXJyKQorCQkJZ290byBlcnJfdW5tYXBfc2hhZG93 OworCQlwdy0+YmF0Y2hfbWFwID0gTlVMTDsKKwl9CisKKwlwdy0+anVtcF93aGl0ZWxpc3QgPQor CQlpbnRlbF9lbmdpbmVfY21kX3BhcnNlcl9hbGxvY19qdW1wX3doaXRlbGlzdChlYi0+YmF0Y2hf bGVuLAorCQkJCQkJCSAgICAgdHJhbXBvbGluZSk7CisJaWYgKElTX0VSUihwdy0+anVtcF93aGl0 ZWxpc3QpKSB7CisJCWVyciA9IFBUUl9FUlIocHctPmp1bXBfd2hpdGVsaXN0KTsKKwkJZ290byBl cnJfdW5tYXBfYmF0Y2g7CisJfQorCiAJZG1hX2ZlbmNlX3dvcmtfaW5pdCgmcHctPmJhc2UsICZl Yl9wYXJzZV9vcHMpOwogCiAJcHctPmVuZ2luZSA9IGViLT5lbmdpbmU7CkBAIC0yNDAyLDYgKzI0 NTQsMTYgQEAgc3RhdGljIGludCBlYl9wYXJzZV9waXBlbGluZShzdHJ1Y3QgaTkxNV9leGVjYnVm ZmVyICplYiwKIAlkbWFfZmVuY2Vfd29ya19jb21taXRfaW1tKCZwdy0+YmFzZSk7CiAJcmV0dXJu IGVycjsKIAorZXJyX3VubWFwX2JhdGNoOgorCWlmIChwdy0+YmF0Y2hfbWFwKQorCQlpOTE1X2dl bV9vYmplY3RfdW5waW5fbWFwKGJhdGNoKTsKKwllbHNlCisJCWk5MTVfZ2VtX29iamVjdF91bnBp bl9wYWdlcyhiYXRjaCk7CitlcnJfdW5tYXBfc2hhZG93OgorCWk5MTVfZ2VtX29iamVjdF91bnBp bl9tYXAoc2hhZG93LT5vYmopOworZXJyX3RyYW1wb2xpbmU6CisJaWYgKHRyYW1wb2xpbmUpCisJ CWk5MTVfYWN0aXZlX3JlbGVhc2UoJnRyYW1wb2xpbmUtPmFjdGl2ZSk7CiBlcnJfc2hhZG93Ogog CWk5MTVfYWN0aXZlX3JlbGVhc2UoJnNoYWRvdy0+YWN0aXZlKTsKIGVycl9iYXRjaDoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCBkNjExOTRlZjQ4NGUu LjgwYzViMmIzMjZmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmpl Y3QuaApAQCAtMjkxLDIyICsyOTEsMjIgQEAgc3RydWN0IHNjYXR0ZXJsaXN0ICoKIF9faTkxNV9n ZW1fb2JqZWN0X2dldF9zZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJIHN0 cnVjdCBpOTE1X2dlbV9vYmplY3RfcGFnZV9pdGVyICppdGVyLAogCQkJIHVuc2lnbmVkIGludCBu LAotCQkJIHVuc2lnbmVkIGludCAqb2Zmc2V0KTsKKwkJCSB1bnNpZ25lZCBpbnQgKm9mZnNldCwg Ym9vbCBhbGxvd19hbGxvYyk7CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNjYXR0ZXJsaXN0ICoK IGk5MTVfZ2VtX29iamVjdF9nZXRfc2coc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK IAkJICAgICAgIHVuc2lnbmVkIGludCBuLAotCQkgICAgICAgdW5zaWduZWQgaW50ICpvZmZzZXQp CisJCSAgICAgICB1bnNpZ25lZCBpbnQgKm9mZnNldCwgYm9vbCBhbGxvd19hbGxvYykKIHsKLQly ZXR1cm4gX19pOTE1X2dlbV9vYmplY3RfZ2V0X3NnKG9iaiwgJm9iai0+bW0uZ2V0X3BhZ2UsIG4s IG9mZnNldCk7CisJcmV0dXJuIF9faTkxNV9nZW1fb2JqZWN0X2dldF9zZyhvYmosICZvYmotPm1t LmdldF9wYWdlLCBuLCBvZmZzZXQsIGFsbG93X2FsbG9jKTsKIH0KIAogc3RhdGljIGlubGluZSBz dHJ1Y3Qgc2NhdHRlcmxpc3QgKgogaTkxNV9nZW1fb2JqZWN0X2dldF9zZ19kbWEoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgIHVuc2lnbmVkIGludCBuLAotCQkJICAgdW5z aWduZWQgaW50ICpvZmZzZXQpCisJCQkgICB1bnNpZ25lZCBpbnQgKm9mZnNldCwgYm9vbCBhbGxv d19hbGxvYykKIHsKLQlyZXR1cm4gX19pOTE1X2dlbV9vYmplY3RfZ2V0X3NnKG9iaiwgJm9iai0+ bW0uZ2V0X2RtYV9wYWdlLCBuLCBvZmZzZXQpOworCXJldHVybiBfX2k5MTVfZ2VtX29iamVjdF9n ZXRfc2cob2JqLCAmb2JqLT5tbS5nZXRfZG1hX3BhZ2UsIG4sIG9mZnNldCwgYWxsb3dfYWxsb2Mp OwogfQogCiBzdHJ1Y3QgcGFnZSAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9w YWdlcy5jCmluZGV4IGUyYzdiMmE3ODk1Zi4uY2EwNzYyMDNmNWU5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYwpAQCAtNDQ1LDcgKzQ0NSw4IEBAIHN0cnVjdCBz Y2F0dGVybGlzdCAqCiBfX2k5MTVfZ2VtX29iamVjdF9nZXRfc2coc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKIAkJCSBzdHJ1Y3QgaTkxNV9nZW1fb2JqZWN0X3BhZ2VfaXRlciAqaXRl ciwKIAkJCSB1bnNpZ25lZCBpbnQgbiwKLQkJCSB1bnNpZ25lZCBpbnQgKm9mZnNldCkKKwkJCSB1 bnNpZ25lZCBpbnQgKm9mZnNldCwKKwkJCSBib29sIGFsbG93X2FsbG9jKQogewogCWNvbnN0IGJv b2wgZG1hID0gaXRlciA9PSAmb2JqLT5tbS5nZXRfZG1hX3BhZ2U7CiAJc3RydWN0IHNjYXR0ZXJs aXN0ICpzZzsKQEAgLTQ2Nyw2ICs0NjgsOSBAQCBfX2k5MTVfZ2VtX29iamVjdF9nZXRfc2coc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAobiA8IFJFQURfT05DRShpdGVyLT5z Z19pZHgpKQogCQlnb3RvIGxvb2t1cDsKIAorCWlmICghYWxsb3dfYWxsb2MpCisJCWdvdG8gbWFu dWFsX2xvb2t1cDsKKwogCW11dGV4X2xvY2soJml0ZXItPmxvY2spOwogCiAJLyogV2UgcHJlZmVy IHRvIHJldXNlIHRoZSBsYXN0IHNnIHNvIHRoYXQgcmVwZWF0ZWQgbG9va3VwIG9mIHRoaXMKQEAg LTUxNiw3ICs1MjAsMTYgQEAgX19pOTE1X2dlbV9vYmplY3RfZ2V0X3NnKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCiAJaWYgKHVubGlrZWx5KG4gPCBpZHgpKSAvKiBpbnNlcnRpb24g Y29tcGxldGVkIGJ5IGFub3RoZXIgdGhyZWFkICovCiAJCWdvdG8gbG9va3VwOwogCi0JLyogSW4g Y2FzZSB3ZSBmYWlsZWQgdG8gaW5zZXJ0IHRoZSBlbnRyeSBpbnRvIHRoZSByYWRpeHRyZWUsIHdl IG5lZWQKKwlnb3RvIG1hbnVhbF93YWxrOworCittYW51YWxfbG9va3VwOgorCWlkeCA9IDA7CisJ c2cgPSBvYmotPm1tLnBhZ2VzLT5zZ2w7CisJY291bnQgPSBfX3NnX3BhZ2VfY291bnQoc2cpOwor CittYW51YWxfd2FsazoKKwkvKgorCSAqIEluIGNhc2Ugd2UgZmFpbGVkIHRvIGluc2VydCB0aGUg ZW50cnkgaW50byB0aGUgcmFkaXh0cmVlLCB3ZSBuZWVkCiAJICogdG8gbG9vayBiZXlvbmQgdGhl IGN1cnJlbnQgc2cuCiAJICovCiAJd2hpbGUgKGlkeCArIGNvdW50IDw9IG4pIHsKQEAgLTU2Myw3 ICs1NzYsNyBAQCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiwgdW5zaWduZWQgaW50IG4pCiAKIAlHRU1fQlVHX09OKCFpOTE1X2dlbV9vYmpl Y3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpOwogCi0Jc2cgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3Nn KG9iaiwgbiwgJm9mZnNldCk7CisJc2cgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3NnKG9iaiwgbiwg Jm9mZnNldCwgdHJ1ZSk7CiAJcmV0dXJuIG50aF9wYWdlKHNnX3BhZ2Uoc2cpLCBvZmZzZXQpOwog fQogCkBAIC01ODksNyArNjAyLDcgQEAgaTkxNV9nZW1fb2JqZWN0X2dldF9kbWFfYWRkcmVzc19s ZW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3Qg KnNnOwogCXVuc2lnbmVkIGludCBvZmZzZXQ7CiAKLQlzZyA9IGk5MTVfZ2VtX29iamVjdF9nZXRf c2dfZG1hKG9iaiwgbiwgJm9mZnNldCk7CisJc2cgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3NnX2Rt YShvYmosIG4sICZvZmZzZXQsIHRydWUpOwogCiAJaWYgKGxlbikKIAkJKmxlbiA9IHNnX2RtYV9s ZW4oc2cpIC0gKG9mZnNldCA8PCBQQUdFX1NISUZUKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2dndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2dndHQuYwppbmRleCBjZjk0NTI1YmUyYzEuLjYwYmQyYzhlZDhiMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2dndHQuYwpAQCAtMTM4Myw3ICsxMzgzLDcgQEAgaW50ZWxfcGFydGlhbF9w YWdlcyhjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCiAJaWYgKHJldCkKIAkJZ290 byBlcnJfc2dfYWxsb2M7CiAKLQlpdGVyID0gaTkxNV9nZW1fb2JqZWN0X2dldF9zZ19kbWEob2Jq LCB2aWV3LT5wYXJ0aWFsLm9mZnNldCwgJm9mZnNldCk7CisJaXRlciA9IGk5MTVfZ2VtX29iamVj dF9nZXRfc2dfZG1hKG9iaiwgdmlldy0+cGFydGlhbC5vZmZzZXQsICZvZmZzZXQsIHRydWUpOwog CUdFTV9CVUdfT04oIWl0ZXIpOwogCiAJc2cgPSBzdC0+c2dsOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2NtZF9wYXJzZXIuYwppbmRleCA5MzI2NTk1MWZkYmIuLjg4ODNhN2Q0OTY0ZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKQEAgLTExMzYsMzggKzExMzYsMTkgQEAg ZmluZF9yZWcoY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgYWRkcikK IC8qIFJldHVybnMgYSB2bWFwJ2QgcG9pbnRlciB0byBkc3Rfb2JqLCB3aGljaCB0aGUgY2FsbGVy IG11c3QgdW5tYXAgKi8KIHN0YXRpYyB1MzIgKmNvcHlfYmF0Y2goc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKmRzdF9vYmosCiAJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq c3JjX29iaiwKLQkJICAgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGxl bmd0aCkKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGxlbmd0 aCwKKwkJICAgICAgIHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjKQogewotCWJvb2wgbmVlZHNf Y2xmbHVzaDsKLQl2b2lkICpkc3QsICpzcmM7Ci0JaW50IHJldDsKLQotCWRzdCA9IGk5MTVfZ2Vt X29iamVjdF9waW5fbWFwKGRzdF9vYmosIEk5MTVfTUFQX0ZPUkNFX1dCKTsKLQlpZiAoSVNfRVJS KGRzdCkpCi0JCXJldHVybiBkc3Q7Ci0KLQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2Vz KHNyY19vYmopOwotCWlmIChyZXQpIHsKLQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChkc3Rf b2JqKTsKLQkJcmV0dXJuIEVSUl9QVFIocmV0KTsKLQl9Ci0KLQluZWVkc19jbGZsdXNoID0KKwli b29sIG5lZWRzX2NsZmx1c2ggPQogCQkhKHNyY19vYmotPmNhY2hlX2NvaGVyZW50ICYgSTkxNV9C T19DQUNIRV9DT0hFUkVOVF9GT1JfUkVBRCk7CiAKLQlzcmMgPSBFUlJfUFRSKC1FTk9ERVYpOwot CWlmIChuZWVkc19jbGZsdXNoICYmIGk5MTVfaGFzX21lbWNweV9mcm9tX3djKCkpIHsKLQkJc3Jj ID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoc3JjX29iaiwgSTkxNV9NQVBfV0MpOwotCQlpZiAo IUlTX0VSUihzcmMpKSB7Ci0JCQlpOTE1X3VuYWxpZ25lZF9tZW1jcHlfZnJvbV93Yyhkc3QsCi0J CQkJCQkgICAgICBzcmMgKyBvZmZzZXQsCi0JCQkJCQkgICAgICBsZW5ndGgpOwotCQkJaTkxNV9n ZW1fb2JqZWN0X3VucGluX21hcChzcmNfb2JqKTsKLQkJfQotCX0KLQlpZiAoSVNfRVJSKHNyYykp IHsKLQkJdW5zaWduZWQgbG9uZyB4LCBuOworCWlmIChzcmMpIHsKKwkJR0VNX0JVR19PTighbmVl ZHNfY2xmbHVzaCk7CisJCWk5MTVfdW5hbGlnbmVkX21lbWNweV9mcm9tX3djKGRzdCwgc3JjICsg b2Zmc2V0LCBsZW5ndGgpOworCX0gZWxzZSB7CisJCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CiAJ CXZvaWQgKnB0cjsKKwkJdW5zaWduZWQgaW50IHgsIHNnX29mczsKIAogCQkvKgogCQkgKiBXZSBj YW4gYXZvaWQgY2xmbHVzaGluZyBwYXJ0aWFsIGNhY2hlbGluZXMgYmVmb3JlIHRoZSB3cml0ZQpA QCAtMTE4MywyMyArMTE2NCwzMiBAQCBzdGF0aWMgdTMyICpjb3B5X2JhdGNoKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpkc3Rfb2JqLAogCiAJCXB0ciA9IGRzdDsKIAkJeCA9IG9mZnNldF9p bl9wYWdlKG9mZnNldCk7Ci0JCWZvciAobiA9IG9mZnNldCA+PiBQQUdFX1NISUZUOyBsZW5ndGg7 IG4rKykgewotCQkJaW50IGxlbiA9IG1pbihsZW5ndGgsIFBBR0VfU0laRSAtIHgpOwotCi0JCQlz cmMgPSBrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uoc3JjX29iaiwgbikpOwot CQkJaWYgKG5lZWRzX2NsZmx1c2gpCi0JCQkJZHJtX2NsZmx1c2hfdmlydF9yYW5nZShzcmMgKyB4 LCBsZW4pOwotCQkJbWVtY3B5KHB0ciwgc3JjICsgeCwgbGVuKTsKLQkJCWt1bm1hcF9hdG9taWMo c3JjKTsKLQotCQkJcHRyICs9IGxlbjsKLQkJCWxlbmd0aCAtPSBsZW47Ci0JCQl4ID0gMDsKKwor CQlzZyA9IGk5MTVfZ2VtX29iamVjdF9nZXRfc2coc3JjX29iaiwgb2Zmc2V0ID4+IFBBR0VfU0hJ RlQsICZzZ19vZnMsIGZhbHNlKTsKKworCQl3aGlsZSAobGVuZ3RoKSB7CisJCQl1bnNpZ25lZCBs b25nIHNnX21heCA9IHNnLT5sZW5ndGggPj4gUEFHRV9TSElGVDsKKworCQkJZm9yICg7IGxlbmd0 aCAmJiBzZ19vZnMgPCBzZ19tYXg7IHNnX29mcysrKSB7CisJCQkJdW5zaWduZWQgbG9uZyBsZW4g PSBtaW4obGVuZ3RoLCBQQUdFX1NJWkUgLSB4KTsKKwkJCQl2b2lkICptYXA7CisKKwkJCQltYXAg PSBrbWFwX2F0b21pYyhudGhfcGFnZShzZ19wYWdlKHNnKSwgc2dfb2ZzKSk7CisJCQkJaWYgKG5l ZWRzX2NsZmx1c2gpCisJCQkJCWRybV9jbGZsdXNoX3ZpcnRfcmFuZ2UobWFwICsgeCwgbGVuKTsK KwkJCQltZW1jcHkocHRyLCBtYXAgKyB4LCBsZW4pOworCQkJCWt1bm1hcF9hdG9taWMobWFwKTsK KworCQkJCXB0ciArPSBsZW47CisJCQkJbGVuZ3RoIC09IGxlbjsKKwkJCQl4ID0gMDsKKwkJCX0K KworCQkJc2dfb2ZzID0gMDsKKwkJCXNnID0gc2dfbmV4dChzZyk7CiAJCX0KIAl9CiAKLQlpOTE1 X2dlbV9vYmplY3RfdW5waW5fcGFnZXMoc3JjX29iaik7Ci0KIAkvKiBkc3Rfb2JqIGlzIHJldHVy bmVkIHdpdGggdm1hcCBwaW5uZWQgKi8KIAlyZXR1cm4gZHN0OwogfQpAQCAtMTM1OSw5ICsxMzQ5 LDYgQEAgc3RhdGljIGludCBjaGVja19iYnN0YXJ0KHUzMiAqY21kLCB1MzIgb2Zmc2V0LCB1MzIg bGVuZ3RoLAogCWlmICh0YXJnZXRfY21kX2luZGV4ID09IG9mZnNldCkKIAkJcmV0dXJuIDA7CiAK LQlpZiAoSVNfRVJSKGp1bXBfd2hpdGVsaXN0KSkKLQkJcmV0dXJuIFBUUl9FUlIoanVtcF93aGl0 ZWxpc3QpOwotCiAJaWYgKCF0ZXN0X2JpdCh0YXJnZXRfY21kX2luZGV4LCBqdW1wX3doaXRlbGlz dCkpIHsKIAkJRFJNX0RFQlVHKCJDTUQ6IEJCX1NUQVJUIHRvIDB4JWxseCBub3QgYSBwcmV2aW91 c2x5IGV4ZWN1dGVkIGNtZFxuIiwKIAkJCSAganVtcF90YXJnZXQpOwpAQCAtMTM3MSwxMCArMTM1 OCwxNCBAQCBzdGF0aWMgaW50IGNoZWNrX2Jic3RhcnQodTMyICpjbWQsIHUzMiBvZmZzZXQsIHUz MiBsZW5ndGgsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nICphbGxvY193 aGl0ZWxpc3QodTMyIGJhdGNoX2xlbmd0aCkKK3Vuc2lnbmVkIGxvbmcgKmludGVsX2VuZ2luZV9j bWRfcGFyc2VyX2FsbG9jX2p1bXBfd2hpdGVsaXN0KHUzMiBiYXRjaF9sZW5ndGgsCisJCQkJCQkJ ICAgIGJvb2wgdHJhbXBvbGluZSkKIHsKIAl1bnNpZ25lZCBsb25nICpqbXA7CiAKKwlpZiAodHJh bXBvbGluZSkKKwkJcmV0dXJuIE5VTEw7CisKIAkvKgogCSAqIFdlIGV4cGVjdCBiYXRjaF9sZW5n dGggdG8gYmUgbGVzcyB0aGFuIDI1NktpQiBmb3Iga25vd24gdXNlcnMsCiAJICogaS5lLiB3ZSBu ZWVkIGF0IG1vc3QgYW4gOEtpQiBiaXRtYXAgYWxsb2NhdGlvbiB3aGljaCBzaG91bGQgYmUKQEAg LTE0MTcsMTQgKzE0MDgsMTYgQEAgaW50IGludGVsX2VuZ2luZV9jbWRfcGFyc2VyKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgICB1bnNpZ25lZCBsb25nIGJhdGNoX29mZnNl dCwKIAkJCSAgICB1bnNpZ25lZCBsb25nIGJhdGNoX2xlbmd0aCwKIAkJCSAgICBzdHJ1Y3QgaTkx NV92bWEgKnNoYWRvdywKLQkJCSAgICBib29sIHRyYW1wb2xpbmUpCisJCQkgICAgdW5zaWduZWQg bG9uZyAqanVtcF93aGl0ZWxpc3QsCisJCQkgICAgdm9pZCAqc2hhZG93X21hcCwKKwkJCSAgICBj b25zdCB2b2lkICpiYXRjaF9tYXApCiB7CiAJdTMyICpjbWQsICpiYXRjaF9lbmQsIG9mZnNldCA9 IDA7CiAJc3RydWN0IGRybV9pOTE1X2NtZF9kZXNjcmlwdG9yIGRlZmF1bHRfZGVzYyA9IG5vb3Bf ZGVzYzsKIAljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfY21kX2Rlc2NyaXB0b3IgKmRlc2MgPSAmZGVm YXVsdF9kZXNjOwotCXVuc2lnbmVkIGxvbmcgKmp1bXBfd2hpdGVsaXN0OwogCXU2NCBiYXRjaF9h ZGRyLCBzaGFkb3dfYWRkcjsKIAlpbnQgcmV0ID0gMDsKKwlib29sIHRyYW1wb2xpbmUgPSAhanVt cF93aGl0ZWxpc3Q7CiAKIAlHRU1fQlVHX09OKCFJU19BTElHTkVEKGJhdGNoX29mZnNldCwgc2l6 ZW9mKCpjbWQpKSk7CiAJR0VNX0JVR19PTighSVNfQUxJR05FRChiYXRjaF9sZW5ndGgsIHNpemVv ZigqY21kKSkpOwpAQCAtMTQzMiwxNiArMTQyNSw4IEBAIGludCBpbnRlbF9lbmdpbmVfY21kX3Bh cnNlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCQkJICAgICBiYXRjaC0+c2l6 ZSkpOwogCUdFTV9CVUdfT04oIWJhdGNoX2xlbmd0aCk7CiAKLQljbWQgPSBjb3B5X2JhdGNoKHNo YWRvdy0+b2JqLCBiYXRjaC0+b2JqLCBiYXRjaF9vZmZzZXQsIGJhdGNoX2xlbmd0aCk7Ci0JaWYg KElTX0VSUihjbWQpKSB7Ci0JCURSTV9ERUJVRygiQ01EOiBGYWlsZWQgdG8gY29weSBiYXRjaFxu Iik7Ci0JCXJldHVybiBQVFJfRVJSKGNtZCk7Ci0JfQotCi0JanVtcF93aGl0ZWxpc3QgPSBOVUxM OwotCWlmICghdHJhbXBvbGluZSkKLQkJLyogRGVmZXIgZmFpbHVyZSB1bnRpbCBhdHRlbXB0ZWQg dXNlICovCi0JCWp1bXBfd2hpdGVsaXN0ID0gYWxsb2Nfd2hpdGVsaXN0KGJhdGNoX2xlbmd0aCk7 CisJY21kID0gY29weV9iYXRjaChzaGFkb3ctPm9iaiwgYmF0Y2gtPm9iaiwgYmF0Y2hfb2Zmc2V0 LCBiYXRjaF9sZW5ndGgsCisJCQkgc2hhZG93X21hcCwgYmF0Y2hfbWFwKTsKIAogCXNoYWRvd19h ZGRyID0gZ2VuOF9jYW5vbmljYWxfYWRkcihzaGFkb3ctPm5vZGUuc3RhcnQpOwogCWJhdGNoX2Fk ZHIgPSBnZW44X2Nhbm9uaWNhbF9hZGRyKGJhdGNoLT5ub2RlLnN0YXJ0ICsgYmF0Y2hfb2Zmc2V0 KTsKQEAgLTE1NDksOSArMTUzNCw2IEBAIGludCBpbnRlbF9lbmdpbmVfY21kX3BhcnNlcihzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCWRybV9jbGZsdXNoX3ZpcnRfcmFuZ2UocHRy LCAodm9pZCAqKShjbWQgKyAxKSAtIHB0cik7CiAJfQogCi0JaWYgKCFJU19FUlJfT1JfTlVMTChq dW1wX3doaXRlbGlzdCkpCi0JCWtmcmVlKGp1bXBfd2hpdGVsaXN0KTsKLQlpOTE1X2dlbV9vYmpl Y3RfdW5waW5fbWFwKHNoYWRvdy0+b2JqKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCAwZjdiZjY4MzE2MzMuLjg0MTgyYTQwZTc3NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC0xOTUxLDEyICsxOTUxLDE3IEBAIGNvbnN0IGNoYXIgKmk5MTVfY2Fj aGVfbGV2ZWxfc3RyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBpbnQgdHlwZSk7CiBp bnQgaTkxNV9jbWRfcGFyc2VyX2dldF92ZXJzaW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7CiB2b2lkIGludGVsX2VuZ2luZV9pbml0X2NtZF9wYXJzZXIoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKTsKIHZvaWQgaW50ZWxfZW5naW5lX2NsZWFudXBfY21kX3BhcnNl cihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwordW5zaWduZWQgbG9uZyAqaW50ZWxf ZW5naW5lX2NtZF9wYXJzZXJfYWxsb2NfanVtcF93aGl0ZWxpc3QodTMyIGJhdGNoX2xlbmd0aCwK KwkJCQkJCQkgICAgYm9vbCB0cmFtcG9saW5lKTsKKwogaW50IGludGVsX2VuZ2luZV9jbWRfcGFy c2VyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgICBzdHJ1Y3QgaTkxNV92 bWEgKmJhdGNoLAogCQkJICAgIHVuc2lnbmVkIGxvbmcgYmF0Y2hfb2Zmc2V0LAogCQkJICAgIHVu c2lnbmVkIGxvbmcgYmF0Y2hfbGVuZ3RoLAogCQkJICAgIHN0cnVjdCBpOTE1X3ZtYSAqc2hhZG93 LAotCQkJICAgIGJvb2wgdHJhbXBvbGluZSk7CisJCQkgICAgdW5zaWduZWQgbG9uZyAqanVtcF93 aGl0ZWxpc3QsCisJCQkgICAgdm9pZCAqc2hhZG93X21hcCwKKwkJCSAgICBjb25zdCB2b2lkICpi YXRjaF9tYXApOwogI2RlZmluZSBJOTE1X0NNRF9QQVJTRVJfVFJBTVBPTElORV9TSVpFIDgKIAog LyogaW50ZWxfZGV2aWNlX2luZm8uYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9tZW1jcHkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfbWVtY3B5LmMKaW5k ZXggN2IzYjgzYmQ1YWI4Li4xYjAyMWE0OTAyZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfbWVtY3B5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9tZW1j cHkuYwpAQCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgaTkxNV9tZW1jcHlfZnJvbV93Yyh2b2lkICpk c3QsIGNvbnN0IHZvaWQgKnNyYywgdW5zaWduZWQgbG9uZyBsZW4pCiAgKiBhY2NlcHRzIHRoYXQg aXRzIGFyZ3VtZW50cyBtYXkgbm90IGJlIGFsaWduZWQsIGJ1dCBhcmUgdmFsaWQgZm9yIHRoZQog ICogcG90ZW50aWFsIDE2LWJ5dGUgcmVhZCBwYXN0IHRoZSBlbmQuCiAgKi8KLXZvaWQgaTkxNV91 bmFsaWduZWRfbWVtY3B5X2Zyb21fd2Modm9pZCAqZHN0LCB2b2lkICpzcmMsIHVuc2lnbmVkIGxv bmcgbGVuKQordm9pZCBpOTE1X3VuYWxpZ25lZF9tZW1jcHlfZnJvbV93Yyh2b2lkICpkc3QsIGNv bnN0IHZvaWQgKnNyYywgdW5zaWduZWQgbG9uZyBsZW4pCiB7CiAJdW5zaWduZWQgbG9uZyBhZGRy OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X21lbWNweS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9tZW1jcHkuaAppbmRleCBlMzZkMzBlZGQ5ODcuLjNkZjA2 M2EzMjkzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9tZW1jcHkuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X21lbWNweS5oCkBAIC0xMyw3ICsxMyw3IEBA IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlOwogdm9pZCBpOTE1X21lbWNweV9pbml0X2Vhcmx5KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKIAogYm9vbCBpOTE1X21lbWNweV9mcm9tX3dj KHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjLCB1bnNpZ25lZCBsb25nIGxlbik7Ci12b2lkIGk5 MTVfdW5hbGlnbmVkX21lbWNweV9mcm9tX3djKHZvaWQgKmRzdCwgdm9pZCAqc3JjLCB1bnNpZ25l ZCBsb25nIGxlbik7Cit2b2lkIGk5MTVfdW5hbGlnbmVkX21lbWNweV9mcm9tX3djKHZvaWQgKmRz dCwgY29uc3Qgdm9pZCAqc3JjLCB1bnNpZ25lZCBsb25nIGxlbik7CiAKIC8qIFRoZSBtb3ZudGRx YSBpbnN0cnVjdGlvbnMgdXNlZCBmb3IgbWVtY3B5LWZyb20td2MgcmVxdWlyZSAxNi1ieXRlIGFs aWdubWVudCwKICAqIGFzIHdlbGwgYXMgU1NFNC4xIHN1cHBvcnQuIGk5MTVfbWVtY3B5X2Zyb21f d2MoKSB3aWxsIHJlcG9ydCBpZiBpdCBjYW5ub3QKLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==