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=-12.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 03EC0C388F9 for ; Mon, 2 Nov 2020 21:17:17 +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 9589720665 for ; Mon, 2 Nov 2020 21:17:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9589720665 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 548D86E3F5; Mon, 2 Nov 2020 21:17:11 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id E13E56E3D0 for ; Mon, 2 Nov 2020 21:17:09 +0000 (UTC) IronPort-SDR: nY+GTPa29R3NnQ6S4g94IQVujQZbYpvrYNDXZeB23JKRBh6n3h70nLwHQ5DB7e2cT25ZpGwWe0 3woGZCUXz+0g== X-IronPort-AV: E=McAfee;i="6000,8403,9793"; a="156733400" X-IronPort-AV: E=Sophos;i="5.77,445,1596524400"; d="scan'208";a="156733400" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2020 13:17:09 -0800 IronPort-SDR: tjrDJOqa+GU34vHZ0jlZjTZduFP9b00emKEEmo2GoDlTFJOBb8mXfpW9HVOpGqJBoCP8ay/CFe W+7EutUJys8Q== X-IronPort-AV: E=Sophos;i="5.77,445,1596524400"; d="scan'208";a="528153825" Received: from labuser-z97x-ud5h.jf.intel.com ([10.165.21.211]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 02 Nov 2020 13:17:08 -0800 From: Manasi Navare To: intel-gfx@lists.freedesktop.org Date: Mon, 2 Nov 2020 13:19:03 -0800 Message-Id: <20201102211906.4893-3-manasi.d.navare@intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20201102211906.4893-1-manasi.d.navare@intel.com> References: <20201102211906.4893-1-manasi.d.navare@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v5 3/6] drm/i915: Add hw.pipe_mode to allow bigjoiner pipe/transcoder split 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCldpdGggYmlnam9pbmVyLCB0aGVyZSB3aWxsIGJlIDIgcGlwZXMgZHJpdmluZyAyIGhhbHZl cyBvZiAxIHRyYW5zY29kZXIsCmJlY2F1c2Ugb2YgdGhpcywgd2UgbmVlZCBhIHBpcGVfbW9kZSBm b3IgdmFyaW91cyBjYWxjdWxhdGlvbnMsIGluY2x1ZGluZwpmb3IgZXhhbXBsZSB3YXRlcm1hcmtz LCBwbGFuZSBjbGlwcGluZywgZXRjLgoKdjk6CiogcGlwZV9tb2RlIGluIHN0YXRlIGR1bXAgbmQg c3RhdGUgY2hlY2sgKFZpbGxlKQp2ODoKKiBBZGQgcGlwZV9tb2RlIGluIHJlYWRvdXQgaW4gdmVy aWZ5X2NydGNfc3RhdGUgKFZpbGxlKQp2NzoKKiBSZW1vdmUgcmVkdW5kYW50IGNvbW1lbnQgKFZp bGxlKQoqIEp1c3Qga2VlcCBtb2RlIGluc3RlYWQgb2YgcGlwZV9tb2RlIChWaWxsZSkKdjY6Ciog cmVuYW1pbmcgaW4gc2VwYXJhdGUgZnVuY3Rpb24sIG9ubHkgcGlwZV9tb2RlIGhlcmUgKFZpbGxl KQoqIEFkZCBkZXNjcmlwdGlvbiAoTWFhcnRlbikKdjU6CiogUmViYXNlIChNYW5hc2kpCnY0Ogoq IE1hbnVhbCByZWJhc2UgKE1hbmFzaSkKdjM6CiogQ2hhbmdlIHN0YXRlIHRvIGNydGNfc3RhdGUs IGZpeCByZWJhc2UgZXJyICAoTWFuYXNpKQp2MjoKKiBNYW51YWwgUmViYXNlIChNYW5hc2kpCgpT aWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXgu aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVA aW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRl bC5jb20+ClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jICB8IDQ5ICsrKysrKystLS0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV90eXBlcy5oICAgIHwgMTEgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAg ICAgICAgICAgICAgfCA3NiArKysrKysrKystLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDc5 IGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZTlmYmNmZTE2NDllLi5lOGNkZmFiNjljOTEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC02 MTY3LDE4ICs2MTY3LDE2IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKIAogc3RhdGljIGludCBza2xfdXBk YXRlX3NjYWxlcl9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewot CWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KLQkJJmNydGNf c3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CisJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KnBpcGVfbW9kZSA9ICZjcnRjX3N0YXRlLT5ody5waXBlX21vZGU7CiAJaW50IHdpZHRoLCBoZWln aHQ7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCkgewogCQl3aWR0aCA9IGRy bV9yZWN0X3dpZHRoKCZjcnRjX3N0YXRlLT5wY2hfcGZpdC5kc3QpOwogCQloZWlnaHQgPSBkcm1f cmVjdF9oZWlnaHQoJmNydGNfc3RhdGUtPnBjaF9wZml0LmRzdCk7CiAJfSBlbHNlIHsKLQkJd2lk dGggPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5OwotCQloZWlnaHQgPSBhZGp1c3RlZF9t b2RlLT5jcnRjX3ZkaXNwbGF5OworCQl3aWR0aCA9IHBpcGVfbW9kZS0+Y3J0Y19oZGlzcGxheTsK KwkJaGVpZ2h0ID0gcGlwZV9tb2RlLT5jcnRjX3ZkaXNwbGF5OwogCX0KLQogCXJldHVybiBza2xf dXBkYXRlX3NjYWxlcihjcnRjX3N0YXRlLCAhY3J0Y19zdGF0ZS0+aHcuYWN0aXZlLAogCQkJCSBT S0xfQ1JUQ19JTkRFWCwKIAkJCQkgJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJfaWQs CkBAIC04MTkyLDcgKzgxOTAsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRjX3N1cHBvcnRzX2Rv dWJsZV93aWRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCiBzdGF0aWMgdTMyIGls a19waXBlX3BpeGVsX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7Ci0JdTMyIHBpeGVsX3JhdGUgPSBjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlLmNy dGNfY2xvY2s7CisJdTMyIHBpeGVsX3JhdGUgPSBjcnRjX3N0YXRlLT5ody5waXBlX21vZGUuY3J0 Y19jbG9jazsKIAl1bnNpZ25lZCBpbnQgcGlwZV93LCBwaXBlX2gsIHBmaXRfdywgcGZpdF9oOwog CiAJLyoKQEAgLTgyMjUsNyArODIyMywxMSBAQCBzdGF0aWMgdTMyIGlsa19waXBlX3BpeGVsX3Jh dGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMgdm9p ZCBpbnRlbF9lbmNvZGVyX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKKwlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcGlwZV9tb2RlID0gJmNydGNfc3RhdGUtPmh3LnBpcGVfbW9k ZTsKKwogCWVuY29kZXItPmdldF9jb25maWcoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CisKKwkqcGlw ZV9tb2RlID0gY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKIH0KIAogc3RhdGljIHZvaWQg aW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCkBAIC04MjM1LDcgKzgyMzcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Nv bXB1dGVfcGl4ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlp ZiAoSEFTX0dNQ0goZGV2X3ByaXYpKQogCQkvKiBGSVhNRSBjYWxjdWxhdGUgcHJvcGVyIHBpcGUg cGl4ZWwgcmF0ZSBmb3IgR01DSCBwZml0ICovCiAJCWNydGNfc3RhdGUtPnBpeGVsX3JhdGUgPQot CQkJY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOworCQkJY3J0Y19zdGF0 ZS0+aHcucGlwZV9tb2RlLmNydGNfY2xvY2s7CiAJZWxzZQogCQljcnRjX3N0YXRlLT5waXhlbF9y YXRlID0KIAkJCWlsa19waXBlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7CkBAIC04MjQ1LDcgKzgy NDcsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVs X2NydGMgKmNydGMsCiAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7Ci0JY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUgPSAmcGlwZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7CisJY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKnBpcGVfbW9kZSA9ICZwaXBlX2NvbmZpZy0+aHcucGlwZV9tb2RlOwogCWlu dCBjbG9ja19saW1pdCA9IGRldl9wcml2LT5tYXhfZG90Y2xrX2ZyZXE7CiAKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA8IDQpIHsKQEAgLTgyNTYsMTYgKzgyNTgsMTYgQEAgc3RhdGljIGludCBp bnRlbF9jcnRjX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkgKiBp cyA+IDkwJSBvZiB0aGUgKGRpc3BsYXkpIGNvcmUgc3BlZWQuCiAJCSAqLwogCQlpZiAoaW50ZWxf Y3J0Y19zdXBwb3J0c19kb3VibGVfd2lkZShjcnRjKSAmJgotCQkgICAgYWRqdXN0ZWRfbW9kZS0+ Y3J0Y19jbG9jayA+IGNsb2NrX2xpbWl0KSB7CisJCSAgICBwaXBlX21vZGUtPmNydGNfY2xvY2sg PiBjbG9ja19saW1pdCkgewogCQkJY2xvY2tfbGltaXQgPSBkZXZfcHJpdi0+bWF4X2RvdGNsa19m cmVxOwogCQkJcGlwZV9jb25maWctPmRvdWJsZV93aWRlID0gdHJ1ZTsKIAkJfQogCX0KIAotCWlm IChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrID4gY2xvY2tfbGltaXQpIHsKKwlpZiAocGlwZV9t b2RlLT5jcnRjX2Nsb2NrID4gY2xvY2tfbGltaXQpIHsKIAkJZHJtX2RiZ19rbXMoJmRldl9wcml2 LT5kcm0sCiAJCQkgICAgInJlcXVlc3RlZCBwaXhlbCBjbG9jayAoJWQga0h6KSB0b28gaGlnaCAo bWF4OiAlZCBrSHosIGRvdWJsZSB3aWRlOiAlcylcbiIsCi0JCQkgICAgYWRqdXN0ZWRfbW9kZS0+ Y3J0Y19jbG9jaywgY2xvY2tfbGltaXQsCisJCQkgICAgcGlwZV9tb2RlLT5jcnRjX2Nsb2NrLCBj bG9ja19saW1pdCwKIAkJCSAgICB5ZXNubyhwaXBlX2NvbmZpZy0+ZG91YmxlX3dpZGUpKTsKIAkJ cmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtODMwOCw3ICs4MzEwLDcgQEAgc3RhdGljIGludCBpbnRl bF9jcnRjX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCSAqIFdhUHJ1 bmVNb2RlV2l0aEluY29ycmVjdEhzeW5jT2Zmc2V0OmN0ZyxlbGssaWxrLHNuYixpdmIsdmx2LGhz dy4KIAkgKi8KIAlpZiAoKElOVEVMX0dFTihkZXZfcHJpdikgPiA0IHx8IElTX0c0WChkZXZfcHJp dikpICYmCi0JCWFkanVzdGVkX21vZGUtPmNydGNfaHN5bmNfc3RhcnQgPT0gYWRqdXN0ZWRfbW9k ZS0+Y3J0Y19oZGlzcGxheSkKKwkJcGlwZV9tb2RlLT5jcnRjX2hzeW5jX3N0YXJ0ID09IHBpcGVf bW9kZS0+Y3J0Y19oZGlzcGxheSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlpbnRlbF9jcnRjX2Nv bXB1dGVfcGl4ZWxfcmF0ZShwaXBlX2NvbmZpZyk7CkBAIC0xMjgyNywxNSArMTI4MjksMTUgQEAg c3RhdGljIGJvb2wgYzhfcGxhbmVzX2NoYW5nZWQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm5ld19jcnRjX3N0YXRlKQogCiBzdGF0aWMgdTE2IGhzd19saW5ldGltZV93bShjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQljb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Ci0JCSZjcnRjX3N0YXRlLT5ody5hZGp1c3Rl ZF9tb2RlOworCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpwaXBlX21vZGUgPQorCQkm Y3J0Y19zdGF0ZS0+aHcucGlwZV9tb2RlOwogCWludCBsaW5ldGltZV93bTsKIAogCWlmICghY3J0 Y19zdGF0ZS0+aHcuZW5hYmxlKQogCQlyZXR1cm4gMDsKIAotCWxpbmV0aW1lX3dtID0gRElWX1JP VU5EX0NMT1NFU1QoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWwgKiAxMDAwICogOCwKLQkJCQkJ YWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayk7CisJbGluZXRpbWVfd20gPSBESVZfUk9VTkRfQ0xP U0VTVChwaXBlX21vZGUtPmNydGNfaHRvdGFsICogMTAwMCAqIDgsCisJCQkJCXBpcGVfbW9kZS0+ Y3J0Y19jbG9jayk7CiAKIAlyZXR1cm4gbWluKGxpbmV0aW1lX3dtLCAweDFmZik7CiB9CkBAIC0x MzMyMiw3ICsxMzMyNCwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAlkcm1fbW9kZV9kZWJ1 Z19wcmludG1vZGVsaW5lKCZwaXBlX2NvbmZpZy0+aHcubW9kZSk7CiAJZHJtX2RiZ19rbXMoJmRl dl9wcml2LT5kcm0sICJhZGp1c3RlZCBtb2RlOlxuIik7CiAJZHJtX21vZGVfZGVidWdfcHJpbnRt b2RlbGluZSgmcGlwZV9jb25maWctPmh3LmFkanVzdGVkX21vZGUpOworCWRybV9kYmdfa21zKCZk ZXZfcHJpdi0+ZHJtLCAicGlwZSBtb2RlOlxuIik7CisJZHJtX21vZGVfZGVidWdfcHJpbnRtb2Rl bGluZSgmcGlwZV9jb25maWctPmh3LnBpcGVfbW9kZSk7CiAJaW50ZWxfZHVtcF9jcnRjX3RpbWlu Z3MoZGV2X3ByaXYsICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZSk7CisJaW50ZWxfZHVt cF9jcnRjX3RpbWluZ3MoZGV2X3ByaXYsICZwaXBlX2NvbmZpZy0+aHcucGlwZV9tb2RlKTsKIAlk cm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKIAkJICAgICJwb3J0IGNsb2NrOiAlZCwgcGlwZSBz cmMgc2l6ZTogJWR4JWQsIHBpeGVsIHJhdGUgJWRcbiIsCiAJCSAgICBwaXBlX2NvbmZpZy0+cG9y dF9jbG9jaywKQEAgLTEzNDY1LDggKzEzNDcwLDkgQEAgaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9f aHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJY3J0Y19zdGF0 ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7CiAJY3J0Y19zdGF0ZS0+aHcu YWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmU7CiAJY3J0Y19zdGF0ZS0+aHcubW9kZSA9 IGNydGNfc3RhdGUtPnVhcGkubW9kZTsKLQljcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlID0g Y3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOworCWNydGNfc3RhdGUtPmh3LnBpcGVfbW9k ZSA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGUgPSBjcnRjX3N0YXRlLT51YXBpLmFkanVz dGVkX21vZGU7CiAJY3J0Y19zdGF0ZS0+aHcuc2NhbGluZ19maWx0ZXIgPSBjcnRjX3N0YXRlLT51 YXBpLnNjYWxpbmdfZmlsdGVyOworCiAJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVf bm9tb2Rlc2V0KGNydGNfc3RhdGUpOwogfQogCkBAIC0xMzY2Myw2ICsxMzY2OSw5IEBAIGludGVs X21vZGVzZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln KQogCQkgICAgImh3IG1heCBicHA6ICVpLCBwaXBlIGJwcDogJWksIGRpdGhlcmluZzogJWlcbiIs CiAJCSAgICBiYXNlX2JwcCwgcGlwZV9jb25maWctPnBpcGVfYnBwLCBwaXBlX2NvbmZpZy0+ZGl0 aGVyKTsKIAorCS8qIHdpdGhvdXQgYmlnam9pbmVyLCBwaXBlX21vZGUgPT0gYWRqdXN0ZWRfbW9k ZSAqLworCXBpcGVfY29uZmlnLT5ody5waXBlX21vZGUgPSBwaXBlX2NvbmZpZy0+aHcuYWRqdXN0 ZWRfbW9kZTsKKwogCXJldHVybiAwOwogfQogCkBAIC0xNDA3MSw2ICsxNDA4MCwxMCBAQCBpbnRl bF9waXBlX2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJy ZW50X2NvbmZpZywKIAogCVBJUEVfQ09ORl9DSEVDS19YKG91dHB1dF90eXBlcyk7CiAKKwlQSVBF X0NPTkZfQ0hFQ0tfSShody5waXBlX21vZGUuY3J0Y19oZGlzcGxheSk7CisJUElQRV9DT05GX0NI RUNLX0koaHcucGlwZV9tb2RlLmNydGNfaGRpc3BsYXkpOworCVBJUEVfQ09ORl9DSEVDS19JKGh3 LnBpcGVfbW9kZS5jcnRjX2hkaXNwbGF5KTsKKwlQSVBFX0NPTkZfQ0hFQ0tfSShody5waXBlX21v ZGUuY3J0Y19oZGlzcGxheSk7CiAJUElQRV9DT05GX0NIRUNLX0koaHcuYWRqdXN0ZWRfbW9kZS5j cnRjX2hkaXNwbGF5KTsKIAlQSVBFX0NPTkZfQ0hFQ0tfSShody5hZGp1c3RlZF9tb2RlLmNydGNf aHRvdGFsKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfSShody5hZGp1c3RlZF9tb2RlLmNydGNfaGJsYW5r X3N0YXJ0KTsKQEAgLTE4OTIwLDYgKzE4OTMzLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNl dF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkgKi8KIAkJCWNy dGNfc3RhdGUtPmluaGVyaXRlZCA9IHRydWU7CiAKKwkJCWNydGNfc3RhdGUtPmh3LnBpcGVfbW9k ZSA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CisKIAkJCWludGVsX2NydGNfY29tcHV0 ZV9waXhlbF9yYXRlKGNydGNfc3RhdGUpOwogCiAJCQlpbnRlbF9jcnRjX3VwZGF0ZV9hY3RpdmVf dGltaW5ncyhjcnRjX3N0YXRlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggZjZmMDYyNjY0OWUwLi5iNTI2YWZlZTU5NWMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90 eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90 eXBlcy5oCkBAIC04MTcsMTUgKzgxNywyMiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJ ICogVGhlIGZvbGxvd2luZyBtZW1iZXJzIGFyZSB1c2VkIHRvIHZlcmlmeSB0aGUgaGFyZHdhcmUg c3RhdGU6CiAJICogLSBlbmFibGUKIAkgKiAtIGFjdGl2ZQotCSAqIC0gbW9kZSAvIGFkanVzdGVk X21vZGUKKwkgKiAtIG1vZGUvYWRqdXN0ZWRfbW9kZQogCSAqIC0gY29sb3IgcHJvcGVydHkgYmxv YnMuCiAJICoKIAkgKiBEdXJpbmcgaW5pdGlhbCBodyByZWFkb3V0LCB0aGV5IG5lZWQgdG8gYmUg Y29waWVkIHRvIHVhcGkuCisJICoKKwkgKiBCaWdqb2luZXIgd2lsbCBhbGxvdyBhIHRyYW5zY29k ZXIgbW9kZSB0aGF0IHNwYW5zIDIgcGlwZXM7CisJICogVXNlIHRoZSBwaXBlX21vZGUgZm9yIGNh bGN1bGF0aW9ucyBsaWtlIHdhdGVybWFya3MsIHBpcGUKKwkgKiBzY2FsZXIsIGFuZCBiYW5kd2lk dGguCisJICoKKwkgKiBVc2UgYWRqdXN0ZWRfbW9kZSBmb3IgdGhpbmdzIHRoYXQgbmVlZCB0byBr bm93IHRoZSBmdWxsCisJICogbW9kZSBvbiB0aGUgdHJhbnNjb2Rlciwgd2hpY2ggc3BhbnMgYWxs IHBpcGVzLgogCSAqLwogCXN0cnVjdCB7CiAJCWJvb2wgYWN0aXZlLCBlbmFibGU7CiAJCXN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQsICpnYW1tYV9sdXQsICpjdG07Ci0JCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1vZGUsIGFkanVzdGVkX21vZGU7CisJCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlIG1vZGUsIHBpcGVfbW9kZSwgYWRqdXN0ZWRfbW9kZTsKIAkJZW51bSBkcm1f c2NhbGluZ19maWx0ZXIgc2NhbGluZ19maWx0ZXI7CiAJfSBodzsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKaW5kZXggZjU0Mzc1YjExOTY0Li45ODk4YzI1N2QzZTAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwpAQCAtODk5LDEyICs4OTksMTIgQEAgc3RhdGljIHZvaWQgcG52X3VwZGF0ZV93bShz dHJ1Y3QgaW50ZWxfY3J0YyAqdW51c2VkX2NydGMpCiAKIAljcnRjID0gc2luZ2xlX2VuYWJsZWRf Y3J0YyhkZXZfcHJpdik7CiAJaWYgKGNydGMpIHsKLQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmFkanVzdGVkX21vZGUgPQotCQkJJmNydGMtPmNvbmZpZy0+aHcuYWRqdXN0ZWRfbW9k ZTsKKwkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnBpcGVfbW9kZSA9CisJCQkmY3J0 Yy0+Y29uZmlnLT5ody5waXBlX21vZGU7CiAJCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiID0KIAkJCWNydGMtPmJhc2UucHJpbWFyeS0+c3RhdGUtPmZiOwogCQlpbnQgY3BwID0gZmIt PmZvcm1hdC0+Y3BwWzBdOwotCQlpbnQgY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2Nr OworCQlpbnQgY2xvY2sgPSBwaXBlX21vZGUtPmNydGNfY2xvY2s7CiAKIAkJLyogRGlzcGxheSBT UiAqLwogCQl3bSA9IGludGVsX2NhbGN1bGF0ZV93bShjbG9jaywgJnBudl9kaXNwbGF5X3dtLApA QCAtMTEzNSw4ICsxMTM1LDggQEAgc3RhdGljIHUxNiBnNHhfY29tcHV0ZV93bShjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIHsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUg KnBsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmVfc3RhdGUtPnVhcGkucGxhbmUpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsK LQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Ci0JCSZjcnRj X3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOworCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICpwaXBlX21vZGUgPQorCQkmY3J0Y19zdGF0ZS0+aHcucGlwZV9tb2RlOwogCXVuc2lnbmVkIGlu dCBsYXRlbmN5ID0gZGV2X3ByaXYtPndtLnByaV9sYXRlbmN5W2xldmVsXSAqIDEwOwogCXVuc2ln bmVkIGludCBjbG9jaywgaHRvdGFsLCBjcHAsIHdpZHRoLCB3bTsKIApAQCAtMTE2Myw4ICsxMTYz LDggQEAgc3RhdGljIHUxNiBnNHhfY29tcHV0ZV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkgICAgbGV2ZWwgIT0gRzRYX1dNX0xFVkVMX05PUk1BTCkKIAkJ Y3BwID0gbWF4KGNwcCwgNHUpOwogCi0JY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2Nr OwotCWh0b3RhbCA9IGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsOworCWNsb2NrID0gcGlwZV9t b2RlLT5jcnRjX2Nsb2NrOworCWh0b3RhbCA9IHBpcGVfbW9kZS0+Y3J0Y19odG90YWw7CiAKIAl3 aWR0aCA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+dWFwaS5kc3QpOwogCkBAIC0xNjYw LDggKzE2NjAsOCBAQCBzdGF0aWMgdTE2IHZsdl9jb21wdXRlX3dtX2xldmVsKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogewogCXN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZV9zdGF0ZS0+dWFwaS5wbGFuZSk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOwot CWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KLQkJJmNydGNf c3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CisJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KnBpcGVfbW9kZSA9CisJCSZjcnRjX3N0YXRlLT5ody5waXBlX21vZGU7CiAJdW5zaWduZWQgaW50 IGNsb2NrLCBodG90YWwsIGNwcCwgd2lkdGgsIHdtOwogCiAJaWYgKGRldl9wcml2LT53bS5wcmlf bGF0ZW5jeVtsZXZlbF0gPT0gMCkKQEAgLTE2NzEsOCArMTY3MSw4IEBAIHN0YXRpYyB1MTYgdmx2 X2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCiAJCXJldHVybiAwOwogCiAJY3BwID0gcGxhbmVfc3RhdGUtPmh3LmZiLT5mb3JtYXQtPmNw cFswXTsKLQljbG9jayA9IGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2s7Ci0JaHRvdGFsID0gYWRq dXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7CisJY2xvY2sgPSBwaXBlX21vZGUtPmNydGNfY2xvY2s7 CisJaHRvdGFsID0gcGlwZV9tb2RlLT5jcnRjX2h0b3RhbDsKIAl3aWR0aCA9IGNydGNfc3RhdGUt PnBpcGVfc3JjX3c7CiAKIAlpZiAocGxhbmUtPmlkID09IFBMQU5FX0NVUlNPUikgewpAQCAtMjI2 MSwxMiArMjI2MSwxMiBAQCBzdGF0aWMgdm9pZCBpOTY1X3VwZGF0ZV93bShzdHJ1Y3QgaW50ZWxf Y3J0YyAqdW51c2VkX2NydGMpCiAJaWYgKGNydGMpIHsKIAkJLyogc2VsZi1yZWZyZXNoIGhhcyBt dWNoIGhpZ2hlciBsYXRlbmN5ICovCiAJCXN0YXRpYyBjb25zdCBpbnQgc3JfbGF0ZW5jeV9ucyA9 IDEyMDAwOwotCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9 Ci0JCQkmY3J0Yy0+Y29uZmlnLT5ody5hZGp1c3RlZF9tb2RlOworCQljb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqcGlwZV9tb2RlID0KKwkJCSZjcnRjLT5jb25maWctPmh3LnBpcGVfbW9k ZTsKIAkJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPQogCQkJY3J0Yy0+YmFzZS5w cmltYXJ5LT5zdGF0ZS0+ZmI7Ci0JCWludCBjbG9jayA9IGFkanVzdGVkX21vZGUtPmNydGNfY2xv Y2s7Ci0JCWludCBodG90YWwgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3RhbDsKKwkJaW50IGNs b2NrID0gcGlwZV9tb2RlLT5jcnRjX2Nsb2NrOworCQlpbnQgaHRvdGFsID0gcGlwZV9tb2RlLT5j cnRjX2h0b3RhbDsKIAkJaW50IGhkaXNwbGF5ID0gY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193Owog CQlpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwogCQlpbnQgZW50cmllczsKQEAgLTIzNDUs OCArMjM0NSw4IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3dtKHN0cnVjdCBpbnRlbF9jcnRj ICp1bnVzZWRfY3J0YykKIAlmaWZvX3NpemUgPSBkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZmlmb19z aXplKGRldl9wcml2LCBQTEFORV9BKTsKIAljcnRjID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BsYW5l KGRldl9wcml2LCBQTEFORV9BKTsKIAlpZiAoaW50ZWxfY3J0Y19hY3RpdmUoY3J0YykpIHsKLQkJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQotCQkJJmNydGMt PmNvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsKKwkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKnBpcGVfbW9kZSA9CisJCQkmY3J0Yy0+Y29uZmlnLT5ody5waXBlX21vZGU7CiAJCWNvbnN0 IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0KIAkJCWNydGMtPmJhc2UucHJpbWFyeS0+c3Rh dGUtPmZiOwogCQlpbnQgY3BwOwpAQCAtMjM1Niw3ICsyMzU2LDcgQEAgc3RhdGljIHZvaWQgaTl4 eF91cGRhdGVfd20oc3RydWN0IGludGVsX2NydGMgKnVudXNlZF9jcnRjKQogCQllbHNlCiAJCQlj cHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07CiAKLQkJcGxhbmVhX3dtID0gaW50ZWxfY2FsY3VsYXRl X3dtKGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCisJCXBsYW5lYV93bSA9IGludGVsX2NhbGN1 bGF0ZV93bShwaXBlX21vZGUtPmNydGNfY2xvY2ssCiAJCQkJCSAgICAgICB3bV9pbmZvLCBmaWZv X3NpemUsIGNwcCwKIAkJCQkJICAgICAgIHBlc3NpbWFsX2xhdGVuY3lfbnMpOwogCQllbmFibGVk ID0gY3J0YzsKQEAgLTIzNzIsOCArMjM3Miw4IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3dt KHN0cnVjdCBpbnRlbF9jcnRjICp1bnVzZWRfY3J0YykKIAlmaWZvX3NpemUgPSBkZXZfcHJpdi0+ ZGlzcGxheS5nZXRfZmlmb19zaXplKGRldl9wcml2LCBQTEFORV9CKTsKIAljcnRjID0gaW50ZWxf Z2V0X2NydGNfZm9yX3BsYW5lKGRldl9wcml2LCBQTEFORV9CKTsKIAlpZiAoaW50ZWxfY3J0Y19h Y3RpdmUoY3J0YykpIHsKLQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUgPQotCQkJJmNydGMtPmNvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsKKwkJY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKnBpcGVfbW9kZSA9CisJCQkmY3J0Yy0+Y29uZmlnLT5ody5w aXBlX21vZGU7CiAJCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0KIAkJCWNydGMt PmJhc2UucHJpbWFyeS0+c3RhdGUtPmZiOwogCQlpbnQgY3BwOwpAQCAtMjM4Myw3ICsyMzgzLDcg QEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfd20oc3RydWN0IGludGVsX2NydGMgKnVudXNlZF9j cnRjKQogCQllbHNlCiAJCQljcHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07CiAKLQkJcGxhbmViX3dt ID0gaW50ZWxfY2FsY3VsYXRlX3dtKGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCisJCXBsYW5l Yl93bSA9IGludGVsX2NhbGN1bGF0ZV93bShwaXBlX21vZGUtPmNydGNfY2xvY2ssCiAJCQkJCSAg ICAgICB3bV9pbmZvLCBmaWZvX3NpemUsIGNwcCwKIAkJCQkJICAgICAgIHBlc3NpbWFsX2xhdGVu Y3lfbnMpOwogCQlpZiAoZW5hYmxlZCA9PSBOVUxMKQpAQCAtMjQyMSwxMiArMjQyMSwxMiBAQCBz dGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqdW51c2VkX2NydGMp CiAJaWYgKEhBU19GV19CTEMoZGV2X3ByaXYpICYmIGVuYWJsZWQpIHsKIAkJLyogc2VsZi1yZWZy ZXNoIGhhcyBtdWNoIGhpZ2hlciBsYXRlbmN5ICovCiAJCXN0YXRpYyBjb25zdCBpbnQgc3JfbGF0 ZW5jeV9ucyA9IDYwMDA7Ci0JCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlID0KLQkJCSZlbmFibGVkLT5jb25maWctPmh3LmFkanVzdGVkX21vZGU7CisJCWNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpwaXBlX21vZGUgPQorCQkJJmVuYWJsZWQtPmNvbmZp Zy0+aHcucGlwZV9tb2RlOwogCQljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9CiAJ CQllbmFibGVkLT5iYXNlLnByaW1hcnktPnN0YXRlLT5mYjsKLQkJaW50IGNsb2NrID0gYWRqdXN0 ZWRfbW9kZS0+Y3J0Y19jbG9jazsKLQkJaW50IGh0b3RhbCA9IGFkanVzdGVkX21vZGUtPmNydGNf aHRvdGFsOworCQlpbnQgY2xvY2sgPSBwaXBlX21vZGUtPmNydGNfY2xvY2s7CisJCWludCBodG90 YWwgPSBwaXBlX21vZGUtPmNydGNfaHRvdGFsOwogCQlpbnQgaGRpc3BsYXkgPSBlbmFibGVkLT5j b25maWctPnBpcGVfc3JjX3c7CiAJCWludCBjcHA7CiAJCWludCBlbnRyaWVzOwpAQCAtMjQ3NCw3 ICsyNDc0LDcgQEAgc3RhdGljIHZvaWQgaTg0NV91cGRhdGVfd20oc3RydWN0IGludGVsX2NydGMg KnVudXNlZF9jcnRjKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUodW51c2VkX2NydGMtPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsK LQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZTsKKwljb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcGlwZV9tb2RlOwogCXUzMiBmd2F0ZXJfbG87CiAJaW50 IHBsYW5lYV93bTsKIApAQCAtMjQ4Miw4ICsyNDgyLDggQEAgc3RhdGljIHZvaWQgaTg0NV91cGRh dGVfd20oc3RydWN0IGludGVsX2NydGMgKnVudXNlZF9jcnRjKQogCWlmIChjcnRjID09IE5VTEwp CiAJCXJldHVybjsKIAotCWFkanVzdGVkX21vZGUgPSAmY3J0Yy0+Y29uZmlnLT5ody5hZGp1c3Rl ZF9tb2RlOwotCXBsYW5lYV93bSA9IGludGVsX2NhbGN1bGF0ZV93bShhZGp1c3RlZF9tb2RlLT5j cnRjX2Nsb2NrLAorCXBpcGVfbW9kZSA9ICZjcnRjLT5jb25maWctPmh3LnBpcGVfbW9kZTsKKwlw bGFuZWFfd20gPSBpbnRlbF9jYWxjdWxhdGVfd20ocGlwZV9tb2RlLT5jcnRjX2Nsb2NrLAogCQkJ CSAgICAgICAmaTg0NV93bV9pbmZvLAogCQkJCSAgICAgICBkZXZfcHJpdi0+ZGlzcGxheS5nZXRf Zmlmb19zaXplKGRldl9wcml2LCBQTEFORV9BKSwKIAkJCQkgICAgICAgNCwgcGVzc2ltYWxfbGF0 ZW5jeV9ucyk7CkBAIC0yNTczLDcgKzI1NzMsNyBAQCBzdGF0aWMgdTMyIGlsa19jb21wdXRlX3By aV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJu IG1ldGhvZDE7CiAKIAltZXRob2QyID0gaWxrX3dtX21ldGhvZDIoY3J0Y19zdGF0ZS0+cGl4ZWxf cmF0ZSwKLQkJCQkgY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCwKKwkJ CQkgY3J0Y19zdGF0ZS0+aHcucGlwZV9tb2RlLmNydGNfaHRvdGFsLAogCQkJCSBkcm1fcmVjdF93 aWR0aCgmcGxhbmVfc3RhdGUtPnVhcGkuZHN0KSwKIAkJCQkgY3BwLCBtZW1fdmFsdWUpOwogCkBA IC0yNjAxLDcgKzI2MDEsNyBAQCBzdGF0aWMgdTMyIGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAogCW1ldGhvZDEgPSBpbGtfd21f bWV0aG9kMShjcnRjX3N0YXRlLT5waXhlbF9yYXRlLCBjcHAsIG1lbV92YWx1ZSk7CiAJbWV0aG9k MiA9IGlsa193bV9tZXRob2QyKGNydGNfc3RhdGUtPnBpeGVsX3JhdGUsCi0JCQkJIGNydGNfc3Rh dGUtPmh3LmFkanVzdGVkX21vZGUuY3J0Y19odG90YWwsCisJCQkJIGNydGNfc3RhdGUtPmh3LnBp cGVfbW9kZS5jcnRjX2h0b3RhbCwKIAkJCQkgZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT51 YXBpLmRzdCksCiAJCQkJIGNwcCwgbWVtX3ZhbHVlKTsKIAlyZXR1cm4gbWluKG1ldGhvZDEsIG1l dGhvZDIpOwpAQCAtMjYyNiw3ICsyNjI2LDcgQEAgc3RhdGljIHUzMiBpbGtfY29tcHV0ZV9jdXJf d20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJY3BwID0gcGxh bmVfc3RhdGUtPmh3LmZiLT5mb3JtYXQtPmNwcFswXTsKIAogCXJldHVybiBpbGtfd21fbWV0aG9k MihjcnRjX3N0YXRlLT5waXhlbF9yYXRlLAotCQkJICAgICAgY3J0Y19zdGF0ZS0+aHcuYWRqdXN0 ZWRfbW9kZS5jcnRjX2h0b3RhbCwKKwkJCSAgICAgIGNydGNfc3RhdGUtPmh3LnBpcGVfbW9kZS5j cnRjX2h0b3RhbCwKIAkJCSAgICAgIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+dWFwaS5k c3QpLAogCQkJICAgICAgY3BwLCBtZW1fdmFsdWUpOwogfQpAQCAtMzg4Myw3ICszODgzLDcgQEAg c3RhdGljIGJvb2wgc2tsX2NydGNfY2FuX2VuYWJsZV9zYWd2KGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWlmICghY3J0Y19zdGF0ZS0+aHcuYWN0aXZlKQogCQly ZXR1cm4gdHJ1ZTsKIAotCWlmIChjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlLmZsYWdzICYg RFJNX01PREVfRkxBR19JTlRFUkxBQ0UpCisJaWYgKGNydGNfc3RhdGUtPmh3LnBpcGVfbW9kZS5m bGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlpbnRl bF9hdG9taWNfY3J0Y19zdGF0ZV9mb3JfZWFjaF9wbGFuZV9zdGF0ZShwbGFuZSwgcGxhbmVfc3Rh dGUsIGNydGNfc3RhdGUpIHsKQEAgLTQxNzQsOCArNDE3NCw4IEBAIHNrbF9kZGJfZ2V0X3BpcGVf YWxsb2NhdGlvbl9saW1pdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSAq LwogCXRvdGFsX3NsaWNlX21hc2sgPSBkYnVmX3NsaWNlX21hc2s7CiAJZm9yX2VhY2hfbmV3X2lu dGVsX2NydGNfaW5fc3RhdGUoaW50ZWxfc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKLQkJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQotCQkJJmNydGNf c3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CisJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICpwaXBlX21vZGUgPQorCQkJJmNydGNfc3RhdGUtPmh3LnBpcGVfbW9kZTsKIAkJZW51bSBwaXBl IHBpcGUgPSBjcnRjLT5waXBlOwogCQlpbnQgaGRpc3BsYXksIHZkaXNwbGF5OwogCQl1MzIgcGlw ZV9kYnVmX3NsaWNlX21hc2s7CkBAIC00MjA1LDcgKzQyMDUsNyBAQCBza2xfZGRiX2dldF9waXBl X2FsbG9jYXRpb25fbGltaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJ aWYgKGRidWZfc2xpY2VfbWFzayAhPSBwaXBlX2RidWZfc2xpY2VfbWFzaykKIAkJCWNvbnRpbnVl OwogCi0JCWRybV9tb2RlX2dldF9odl90aW1pbmcoYWRqdXN0ZWRfbW9kZSwgJmhkaXNwbGF5LCAm dmRpc3BsYXkpOworCQlkcm1fbW9kZV9nZXRfaHZfdGltaW5nKHBpcGVfbW9kZSwgJmhkaXNwbGF5 LCAmdmRpc3BsYXkpOwogCiAJCXRvdGFsX3dpZHRoX2luX3JhbmdlICs9IGhkaXNwbGF5OwogCkBA IC01MDkzLDcgKzUwOTMsNyBAQCBpbnRlbF9nZXRfbGluZXRpbWVfdXMoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKGRybV9XQVJOX09OKCZkZXZfcHJpdi0+ ZHJtLCBwaXhlbF9yYXRlID09IDApKQogCQlyZXR1cm4gdTMyX3RvX2ZpeGVkMTYoMCk7CiAKLQlj cnRjX2h0b3RhbCA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGUuY3J0Y19odG90YWw7CisJ Y3J0Y19odG90YWwgPSBjcnRjX3N0YXRlLT5ody5waXBlX21vZGUuY3J0Y19odG90YWw7CiAJbGlu ZXRpbWVfdXMgPSBkaXZfZml4ZWQxNihjcnRjX2h0b3RhbCAqIDEwMDAsIHBpeGVsX3JhdGUpOwog CiAJcmV0dXJuIGxpbmV0aW1lX3VzOwpAQCAtNTI4MiwxNCArNTI4MiwxNCBAQCBzdGF0aWMgdm9p ZCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAltZXRob2QxID0gc2tsX3dtX21ldGhvZDEoZGV2X3ByaXYsIHdwLT5wbGFuZV9w aXhlbF9yYXRlLAogCQkJCSB3cC0+Y3BwLCBsYXRlbmN5LCB3cC0+ZGJ1Zl9ibG9ja19zaXplKTsK IAltZXRob2QyID0gc2tsX3dtX21ldGhvZDIod3AtPnBsYW5lX3BpeGVsX3JhdGUsCi0JCQkJIGNy dGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGUuY3J0Y19odG90YWwsCisJCQkJIGNydGNfc3RhdGUt Pmh3LnBpcGVfbW9kZS5jcnRjX2h0b3RhbCwKIAkJCQkgbGF0ZW5jeSwKIAkJCQkgd3AtPnBsYW5l X2Jsb2Nrc19wZXJfbGluZSk7CiAKIAlpZiAod3AtPnlfdGlsZWQpIHsKIAkJc2VsZWN0ZWRfcmVz dWx0ID0gbWF4X2ZpeGVkMTYobWV0aG9kMiwgd3AtPnlfdGlsZV9taW5pbXVtKTsKIAl9IGVsc2Ug ewotCQlpZiAoKHdwLT5jcHAgKiBjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlLmNydGNfaHRv dGFsIC8KKwkJaWYgKCh3cC0+Y3BwICogY3J0Y19zdGF0ZS0+aHcucGlwZV9tb2RlLmNydGNfaHRv dGFsIC8KIAkJICAgICB3cC0+ZGJ1Zl9ibG9ja19zaXplIDwgMSkgJiYKIAkJICAgICAod3AtPnBs YW5lX2J5dGVzX3Blcl9saW5lIC8gd3AtPmRidWZfYmxvY2tfc2l6ZSA8IDEpKSB7CiAJCQlzZWxl Y3RlZF9yZXN1bHQgPSBtZXRob2QyOwotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK