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 44C84C433C1 for ; Mon, 22 Mar 2021 23:38:53 +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 010C56191C for ; Mon, 22 Mar 2021 23:38:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 010C56191C 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 950096E7EF; Mon, 22 Mar 2021 23:38:52 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 79E956E822 for ; Mon, 22 Mar 2021 23:38:50 +0000 (UTC) IronPort-SDR: B59pFVpCV4vp690SfFTCqM/hwRl79mZFup6doE3MsrvALXnGvOV0O9GmHkV36PQZU3bJEoa2Qz vP/D4cv61XVg== X-IronPort-AV: E=McAfee;i="6000,8403,9931"; a="275468896" X-IronPort-AV: E=Sophos;i="5.81,269,1610438400"; d="scan'208";a="275468896" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2021 16:38:50 -0700 IronPort-SDR: baDxbJ9Mssq6cKxgwdkPuKxgxosYF2fruxU16BI1glRsW+xAr0jK6qZddg+/ajrGHCOWIeEMqh mgCiUJH5rRkg== X-IronPort-AV: E=Sophos;i="5.81,269,1610438400"; d="scan'208";a="607518161" Received: from mdroper-desk1.fm.intel.com ([10.1.27.168]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2021 16:38:49 -0700 From: Matt Roper To: intel-gfx@lists.freedesktop.org Date: Mon, 22 Mar 2021 16:38:40 -0700 Message-Id: <20210322233840.4056851-1-matthew.d.roper@intel.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v3 6/6] drm/i915/display: Simplify GLK display version tests 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: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" R0xLIGhhcyBhbHdheXMgYmVlbiBhIGJpdCBvZiBhIHNwZWNpYWwgY2FzZSBzaW5jZSBpdCByZXBv cnRzIElOVEVMX0dFTigpCmFzIDksIGJ1dCBoYXMgdmVyc2lvbiAxMCBkaXNwbGF5IElQLiAgTm93 IHdlIGNhbiBwcm9wZXJseSByZXByZXNlbnQgdGhlCmRpc3BsYXkgdmVyc2lvbiBhcyAxMCBhbmQg c2ltcGxpZnkgdGhlIGRpc3BsYXkgZ2VuZXJhdGlvbiB0ZXN0cwp0aHJvdWdob3V0IHRoZSBkaXNw bGF5IGNvZGUuCgpBc2lkZSBmcm9tIG1hbnVhbGx5IGFkZGluZyB0aGUgdmVyc2lvbiB0byB0aGUg Z2xrX2luZm8gc3RydWN0dXJlLCB0aGUKcmVzdCBvZiB0aGlzIHBhdGNoIGlzIGdlbmVyYXRlZCB3 aXRoIGEgQ29jY2luZWxsZSBzZW1hbnRpYyBwYXRjaC4gIE5vdGUKdGhhdCB3ZSBhbHNvIG5lZWQg dG8gc3dpdGNoIGFueSBjb2RlIHRoYXQgbWF0Y2hlcyBnZW4xMCB0b2RheSBidXQgKm5vdCoKR0xL IHRvIGJlIENOTC1zcGVjaWZpYzoKCiAgICAgICAgQEAgZXhwcmVzc2lvbiBkZXZfcHJpdjsgQEAK ICAgICAgICAtIERJU1BMQVlfVkVSKGRldl9wcml2KSA+IDkKICAgICAgICArIERJU1BMQVlfVkVS KGRldl9wcml2KSA+PSAxMAoKICAgICAgICBAQCBleHByZXNzaW9uIGRldl9wcml2LCBFOyBAQAog ICAgICAgICgKICAgICAgICAtIERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCAmJiBFCiAgICAg ICAgKyAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDExIHx8IElTX0NBTk5PTkxBS0UoZGV2X3By aXYpKSAmJiBFCiAgICAgICAgfAogICAgICAgIC0gRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEw CiAgICAgICAgKyBESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShk ZXZfcHJpdikKICAgICAgICB8CiAgICAgICAgLSBJU19ESVNQTEFZX1JBTkdFKGRldl9wcml2LCAx MCwgRSkKICAgICAgICArIElTX0RJU1BMQVlfUkFOR0UoZGV2X3ByaXYsIDExLCBFKSB8fCBJU19D QU5OT05MQUtFKGRldl9wcml2KQogICAgICAgICkKCiAgICAgICAgQEAgZXhwcmVzc2lvbiBkZXZf cHJpdiwgRSwgRTI7IEBACiAgICAgICAgKAogICAgICAgIC0gKElTX0NBTk5PTkxBS0UoZGV2X3By aXYpIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQogICAgICAgICsgSVNfRElTUExBWV9WRVIo ZGV2X3ByaXYsIDEwKQogICAgICAgIHwKICAgICAgICAtIEUgfHwgSVNfQ0FOTk9OTEFLRShkZXZf cHJpdikgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikKICAgICAgICArIEUgfHwgSVNfRElTUExB WV9WRVIoZGV2X3ByaXYsIDEwKQogICAgICAgIHwKICAgICAgICAtIChJU19HRU1JTklMQUtFKGRl dl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkKICAgICAgICArIElTX0RJU1BMQVlf VkVSKGRldl9wcml2LCAxMCkKICAgICAgICB8CiAgICAgICAgLSBJU19HRU1JTklMQUtFKGRldl9w cml2KSB8fCBFIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpCiAgICAgICAgKyBFIHx8IElTX0RJ U1BMQVlfVkVSKGRldl9wcml2LCAxMCkKICAgICAgICB8CiAgICAgICAgLSBFIHx8IElTX0dFTUlO SUxBS0UoZGV2X3ByaXYpIHx8IEUyIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpCiAgICAgICAg KyBFIHx8IEUyIHx8IElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCAxMCkKICAgICAgICB8CiAgICAg ICAgLSAoSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDEwKSB8fCBJU19HRU1JTklMQUtFKGRldl9w cml2KSkKICAgICAgICArIElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCAxMCkKICAgICAgICB8CiAg ICAgICAgLSAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfRElTUExBWV9WRVIoZGV2X3By aXYsIDEwKSkKICAgICAgICArIElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCAxMCkKICAgICAgICAp CgogICAgICAgIEBAIGV4cHJlc3Npb24gZGV2X3ByaXY7IEBACiAgICAgICAgLSAoSVNfRElTUExB WV9WRVIoZGV2X3ByaXYsIDkpICYmICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkKICAgICAgICAr IElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCA5KQoKICAgICAgICBAQCBleHByZXNzaW9uIGRldl9w cml2OyBAQAogICAgICAgICgKICAgICAgICAtICEoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEx IHx8IElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCAxMCkpCiAgICAgICAgKyBESVNQTEFZX1ZFUihk ZXZfcHJpdikgPCAxMAogICAgICAgIHwKICAgICAgICAtIChESVNQTEFZX1ZFUihkZXZfcHJpdikg Pj0gMTEgfHwgSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDEwKSkKICAgICAgICArIERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMAogICAgICAgICkKCiAgICAgICAgQEAgZXhwcmVzc2lvbiBkZXZf cHJpdiwgRTsgQEAKICAgICAgICAtIEUgfHwgRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDExIHx8 IElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCAxMCkKICAgICAgICArIEUgfHwgRElTUExBWV9WRVIo ZGV2X3ByaXYpID49IDEwCgogICAgICAgIEBAIGV4cHJlc3Npb24gZGV2X3ByaXYsIEU7IEBACiAg ICAgICAgLSAoSVNfRElTUExBWV9SQU5HRShkZXZfcHJpdiwgMTEsIEUpIHx8IElTX0RJU1BMQVlf VkVSKGRldl9wcml2LCAxMCkpCiAgICAgICAgKyBJU19ESVNQTEFZX1JBTkdFKGRldl9wcml2LCAx MCwgRSkKCiAgICAgICAgQEAgZXhwcmVzc2lvbiBkZXZfcHJpdjsgQEAKICAgICAgICAoCiAgICAg ICAgLSBESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJp dikgfHwgSVNfR0VOOV9MUChkZXZfcHJpdikKICAgICAgICArIERJU1BMQVlfVkVSKGRldl9wcml2 KSA+PSAxMCB8fCBJU19HRU45X0xQKGRldl9wcml2KQogICAgICAgIHwKICAgICAgICAtIElTX0dF TjlfTFAoZGV2X3ByaXYpIHx8IERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5O T05MQUtFKGRldl9wcml2KQogICAgICAgICsgSVNfR0VOOV9MUChkZXZfcHJpdikgfHwgRElTUExB WV9WRVIoZGV2X3ByaXYpID49IDEwCiAgICAgICAgKQoKICAgICAgICBAQCBleHByZXNzaW9uIGRl dl9wcml2LCBFOyBAQAogICAgICAgIC0gIShESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gRSkKICAg ICAgICArIERJU1BMQVlfVkVSKGRldl9wcml2KSA8IEUKCnYyOgogLSBDb252ZXJ0IGdlbjEwIGNv bmRpdGlvbnMgdGhhdCBkb24ndCBpbmNsdWRlIEdMSyBpbnRvIENOTCBjb25kaXRpb25zLgogICAo VmlsbGUpCgp2MzoKIC0gUmV3b3JrIGNvY2NpbmVsbGUgcnVsZXMgc28gdGhhdCAidmVyPj0xMCIg dHVybnMgaW50byAidmVyPj0xMXx8aXNfY25sLiIgKFZpbGxlKQoKdjMuMToKIC0gTWFudWFsbHkg cmUtYWRkIHRoZSAiLmRpc3BsYXkudmVyc2lvbiA9IDEwIiB0byBnbGtfaW5mbyBhZnRlcgogICBy ZWdlbmVyYXRpbmcgcGF0Y2ggdmlhIENvY2NpbmVsbGUuCgp2NDoKIC0gQWxzbyBhcHBseSBjb2Nj aSBydWxlcyB0byBpbnRlbF9wbS5jIGFuZCBpOTE1X2lycS5jISAgKENJKQoKQ2M6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9w ZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8ICA3ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXVkaW8uYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Jpb3MuYyAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9jZGNsay5jICAgIHwgMjYgKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jICAgIHwgIDggKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnRjLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8ICA5ICsrLS0tCiAuLi4vZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RlYnVnZnMuYyAgfCAgNSArLS0KIC4uLi9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgICAgICAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZmJjLmMgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2hkY3AuYyAgICAgfCAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2hkbWkuYyAgICAgfCAxMyArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3Bzci5jICAgICAgfCAgNyArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3Zkc2MuYyAgICAgfCAgNiArLS0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5 L3NrbF91bml2ZXJzYWxfcGxhbmUuYyAgICB8IDM3ICsrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgICAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgICB8IDE2ICsrKystLS0tCiAxOCBm aWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwppbmRleCAyYjkyODc5NTc1NWUu LjRmYTM4OWZjZThjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0 b21pYy5jCkBAIC0zMzIsOCArMzMyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX3NldHVw X3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGEKIAkgICAg cGxhbmVfc3RhdGUtPmh3LmZiLT5mb3JtYXQtPmlzX3l1diAmJgogCSAgICBwbGFuZV9zdGF0ZS0+ aHcuZmItPmZvcm1hdC0+bnVtX3BsYW5lcyA+IDEpIHsKIAkJc3RydWN0IGludGVsX3BsYW5lICpw bGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT51YXBpLnBsYW5lKTsKLQkJaWYgKElT X0RJU1BMQVlfVkVSKGRldl9wcml2LCA5KSAmJgotCQkgICAgIUlTX0dFTUlOSUxBS0UoZGV2X3By aXYpKSB7CisJCWlmIChJU19ESVNQTEFZX1ZFUihkZXZfcHJpdiwgOSkpIHsKIAkJCW1vZGUgPSBT S0xfUFNfU0NBTEVSX01PREVfTlYxMjsKIAkJfSBlbHNlIGlmIChpY2xfaXNfaGRyX3BsYW5lKGRl dl9wcml2LCBwbGFuZS0+aWQpKSB7CiAJCQkvKgpAQCAtMzUxLDcgKzM1MCw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX2F0b21pY19zZXR1cF9zY2FsZXIoc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0 YXRlICpzY2FsZXJfc3RhCiAJCQlpZiAobGlua2VkKQogCQkJCW1vZGUgfD0gUFNfUExBTkVfWV9T RUwobGlua2VkLT5pZCk7CiAJCX0KLQl9IGVsc2UgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+ IDkgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKKwl9IGVsc2UgaWYgKERJU1BMQVlfVkVS KGRldl9wcml2KSA+PSAxMCkgewogCQltb2RlID0gUFNfU0NBTEVSX01PREVfTk9STUFMOwogCX0g ZWxzZSBpZiAobnVtX3NjYWxlcnNfbmVlZCA9PSAxICYmIGludGVsX2NydGMtPm51bV9zY2FsZXJz ID4gMSkgewogCQkvKgpAQCAtNDYwLDcgKzQ1OSw3IEBAIGludCBpbnRlbF9hdG9taWNfc2V0dXBf c2NhbGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICogaXNuJ3Qg bmVjZXNzYXJ5IHRvIGNoYW5nZSBiZXR3ZWVuIEhRIGFuZCBkeW4gbW9kZQogCQkJCSAqIG9uIHRo b3NlIHBsYXRmb3Jtcy4KIAkJCQkgKi8KLQkJCQlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49 IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQorCQkJCWlmIChESVNQTEFZX1ZFUihkZXZf cHJpdikgPj0gMTApCiAJCQkJCWNvbnRpbnVlOwogCiAJCQkJcGxhbmUgPSBkcm1fcGxhbmVfZnJv bV9pbmRleCgmZGV2X3ByaXYtPmRybSwgaSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F1ZGlvLmMKaW5kZXggN2FiOWQxNjY5ZjA5Li4zZWEyMGM4NTc0NDAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXVkaW8uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F1ZGlvLmMKQEAgLTEwMjIsNyArMTAyMiw3 IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9wb3dlcihz dHJ1Y3QgZGV2aWNlICprZGV2KQogCQlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCiAJCQln bGtfZm9yY2VfYXVkaW9fY2RjbGsoZGV2X3ByaXYsIHRydWUpOwogCi0JCWlmIChESVNQTEFZX1ZF UihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCisJCWlmIChESVNQ TEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgQVVE X1BJTl9CVUZfQ1RMLAogCQkJCSAgICAgICAoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgQVVEX1BJ Tl9CVUZfQ1RMKSB8IEFVRF9QSU5fQlVGX0VOQUJMRSkpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMKaW5kZXggMTgyZGI5ZGUwM2MzLi4zZDBjMDM1YjVlMzgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCkBAIC05MTcsOCAr OTE3LDcgQEAgcGFyc2VfcHNyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBjb25zdCBz dHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogCSAqIE9sZCBkZWNpbWFsIHZhbHVlIGlzIHdha2UgdXAg dGltZSBpbiBtdWx0aXBsZXMgb2YgMTAwIHVzLgogCSAqLwogCWlmIChiZGItPnZlcnNpb24gPj0g MjA1ICYmCi0JICAgIChJU19HRU45X0JDKGk5MTUpIHx8IElTX0dFTUlOSUxBS0UoaTkxNSkgfHwK LQkgICAgIERJU1BMQVlfVkVSKGk5MTUpID49IDEwKSkgeworCSAgICAoSVNfR0VOOV9CQyhpOTE1 KSB8fCBESVNQTEFZX1ZFUihpOTE1KSA+PSAxMCkpIHsKIAkJc3dpdGNoIChwc3JfdGFibGUtPnRw MV93YWtldXBfdGltZSkgewogCQljYXNlIDA6CiAJCQlpOTE1LT52YnQucHNyLnRwMV93YWtldXBf dGltZV91cyA9IDUwMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsu YwppbmRleCA0YmU4NDhkMGQxNTYuLjNmNDNhZDRkNzM2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwpAQCAtMTM5Nyw3ICsxMzk3LDcgQEAgc3RhdGljIHZv aWQgYnh0X2RlX3BsbF9yZWFkb3V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAkgKiBDTkwrIGhhdmUgdGhlIHJhdGlvIGRpcmVjdGx5IGluIHRoZSBQTEwgZW5hYmxlIHJlZ2lz dGVyLCBnZW45bHAgaGFkCiAJICogaXQgaW4gYSBzZXBhcmF0ZSBQTEwgY29udHJvbCByZWdpc3Rl ci4KIAkgKi8KLQlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQorCWlmIChESVNQTEFZ X1ZFUihkZXZfcHJpdikgPj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCiAJCXJhdGlv ID0gdmFsICYgQ05MX0NEQ0xLX1BMTF9SQVRJT19NQVNLOwogCWVsc2UKIAkJcmF0aW8gPSBpbnRl bF9kZV9yZWFkKGRldl9wcml2LCBCWFRfREVfUExMX0NUTCkgJiBCWFRfREVfUExMX1JBVElPX01B U0s7CkBAIC0xNDMzLDcgKzE0MzMsNyBAQCBzdGF0aWMgdm9pZCBieHRfZ2V0X2NkY2xrKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJYnJlYWs7CiAJY2FzZSBCWFRfQ0RDTEtf Q0QyWF9ESVZfU0VMXzFfNToKIAkJZHJtX1dBUk4oJmRldl9wcml2LT5kcm0sCi0JCQkgSVNfR0VN SU5JTEFLRShkZXZfcHJpdikgfHwgRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwLAorCQkJIERJ U1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCwKIAkJCSAiVW5zdXBwb3J0ZWQgZGl2aWRlclxuIik7 CiAJCWRpdiA9IDM7CiAJCWJyZWFrOwpAQCAtMTQ0MSw3ICsxNDQxLDggQEAgc3RhdGljIHZvaWQg Ynh0X2dldF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWRpdiA9 IDQ7CiAJCWJyZWFrOwogCWNhc2UgQlhUX0NEQ0xLX0NEMlhfRElWX1NFTF80OgotCQlkcm1fV0FS TigmZGV2X3ByaXYtPmRybSwgRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwLAorCQlkcm1fV0FS TigmZGV2X3ByaXYtPmRybSwKKwkJCSBESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTEgfHwgSVNf Q0FOTk9OTEFLRShkZXZfcHJpdiksCiAJCQkgIlVuc3VwcG9ydGVkIGRpdmlkZXJcbiIpOwogCQlk aXYgPSA4OwogCQlicmVhazsKQEAgLTE1NTgsNyArMTU1OSw3IEBAIHN0YXRpYyB2b2lkIGJ4dF9z ZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWludCByZXQ7CiAK IAkvKiBJbmZvcm0gcG93ZXIgY29udHJvbGxlciBvZiB1cGNvbWluZyBmcmVxdWVuY3kgY2hhbmdl LiAqLwotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCisJaWYgKERJU1BMQVlfVkVS KGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkKIAkJcmV0ID0gc2ts X3Bjb2RlX3JlcXVlc3QoZGV2X3ByaXYsIFNLTF9QQ09ERV9DRENMS19DT05UUk9MLAogCQkJCQlT S0xfQ0RDTEtfUFJFUEFSRV9GT1JfQ0hBTkdFLAogCQkJCQlTS0xfQ0RDTEtfUkVBRFlfRk9SX0NI QU5HRSwKQEAgLTE1OTEsNyArMTU5Miw3IEBAIHN0YXRpYyB2b2lkIGJ4dF9zZXRfY2RjbGsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlicmVhazsKIAljYXNlIDM6CiAJCWRy bV9XQVJOKCZkZXZfcHJpdi0+ZHJtLAotCQkJIElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8IERJ U1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCwKKwkJCSBESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0g MTAsCiAJCQkgIlVuc3VwcG9ydGVkIGRpdmlkZXJcbiIpOwogCQlkaXZpZGVyID0gQlhUX0NEQ0xL X0NEMlhfRElWX1NFTF8xXzU7CiAJCWJyZWFrOwpAQCAtMTU5OSwxMyArMTYwMCwxNCBAQCBzdGF0 aWMgdm9pZCBieHRfc2V0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAkJZGl2aWRlciA9IEJYVF9DRENMS19DRDJYX0RJVl9TRUxfMjsKIAkJYnJlYWs7CiAJY2FzZSA4 OgotCQlkcm1fV0FSTigmZGV2X3ByaXYtPmRybSwgRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEw LAorCQlkcm1fV0FSTigmZGV2X3ByaXYtPmRybSwKKwkJCSBESVNQTEFZX1ZFUihkZXZfcHJpdikg Pj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdiksCiAJCQkgIlVuc3VwcG9ydGVkIGRpdmlk ZXJcbiIpOwogCQlkaXZpZGVyID0gQlhUX0NEQ0xLX0NEMlhfRElWX1NFTF80OwogCQlicmVhazsK IAl9CiAKLQlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKSB7CisJaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewogCQlpZiAo ZGV2X3ByaXYtPmNkY2xrLmh3LnZjbyAhPSAwICYmCiAJCSAgICBkZXZfcHJpdi0+Y2RjbGsuaHcu dmNvICE9IHZjbykKIAkJCWNubF9jZGNsa19wbGxfZGlzYWJsZShkZXZfcHJpdik7CkBAIC0xNjM2 LDcgKzE2MzgsNyBAQCBzdGF0aWMgdm9pZCBieHRfc2V0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAlpZiAocGlwZSAhPSBJTlZBTElEX1BJUEUpCiAJCWludGVsX3dh aXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgcGlwZSk7CiAKLQlpZiAoRElTUExBWV9WRVIoZGV2X3By aXYpID49IDEwKSB7CisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5O T05MQUtFKGRldl9wcml2KSkgewogCQlyZXQgPSBzYW5keWJyaWRnZV9wY29kZV93cml0ZShkZXZf cHJpdiwgU0tMX1BDT0RFX0NEQ0xLX0NPTlRST0wsCiAJCQkJCSAgICAgIGNkY2xrX2NvbmZpZy0+ dm9sdGFnZV9sZXZlbCk7CiAJfSBlbHNlIHsKQEAgLTE2NjEsNyArMTY2Myw3IEBAIHN0YXRpYyB2 b2lkIGJ4dF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJ aW50ZWxfdXBkYXRlX2NkY2xrKGRldl9wcml2KTsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJp dikgPj0gMTApCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5OT05M QUtFKGRldl9wcml2KSkKIAkJLyoKIAkJICogQ2FuJ3QgcmVhZCBvdXQgdGhlIHZvbHRhZ2UgbGV2 ZWwgOigKIAkJICogTGV0J3MganVzdCBhc3N1bWUgZXZlcnl0aGluZyBpcyBhcyBleHBlY3RlZC4K QEAgLTE5OTgsNyArMjAwMCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcGl4ZWxfcmF0ZV90b19jZGNs ayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ ZGV2KTsKIAlpbnQgcGl4ZWxfcmF0ZSA9IGNydGNfc3RhdGUtPnBpeGVsX3JhdGU7CiAKLQlpZiAo RElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQor CWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCXJldHVybiBESVZfUk9VTkRfVVAo cGl4ZWxfcmF0ZSwgMik7CiAJZWxzZSBpZiAoSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDkpIHx8 CiAJCSBJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX0hBU1dFTEwoZGV2X3ByaXYpKQpAQCAt MjA0OCw3ICsyMDUwLDcgQEAgaW50IGludGVsX2NydGNfY29tcHV0ZV9taW5fY2RjbGsoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJICAgIGNydGNfc3RhdGUtPmhh c19hdWRpbyAmJgogCSAgICBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID49IDU0MDAwMCAmJgogCSAg ICBjcnRjX3N0YXRlLT5sYW5lX2NvdW50ID09IDQpIHsKLQkJaWYgKElTX0NBTk5PTkxBS0UoZGV2 X3ByaXYpIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJCWlmIChJU19ESVNQTEFZX1ZF UihkZXZfcHJpdiwgMTApKSB7CiAJCQkvKiBEaXNwbGF5IFdBICMxMTQ1OiBnbGssY25sICovCiAJ CQltaW5fY2RjbGsgPSBtYXgoMzE2ODAwLCBtaW5fY2RjbGspOwogCQl9IGVsc2UgaWYgKElTX0RJ U1BMQVlfVkVSKGRldl9wcml2LCA5KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7CkBAIC0y NTg4LDcgKzI1OTAsNyBAQCBzdGF0aWMgaW50IGludGVsX2NvbXB1dGVfbWF4X2RvdGNsayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJaW50IG1heF9jZGNsa19mcmVxID0g ZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOwogCi0JaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+ PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwlpZiAoRElTUExBWV9WRVIoZGV2X3By aXYpID49IDEwKQogCQlyZXR1cm4gMiAqIG1heF9jZGNsa19mcmVxOwogCWVsc2UgaWYgKElTX0RJ U1BMQVlfVkVSKGRldl9wcml2LCA5KSB8fAogCQkgSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJ U19IQVNXRUxMKGRldl9wcml2KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf Y29sb3IuYwppbmRleCAzN2UyNzU1MDlhMzYuLmM3NWQ3MTI0ZDU3YSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwpAQCAtNzM3LDcgKzczNyw3IEBAIHN0YXRp YyB2b2lkIGl2Yl9sb2FkX2x1dF9leHRfbWF4KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogCSAqIFRvRG86IEV4dGVuZCB0aGUgQUJJIHRvIGJlIGFibGUgdG8gcHJv Z3JhbSB2YWx1ZXMKIAkgKiBmcm9tIDMuMCB0byA3LjAKIAkgKi8KLQlpZiAoRElTUExBWV9WRVIo ZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJaWYgKERJU1BM QVlfVkVSKGRldl9wcml2KSA+PSAxMCkgewogCQlpbnRlbF9kc2JfcmVnX3dyaXRlKGNydGNfc3Rh dGUsIFBSRUNfUEFMX0VYVDJfR0NfTUFYKHBpcGUsIDApLAogCQkJCSAgICAxIDw8IDE2KTsKIAkJ aW50ZWxfZHNiX3JlZ193cml0ZShjcnRjX3N0YXRlLCBQUkVDX1BBTF9FWFQyX0dDX01BWChwaXBl LCAxKSwKQEAgLTE3MTEsNyArMTcxMSw3IEBAIGludCBpbnRlbF9jb2xvcl9nZXRfZ2FtbWFfYml0 X3ByZWNpc2lvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0CiAJfSBl bHNlIHsKIAkJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSkKIAkJCXJldHVybiBpY2xf Z2FtbWFfcHJlY2lzaW9uKGNydGNfc3RhdGUpOwotCQllbHNlIGlmIChJU19DQU5OT05MQUtFKGRl dl9wcml2KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwkJZWxzZSBpZiAoSVNfRElTUExB WV9WRVIoZGV2X3ByaXYsIDEwKSkKIAkJCXJldHVybiBnbGtfZ2FtbWFfcHJlY2lzaW9uKGNydGNf c3RhdGUpOwogCQllbHNlIGlmIChJU19JUk9OTEFLRShkZXZfcHJpdikpCiAJCQlyZXR1cm4gaWxr X2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKQEAgLTIxMTksNyArMjExOSw3IEBAIHZvaWQg aW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAl9IGVsc2UgewogCQlp ZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDExKQogCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29s b3JfY2hlY2sgPSBpY2xfY29sb3JfY2hlY2s7Ci0JCWVsc2UgaWYgKERJU1BMQVlfVkVSKGRldl9w cml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwkJZWxzZSBpZiAoRElTUExB WV9WRVIoZGV2X3ByaXYpID49IDEwKQogCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY2hlY2sg PSBnbGtfY29sb3JfY2hlY2s7CiAJCWVsc2UgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSA3 KQogCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY2hlY2sgPSBpdmJfY29sb3JfY2hlY2s7CkBA IC0yMTM2LDcgKzIxMzYsNyBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCiAJCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTEpIHsKIAkJCWRldl9w cml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGljbF9sb2FkX2x1dHM7CiAJCQlkZXZfcHJpdi0+ZGlz cGxheS5yZWFkX2x1dHMgPSBpY2xfcmVhZF9sdXRzOwotCQl9IGVsc2UgaWYgKElTX0NBTk5PTkxB S0UoZGV2X3ByaXYpIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJCX0gZWxzZSBpZiAo SVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDEwKSkgewogCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9h ZF9sdXRzID0gZ2xrX2xvYWRfbHV0czsKIAkJCWRldl9wcml2LT5kaXNwbGF5LnJlYWRfbHV0cyA9 IGdsa19yZWFkX2x1dHM7CiAJCX0gZWxzZSBpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDgp IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY3J0Yy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnRjLmMKaW5kZXggMDA0YWNl NTIzOTcwLi4zOTM1ODA3NmMwNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY3J0Yy5jCkBAIC0zMzUsNyArMzM1LDcgQEAgaW50IGludGVsX2NydGNfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQlkZXZfcHJpdi0+ cGxhbmVfdG9fY3J0Y19tYXBwaW5nW2k5eHhfcGxhbmVdID0gY3J0YzsKIAl9CiAKLQlpZiAoRElT UExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQorCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0g MTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCiAJCWRybV9jcnRjX2NyZWF0ZV9zY2FsaW5n X2ZpbHRlcl9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwKIAkJCQkJCUJJVChEUk1fU0NBTElOR19GSUxU RVJfREVGQVVMVCkgfAogCQkJCQkJQklUKERSTV9TQ0FMSU5HX0ZJTFRFUl9ORUFSRVNUX05FSUdI Qk9SKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmlu ZGV4IDhhNTAxNGY0YjNmNC4uYTFmYjVhMTAxOTQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAtMzI1OSw3ICszMjU5LDcgQEAgc3RhdGljIGJv b2wgbmVlZHNfbnYxMl93YShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJLyogV0EgRGlzcGxheSAjMDgyNzogR2VuOTphbGwgKi8K LQlpZiAoSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDkpICYmICFJU19HRU1JTklMQUtFKGRldl9w cml2KSkKKwlpZiAoSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDkpKQogCQlyZXR1cm4gdHJ1ZTsK IAogCXJldHVybiBmYWxzZTsKQEAgLTM5ODksNyArMzk4OSw3IEBAIHN0YXRpYyB2b2lkIGhzd19j cnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAljcnRjLT5hY3Rp dmUgPSB0cnVlOwogCiAJLyogRGlzcGxheSBXQSAjMTE4MDogV2FEaXNhYmxlU2NhbGFyQ2xvY2tH YXRpbmc6IGdsaywgY25sICovCi0JcHNsX2Nsa2dhdGVfd2EgPSAoSVNfR0VNSU5JTEFLRShkZXZf cHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpICYmCisJcHNsX2Nsa2dhdGVfd2EgPSBJ U19ESVNQTEFZX1ZFUihkZXZfcHJpdiwgMTApICYmCiAJCW5ld19jcnRjX3N0YXRlLT5wY2hfcGZp dC5lbmFibGVkOwogCWlmIChwc2xfY2xrZ2F0ZV93YSkKIAkJZ2xrX3BpcGVfc2NhbGVyX2Nsb2Nr X2dhdGluZ193YShkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CkBAIC0xMzMyOSw4ICsxMzMyOSw3IEBA IHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQkJICogdXNlIHBsYW5lLT5taW5fY2RjbGsoKSA6KAogCQkJICovCiAJCQlp ZiAocGxhbmVfc3RhdGUtPnVhcGkudmlzaWJsZSAmJiBwbGFuZS0+bWluX2NkY2xrKSB7Ci0JCQkJ aWYgKGNydGNfc3RhdGUtPmRvdWJsZV93aWRlIHx8Ci0JCQkJICAgIERJU1BMQVlfVkVSKGRldl9w cml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwkJCQlpZiAoY3J0Y19zdGF0 ZS0+ZG91YmxlX3dpZGUgfHwgRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQogCQkJCQljcnRj X3N0YXRlLT5taW5fY2RjbGtbcGxhbmUtPmlkXSA9CiAJCQkJCQlESVZfUk9VTkRfVVAoY3J0Y19z dGF0ZS0+cGl4ZWxfcmF0ZSwgMik7CiAJCQkJZWxzZQpAQCAtMTM0MjEsNyArMTM0MjAsNyBAQCBz dGF0aWMgdm9pZCBpbnRlbF9lYXJseV9kaXNwbGF5X3dhcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJICogRGlzcGxheSBXQSAjMTE4NSBXYURpc2FibGVEQVJCRkNsa0dhdGlu ZzpjbmwsZ2xrLGljbCxlaGwsdGdsCiAJICogQWxzbyBrbm93biBhcyBXYV8xNDAxMDQ4MDI3OC4K IAkgKi8KLQlpZiAoSVNfRElTUExBWV9SQU5HRShkZXZfcHJpdiwgMTAsIDEyKSB8fCBJU19HRU1J TklMQUtFKGRldl9wcml2KSkKKwlpZiAoSVNfRElTUExBWV9SQU5HRShkZXZfcHJpdiwgMTAsIDEy KSkKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEdFTjlfQ0xLR0FURV9ESVNfMCwKIAkJCSAg ICAgICBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBHRU45X0NMS0dBVEVfRElTXzApIHwgREFSQkZf R0FUSU5HX0RJUyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXlfZGVidWdmcy5jCmluZGV4IDE2NjZhYTIzMDkyYi4uNTY0NTA5YTRlNjY2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVi dWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9k ZWJ1Z2ZzLmMKQEAgLTI0MTYsMTAgKzI0MTYsNyBAQCBpbnQgaW50ZWxfY29ubmVjdG9yX2RlYnVn ZnNfYWRkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJCQkJICAgIGNvbm5lY3Rv ciwgJmk5MTVfaGRjcF9zaW5rX2NhcGFiaWxpdHlfZm9wcyk7CiAJfQogCi0JaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMCAmJgotCSAgICAoKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUg PT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0ICYmCi0JICAgICAgIXRvX2ludGVsX2Nv bm5lY3Rvcihjb25uZWN0b3IpLT5tc3RfcG9ydCkgfHwKLQkgICAgIGNvbm5lY3Rvci0+Y29ubmVj dG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX2VEUCkpCisJaWYgKChESVNQTEFZX1ZFUihk ZXZfcHJpdikgPj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpICYmICgoY29ubmVjdG9y LT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQgJiYgIXRv X2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpLT5tc3RfcG9ydCkgfHwgY29ubmVjdG9yLT5jb25u ZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfZURQKSkKIAkJZGVidWdmc19jcmVhdGVf ZmlsZSgiaTkxNV9kc2NfZmVjX3N1cHBvcnQiLCBTX0lSVUdPLCByb290LAogCQkJCSAgICBjb25u ZWN0b3IsICZpOTE1X2RzY19mZWNfc3VwcG9ydF9mb3BzKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwppbmRleCAxZWIxNmJhZDY3 N2EuLmNlZjE3NzIwOGU2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMKQEAgLTQ1MzcsNyArNDUzNyw3IEBAIHN0YXRpYyB1MzIg Z2V0X2FsbG93ZWRfZGNfbWFzayhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCW1heF9kYyA9IDM7CiAJZWxzZSBpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEy KQogCQltYXhfZGMgPSA0OwotCWVsc2UgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCB8 fCBJU19HRU45X0JDKGRldl9wcml2KSkKKwllbHNlIGlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikg Pj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwgSVNfR0VOOV9CQyhkZXZfcHJpdikp CiAJCW1heF9kYyA9IDI7CiAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCiAJCW1heF9k YyA9IDE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rw LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKaW5kZXggNGJhNWUz N2YxN2QyLi5kODFiOGQyMzgxNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwLmMKQEAgLTI5Miw3ICsyOTIsNyBAQCBpbnRlbF9kcF9zZXRfc291cmNlX3JhdGVzKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sCiAJCSAg ICBpbnRlbF9kcC0+c291cmNlX3JhdGVzIHx8IGludGVsX2RwLT5udW1fc291cmNlX3JhdGVzKTsK IAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApIHsKKwlpZiAoRElTUExBWV9WRVIo ZGV2X3ByaXYpID49IDExIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7CiAJCXNvdXJjZV9y YXRlcyA9IGNubF9yYXRlczsKIAkJc2l6ZSA9IEFSUkFZX1NJWkUoY25sX3JhdGVzKTsKIAkJaWYg KElTX0RJU1BMQVlfVkVSKGRldl9wcml2LCAxMCkpCkBAIC03NzYsNyArNzc2LDcgQEAgaW50ZWxf ZHBfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCSAqIE91dHB1 dCBicHAgaXMgc3RvcmVkIGluIDYuNCBmb3JtYXQgc28gcmlnaHQgc2hpZnQgYnkgNCB0byBnZXQg dGhlCiAJICogaW50ZWdlciB2YWx1ZSBzaW5jZSB3ZSBzdXBwb3J0IG9ubHkgaW50ZWdlciB2YWx1 ZXMgb2YgYnBwLgogCSAqLwotCWlmICgoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElT X0dFTUlOSUxBS0UoZGV2X3ByaXYpKSAmJgorCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0g MTAgJiYKIAkgICAgZHJtX2RwX3Npbmtfc3VwcG9ydHNfZHNjKGludGVsX2RwLT5kc2NfZHBjZCkp IHsKIAkJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpIHsKIAkJCWRzY19tYXhfb3V0cHV0 X2JwcCA9CkBAIC0yNTIzLDcgKzI1MjMsNyBAQCBpbnRlbF9lZHBfaW5pdF9kcGNkKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfZHBfc2V0X2NvbW1vbl9yYXRlcyhpbnRlbF9kcCk7 CiAKIAkvKiBSZWFkIHRoZSBlRFAgRFNDIERQQ0QgcmVnaXN0ZXJzICovCi0JaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwlpZiAoRElT UExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQogCQlpbnRlbF9kcF9nZXRfZHNjX3NpbmtfY2FwKGlu dGVsX2RwKTsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2ZiYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuYwpp bmRleCA1OGY2MDMwNjY3MDAuLjg4ZTAyZWUzYTYzMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2ZiYy5jCkBAIC02NTMsNyArNjUzLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxf ZmJjX2h3X3RyYWNraW5nX2NvdmVyc19zY3JlZW4oc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJ c3RydWN0IGludGVsX2ZiYyAqZmJjID0gJmRldl9wcml2LT5mYmM7CiAJdW5zaWduZWQgaW50IGVm ZmVjdGl2ZV93LCBlZmZlY3RpdmVfaCwgbWF4X3csIG1heF9oOwogCi0JaWYgKERJU1BMQVlfVkVS KGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkgeworCWlmIChESVNQ TEFZX1ZFUihkZXZfcHJpdikgPj0gMTApIHsKIAkJbWF4X3cgPSA1MTIwOwogCQltYXhfaCA9IDQw OTY7CiAJfSBlbHNlIGlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gOCB8fCBJU19IQVNXRUxM KGRldl9wcml2KSkgewpAQCAtMTAzNiw3ICsxMDM2LDcgQEAgYm9vbCBpbnRlbF9mYmNfcHJlX3Vw ZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJICogaWYgYXQgbGVhc3Qg b25lIGZyYW1lIGhhcyBhbHJlYWR5IHBhc3NlZC4KIAkJICovCiAJCWlmIChmYmMtPmFjdGl2YXRl ZCAmJgotCQkgICAgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtF KGRldl9wcml2KSkpCisJCSAgICBESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCQluZWVk X3ZibGFua193YWl0ID0gdHJ1ZTsKIAkJZmJjLT5hY3RpdmF0ZWQgPSBmYWxzZTsKIAl9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkY3AuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jCmluZGV4IGZlMGJmYWJkYmI1ZC4u ZDg1NzBlMTRmZTYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkY3Au YwpAQCAtMjIwNiw3ICsyMjA2LDYgQEAgc3RhdGljIGJvb2wgaXNfaGRjcDJfc3VwcG9ydGVkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0 dXJuIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwKLQkJSVNfR0VNSU5JTEFLRShkZXZf cHJpdikgfHwKIAkJSVNfS0FCWUxBS0UoZGV2X3ByaXYpIHx8CiAJCUlTX0NPRkZFRUxBS0UoZGV2 X3ByaXYpIHx8CiAJCUlTX0NPTUVUTEFLRShkZXZfcHJpdikpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2hkbWkuYwppbmRleCBlZjc2NmE3YjZjNzEuLmQ2OWYwYTZkYzI2ZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKQEAgLTU2NCw3ICs1 NjQsNyBAQCBzdGF0aWMgdTMyIGhzd19pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCVZJREVPX0RJUF9FTkFCTEVfR0NQX0hTVyB8IFZJREVPX0RJUF9F TkFCTEVfVlNfSFNXIHwKIAkJVklERU9fRElQX0VOQUJMRV9HTVBfSFNXIHwgVklERU9fRElQX0VO QUJMRV9TUERfSFNXKTsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNf R0VNSU5JTEFLRShkZXZfcHJpdikpCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkK IAkJbWFzayB8PSBWSURFT19ESVBfRU5BQkxFX0RSTV9HTEs7CiAKIAlyZXR1cm4gdmFsICYgbWFz azsKQEAgLTgyMCw3ICs4MjAsNyBAQCBpbnRlbF9oZG1pX2NvbXB1dGVfZHJtX2luZm9mcmFtZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlpbnQgcmV0OwogCi0JaWYg KCEoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYp KSkKKwlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpIDwgMTApCiAJCXJldHVybiB0cnVlOwogCiAJ aWYgKCFjcnRjX3N0YXRlLT5oYXNfaW5mb2ZyYW1lKQpAQCAtMTc3NSw3ICsxNzc1LDcgQEAgc3Rh dGljIGludCBpbnRlbF9oZG1pX3NvdXJjZV9tYXhfdG1kc19jbG9jayhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlpbnQgbWF4X3RtZHNfY2xvY2ssIHZidF9tYXhfdG1k c19jbG9jazsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5J TEFLRShkZXZfcHJpdikpCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkKIAkJbWF4 X3RtZHNfY2xvY2sgPSA1OTQwMDA7CiAJZWxzZSBpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49 IDggfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpCiAJCW1heF90bWRzX2Nsb2NrID0gMzAwMDAwOwpA QCAtMjE2NCw4ICsyMTY0LDcgQEAgaW50IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IDQ7 CiAKLQlpZiAoc2NkYy0+c2NyYW1ibGluZy5zdXBwb3J0ZWQgJiYgKERJU1BMQVlfVkVSKGRldl9w cml2KSA+PSAxMCB8fAotCQkJCQkgICBJU19HRU1JTklMQUtFKGRldl9wcml2KSkpIHsKKwlpZiAo c2NkYy0+c2NyYW1ibGluZy5zdXBwb3J0ZWQgJiYgRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEw KSB7CiAJCWlmIChzY2RjLT5zY3JhbWJsaW5nLmxvd19yYXRlcykKIAkJCXBpcGVfY29uZmlnLT5o ZG1pX3NjcmFtYmxpbmcgPSB0cnVlOwogCkBAIC0yNDYwLDcgKzI0NTksNyBAQCBpbnRlbF9oZG1p X2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pLCBzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqYwogCWludGVsX2F0dGFjaF9oZG1pX2NvbG9yc3BhY2VfcHJvcGVydHkoY29u bmVjdG9yKTsKIAlkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkoY29u bmVjdG9yKTsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5J TEFLRShkZXZfcHJpdikpCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkKIAkJZHJt X29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKIAkJCWNvbm5lY3Rvci0+ ZGV2LT5tb2RlX2NvbmZpZy5oZHJfb3V0cHV0X21ldGFkYXRhX3Byb3BlcnR5LCAwKTsKIApAQCAt MjgxNSw3ICsyODE0LDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAogCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9hbGxv d2VkID0gMDsKIAljb25uZWN0b3ItPnN0ZXJlb19hbGxvd2VkID0gMTsKIAotCWlmIChESVNQTEFZ X1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCisJaWYgKERJ U1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkKIAkJY29ubmVjdG9yLT55Y2Jjcl80MjBfYWxsb3dl ZCA9IHRydWU7CiAKIAlpbnRlbF9jb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05ORUNUT1JfUE9M TF9IUEQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bz ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwppbmRleCA0YWI1 NjhmODJkZGYuLmQwNWY5YWFhOGMwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wc3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3Bzci5jCkBAIC01MjQsNyArNTI0LDcgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3Bz cjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAl2YWwgPSBwc3JfY29tcHV0ZV9pZGxlX2Zy YW1lcyhpbnRlbF9kcCkgPDwgRURQX1BTUjJfSURMRV9GUkFNRV9TSElGVDsKIAogCXZhbCB8PSBF RFBfUFNSMl9FTkFCTEUgfCBFRFBfU1VfVFJBQ0tfRU5BQkxFOwotCWlmIChESVNQTEFZX1ZFUihk ZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCisJaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMCkKIAkJdmFsIHw9IEVEUF9ZX0NPT1JESU5BVEVfRU5BQkxFOwog CiAJdmFsIHw9IEVEUF9QU1IyX0ZSQU1FX0JFRk9SRV9TVShpbnRlbF9kcC0+cHNyLnNpbmtfc3lu Y19sYXRlbmN5ICsgMSk7CkBAIC03NjUsNyArNzY1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfcHNy Ml9jb25maWdfdmFsaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJcHNyX21heF9oID0g NTEyMDsKIAkJcHNyX21heF92ID0gMzIwMDsKIAkJbWF4X2JwcCA9IDMwOwotCX0gZWxzZSBpZiAo RElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7 CisJfSBlbHNlIGlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApIHsKIAkJcHNyX21heF9o ID0gNDA5NjsKIAkJcHNyX21heF92ID0gMjMwNDsKIAkJbWF4X2JwcCA9IDI0OwpAQCAtOTA5LDgg KzkwOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VM TChkZXZfcHJpdikpCiAJCWhzd19wc3Jfc2V0dXBfYXV4KGludGVsX2RwKTsKIAotCWlmIChpbnRl bF9kcC0+cHNyLnBzcjJfZW5hYmxlZCAmJiAoSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDkpICYm Ci0JCQkJCSAgICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkpIHsKKwlpZiAoaW50ZWxfZHAtPnBz ci5wc3IyX2VuYWJsZWQgJiYgSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDkpKSB7CiAJCWk5MTVf cmVnX3QgcmVnID0gQ0hJQ0tFTl9UUkFOUyhjcHVfdHJhbnNjb2Rlcik7CiAJCXUzMiBjaGlja2Vu ID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgcmVnKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3Zkc2MuYwppbmRleCAxY2NlZjE1OWE5YTAuLjUyNzJiYzgwY2UwNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKQEAgLTM0NiwxMSArMzQ2 LDcgQEAgYm9vbCBpbnRlbF9kc2Nfc291cmNlX3N1cHBvcnQoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKERJU1BMQVlfVkVSKGk5MTUpID49IDEyKQogCQly ZXR1cm4gdHJ1ZTsKIAotCWlmIChESVNQTEFZX1ZFUihpOTE1KSA+PSAxMCAmJgotCSAgICAocGlw ZSAhPSBQSVBFX0EgfHwKLQkgICAgIChjcHVfdHJhbnNjb2RlciA9PSBUUkFOU0NPREVSX0VEUCB8 fAotCSAgICAgIGNwdV90cmFuc2NvZGVyID09IFRSQU5TQ09ERVJfRFNJXzAgfHwKLQkgICAgICBj cHVfdHJhbnNjb2RlciA9PSBUUkFOU0NPREVSX0RTSV8xKSkpCisJaWYgKChESVNQTEFZX1ZFUihp OTE1KSA+PSAxMSB8fCBJU19DQU5OT05MQUtFKGk5MTUpKSAmJiAocGlwZSAhPSBQSVBFX0EgfHwg KGNwdV90cmFuc2NvZGVyID09IFRSQU5TQ09ERVJfRURQIHx8IGNwdV90cmFuc2NvZGVyID09IFRS QU5TQ09ERVJfRFNJXzAgfHwgY3B1X3RyYW5zY29kZXIgPT0gVFJBTlNDT0RFUl9EU0lfMSkpKQog CQlyZXR1cm4gdHJ1ZTsKIAogCXJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvc2tsX3VuaXZlcnNhbF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9za2xfdW5pdmVyc2FsX3BsYW5lLmMKaW5kZXggODliMjQ3NWEzZDYwLi5j NmQ3YjZjMDU0YjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvc2ts X3VuaXZlcnNhbF9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvc2ts X3VuaXZlcnNhbF9wbGFuZS5jCkBAIC0yOTQsNyArMjk0LDcgQEAgc2tsX3BsYW5lX3JhdGlvKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWNvbnN0IHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmh3LmZiOwogCiAJaWYgKGZiLT5mb3Jt YXQtPmNwcFswXSA9PSA4KSB7Ci0JCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwg SVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKKwkJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+ PSAxMCkgewogCQkJKm51bSA9IDEwOwogCQkJKmRlbiA9IDg7CiAJCX0gZWxzZSB7CkBAIC0zMTcs NyArMzE3LDcgQEAgc3RhdGljIGludCBza2xfcGxhbmVfbWluX2NkY2xrKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCXNrbF9wbGFuZV9yYXRpbyhjcnRjX3N0YXRl LCBwbGFuZV9zdGF0ZSwgJm51bSwgJmRlbik7CiAKIAkvKiB0d28gcGl4ZWxzIHBlciBjbG9jayBv biBnbGsrICovCi0JaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklM QUtFKGRldl9wcml2KSkKKwlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQogCQlkZW4g Kj0gMjsKIAogCXJldHVybiBESVZfUk9VTkRfVVAocGl4ZWxfcmF0ZSAqIG51bSwgZGVuKTsKQEAg LTgxMCw3ICs4MTAsNyBAQCBzdGF0aWMgdTMyIHNrbF9wbGFuZV9jdGxfY3J0Yyhjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAl1MzIg cGxhbmVfY3RsID0gMDsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNf R0VNSU5JTEFLRShkZXZfcHJpdikpCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkK IAkJcmV0dXJuIHBsYW5lX2N0bDsKIAogCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCkBA IC04NDksNyArODQ5LDcgQEAgc3RhdGljIHUzMiBza2xfcGxhbmVfY3RsKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCXBsYW5lX2N0bCB8PSBza2xfcGxhbmVfY3Rs X3RpbGluZyhmYi0+bW9kaWZpZXIpOwogCXBsYW5lX2N0bCB8PSBza2xfcGxhbmVfY3RsX3JvdGF0 ZShyb3RhdGlvbiAmIERSTV9NT0RFX1JPVEFURV9NQVNLKTsKIAotCWlmIChESVNQTEFZX1ZFUihk ZXZfcHJpdikgPj0gMTApCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19D QU5OT05MQUtFKGRldl9wcml2KSkKIAkJcGxhbmVfY3RsIHw9IGNubF9wbGFuZV9jdGxfZmxpcChy b3RhdGlvbiAmCiAJCQkJCQlEUk1fTU9ERV9SRUZMRUNUX01BU0spOwogCkBAIC05NzYsNyArOTc2 LDcgQEAgc2tsX3Byb2dyYW1fcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAogCXBs YW5lX2N0bCB8PSBza2xfcGxhbmVfY3RsX2NydGMoY3J0Y19zdGF0ZSk7CiAKLQlpZiAoRElTUExB WV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQorCWlmIChE SVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCXBsYW5lX2NvbG9yX2N0bCA9IHBsYW5lX3N0 YXRlLT5jb2xvcl9jdGwgfAogCQkJZ2xrX3BsYW5lX2NvbG9yX2N0bF9jcnRjKGNydGNfc3RhdGUp OwogCkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBza2xfcHJvZ3JhbV9wbGFuZShzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lLAogCQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExBTkVfQ1VTX0NU TChwaXBlLCBwbGFuZV9pZCksCiAJCQkJICBwbGFuZV9zdGF0ZS0+Y3VzX2N0bCk7CiAKLQlpZiAo RElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQor CWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCWludGVsX2RlX3dyaXRlX2Z3KGRl dl9wcml2LCBQTEFORV9DT0xPUl9DVEwocGlwZSwgcGxhbmVfaWQpLAogCQkJCSAgcGxhbmVfY29s b3JfY3RsKTsKIApAQCAtMTIyMiw3ICsxMjIyLDcgQEAgc3RhdGljIGludCBza2xfcGxhbmVfY2hl Y2tfZHN0X2Nvb3JkaW5hdGVzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3MK IAkgKiB0aGFuIHRoZSBjdXJzb3IgZW5kaW5nIGxlc3MgdGhhbiA0IHBpeGVscyBmcm9tIHRoZSBs ZWZ0IGVkZ2Ugb2YgdGhlCiAJICogc2NyZWVuIG1heSBjYXVzZSBGSUZPIHVuZGVyZmxvdyBhbmQg ZGlzcGxheSBjb3JydXB0aW9uLgogCSAqLwotCWlmICgoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikg fHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpICYmCisJaWYgKElTX0RJU1BMQVlfVkVSKGRldl9w cml2LCAxMCkgJiYKIAkgICAgKGNydGNfeCArIGNydGNfdyA8IDQgfHwgY3J0Y194ID4gcGlwZV9z cmNfdyAtIDQpKSB7CiAJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLAogCQkJICAgICJyZXF1 ZXN0ZWQgcGxhbmUgWCAlcyBwb3NpdGlvbiAlZCBpbnZhbGlkICh2YWxpZCByYW5nZSAlZC0lZClc biIsCkBAIC0xMjYyLDcgKzEyNjIsNyBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9tYXhfc2NhbGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSAqIHRoZSBiZXN0IGNhc2UuCiAJ ICogRklYTUUgbmVlZCB0byBwcm9wZXJseSBjaGVjayB0aGlzIGxhdGVyLgogCSAqLwotCWlmIChE SVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwK KwlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8CiAJICAgICFpbnRlbF9mb3JtYXRf aW5mb19pc195dXZfc2VtaXBsYW5hcihmYi0+Zm9ybWF0LCBmYi0+bW9kaWZpZXIpKQogCQlyZXR1 cm4gMHgzMDAwMCAtIDE7CiAJZWxzZQpAQCAtMTY4Nyw3ICsxNjg3LDcgQEAgc3RhdGljIGludCBz a2xfcGxhbmVfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIAlw bGFuZV9zdGF0ZS0+Y3RsID0gc2tsX3BsYW5lX2N0bChjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7 CiAKLQlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2 X3ByaXYpKQorCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCXBsYW5lX3N0YXRl LT5jb2xvcl9jdGwgPSBnbGtfcGxhbmVfY29sb3JfY3RsKGNydGNfc3RhdGUsCiAJCQkJCQkJICAg ICBwbGFuZV9zdGF0ZSk7CiAKQEAgLTE3MTksNyArMTcxOSw3IEBAIHN0YXRpYyBib29sIHNrbF9w bGFuZV9oYXNfcGxhbmFyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAo SVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfQlJPWFRPTihkZXZfcHJpdikpCiAJCXJldHVybiBm YWxzZTsKIAotCWlmIChJU19ESVNQTEFZX1ZFUihkZXZfcHJpdiwgOSkgJiYgIUlTX0dFTUlOSUxB S0UoZGV2X3ByaXYpICYmIHBpcGUgPT0gUElQRV9DKQorCWlmIChJU19ESVNQTEFZX1ZFUihkZXZf cHJpdiwgOSkgJiYgcGlwZSA9PSBQSVBFX0MpCiAJCXJldHVybiBmYWxzZTsKIAogCWlmIChwbGFu ZV9pZCAhPSBQTEFORV9QUklNQVJZICYmIHBsYW5lX2lkICE9IFBMQU5FX1NQUklURTApCkBAIC0x Nzc2LDcgKzE3NzYsNyBAQCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfaGFzX2NjcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKHBsYW5lX2lkID09IFBMQU5FX0NVUlNPUikK IAkJcmV0dXJuIGZhbHNlOwogCi0JaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkKKwlp ZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDExIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYp KQogCQlyZXR1cm4gdHJ1ZTsKIAogCWlmIChJU19HRU1JTklMQUtFKGRldl9wcml2KSkKQEAgLTIw MTMsNyArMjAxMyw3IEBAIHNrbF91bml2ZXJzYWxfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcGxhbmUtPm1pbl93aWR0aCA9IGljbF9wbGFuZV9taW5f d2lkdGg7CiAJCXBsYW5lLT5tYXhfd2lkdGggPSBpY2xfcGxhbmVfbWF4X3dpZHRoOwogCQlwbGFu ZS0+bWF4X2hlaWdodCA9IGljbF9wbGFuZV9tYXhfaGVpZ2h0OwotCX0gZWxzZSBpZiAoRElTUExB WV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJfSBl bHNlIGlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApIHsKIAkJcGxhbmUtPm1heF93aWR0 aCA9IGdsa19wbGFuZV9tYXhfd2lkdGg7CiAJCXBsYW5lLT5tYXhfaGVpZ2h0ID0gc2tsX3BsYW5l X21heF9oZWlnaHQ7CiAJfSBlbHNlIHsKQEAgLTIwMzksNyArMjAzOSw3IEBAIHNrbF91bml2ZXJz YWxfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAo RElTUExBWV9WRVIoZGV2X3ByaXYpID49IDExKQogCQlmb3JtYXRzID0gaWNsX2dldF9wbGFuZV9m b3JtYXRzKGRldl9wcml2LCBwaXBlLAogCQkJCQkJcGxhbmVfaWQsICZudW1fZm9ybWF0cyk7Ci0J ZWxzZSBpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2 X3ByaXYpKQorCWVsc2UgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkKIAkJZm9ybWF0 cyA9IGdsa19nZXRfcGxhbmVfZm9ybWF0cyhkZXZfcHJpdiwgcGlwZSwKIAkJCQkJCXBsYW5lX2lk LCAmbnVtX2Zvcm1hdHMpOwogCWVsc2UKQEAgLTIwNzYsNyArMjA3Niw3IEBAIHNrbF91bml2ZXJz YWxfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJRFJN X01PREVfUk9UQVRFXzAgfCBEUk1fTU9ERV9ST1RBVEVfOTAgfAogCQlEUk1fTU9ERV9ST1RBVEVf MTgwIHwgRFJNX01PREVfUk9UQVRFXzI3MDsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikg Pj0gMTApCisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5OT05MQUtF KGRldl9wcml2KSkKIAkJc3VwcG9ydGVkX3JvdGF0aW9ucyB8PSBEUk1fTU9ERV9SRUZMRUNUX1g7 CiAKIAlkcm1fcGxhbmVfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KCZwbGFuZS0+YmFzZSwKQEAg LTIwODUsNyArMjA4NSw3IEBAIHNrbF91bml2ZXJzYWxfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCXN1cHBvcnRlZF9jc2MgPSBCSVQoRFJNX0NPTE9S X1lDQkNSX0JUNjAxKSB8IEJJVChEUk1fQ09MT1JfWUNCQ1JfQlQ3MDkpOwogCi0JaWYgKERJU1BM QVlfVkVSKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwlpZiAo RElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQogCQlzdXBwb3J0ZWRfY3NjIHw9IEJJVChEUk1f Q09MT1JfWUNCQ1JfQlQyMDIwKTsKIAogCWRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGll cygmcGxhbmUtPmJhc2UsCkBAIC0yMTA2LDcgKzIxMDYsNyBAQCBza2xfdW5pdmVyc2FsX3BsYW5l X2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMikKIAkJZHJtX3BsYW5lX2VuYWJsZV9mYl9kYW1hZ2VfY2xpcHMo JnBsYW5lLT5iYXNlKTsKIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCisJaWYg KERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkK IAkJZHJtX3BsYW5lX2NyZWF0ZV9zY2FsaW5nX2ZpbHRlcl9wcm9wZXJ0eSgmcGxhbmUtPmJhc2Us CiAJCQkJCQlCSVQoRFJNX1NDQUxJTkdfRklMVEVSX0RFRkFVTFQpIHwKIAkJCQkJCUJJVChEUk1f U0NBTElOR19GSUxURVJfTkVBUkVTVF9ORUlHSEJPUikpOwpAQCAtMjE2NSw3ICsyMTY1LDcgQEAg c2tsX2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAll bHNlCiAJCXBpeGVsX2Zvcm1hdCA9IHZhbCAmIFBMQU5FX0NUTF9GT1JNQVRfTUFTSzsKIAotCWlm IChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp IHsKKwlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKSB7CiAJCWFscGhhID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwKIAkJCQkgICAgICBQTEFORV9DT0xPUl9DVEwocGlwZSwgcGxhbmVf aWQpKTsKIAkJYWxwaGEgJj0gUExBTkVfQ09MT1JfQUxQSEFfTUFTSzsKQEAgLTIyMjcsOCArMjIy Nyw3IEBAIHNrbF9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNy dGMsCiAJCWJyZWFrOwogCX0KIAotCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgJiYK LQkgICAgdmFsICYgUExBTkVfQ1RMX0ZMSVBfSE9SSVpPTlRBTCkKKwlpZiAoKERJU1BMQVlfVkVS KGRldl9wcml2KSA+PSAxMSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgJiYgdmFsICYgUExB TkVfQ1RMX0ZMSVBfSE9SSVpPTlRBTCkKIAkJcGxhbmVfY29uZmlnLT5yb3RhdGlvbiB8PSBEUk1f TU9ERV9SRUZMRUNUX1g7CiAKIAkvKiA5MC8yNzAgZGVncmVlIHJvdGF0aW9uIHdvdWxkIHJlcXVp cmUgZXh0cmEgd29yayAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w Y2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggZDMyNzg4MmQ2ZDRi Li40ODA1NTM3NDY3OTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNp LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwpAQCAtNzIzLDYgKzcyMyw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gYnh0X2luZm8gPSB7CiBz dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGdsa19pbmZvID0gewogCUdFTjlf TFBfRkVBVFVSRVMsCiAJUExBVEZPUk0oSU5URUxfR0VNSU5JTEFLRSksCisJLmRpc3BsYXkudmVy c2lvbiA9IDEwLAogCS5kZGJfc2l6ZSA9IDEwMjQsCiAJR0xLX0NPTE9SUywKIH07CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwppbmRleCBmODQ3NzUyZjM1MTIuLjgyMGY4NTBkNWNiYiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCkBAIC0zNjYwLDcgKzM2NjAsNyBAQCBzdGF0aWMgYm9vbCBza2xfbmVl ZHNfbWVtb3J5X2J3X3dhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHN0YXRp YyBib29sCiBpbnRlbF9oYXNfc2FndihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiB7Ci0JcmV0dXJuIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBESVNQTEFZX1ZFUihkZXZfcHJp dikgPj0gMTApICYmCisJcmV0dXJuIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBESVNQTEFZX1ZF UihkZXZfcHJpdikgPj0gMTEgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpICYmCiAJCWRldl9w cml2LT5zYWd2X3N0YXR1cyAhPSBJOTE1X1NBR1ZfTk9UX0NPTlRST0xMRUQ7CiB9CiAKQEAgLTUw MzAsNyArNTAzMCw3IEBAIHNrbF93bV9tZXRob2QxKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgdTMyIHBpeGVsX3JhdGUsCiAJd21faW50ZXJtZWRpYXRlX3ZhbCA9IGxh dGVuY3kgKiBwaXhlbF9yYXRlICogY3BwOwogCXJldCA9IGRpdl9maXhlZDE2KHdtX2ludGVybWVk aWF0ZV92YWwsIDEwMDAgKiBkYnVmX2Jsb2NrX3NpemUpOwogCi0JaWYgKERJU1BMQVlfVkVSKGRl dl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwlpZiAoRElTUExBWV9W RVIoZGV2X3ByaXYpID49IDEwKQogCQlyZXQgPSBhZGRfZml4ZWQxNl91MzIocmV0LCAxKTsKIAog CXJldHVybiByZXQ7CkBAIC01MTQ0LDcgKzUxNDQsNyBAQCBza2xfY29tcHV0ZV93bV9wYXJhbXMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJCSAgIHdwLT55 X21pbl9zY2FubGluZXMsCiAJCQkJCSAgIHdwLT5kYnVmX2Jsb2NrX3NpemUpOwogCi0JCWlmIChE SVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCisJ CWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApCiAJCQlpbnRlcm1fcGJwbCsrOwogCiAJ CXdwLT5wbGFuZV9ibG9ja3NfcGVyX2xpbmUgPSBkaXZfZml4ZWQxNihpbnRlcm1fcGJwbCwKQEAg LTUxNTMsOCArNTE1Myw3IEBAIHNrbF9jb21wdXRlX3dtX3BhcmFtcyhjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJaW50ZXJtX3BicGwgPSBESVZfUk9VTkRfVVAo d3AtPnBsYW5lX2J5dGVzX3Blcl9saW5lLAogCQkJCQkgICB3cC0+ZGJ1Zl9ibG9ja19zaXplKTsK IAotCQlpZiAoIXdwLT54X3RpbGVkIHx8Ci0JCSAgICBESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0g MTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCisJCWlmICghd3AtPnhfdGlsZWQgfHwgRElT UExBWV9WRVIoZGV2X3ByaXYpID49IDEwKQogCQkJaW50ZXJtX3BicGwrKzsKIAogCQl3cC0+cGxh bmVfYmxvY2tzX3Blcl9saW5lID0gdTMyX3RvX2ZpeGVkMTYoaW50ZXJtX3BicGwpOwpAQCAtNTE5 Myw3ICs1MTkyLDcgQEAgc2tsX2NvbXB1dGVfcGxhbmVfd21fcGFyYW1zKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCiBzdGF0aWMgYm9vbCBza2xfd21faGFzX2xp bmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IGxldmVsKQogewotCWlm IChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp CisJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkKIAkJcmV0dXJuIHRydWU7CiAKIAkv KiBUaGUgbnVtYmVyIG9mIGxpbmVzIGFyZSBpZ25vcmVkIGZvciB0aGUgbGV2ZWwgMCB3YXRlcm1h cmsuICovCkBAIC01MjQ2LDggKzUyNDUsNyBAQCBzdGF0aWMgdm9pZCBza2xfY29tcHV0ZV9wbGFu ZV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAo d3AtPnBsYW5lX2J5dGVzX3Blcl9saW5lIC8gd3AtPmRidWZfYmxvY2tfc2l6ZSA8IDEpKSB7CiAJ CQlzZWxlY3RlZF9yZXN1bHQgPSBtZXRob2QyOwogCQl9IGVsc2UgaWYgKGxhdGVuY3kgPj0gd3At PmxpbmV0aW1lX3VzKSB7Ci0JCQlpZiAoSVNfRElTUExBWV9WRVIoZGV2X3ByaXYsIDkpICYmCi0J CQkgICAgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQorCQkJaWYgKElTX0RJU1BMQVlfVkVSKGRl dl9wcml2LCA5KSkKIAkJCQlzZWxlY3RlZF9yZXN1bHQgPSBtaW5fZml4ZWQxNihtZXRob2QxLCBt ZXRob2QyKTsKIAkJCWVsc2UKIAkJCQlzZWxlY3RlZF9yZXN1bHQgPSBtZXRob2QyOwpAQCAtNTM4 Niw3ICs1Mzg0LDcgQEAgc3RhdGljIHZvaWQgc2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93bShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCXRyYW5zX21pbiA9IDE0OwogCiAJLyog RGlzcGxheSBXQSAjMTE0MDogZ2xrLGNubCAqLwotCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2 KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKKwlpZiAoSVNfRElTUExBWV9WRVIoZGV2X3By aXYsIDEwKSkKIAkJdHJhbnNfYW1vdW50ID0gMDsKIAllbHNlCiAJCXRyYW5zX2Ftb3VudCA9IDEw OyAvKiBUaGlzIGlzIGNvbmZpZ3VyYWJsZSBhbW91bnQgKi8KLS0gCjIuMjUuNAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==