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.8 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=ham 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 62D1CC4338F for ; Thu, 29 Jul 2021 21:51:30 +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 29BA26069E for ; Thu, 29 Jul 2021 21:51:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 29BA26069E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AA4696E0FD; Thu, 29 Jul 2021 21:51:29 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id CBDF66E0FD for ; Thu, 29 Jul 2021 21:51:23 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10060"; a="192578346" X-IronPort-AV: E=Sophos;i="5.84,279,1620716400"; d="scan'208";a="192578346" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 14:51:23 -0700 X-IronPort-AV: E=Sophos;i="5.84,279,1620716400"; d="scan'208";a="664570765" Received: from josouza-mobl2.jf.intel.com (HELO josouza-mobl2.intel.com) ([10.24.14.59]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 14:51:23 -0700 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= To: intel-gfx@lists.freedesktop.org Date: Thu, 29 Jul 2021 14:55:40 -0700 Message-Id: <20210729215545.192606-5-jose.souza@intel.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210729215545.192606-1-jose.souza@intel.com> References: <20210729215545.192606-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH CI 05/10] drm/i915/bios: Enable parse of two integrated panels eDP data X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jani Nikula Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Q29udGludWluZyB0aGUgY29udmVyc2lvbiBmcm9tIHNpbmdsZSBpbnRlZ3JhdGVkIFZCVCBkYXRh IHRvIHR3bywgbm93CmhhbmRsaW5nIGVEUCBkYXRhLgoKUmV2aWV3ZWQtYnk6IE1hdHQgQXR3b29k IDxtYXR0aGV3LnMuYXR3b29kQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXph QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2c0eF9kcC5jICAg ICAgICAgfCAgOSArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5j ICAgICB8IDYyICsrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9iaW9zLmggICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kZGkuYyAgICAgIHwgIDkgKystCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVm X3RyYW5zLmMgICAgfCA3NyArKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwLmMgICAgICAgfCAgNyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wcHMuYyAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICAgICAgICB8IDI0ICsrKy0tLQogOCBmaWxlcyBjaGFuZ2VkLCAxMDQg aW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9nNHhfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv ZzR4X2RwLmMKaW5kZXggZGUwZjM1ODE4NGFhMy4uMjczYmM1Mjk1YWUzMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhfZHAuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2c0eF9kcC5jCkBAIC0zNDAsNiArMzQwLDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfZHBfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl1MzIg dG1wLCBmbGFncyA9IDA7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0OwogCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRj KTsKKwlzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRwX2luZm8gPSBpbnRlbF9iaW9zX2VkcF9p bmZvKGVuY29kZXIpOwogCiAJaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkK IAkJcGlwZV9jb25maWctPm91dHB1dF90eXBlcyB8PSBCSVQoSU5URUxfT1VUUFVUX0VEUCk7CkBA IC0zOTYsOCArMzk3LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfZ2V0X2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJaW50ZWxfZG90Y2xvY2tfY2FsY3VsYXRlKHBpcGVf Y29uZmlnLT5wb3J0X2Nsb2NrLAogCQkJCQkgJnBpcGVfY29uZmlnLT5kcF9tX24pOwogCi0JaWYg KGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkgJiYgZGV2X3ByaXYtPnZidC5lZHAuYnBwICYmCi0J ICAgIHBpcGVfY29uZmlnLT5waXBlX2JwcCA+IGRldl9wcml2LT52YnQuZWRwLmJwcCkgeworCWlm IChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApICYmIHZidF9lZHBfaW5mby0+YnBwICYmCisJICAg IHBpcGVfY29uZmlnLT5waXBlX2JwcCA+IHZidF9lZHBfaW5mby0+YnBwKSB7CiAJCS8qCiAJCSAq IFRoaXMgaXMgYSBiaWcgZmF0IHVnbHkgaGFjay4KIAkJICoKQEAgLTQxMyw4ICs0MTQsOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kcF9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCQkgKi8KIAkJZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sCiAJCQkgICAgInBpcGUg aGFzICVkIGJwcCBmb3IgZURQIHBhbmVsLCBvdmVycmlkaW5nIEJJT1MtcHJvdmlkZWQgbWF4ICVk IGJwcFxuIiwKLQkJCSAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHAsIGRldl9wcml2LT52YnQuZWRw LmJwcCk7Ci0JCWRldl9wcml2LT52YnQuZWRwLmJwcCA9IHBpcGVfY29uZmlnLT5waXBlX2JwcDsK KwkJCSAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHAsIHZidF9lZHBfaW5mby0+YnBwKTsKKwkJdmJ0 X2VkcF9pbmZvLT5icHAgPSBwaXBlX2NvbmZpZy0+cGlwZV9icHA7CiAJfQogfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCmluZGV4IGRlNDYxY2M5ZmVhZDkuLmRh YzgxYTVlYmRhYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYmlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5j CkBAIC03ODYsNDUgKzc4Niw0NSBAQCBwYXJzZV9wb3dlcl9jb25zZXJ2YXRpb25fZmVhdHVyZXMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCWluZm8tPmRycnNfdHlwZSA9IERSUlNf Tk9UX1NVUFBPUlRFRDsKIAogCWlmIChiZGItPnZlcnNpb24gPj0gMjMyKQotCQlpOTE1LT52YnQu ZWRwLmhvYmwgPSBwb3dlci0+aG9ibCAmIEJJVChwYW5lbF9pbmRleCk7CisJCWluZm8tPmVkcC5o b2JsID0gcG93ZXItPmhvYmwgJiBCSVQocGFuZWxfaW5kZXgpOwogfQogCiBzdGF0aWMgdm9pZAot cGFyc2VfZWRwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBjb25zdCBzdHJ1Y3QgYmRi X2hlYWRlciAqYmRiKQorcGFyc2VfZWRwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBj b25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiLAorCSAgc3RydWN0IGRkaV92YnRfcG9ydF9pbmZv ICppbmZvLCBpbnQgcGFuZWxfaW5kZXgpCiB7CiAJY29uc3Qgc3RydWN0IGJkYl9lZHAgKmVkcDsK IAljb25zdCBzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqZWRwX3BwczsKIAljb25zdCBzdHJ1Y3QgZWRw X2Zhc3RfbGlua19wYXJhbXMgKmVkcF9saW5rX3BhcmFtczsKLQlpbnQgcGFuZWxfdHlwZSA9IGk5 MTUtPnZidC5wYW5lbF90eXBlOwogCiAJZWRwID0gZmluZF9zZWN0aW9uKGJkYiwgQkRCX0VEUCk7 CiAJaWYgKCFlZHApCiAJCXJldHVybjsKIAotCXN3aXRjaCAoKGVkcC0+Y29sb3JfZGVwdGggPj4g KHBhbmVsX3R5cGUgKiAyKSkgJiAzKSB7CisJc3dpdGNoICgoZWRwLT5jb2xvcl9kZXB0aCA+PiAo cGFuZWxfaW5kZXggKiAyKSkgJiAzKSB7CiAJY2FzZSBFRFBfMThCUFA6Ci0JCWk5MTUtPnZidC5l ZHAuYnBwID0gMTg7CisJCWluZm8tPmVkcC5icHAgPSAxODsKIAkJYnJlYWs7CiAJY2FzZSBFRFBf MjRCUFA6Ci0JCWk5MTUtPnZidC5lZHAuYnBwID0gMjQ7CisJCWluZm8tPmVkcC5icHAgPSAyNDsK IAkJYnJlYWs7CiAJY2FzZSBFRFBfMzBCUFA6Ci0JCWk5MTUtPnZidC5lZHAuYnBwID0gMzA7CisJ CWluZm8tPmVkcC5icHAgPSAzMDsKIAkJYnJlYWs7CiAJfQogCiAJLyogR2V0IHRoZSBlRFAgc2Vx dWVuY2luZyBhbmQgbGluayBpbmZvICovCi0JZWRwX3BwcyA9ICZlZHAtPnBvd2VyX3NlcXNbcGFu ZWxfdHlwZV07Ci0JZWRwX2xpbmtfcGFyYW1zID0gJmVkcC0+ZmFzdF9saW5rX3BhcmFtc1twYW5l bF90eXBlXTsKKwllZHBfcHBzID0gJmVkcC0+cG93ZXJfc2Vxc1twYW5lbF9pbmRleF07CisJZWRw X2xpbmtfcGFyYW1zID0gJmVkcC0+ZmFzdF9saW5rX3BhcmFtc1twYW5lbF9pbmRleF07CiAKLQlp OTE1LT52YnQuZWRwLnBwcyA9ICplZHBfcHBzOworCWluZm8tPmVkcC5wcHMgPSAqZWRwX3BwczsK IAogCXN3aXRjaCAoZWRwX2xpbmtfcGFyYW1zLT5yYXRlKSB7CiAJY2FzZSBFRFBfUkFURV8xXzYy OgotCQlpOTE1LT52YnQuZWRwLnJhdGUgPSBEUF9MSU5LX0JXXzFfNjI7CisJCWluZm8tPmVkcC5y YXRlID0gRFBfTElOS19CV18xXzYyOwogCQlicmVhazsKIAljYXNlIEVEUF9SQVRFXzJfNzoKLQkJ aTkxNS0+dmJ0LmVkcC5yYXRlID0gRFBfTElOS19CV18yXzc7CisJCWluZm8tPmVkcC5yYXRlID0g RFBfTElOS19CV18yXzc7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWRybV9kYmdfa21zKCZpOTE1 LT5kcm0sCkBAIC04MzUsMTMgKzgzNSwxMyBAQCBwYXJzZV9lZHAoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCiAKIAlzd2l0Y2ggKGVk cF9saW5rX3BhcmFtcy0+bGFuZXMpIHsKIAljYXNlIEVEUF9MQU5FXzE6Ci0JCWk5MTUtPnZidC5l ZHAubGFuZXMgPSAxOworCQlpbmZvLT5lZHAubGFuZXMgPSAxOwogCQlicmVhazsKIAljYXNlIEVE UF9MQU5FXzI6Ci0JCWk5MTUtPnZidC5lZHAubGFuZXMgPSAyOworCQlpbmZvLT5lZHAubGFuZXMg PSAyOwogCQlicmVhazsKIAljYXNlIEVEUF9MQU5FXzQ6Ci0JCWk5MTUtPnZidC5lZHAubGFuZXMg PSA0OworCQlpbmZvLT5lZHAubGFuZXMgPSA0OwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlkcm1f ZGJnX2ttcygmaTkxNS0+ZHJtLApAQCAtODUyLDE2ICs4NTIsMTYgQEAgcGFyc2VfZWRwKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQog CiAJc3dpdGNoIChlZHBfbGlua19wYXJhbXMtPnByZWVtcGhhc2lzKSB7CiAJY2FzZSBFRFBfUFJF RU1QSEFTSVNfTk9ORToKLQkJaTkxNS0+dmJ0LmVkcC5wcmVlbXBoYXNpcyA9IERQX1RSQUlOX1BS RV9FTVBIX0xFVkVMXzA7CisJCWluZm8tPmVkcC5wcmVlbXBoYXNpcyA9IERQX1RSQUlOX1BSRV9F TVBIX0xFVkVMXzA7CiAJCWJyZWFrOwogCWNhc2UgRURQX1BSRUVNUEhBU0lTXzNfNWRCOgotCQlp OTE1LT52YnQuZWRwLnByZWVtcGhhc2lzID0gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMTsKKwkJ aW5mby0+ZWRwLnByZWVtcGhhc2lzID0gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMTsKIAkJYnJl YWs7CiAJY2FzZSBFRFBfUFJFRU1QSEFTSVNfNmRCOgotCQlpOTE1LT52YnQuZWRwLnByZWVtcGhh c2lzID0gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMjsKKwkJaW5mby0+ZWRwLnByZWVtcGhhc2lz ID0gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMjsKIAkJYnJlYWs7CiAJY2FzZSBFRFBfUFJFRU1Q SEFTSVNfOV81ZEI6Ci0JCWk5MTUtPnZidC5lZHAucHJlZW1waGFzaXMgPSBEUF9UUkFJTl9QUkVf RU1QSF9MRVZFTF8zOworCQlpbmZvLT5lZHAucHJlZW1waGFzaXMgPSBEUF9UUkFJTl9QUkVfRU1Q SF9MRVZFTF8zOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJt LApAQCAtODcyLDE2ICs4NzIsMTYgQEAgcGFyc2VfZWRwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LCBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogCiAJc3dpdGNoIChlZHBfbGlu a19wYXJhbXMtPnZzd2luZykgewogCWNhc2UgRURQX1ZTV0lOR18wXzRWOgotCQlpOTE1LT52YnQu ZWRwLnZzd2luZyA9IERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMDsKKwkJaW5mby0+ZWRw LnZzd2luZyA9IERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMDsKIAkJYnJlYWs7CiAJY2Fz ZSBFRFBfVlNXSU5HXzBfNlY6Ci0JCWk5MTUtPnZidC5lZHAudnN3aW5nID0gRFBfVFJBSU5fVk9M VEFHRV9TV0lOR19MRVZFTF8xOworCQlpbmZvLT5lZHAudnN3aW5nID0gRFBfVFJBSU5fVk9MVEFH RV9TV0lOR19MRVZFTF8xOwogCQlicmVhazsKIAljYXNlIEVEUF9WU1dJTkdfMF84VjoKLQkJaTkx NS0+dmJ0LmVkcC52c3dpbmcgPSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzI7CisJCWlu Zm8tPmVkcC52c3dpbmcgPSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzI7CiAJCWJyZWFr OwogCWNhc2UgRURQX1ZTV0lOR18xXzJWOgotCQlpOTE1LT52YnQuZWRwLnZzd2luZyA9IERQX1RS QUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMzsKKwkJaW5mby0+ZWRwLnZzd2luZyA9IERQX1RSQUlO X1ZPTFRBR0VfU1dJTkdfTEVWRUxfMzsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJZHJtX2RiZ19r bXMoJmk5MTUtPmRybSwKQEAgLTg5NSwxMSArODk1LDExIEBAIHBhcnNlX2VkcChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIAogCQkv KiBEb24ndCByZWFkIGZyb20gVkJUIGlmIG1vZHVsZSBwYXJhbWV0ZXIgaGFzIHZhbGlkIHZhbHVl Ki8KIAkJaWYgKGk5MTUtPnBhcmFtcy5lZHBfdnN3aW5nKSB7Ci0JCQlpOTE1LT52YnQuZWRwLmxv d192c3dpbmcgPQorCQkJaW5mby0+ZWRwLmxvd192c3dpbmcgPQogCQkJCWk5MTUtPnBhcmFtcy5l ZHBfdnN3aW5nID09IDE7CiAJCX0gZWxzZSB7Ci0JCQl2c3dpbmcgPSAoZWRwLT5lZHBfdnN3aW5n X3ByZWVtcGggPj4gKHBhbmVsX3R5cGUgKiA0KSkgJiAweEY7Ci0JCQlpOTE1LT52YnQuZWRwLmxv d192c3dpbmcgPSB2c3dpbmcgPT0gMDsKKwkJCXZzd2luZyA9IChlZHAtPmVkcF92c3dpbmdfcHJl ZW1waCA+PiAocGFuZWxfaW5kZXggKiA0KSkgJiAweEY7CisJCQlpbmZvLT5lZHAubG93X3Zzd2lu ZyA9IHZzd2luZyA9PSAwOwogCQl9CiAJfQogfQpAQCAtMTk4OSw2ICsxOTg5LDcgQEAgc3RhdGlj IHZvaWQgcGFyc2VfaW50ZWdyYXRlZF9wYW5lbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKIAlwYXJzZV9kcml2ZXJfZmVhdHVyZXNfZHJyc19vbmx5KGk5MTUsIGJkYiwgaW5mbyk7CiAJ cGFyc2VfcGFuZWxfZHRkKGk5MTUsIGJkYiwgaW5mbywgcGFuZWxfaW5kZXgpOwogCXBhcnNlX2xm cF9iYWNrbGlnaHQoaTkxNSwgYmRiLCBpbmZvLCBwYW5lbF9pbmRleCk7CisJcGFyc2VfZWRwKGk5 MTUsIGJkYiwgaW5mbywgcGFuZWxfaW5kZXgpOwogfQogCiBzdGF0aWMgdm9pZCBwYXJzZV9kZGlf cG9ydChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKQEAgLTI0ODYsNyArMjQ4Nyw2IEBA IHZvaWQgaW50ZWxfYmlvc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCXBh cnNlX3BhbmVsX3R5cGUoaTkxNSwgYmRiKTsKIAlwYXJzZV9zZHZvX3BhbmVsX2RhdGEoaTkxNSwg YmRiKTsKIAlwYXJzZV9kcml2ZXJfZmVhdHVyZXMoaTkxNSwgYmRiKTsKLQlwYXJzZV9lZHAoaTkx NSwgYmRiKTsKIAlwYXJzZV9wc3IoaTkxNSwgYmRiKTsKIAlwYXJzZV9taXBpX2NvbmZpZyhpOTE1 LCBiZGIpOwogCXBhcnNlX21pcGlfc2VxdWVuY2UoaTkxNSwgYmRiKTsKQEAgLTMxMzMsMyArMzEz MywxMSBAQCBpbnRlbF9iaW9zX2JhY2tsaWdodF9pbmZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQogCiAJcmV0dXJuICZpOTE1LT52YnQuZGRpX3BvcnRfaW5mb1tlbmNvZGVyLT5wb3J0 XS5iYWNrbGlnaHQ7CiB9CisKK3N0cnVjdCB2YnRfZWRwX2luZm8gKgoraW50ZWxfYmlvc19lZHBf aW5mbyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCisJcmV0dXJuICZp OTE1LT52YnQuZGRpX3BvcnRfaW5mb1tlbmNvZGVyLT5wb3J0XS5lZHA7Cit9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5oCmluZGV4IDViNjE2N2M5N2E4ZDkuLjhmZDli NTJmOTIxZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf Ymlvcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5oCkBA IC0yNjksNSArMjY5LDYgQEAgaW50IGludGVsX2Jpb3NfZW5jb2Rlcl9oZG1pX2Jvb3N0X2xldmVs KGNvbnN0IHN0cnVjdCBpbnRlbF9iaW9zX2VuY29kZXJfZGF0YSAqZGUKIGVudW0gZHJyc19zdXBw b3J0X3R5cGUgaW50ZWxfYmlvc19kcnJzX3R5cGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpOwogY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmludGVsX2Jpb3NfbGZwX2x2ZHNf aW5mbyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7CiBjb25zdCBzdHJ1Y3QgdmJ0X2Jh Y2tsaWdodF9pbmZvICppbnRlbF9iaW9zX2JhY2tsaWdodF9pbmZvKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKTsKK3N0cnVjdCB2YnRfZWRwX2luZm8gKmludGVsX2Jpb3NfZWRwX2luZm8o c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwogCiAjZW5kaWYgLyogX0lOVEVMX0JJT1Nf SF8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRp LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCmluZGV4IDg1ODU2 ZDA0MDYzNzQuLmVjMmI4ODAxNzY4ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGkuYwpAQCAtMzc4Myw2ICszNzgzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2dl dF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgdmJ0X2VkcF9p bmZvICp2YnRfZWRwX2luZm8gPSBpbnRlbF9iaW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCWVudW0g dHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IHBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlcjsK IAogCS8qIFhYWDogRFNJIHRyYW5zY29kZXIgcGFyYW5vaWEgKi8KQEAgLTM4MDcsOCArMzgwOCw4 IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8gPQogCQlpbnRlbF9kZGlfaXNfYXVk aW9fZW5hYmxlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIpOwogCi0JaWYgKGVuY29kZXItPnR5 cGUgPT0gSU5URUxfT1VUUFVUX0VEUCAmJiBkZXZfcHJpdi0+dmJ0LmVkcC5icHAgJiYKLQkgICAg cGlwZV9jb25maWctPnBpcGVfYnBwID4gZGV2X3ByaXYtPnZidC5lZHAuYnBwKSB7CisJaWYgKGVu Y29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCAmJiB2YnRfZWRwX2luZm8tPmJwcCAmJgor CSAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHAgPiB2YnRfZWRwX2luZm8tPmJwcCkgewogCQkvKgog CQkgKiBUaGlzIGlzIGEgYmlnIGZhdCB1Z2x5IGhhY2suCiAJCSAqCkBAIC0zODI0LDggKzM4MjUs OCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAkJICovCiAJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLAogCQkJICAg ICJwaXBlIGhhcyAlZCBicHAgZm9yIGVEUCBwYW5lbCwgb3ZlcnJpZGluZyBCSU9TLXByb3ZpZGVk IG1heCAlZCBicHBcbiIsCi0JCQkgICAgcGlwZV9jb25maWctPnBpcGVfYnBwLCBkZXZfcHJpdi0+ dmJ0LmVkcC5icHApOwotCQlkZXZfcHJpdi0+dmJ0LmVkcC5icHAgPSBwaXBlX2NvbmZpZy0+cGlw ZV9icHA7CisJCQkgICAgcGlwZV9jb25maWctPnBpcGVfYnBwLCB2YnRfZWRwX2luZm8tPmJwcCk7 CisJCXZidF9lZHBfaW5mby0+YnBwID0gcGlwZV9jb25maWctPnBpcGVfYnBwOwogCX0KIAogCWlm ICghcGlwZV9jb25maWctPmJpZ2pvaW5lcl9zbGF2ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3RyYW5zLmMKaW5kZXggOTIzYzk2MmU4NmEzOS4u MzhkM2U0NDQwMjdmMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGlfYnVmX3RyYW5zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGlfYnVmX3RyYW5zLmMKQEAgLTExOTMsMTQgKzExOTMsMTQgQEAgYmR3X2dldF9idWZf dHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgaW50ICpuX2VudHJpZXMpCiB7Ci0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK Kwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRwX2luZm8gPSBpbnRlbF9iaW9zX2Vk cF9pbmZvKGVuY29kZXIpOwogCiAJaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwg SU5URUxfT1VUUFVUX0FOQUxPRykpCiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZiZHdf ZGRpX3RyYW5zbGF0aW9uc19mZGksIG5fZW50cmllcyk7CiAJZWxzZSBpZiAoaW50ZWxfY3J0Y19o YXNfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfSERNSSkpCiAJCXJldHVybiBpbnRlbF9n ZXRfYnVmX3RyYW5zKCZiZHdfZGRpX3RyYW5zbGF0aW9uc19oZG1pLCBuX2VudHJpZXMpOwogCWVs c2UgaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0VEUCkg JiYKLQkJIGk5MTUtPnZidC5lZHAubG93X3Zzd2luZykKKwkJIHZidF9lZHBfaW5mby0+bG93X3Zz d2luZykKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmJkd19kZGlfdHJhbnNsYXRpb25z X2VkcCwgbl9lbnRyaWVzKTsKIAllbHNlCiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZi ZHdfZGRpX3RyYW5zbGF0aW9uc19kcCwgbl9lbnRyaWVzKTsKQEAgLTEyMzAsMTIgKzEyMzAsMTIg QEAgc2tsX3lfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJ ICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICAgaW50 ICpuX2VudHJpZXMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1 KGVuY29kZXItPmJhc2UuZGV2KTsKKwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRw X2luZm8gPSBpbnRlbF9iaW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCiAJaWYgKGludGVsX2NydGNf aGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKQogCQlyZXR1cm4gaW50ZWxf Z2V0X2J1Zl90cmFucygmc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19oZG1pLCBuX2VudHJpZXMpOwog CWVsc2UgaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0VE UCkgJiYKLQkJIGk5MTUtPnZidC5lZHAubG93X3Zzd2luZykKKwkJIHZidF9lZHBfaW5mby0+bG93 X3Zzd2luZykKIAkJcmV0dXJuIF9za2xfZ2V0X2J1Zl90cmFuc19kcChlbmNvZGVyLCAmc2tsX3lf ZGRpX3RyYW5zbGF0aW9uc19lZHAsIG5fZW50cmllcyk7CiAJZWxzZQogCQlyZXR1cm4gX3NrbF9n ZXRfYnVmX3RyYW5zX2RwKGVuY29kZXIsICZza2xfeV9kZGlfdHJhbnNsYXRpb25zX2RwLCBuX2Vu dHJpZXMpOwpAQCAtMTI0NiwxMiArMTI0NiwxMiBAQCBza2xfdV9nZXRfYnVmX3RyYW5zKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgICBpbnQgKm5fZW50cmllcykKIHsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCWNvbnN0 IHN0cnVjdCB2YnRfZWRwX2luZm8gKnZidF9lZHBfaW5mbyA9IGludGVsX2Jpb3NfZWRwX2luZm8o ZW5jb2Rlcik7CiAKIAlpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9P VVRQVVRfSERNSSkpCiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZza2xfZGRpX3RyYW5z bGF0aW9uc19oZG1pLCBuX2VudHJpZXMpOwogCWVsc2UgaWYgKGludGVsX2NydGNfaGFzX3R5cGUo Y3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0VEUCkgJiYKLQkJIGk5MTUtPnZidC5lZHAubG93X3Zz d2luZykKKwkJIHZidF9lZHBfaW5mby0+bG93X3Zzd2luZykKIAkJcmV0dXJuIF9za2xfZ2V0X2J1 Zl90cmFuc19kcChlbmNvZGVyLCAmc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19lZHAsIG5fZW50cmll cyk7CiAJZWxzZQogCQlyZXR1cm4gX3NrbF9nZXRfYnVmX3RyYW5zX2RwKGVuY29kZXIsICZza2xf dV9kZGlfdHJhbnNsYXRpb25zX2RwLCBuX2VudHJpZXMpOwpAQCAtMTI2MiwxMiArMTI2MiwxMiBA QCBza2xfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBpbnQgKm5fZW50 cmllcykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOworCWNvbnN0IHN0cnVjdCB2YnRfZWRwX2luZm8gKnZidF9lZHBfaW5mbyA9 IGludGVsX2Jpb3NfZWRwX2luZm8oZW5jb2Rlcik7CiAKIAlpZiAoaW50ZWxfY3J0Y19oYXNfdHlw ZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfSERNSSkpCiAJCXJldHVybiBpbnRlbF9nZXRfYnVm X3RyYW5zKCZza2xfZGRpX3RyYW5zbGF0aW9uc19oZG1pLCBuX2VudHJpZXMpOwogCWVsc2UgaWYg KGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0VEUCkgJiYKLQkJ IGk5MTUtPnZidC5lZHAubG93X3Zzd2luZykKKwkJIHZidF9lZHBfaW5mby0+bG93X3Zzd2luZykK IAkJcmV0dXJuIF9za2xfZ2V0X2J1Zl90cmFuc19kcChlbmNvZGVyLCAmc2tsX2RkaV90cmFuc2xh dGlvbnNfZWRwLCBuX2VudHJpZXMpOwogCWVsc2UKIAkJcmV0dXJuIF9za2xfZ2V0X2J1Zl90cmFu c19kcChlbmNvZGVyLCAmc2tsX2RkaV90cmFuc2xhdGlvbnNfZHAsIG5fZW50cmllcyk7CkBAIC0x Mjc4LDEyICsxMjc4LDEyIEBAIGtibF95X2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAkJICAgIGludCAqbl9lbnRyaWVzKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJY29uc3Qgc3RydWN0IHZidF9l ZHBfaW5mbyAqdmJ0X2VkcF9pbmZvID0gaW50ZWxfYmlvc19lZHBfaW5mbyhlbmNvZGVyKTsKIAog CWlmIChpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9IRE1JKSkK IAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJnNrbF95X2RkaV90cmFuc2xhdGlvbnNfaGRt aSwgbl9lbnRyaWVzKTsKIAllbHNlIGlmIChpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUs IElOVEVMX09VVFBVVF9FRFApICYmCi0JCSBpOTE1LT52YnQuZWRwLmxvd192c3dpbmcpCisJCSB2 YnRfZWRwX2luZm8tPmxvd192c3dpbmcpCiAJCXJldHVybiBfc2tsX2dldF9idWZfdHJhbnNfZHAo ZW5jb2RlciwgJnNrbF95X2RkaV90cmFuc2xhdGlvbnNfZWRwLCBuX2VudHJpZXMpOwogCWVsc2UK IAkJcmV0dXJuIF9za2xfZ2V0X2J1Zl90cmFuc19kcChlbmNvZGVyLCAma2JsX3lfZGRpX3RyYW5z bGF0aW9uc19kcCwgbl9lbnRyaWVzKTsKQEAgLTEyOTQsMTIgKzEyOTQsMTIgQEAga2JsX3VfZ2V0 X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgIGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICAgaW50ICpuX2VudHJpZXMp CiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKKwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRwX2luZm8gPSBpbnRl bF9iaW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCiAJaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0 Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKQogCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90cmFu cygmc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaSwgbl9lbnRyaWVzKTsKIAllbHNlIGlmIChpbnRl bF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9FRFApICYmCi0JCSBpOTE1 LT52YnQuZWRwLmxvd192c3dpbmcpCisJCSB2YnRfZWRwX2luZm8tPmxvd192c3dpbmcpCiAJCXJl dHVybiBfc2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2RlciwgJnNrbF91X2RkaV90cmFuc2xhdGlv bnNfZWRwLCBuX2VudHJpZXMpOwogCWVsc2UKIAkJcmV0dXJuIF9za2xfZ2V0X2J1Zl90cmFuc19k cChlbmNvZGVyLCAma2JsX3VfZGRpX3RyYW5zbGF0aW9uc19kcCwgbl9lbnRyaWVzKTsKQEAgLTEz MTAsMTIgKzEzMTAsMTIgQEAga2JsX2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCSAgaW50ICpuX2VudHJpZXMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZv ICp2YnRfZWRwX2luZm8gPSBpbnRlbF9iaW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCiAJaWYgKGlu dGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKQogCQlyZXR1 cm4gaW50ZWxfZ2V0X2J1Zl90cmFucygmc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaSwgbl9lbnRy aWVzKTsKIAllbHNlIGlmIChpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVMX09V VFBVVF9FRFApICYmCi0JCSBpOTE1LT52YnQuZWRwLmxvd192c3dpbmcpCisJCSB2YnRfZWRwX2lu Zm8tPmxvd192c3dpbmcpCiAJCXJldHVybiBfc2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwg JnNrbF9kZGlfdHJhbnNsYXRpb25zX2VkcCwgbl9lbnRyaWVzKTsKIAllbHNlCiAJCXJldHVybiBf c2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2RlciwgJmtibF9kZGlfdHJhbnNsYXRpb25zX2RwLCBu X2VudHJpZXMpOwpAQCAtMTMyNiwxMiArMTMyNiwxMiBAQCBieHRfZ2V0X2J1Zl90cmFucyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBpbnQgKm5fZW50cmllcykKIHsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCWNvbnN0IHN0 cnVjdCB2YnRfZWRwX2luZm8gKnZidF9lZHBfaW5mbyA9IGludGVsX2Jpb3NfZWRwX2luZm8oZW5j b2Rlcik7CiAKIAlpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQ VVRfSERNSSkpCiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZieHRfZGRpX3RyYW5zbGF0 aW9uc19oZG1pLCBuX2VudHJpZXMpOwogCWVsc2UgaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0 Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0VEUCkgJiYKLQkJIGk5MTUtPnZidC5lZHAubG93X3Zzd2lu ZykKKwkJIHZidF9lZHBfaW5mby0+bG93X3Zzd2luZykKIAkJcmV0dXJuIGludGVsX2dldF9idWZf dHJhbnMoJmJ4dF9kZGlfdHJhbnNsYXRpb25zX2VkcCwgbl9lbnRyaWVzKTsKIAllbHNlCiAJCXJl dHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZieHRfZGRpX3RyYW5zbGF0aW9uc19kcCwgbl9lbnRy aWVzKTsKQEAgLTEzODQsMTAgKzEzODQsMTEgQEAgY25sX2dldF9idWZfdHJhbnNfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogc3RhdGljIGNvbnN0IHN0 cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zICoKIGNubF9nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiB7CisJY29uc3Qgc3RydWN0 IHZidF9lZHBfaW5mbyAqdmJ0X2VkcF9pbmZvID0gaW50ZWxfYmlvc19lZHBfaW5mbyhlbmNvZGVy KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsKIAl1MzIgdm9sdGFnZSA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIENOTF9Q T1JUX0NPTVBfRFczKSAmIFZPTFRBR0VfSU5GT19NQVNLOwogCi0JaWYgKGRldl9wcml2LT52YnQu ZWRwLmxvd192c3dpbmcpIHsKKwlpZiAodmJ0X2VkcF9pbmZvLT5sb3dfdnN3aW5nKSB7CiAJCWlm ICh2b2x0YWdlID09IFZPTFRBR0VfSU5GT18wXzg1VikgewogCQkJcmV0dXJuIGludGVsX2dldF9i dWZfdHJhbnMoJmNubF9kZGlfdHJhbnNsYXRpb25zX2VkcF8wXzg1ViwKIAkJCQkJCSAgIG5fZW50 cmllcyk7CkBAIC0xNDMzLDEyICsxNDM0LDEyIEBAIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2Vk cChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICBpbnQgKm5fZW50cmllcykKIHsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKKwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRwX2luZm8gPSBpbnRlbF9i aW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCiAJaWYgKGNydGNfc3RhdGUtPnBvcnRfY2xvY2sgPiA1 NDAwMDApIHsKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmljbF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19kcF9oYnIyX2VkcF9oYnIzLAogCQkJCQkgICBuX2VudHJpZXMpOwotCX0g ZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5lZHAubG93X3Zzd2luZykgeworCX0gZWxzZSBpZiAodmJ0 X2VkcF9pbmZvLT5sb3dfdnN3aW5nKSB7CiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZp Y2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjIsCiAJCQkJCSAgIG5fZW50cmll cyk7CiAJfQpAQCAtMTUwMCwxMiArMTUwMSwxMiBAQCBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFucyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAogCQkJaW50ICpuX2VudHJpZXMpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJY29u c3Qgc3RydWN0IHZidF9lZHBfaW5mbyAqdmJ0X2VkcF9pbmZvID0gaW50ZWxfYmlvc19lZHBfaW5m byhlbmNvZGVyKTsKIAogCWlmIChpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVM X09VVFBVVF9IRE1JKSkKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pLCBuX2VudHJpZXMpOwogCWVsc2UgaWYgKGludGVsX2Ny dGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0VEUCkgJiYKLQkJIGRldl9wcml2 LT52YnQuZWRwLmxvd192c3dpbmcpCisJCSB2YnRfZWRwX2luZm8tPmxvd192c3dpbmcpCiAJCXJl dHVybiBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9l bnRyaWVzKTsKIAllbHNlCiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZlaGxfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHAsIG5fZW50cmllcyk7CkBAIC0xNTI3LDEyICsxNTI4LDEy IEBAIGpzbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQlpbnQg Km5fZW50cmllcykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRf ZWRwX2luZm8gPSBpbnRlbF9iaW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCiAJaWYgKGludGVsX2Ny dGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKQogCQlyZXR1cm4gaW50 ZWxfZ2V0X2J1Zl90cmFucygmaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWksIG5f ZW50cmllcyk7CiAJZWxzZSBpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLCBJTlRF TF9PVVRQVVRfRURQKSAmJgotCQkgZGV2X3ByaXYtPnZidC5lZHAubG93X3Zzd2luZykKKwkJIHZi dF9lZHBfaW5mby0+bG93X3Zzd2luZykKIAkJcmV0dXJuIGpzbF9nZXRfY29tYm9fYnVmX3RyYW5z X2VkcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwogCWVsc2UKIAkJcmV0dXJuIGlu dGVsX2dldF9idWZfdHJhbnMoJmljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIy X2VkcF9oYnIzLCBuX2VudHJpZXMpOwpAQCAtMTU2NCwxNiArMTU2NSwxNiBAQCB0Z2xfZ2V0X2Nv bWJvX2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgaW50ICpu X2VudHJpZXMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CisJY29uc3Qgc3RydWN0IHZidF9lZHBfaW5mbyAqdmJ0X2Vk cF9pbmZvID0gaW50ZWxfYmlvc19lZHBfaW5mbyhlbmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCiAJaWYgKGNydGNfc3RhdGUt PnBvcnRfY2xvY2sgPiA1NDAwMDApIHsKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmlj bF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2VkcF9oYnIzLAogCQkJCQkgICBu X2VudHJpZXMpOwotCX0gZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5lZHAuaG9ibCAmJiAhaW50ZWxf ZHAtPmhvYmxfZmFpbGVkKSB7CisJfSBlbHNlIGlmICh2YnRfZWRwX2luZm8tPmhvYmwgJiYgIWlu dGVsX2RwLT5ob2JsX2ZhaWxlZCkgewogCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90cmFucygmdGds X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmwsCiAJCQkJCSAgIG5fZW50 cmllcyk7Ci0JfSBlbHNlIGlmIChkZXZfcHJpdi0+dmJ0LmVkcC5sb3dfdnN3aW5nKSB7CisJfSBl bHNlIGlmICh2YnRfZWRwX2luZm8tPmxvd192c3dpbmcpIHsKIAkJcmV0dXJuIGludGVsX2dldF9i dWZfdHJhbnMoJmljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMiwKIAkJCQkJ ICAgbl9lbnRyaWVzKTsKIAl9CkBAIC0xNjEyLDE2ICsxNjEzLDE2IEBAIGRnMV9nZXRfY29tYm9f YnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICBpbnQgKm5fZW50 cmllcykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKKwljb25zdCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRwX2lu Zm8gPSBpbnRlbF9iaW9zX2VkcF9pbmZvKGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+cG9y dF9jbG9jayA+IDU0MDAwMCkKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmljbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2VkcF9oYnIzLAogCQkJCQkgICBuX2VudHJp ZXMpOwotCWVsc2UgaWYgKGRldl9wcml2LT52YnQuZWRwLmhvYmwgJiYgIWludGVsX2RwLT5ob2Js X2ZhaWxlZCkKKwllbHNlIGlmICh2YnRfZWRwX2luZm8tPmhvYmwgJiYgIWludGVsX2RwLT5ob2Js X2ZhaWxlZCkKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJnRnbF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19lZHBfaGJyMl9ob2JsLAogCQkJCQkgICBuX2VudHJpZXMpOwotCWVsc2Ug aWYgKGRldl9wcml2LT52YnQuZWRwLmxvd192c3dpbmcpCisJZWxzZSBpZiAodmJ0X2VkcF9pbmZv LT5sb3dfdnN3aW5nKQogCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90cmFucygmaWNsX2NvbWJvX3Bo eV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyLAogCQkJCQkgICBuX2VudHJpZXMpOwogCWVsc2UK QEAgLTE2NTcsMTYgKzE2NTgsMTYgQEAgcmtsX2dldF9jb21ib19idWZfdHJhbnNfZWRwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgIGludCAqbl9lbnRyaWVzKQogewotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwor CWNvbnN0IHN0cnVjdCB2YnRfZWRwX2luZm8gKnZidF9lZHBfaW5mbyA9IGludGVsX2Jpb3NfZWRw X2luZm8oZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRl bF9kcChlbmNvZGVyKTsKIAogCWlmIChjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4gNTQwMDAwKSB7 CiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xh dGlvbnNfZHBfaGJyMl9lZHBfaGJyMywKIAkJCQkJICAgbl9lbnRyaWVzKTsKLQl9IGVsc2UgaWYg KGRldl9wcml2LT52YnQuZWRwLmhvYmwgJiYgIWludGVsX2RwLT5ob2JsX2ZhaWxlZCkgeworCX0g ZWxzZSBpZiAodmJ0X2VkcF9pbmZvLT5ob2JsICYmICFpbnRlbF9kcC0+aG9ibF9mYWlsZWQpIHsK IAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJnRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19lZHBfaGJyMl9ob2JsLAogCQkJCQkgICBuX2VudHJpZXMpOwotCX0gZWxzZSBpZiAoZGV2 X3ByaXYtPnZidC5lZHAubG93X3Zzd2luZykgeworCX0gZWxzZSBpZiAodmJ0X2VkcF9pbmZvLT5s b3dfdnN3aW5nKSB7CiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjIsCiAJCQkJCSAgIG5fZW50cmllcyk7CiAJfQpAQCAt MTcwMywxNCArMTcwNCwxNCBAQCBhZGxzX2dldF9jb21ib19idWZfdHJhbnNfZWRwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICAgaW50ICpuX2VudHJpZXMpCiB7Ci0Jc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwljb25z dCBzdHJ1Y3QgdmJ0X2VkcF9pbmZvICp2YnRfZWRwX2luZm8gPSBpbnRlbF9iaW9zX2VkcF9pbmZv KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAo ZW5jb2Rlcik7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDU0MDAwMCkKIAkJcmV0 dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmFkbHNfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNf ZWRwX2hicjMsIG5fZW50cmllcyk7Ci0JZWxzZSBpZiAoaTkxNS0+dmJ0LmVkcC5ob2JsICYmICFp bnRlbF9kcC0+aG9ibF9mYWlsZWQpCisJZWxzZSBpZiAodmJ0X2VkcF9pbmZvLT5ob2JsICYmICFp bnRlbF9kcC0+aG9ibF9mYWlsZWQpCiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZ0Z2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjJfaG9ibCwgbl9lbnRyaWVzKTsKLQll bHNlIGlmIChpOTE1LT52YnQuZWRwLmxvd192c3dpbmcpCisJZWxzZSBpZiAodmJ0X2VkcF9pbmZv LT5sb3dfdnN3aW5nKQogCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90cmFucygmYWRsc19jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMiwgbl9lbnRyaWVzKTsKIAllbHNlCiAJCXJldHVy biBhZGxzX2dldF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRy aWVzKTsKQEAgLTE3NDUsMTYgKzE3NDYsMTYgQEAgYWRscF9nZXRfY29tYm9fYnVmX3RyYW5zX2Vk cChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgIGludCAqbl9lbnRyaWVzKQogewot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFz ZS5kZXYpOworCWNvbnN0IHN0cnVjdCB2YnRfZWRwX2luZm8gKnZidF9lZHBfaW5mbyA9IGludGVs X2Jpb3NfZWRwX2luZm8oZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVu Y190b19pbnRlbF9kcChlbmNvZGVyKTsKIAogCWlmIChjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4g NTQwMDAwKSB7CiAJCXJldHVybiBpbnRlbF9nZXRfYnVmX3RyYW5zKCZhZGxwX2NvbWJvX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIzLAogCQkJCQkgICBuX2VudHJpZXMpOwotCX0gZWxzZSBp ZiAoZGV2X3ByaXYtPnZidC5lZHAuaG9ibCAmJiAhaW50ZWxfZHAtPmhvYmxfZmFpbGVkKSB7CisJ fSBlbHNlIGlmICh2YnRfZWRwX2luZm8tPmhvYmwgJiYgIWludGVsX2RwLT5ob2JsX2ZhaWxlZCkg ewogCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90cmFucygmdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2VkcF9oYnIyX2hvYmwsCiAJCQkJCSAgIG5fZW50cmllcyk7Ci0JfSBlbHNlIGlmIChk ZXZfcHJpdi0+dmJ0LmVkcC5sb3dfdnN3aW5nKSB7CisJfSBlbHNlIGlmICh2YnRfZWRwX2luZm8t Pmxvd192c3dpbmcpIHsKIAkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJmFkbHBfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX3VwX3RvX2hicjIsCiAJCQkJCSAgIG5fZW50cmllcyk7 CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IDgwYTJjYWY0 YjgwNTMuLmY5NmNiYmFiMTVkYjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwLmMKQEAgLTEwMDksNiArMTAwOSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfbWF4X2JwcChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmludGVsX2Nvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7CisJc3RydWN0 IHZidF9lZHBfaW5mbyAqdmJ0X2VkcF9pbmZvID0gaW50ZWxfYmlvc19lZHBfaW5mbyhpbnRlbF9j b25uZWN0b3ItPmVuY29kZXIpOwogCWludCBicHAsIGJwYzsKIAogCWJwYyA9IGNydGNfc3RhdGUt PnBpcGVfYnBwIC8gMzsKQEAgLTEwMjcsMTEgKzEwMjgsMTEgQEAgc3RhdGljIGludCBpbnRlbF9k cF9tYXhfYnBwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJaWYgKGludGVsX2RwX2lzX2Vk cChpbnRlbF9kcCkpIHsKIAkJLyogR2V0IGJwcCBmcm9tIHZidCBvbmx5IGZvciBwYW5lbHMgdGhh dCBkb250IGhhdmUgYnBwIGluIGVkaWQgKi8KIAkJaWYgKGludGVsX2Nvbm5lY3Rvci0+YmFzZS5k aXNwbGF5X2luZm8uYnBjID09IDAgJiYKLQkJICAgIGRldl9wcml2LT52YnQuZWRwLmJwcCAmJiBk ZXZfcHJpdi0+dmJ0LmVkcC5icHAgPCBicHApIHsKKwkJICAgIHZidF9lZHBfaW5mby0+YnBwICYm IHZidF9lZHBfaW5mby0+YnBwIDwgYnBwKSB7CiAJCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRy bSwKIAkJCQkgICAgImNsYW1waW5nIGJwcCBmb3IgZURQIHBhbmVsIHRvIEJJT1MtcHJvdmlkZWQg JWlcbiIsCi0JCQkJICAgIGRldl9wcml2LT52YnQuZWRwLmJwcCk7Ci0JCQlicHAgPSBkZXZfcHJp di0+dmJ0LmVkcC5icHA7CisJCQkJICAgIHZidF9lZHBfaW5mby0+YnBwKTsKKwkJCWJwcCA9IHZi dF9lZHBfaW5mby0+YnBwOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX3Bwcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9wcHMuYwppbmRleCA5Njg5NGQ3MGE5MmMxLi5mNGMxNWExZjMxZDE1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bwcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHBzLmMKQEAgLTExNjEsNiArMTE2MSw4IEBAIGlu dGVsX3Bwc192ZXJpZnlfc3RhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogc3RhdGlj IHZvaWQgcHBzX2luaXRfZGVsYXlzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CisJc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSAmZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5i YXNlOworCWNvbnN0IHN0cnVjdCB2YnRfZWRwX2luZm8gKnZidF9lZHBfaW5mbyA9IGludGVsX2Jp b3NfZWRwX2luZm8oZW5jb2Rlcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CiAJc3RydWN0IGVkcF9wb3dlcl9zZXEgY3VyLCB2YnQs IHNwZWMsCiAJCSpmaW5hbCA9ICZpbnRlbF9kcC0+cHBzLnBwc19kZWxheXM7CkBAIC0xMTc1LDcg KzExNzcsNyBAQCBzdGF0aWMgdm9pZCBwcHNfaW5pdF9kZWxheXMoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIAogCWludGVsX3Bwc19kdW1wX3N0YXRlKCJjdXIiLCAmY3VyKTsKIAotCXZidCA9 IGRldl9wcml2LT52YnQuZWRwLnBwczsKKwl2YnQgPSB2YnRfZWRwX2luZm8tPnBwczsKIAkvKiBP biBUb3NoaWJhIFNhdGVsbGl0ZSBQNTAtQy0xOEMgc3lzdGVtIHRoZSBWQlQgVDEyIGRlbGF5CiAJ ICogb2YgNTAwbXMgYXBwZWFycyB0byBiZSB0b28gc2hvcnQuIE9jYXNzaW9uYWxseSB0aGUgcGFu ZWwKIAkgKiBqdXN0IGZhaWxzIHRvIHBvd2VyIGJhY2sgb24uIEluY3JlYXNpbmcgdGhlIGRlbGF5 IHRvIDgwMG1zCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA2OTlkMGU0NjAzYTM4Li41Yjg0 ZjIxMjljMmJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTY2Myw2ICs2NjMsMTggQEAg c3RydWN0IGRkaV92YnRfcG9ydF9pbmZvIHsKIAkJdTggY29udHJvbGxlcjsJCS8qIGJyaWdodG5l c3MgY29udHJvbGxlciBudW1iZXIgKi8KIAkJZW51bSBpbnRlbF9iYWNrbGlnaHRfdHlwZSB0eXBl OwogCX0gYmFja2xpZ2h0OworCisJc3RydWN0IHZidF9lZHBfaW5mbyB7CisJCWludCByYXRlOwor CQlpbnQgbGFuZXM7CisJCWludCBwcmVlbXBoYXNpczsKKwkJaW50IHZzd2luZzsKKwkJYm9vbCBs b3dfdnN3aW5nOworCQlib29sIGluaXRpYWxpemVkOworCQlpbnQgYnBwOworCQlzdHJ1Y3QgZWRw X3Bvd2VyX3NlcSBwcHM7CisJCWJvb2wgaG9ibDsKKwl9IGVkcDsKIH07CiAKIGVudW0gcHNyX2xp bmVzX3RvX3dhaXQgewpAQCAtNjkwLDE4ICs3MDIsNiBAQCBzdHJ1Y3QgaW50ZWxfdmJ0X2RhdGEg ewogCXVuc2lnbmVkIGludCBiaW9zX2x2ZHNfdmFsOyAvKiBpbml0aWFsIFtQQ0hfXUxWRFMgcmVn IHZhbCBpbiBWQklPUyAqLwogCWVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIG9yaWVudGF0aW9u OwogCi0Jc3RydWN0IHsKLQkJaW50IHJhdGU7Ci0JCWludCBsYW5lczsKLQkJaW50IHByZWVtcGhh c2lzOwotCQlpbnQgdnN3aW5nOwotCQlib29sIGxvd192c3dpbmc7Ci0JCWJvb2wgaW5pdGlhbGl6 ZWQ7Ci0JCWludCBicHA7Ci0JCXN0cnVjdCBlZHBfcG93ZXJfc2VxIHBwczsKLQkJYm9vbCBob2Js OwotCX0gZWRwOwotCiAJc3RydWN0IHsKIAkJYm9vbCBlbmFibGU7CiAJCWJvb2wgZnVsbF9saW5r OwotLSAKMi4zMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK