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=-6.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,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 9EF25C43603 for ; Wed, 4 Dec 2019 18:06:07 +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 410BC20675 for ; Wed, 4 Dec 2019 18:06:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 410BC20675 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.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 302786F494; Wed, 4 Dec 2019 18:06:06 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 19AF36F48D for ; Wed, 4 Dec 2019 18:06:05 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Dec 2019 10:06:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,278,1571727600"; d="scan'208";a="218987266" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga001.fm.intel.com with SMTP; 04 Dec 2019 10:05:59 -0800 Received: by stinkbox (sSMTP sendmail emulation); Wed, 04 Dec 2019 20:05:59 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Wed, 4 Dec 2019 20:05:43 +0200 Message-Id: <20191204180549.1267-4-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191204180549.1267-1-ville.syrjala@linux.intel.com> References: <20191204180549.1267-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 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" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkxv dHMgb2YgZW5jX3RvX2ZvbygmZW5jb2Rlci0+YmFzZSkgYXJvdW5kLiBTaW1wbGlmeSBieSBwYXNz aW5nCmluIHRoZSBpbnRlbF9lbmNvZGVyIGluc3RlYWQuCgpAZmluZEAKaWRlbnRpZmllciBGID1+ ICJeZW5jX3RvXy4qIjsKaWRlbnRpZmllciBFOwpAQApGKHN0cnVjdCBkcm1fZW5jb2RlciAqRSkK ewouLi4KfQoKQEAKaWRlbnRpZmllciBmaW5kLkY7CmlkZW50aWZpZXIgZmluZC5FOwpAQApGKAot IHN0cnVjdCBkcm1fZW5jb2RlciAqRQorIHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyCiAg KQp7CjwuLi4KLSBFCisgJmVuY29kZXItPmJhc2UKLi4uPgp9CgpAQAppZGVudGlmaWVyIGZpbmQu RjsKZXhwcmVzc2lvbiBFOwpAQAotIEYoRSkKKyBGKHRvX2ludGVsX2VuY29kZXIoRSkpCgpAQApl eHByZXNzaW9uIEU7CkBACi0gdG9faW50ZWxfZW5jb2RlcigmRS0+YmFzZSkKKyBFCgpTaWduZWQt b2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jICAgICAgICB8IDU4ICsr KysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5j ICAgICAgfCA2MyArKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYyAgfCAgNCArLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV9wb3dlci5jICAgIHwgIDYgKy0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXlfdHlwZXMuaCAgICB8IDE5ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcC5jICAgICAgIHwgNTQgKysrKysrKystLS0tLS0tLQogLi4uL2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jIHwgMTUgKystLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmMgICB8IDI0ICsrKy0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBpb19waHkuYyB8IDE4ICsrKy0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jIHwgIDQgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmggICAgICB8ICA2ICstCiAuLi4vaTkxNS9kaXNw bGF5L2ludGVsX2RzaV9kY3NfYmFja2xpZ2h0LmMgICAgfCAgOCArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jICAgICB8IDQ5ICsrKysrKysrLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmggICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaG90cGx1Zy5jICB8ICA0ICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2xzcGNvbi5jICAgfCAgOCArLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGlwZV9jcmMuYyB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zkc2MuYyAgICAgfCAgNCArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS92bHZfZHNpLmMgICAgICAgIHwgMzYgKysrKystLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvdmx2X2RzaV9wbGwuYyAgICB8IDEyICsrLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICAgICB8IDI4ICsrKystLS0tLQog MjEgZmlsZXMgY2hhbmdlZCwgMjE0IGluc2VydGlvbnMoKyksIDIxMCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCmluZGV4IGY2ODgyMDc5MzJlMC4uN2U3 NzRjZDRhNTZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9k c2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYwpAQCAtNzYs NyArNzYsNyBAQCBzdGF0aWMgZW51bSB0cmFuc2NvZGVyIGRzaV9wb3J0X3RvX3RyYW5zY29kZXIo ZW51bSBwb3J0IHBvcnQpCiBzdGF0aWMgdm9pZCB3YWl0X2Zvcl9jbWRzX2Rpc3BhdGNoZWRfdG9f cGFuZWwoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7 CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVy KTsKIAlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2k7CiAJZW51bSBwb3J0IHBvcnQ7CiAJZW51 bSB0cmFuc2NvZGVyIGRzaV90cmFuczsKQEAgLTIwMSw3ICsyMDEsNyBAQCBzdGF0aWMgaW50IGRz aV9zZW5kX3BrdF9wYXlsZChzdHJ1Y3QgaW50ZWxfZHNpX2hvc3QgKmhvc3QsCiBzdGF0aWMgdm9p ZCBkc2lfcHJvZ3JhbV9zd2luZ19hbmRfZGVlbXBoYXNpcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNf dG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWVudW0gcGh5IHBoeTsKIAl1MzIgdG1w OwogCWludCBsYW5lOwpAQCAtMjY2LDcgKzI2Niw3IEBAIHN0YXRpYyB2b2lkIGNvbmZpZ3VyZV9k dWFsX2xpbmtfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlz dHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5i YXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVu Y29kZXIpOwogCXUzMiBkc3NfY3RsMTsKIAogCWRzc19jdGwxID0gSTkxNV9SRUFEKERTU19DVEwx KTsKQEAgLTMwNCw3ICszMDQsNyBAQCBzdGF0aWMgdm9pZCBjb25maWd1cmVfZHVhbF9saW5rX21v ZGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiBzdGF0aWMgdm9pZCBnZW4xMV9kc2lf cHJvZ3JhbV9lc2NfY2xrX2RpdihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZl bmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50 ZWxfZHNpKGVuY29kZXIpOwogCWVudW0gcG9ydCBwb3J0OwogCXUzMiBicHAgPSBtaXBpX2RzaV9w aXhlbF9mb3JtYXRfdG9fYnBwKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0KTsKIAl1MzIgYWZlX2Ns a19raHo7IC8qIDhYIENsb2NrICovCkBAIC0zNDYsNyArMzQ2LDcgQEAgc3RhdGljIHZvaWQgZ2V0 X2RzaV9pb19wb3dlcl9kb21haW5zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IHN0YXRpYyB2b2lkIGdlbjExX2RzaV9lbmFibGVfaW9fcG93ZXIoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0g ZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50 ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAllbnVtIHBvcnQgcG9ydDsKIAl1 MzIgdG1wOwogCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2VuYWJs ZV9pb19wb3dlcihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHN0YXRpYyB2b2lkIGdl bjExX2RzaV9wb3dlcl91cF9sYW5lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNp KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9f aW50ZWxfZHNpKGVuY29kZXIpOwogCWVudW0gcGh5IHBoeTsKIAogCWZvcl9lYWNoX2RzaV9waHko cGh5LCBpbnRlbF9kc2ktPnBoeXMpCkBAIC0zNzMsNyArMzczLDcgQEAgc3RhdGljIHZvaWQgZ2Vu MTFfZHNpX3Bvd2VyX3VwX2xhbmVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogc3Rh dGljIHZvaWQgZ2VuMTFfZHNpX2NvbmZpZ19waHlfbGFuZXNfc2VxdWVuY2Uoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxf ZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAllbnVtIHBoeSBwaHk7 CiAJdTMyIHRtcDsKIAlpbnQgbGFuZTsKQEAgLTQyMiw3ICs0MjIsNyBAQCBzdGF0aWMgdm9pZCBn ZW4xMV9kc2lfY29uZmlnX3BoeV9sYW5lc19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKIHN0YXRpYyB2b2lkIGdlbjExX2RzaV92b2x0YWdlX3N3aW5nX3Byb2dyYW1fc2Vx KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRl bF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0 cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJ dTMyIHRtcDsKIAllbnVtIHBoeSBwaHk7CiAKQEAgLTQ3NCw3ICs0NzQsNyBAQCBzdGF0aWMgdm9p ZCBnZW4xMV9kc2lfdm9sdGFnZV9zd2luZ19wcm9ncmFtX3NlcShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9lbmFibGVfZGRpX2J1ZmZlcihzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3Qg aW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCXUzMiB0 bXA7CiAJZW51bSBwb3J0IHBvcnQ7CiAKQEAgLTQ5Myw3ICs0OTMsNyBAQCBzdGF0aWMgdm9pZCBn ZW4xMV9kc2lfZW5hYmxlX2RkaV9idWZmZXIoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp CiBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfc2V0dXBfZHBoeV90aW1pbmdzKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2Rz aSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kg KmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJdTMyIHRtcDsKIAllbnVt IHBvcnQgcG9ydDsKIAllbnVtIHBoeSBwaHk7CkBAIC01NTksNyArNTU5LDcgQEAgc3RhdGljIHZv aWQgZ2VuMTFfZHNpX3NldHVwX2RwaHlfdGltaW5ncyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9nYXRlX2Nsb2NrcyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kg PSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICpp bnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCXUzMiB0bXA7CiAJZW51bSBw aHkgcGh5OwogCkBAIC01NzUsNyArNTc1LDcgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2dhdGVf Y2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogc3RhdGljIHZvaWQgZ2VuMTFf ZHNpX3VuZ2F0ZV9jbG9ja3Moc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRl dik7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5j b2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVs X2RzaShlbmNvZGVyKTsKIAl1MzIgdG1wOwogCWVudW0gcGh5IHBoeTsKIApAQCAtNTkyLDcgKzU5 Miw3IEBAIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9tYXBfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShl bmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3Rv X2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNp ID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwg KnBsbCA9IGNydGNfc3RhdGUtPnNoYXJlZF9kcGxsOwogCWVudW0gcGh5IHBoeTsKIAl1MzIgdmFs OwpAQCAtNjI0LDcgKzYyNCw3IEBAIGdlbjExX2RzaV9jb25maWd1cmVfdHJhbnNjb2RlcihzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RzaSAq aW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGlu dGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGku Y3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCXUzMiB0bXA7CkBA IC03NjksNyArNzY5LDcgQEAgZ2VuMTFfZHNpX3NldF90cmFuc2NvZGVyX3RpbWluZ3Moc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KIAkJCQkJJnBpcGVfY29uZmlnLT5ody5h ZGp1c3RlZF9tb2RlOwogCWVudW0gcG9ydCBwb3J0OwpAQCAtODg5LDcgKzg4OSw3IEBAIGdlbjEx X2RzaV9zZXRfdHJhbnNjb2Rlcl90aW1pbmdzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2VuYWJsZV90cmFuc2NvZGVyKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2Rz aSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kg KmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJZW51bSBwb3J0IHBvcnQ7 CiAJZW51bSB0cmFuc2NvZGVyIGRzaV90cmFuczsKIAl1MzIgdG1wOwpAQCAtOTEwLDcgKzkxMCw3 IEBAIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9lbmFibGVfdHJhbnNjb2RlcihzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9zZXR1cF90aW1lb3V0cyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1 Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWVu dW0gcG9ydCBwb3J0OwogCWVudW0gdHJhbnNjb2RlciBkc2lfdHJhbnM7CiAJdTMyIHRtcCwgaHNf dHhfdGltZW91dCwgbHBfcnhfdGltZW91dCwgdGFfdGltZW91dCwgZGl2aXNvciwgbXVsOwpAQCAt OTkxLDcgKzk5MSw3IEBAIGdlbjExX2RzaV9lbmFibGVfcG9ydF9hbmRfcGh5KHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogc3RhdGljIHZvaWQgZ2VuMTFfZHNpX3Bvd2VydXBfcGFuZWwo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVs X2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAlz dHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2k7CiAJZW51bSBwb3J0IHBvcnQ7CiAJZW51bSB0cmFu c2NvZGVyIGRzaV90cmFuczsKQEAgLTEwNDIsNyArMTA0Miw3IEBAIHN0YXRpYyB2b2lkIGdlbjEx X2RzaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJCQkJIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9kc2kg KmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAKIAkvKiBz dGVwM2IgKi8KIAlnZW4xMV9kc2lfbWFwX3BsbChlbmNvZGVyLCBwaXBlX2NvbmZpZyk7CkBAIC0x MDY3LDcgKzEwNjcsNyBAQCBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfcHJlX2VuYWJsZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9kaXNhYmxlX3Ry YW5zY29kZXIoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFz ZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNv ZGVyKTsKIAllbnVtIHBvcnQgcG9ydDsKIAllbnVtIHRyYW5zY29kZXIgZHNpX3RyYW5zOwogCXUz MiB0bXA7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfZGlzYWJs ZV90cmFuc2NvZGVyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCiBzdGF0aWMgdm9p ZCBnZW4xMV9kc2lfcG93ZXJkb3duX3BhbmVsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQogewotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVu Y29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRl bF9kc2koZW5jb2Rlcik7CiAKIAlpbnRlbF9kc2lfdmJ0X2V4ZWNfc2VxdWVuY2UoaW50ZWxfZHNp LCBNSVBJX1NFUV9ESVNQTEFZX09GRik7CiAJaW50ZWxfZHNpX3ZidF9leGVjX3NlcXVlbmNlKGlu dGVsX2RzaSwgTUlQSV9TRVFfQVNTRVJUX1JFU0VUKTsKQEAgLTExMDIsNyArMTEwMiw3IEBAIHN0 YXRpYyB2b2lkIGdlbjExX2RzaV9wb3dlcmRvd25fcGFuZWwoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfZGVjb25maWd1cmVfdHJhbmNvZGVyKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9k c2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJZW51 bSBwb3J0IHBvcnQ7CiAJZW51bSB0cmFuc2NvZGVyIGRzaV90cmFuczsKIAl1MzIgdG1wOwpAQCAt MTE0Myw3ICsxMTQzLDcgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2RlY29uZmlndXJlX3RyYW5j b2RlcihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHN0YXRpYyB2b2lkIGdlbjExX2Rz aV9kaXNhYmxlX3BvcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rl ci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2Rz aShlbmNvZGVyKTsKIAl1MzIgdG1wOwogCWVudW0gcG9ydCBwb3J0OwogCkBAIC0xMTY1LDcgKzEx NjUsNyBAQCBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfZGlzYWJsZV9wb3J0KHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2Rpc2FibGVfaW9fcG93ZXIo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVs X2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAll bnVtIHBvcnQgcG9ydDsKIAl1MzIgdG1wOwogCkBAIC0xMTkyLDcgKzExOTIsNyBAQCBzdGF0aWMg dm9pZCBnZW4xMV9kc2lfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJ CSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJ CSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkK IHsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNv ZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxf ZHNpKGVuY29kZXIpOwogCiAJLyogc3RlcDE6IHR1cm4gb2ZmIGJhY2tsaWdodCAqLwogCWludGVs X2RzaV92YnRfZXhlY19zZXF1ZW5jZShpbnRlbF9kc2ksIE1JUElfU0VRX0JBQ0tMSUdIVF9PRkYp OwpAQCAtMTIxNyw3ICsxMjE3LDcgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2Rpc2FibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfZ2V0X3Rp bWluZ3Moc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNp ID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAq aW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CiAJCQkJCSZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRf bW9kZTsKIApAQCAtMTI0Niw3ICsxMjQ2LDcgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2dldF9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMp OwotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29k ZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9k c2koZW5jb2Rlcik7CiAKIAkvKiBGSVhNRTogYWRhcHQgaWNsX2RkaV9jbG9ja19nZXQoKSBmb3Ig RFNJIGFuZCB1c2UgdGhhdD8gKi8KIAlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9CkBAIC0xMjk2 LDE0ICsxMjk2LDE0IEBAIHN0YXRpYyB2b2lkIGdlbjExX2RzaV9nZXRfcG93ZXJfZG9tYWlucyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiB7CiAJZ2V0X2RzaV9pb19wb3dlcl9kb21haW5zKHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpLAotCQkJCSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKSk7 CisJCQkJIGVuY190b19pbnRlbF9kc2koZW5jb2RlcikpOwogfQogCiBzdGF0aWMgYm9vbCBnZW4x MV9kc2lfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAg IGVudW0gcGlwZSAqcGlwZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWVudW0gdHJhbnNjb2Rl ciBkc2lfdHJhbnM7CiAJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CiAJZW51bSBwb3J0IHBvcnQ7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwppbmRleCBlNjkyYzBiMjg1 NTkuLjUyZDE4N2RiMzIwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rk aS5jCkBAIC0xMjQxLDkgKzEyNDEsOSBAQCB2b2lkIGhzd19mZGlfbGlua190cmFpbihzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaW50ZWxfZGRpX2luaXRfZHBfYnVmX3Jl ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0KLQkJZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVy LT5iYXNlKTsKKwkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCiAJaW50ZWxfZHAtPkRQID0g aW50ZWxfZGlnX3BvcnQtPnNhdmVkX3BvcnRfYml0cyB8CiAJCURESV9CVUZfQ1RMX0VOQUJMRSB8 IERESV9CVUZfVFJBTlNfU0VMRUNUKDApOwpAQCAtMjIyMSw3ICsyMjIxLDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfZGRpX2dldF9wb3dlcl9kb21haW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCWlmIChXQVJOX09OKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxf T1VUUFVUX0RQX01TVCkpKQogCQlyZXR1cm47CiAKLQlkaWdfcG9ydCA9IGVuY190b19kaWdfcG9y dCgmZW5jb2Rlci0+YmFzZSk7CisJZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7 CiAJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGRpZ19wb3J0LT5kZGlfaW9fcG93 ZXJfZG9tYWluKTsKIAogCS8qCkBAIC0yMjkxLDcgKzIyOTEsNyBAQCBzdGF0aWMgdm9pZCBfc2ts X2RkaV9zZXRfaWJvb3N0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRp YyB2b2lkIHNrbF9kZGlfc2V0X2lib29zdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCSAgICAgICBpbnQgbGV2ZWwsIGVudW0gaW50ZWxfb3V0cHV0X3R5cGUgdHlwZSkKIHsKLQlz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdfcG9y dCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwb3J0IHBv cnQgPSBlbmNvZGVyLT5wb3J0OwogCXU4IGlib29zdDsKQEAgLTIzNjIsNyArMjM2Miw3IEBAIHN0 YXRpYyB2b2lkIGJ4dF9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogdTggaW50ZWxfZGRpX2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNf dG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAg PSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5w b3J0OwogCWVudW0gcGh5IHBoeSA9IGludGVsX3BvcnRfdG9fcGh5KGRldl9wcml2LCBwb3J0KTsK IAlpbnQgbl9lbnRyaWVzOwpAQCAtMjUwMSw3ICsyNTAxLDcgQEAgc3RhdGljIHZvaWQgY25sX2Rk aV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXdpZHRo ID0gNDsKIAkJcmF0ZSA9IDA7IC8qIFJhdGUgaXMgYWx3YXlzIDwgdGhhbiA2R0h6IGZvciBIRE1J ICovCiAJfSBlbHNlIHsKLQkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRl bF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNf dG9faW50ZWxfZHAoZW5jb2Rlcik7CiAKIAkJd2lkdGggPSBpbnRlbF9kcC0+bGFuZV9jb3VudDsK IAkJcmF0ZSA9IGludGVsX2RwLT5saW5rX3JhdGU7CkBAIC0yNjI3LDcgKzI2MjcsNyBAQCBzdGF0 aWMgdm9pZCBpY2xfY29tYm9fcGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCXdpZHRoID0gNDsKIAkJLyogUmF0ZSBpcyBhbHdheXMgPCB0aGFu IDZHSHogZm9yIEhETUkgKi8KIAl9IGVsc2UgewotCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw ID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwkJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAogCQl3aWR0aCA9IGludGVsX2Rw LT5sYW5lX2NvdW50OwogCQlyYXRlID0gaW50ZWxfZHAtPmxpbmtfcmF0ZTsKQEAgLTMzMTYsNyAr MzMxNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9lbmFibGVfZmVjKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCWlmICghY3J0Y19zdGF0ZS0+ZmVjX2VuYWJsZSkKIAkJcmV0dXJu OwogCi0JaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCWludGVs X2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCXZhbCA9IEk5MTVfUkVBRChpbnRlbF9k cC0+cmVncy5kcF90cF9jdGwpOwogCXZhbCB8PSBEUF9UUF9DVExfRkVDX0VOQUJMRTsKIAlJOTE1 X1dSSVRFKGludGVsX2RwLT5yZWdzLmRwX3RwX2N0bCwgdmFsKTsKQEAgLTMzMzYsNyArMzMzNiw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9kaXNhYmxlX2ZlY19zdGF0ZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAlpZiAoIWNydGNfc3RhdGUtPmZlY19lbmFibGUpCiAJCXJldHVy bjsKIAotCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlpbnRl bF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAl2YWwgPSBJOTE1X1JFQUQoaW50ZWxf ZHAtPnJlZ3MuZHBfdHBfY3RsKTsKIAl2YWwgJj0gfkRQX1RQX0NUTF9GRUNfRU5BQkxFOwogCUk5 MTVfV1JJVEUoaW50ZWxfZHAtPnJlZ3MuZHBfdHBfY3RsLCB2YWwpOwpAQCAtMzQyNywxMCArMzQy NywxMCBAQCBzdGF0aWMgdm9pZCB0Z2xfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVu Y29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoZW5jb2Rlcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwaHkgcGh5ID0gaW50ZWxfcG9ydF90b19waHko ZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRp Z19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKIAlib29s IGlzX21zdCA9IGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RQ X01TVCk7CiAJaW50IGxldmVsID0gaW50ZWxfZGRpX2RwX2xldmVsKGludGVsX2RwKTsKIAllbnVt IHRyYW5zY29kZXIgdHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwpAQCAt MzU4MywxMSArMzU4MywxMSBAQCBzdGF0aWMgdm9pZCBoc3dfZGRpX3ByZV9lbmFibGVfZHAoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBl bmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNv ZGVyLT5wb3J0OwogCWVudW0gcGh5IHBoeSA9IGludGVsX3BvcnRfdG9fcGh5KGRldl9wcml2LCBw b3J0KTsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdf cG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJYm9vbCBpc19tc3QgPSBpbnRlbF9jcnRj X2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9EUF9NU1QpOwogCWludCBsZXZlbCA9 IGludGVsX2RkaV9kcF9sZXZlbChpbnRlbF9kcCk7CiAKQEAgLTM2NzMsMTIgKzM2NzMsMTIgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAkJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAkJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9 IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJc3RydWN0 IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSAmaW50ZWxfZGlnX3BvcnQtPmhkbWk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0OwogCWludCBsZXZlbCA9IGludGVsX2Rk aV9oZG1pX2xldmVsKGRldl9wcml2LCBwb3J0KTsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAK IAlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGludGVsX2hkbWksIHRydWUpOwog CWludGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIGNydGNfc3RhdGUpOwpAQCAtMzc0NSwxMiAr Mzc0NSwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShlbmNvZGVyLCBj cnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKIAl9IGVsc2UgewogCQlzdHJ1Y3QgaW50ZWxfbHNwY29u ICpsc3Bjb24gPQotCQkJCWVuY190b19pbnRlbF9sc3Bjb24oJmVuY29kZXItPmJhc2UpOworCQkJ CWVuY190b19pbnRlbF9sc3Bjb24oZW5jb2Rlcik7CiAKIAkJaW50ZWxfZGRpX3ByZV9lbmFibGVf ZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiAJCWlmIChsc3Bjb24tPmFjdGl2 ZSkgewogCQkJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPQotCQkJCQllbmNf dG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOworCQkJCQllbmNfdG9fZGlnX3BvcnQoZW5jb2Rl cik7CiAKIAkJCWRpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyhlbmNvZGVyLAogCQkJCQkJIGNydGNf c3RhdGUtPmhhc19pbmZvZnJhbWUsCkBAIC0zNzc1LDcgKzM3NzUsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kaXNhYmxlX2RkaV9idWYoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQog CiAJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIoY3J0Y19zdGF0ZSkpIHsKLQkJc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJ CXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAK IAkJdmFsID0gSTkxNV9SRUFEKGludGVsX2RwLT5yZWdzLmRwX3RwX2N0bCk7CiAJCXZhbCAmPSB+ KERQX1RQX0NUTF9FTkFCTEUgfCBEUF9UUF9DVExfTElOS19UUkFJTl9NQVNLKTsKQEAgLTM3OTUs NyArMzc5NSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsK KwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydChl bmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmRpZ19wb3J0LT5kcDsKIAli b29sIGlzX21zdCA9IGludGVsX2NydGNfaGFzX3R5cGUob2xkX2NydGNfc3RhdGUsCiAJCQkJCSAg SU5URUxfT1VUUFVUX0RQX01TVCk7CkBAIC0zODI5LDcgKzM4MjksNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkK IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190 b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2hkbWkg KmludGVsX2hkbWkgPSAmZGlnX3BvcnQtPmhkbWk7CiAKIAlkaWdfcG9ydC0+c2V0X2luZm9mcmFt ZXMoZW5jb2RlciwgZmFsc2UsCkBAIC0zOTE2LDcgKzM5MTYsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9lbmFibGVfZGRpX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCWNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2Up OworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7 CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0OwogCiAJaWYgKHBvcnQgPT0gUE9SVF9B ICYmIElOVEVMX0dFTihkZXZfcHJpdikgPCA5KQpAQCAtMzk1Nyw3ICszOTU3LDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZW5hYmxlX2RkaV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9f ZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRp Z19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSBjb25uX3N0YXRlLT5jb25uZWN0b3I7CiAJZW51bSBwb3J0IHBvcnQgPSBl bmNvZGVyLT5wb3J0OwogCkBAIC00MDM0LDcgKzQwMzQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k aXNhYmxlX2RkaV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCSBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVs X2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAogCWludGVs X2RwLT5saW5rX3RyYWluZWQgPSBmYWxzZTsKIApAQCAtNDA4Miw3ICs0MDgyLDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZGRpX3VwZGF0ZV9waXBlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCQkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkK IHsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVy LT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVu Y29kZXIpOwogCiAJaW50ZWxfZGRpX3NldF9kcF9tc2EoY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7 CiAKQEAgLTQxNDYsNyArNDE0Niw4IEBAIGludGVsX2RkaV91cGRhdGVfcHJlcGFyZShzdHJ1Y3Qg aW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCVdBUk5fT04oY3J0YyAmJiBjcnRjLT5hY3Rp dmUpOwogCi0JaW50ZWxfdGNfcG9ydF9nZXRfbGluayhlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXIt PmJhc2UpLCByZXF1aXJlZF9sYW5lcyk7CisJaW50ZWxfdGNfcG9ydF9nZXRfbGluayhlbmNfdG9f ZGlnX3BvcnQoZW5jb2RlciksCisJCSAgICAgICAgICAgICAgIHJlcXVpcmVkX2xhbmVzKTsKIAlp ZiAoY3J0Y19zdGF0ZSAmJiBjcnRjX3N0YXRlLT5ody5hY3RpdmUpCiAJCWludGVsX3VwZGF0ZV9h Y3RpdmVfZHBsbChzdGF0ZSwgY3J0YywgZW5jb2Rlcik7CiB9CkBAIC00MTU2LDcgKzQxNTcsNyBA QCBpbnRlbF9kZGlfdXBkYXRlX2NvbXBsZXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0 YXRlLAogCQkJICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgc3RydWN0IGlu dGVsX2NydGMgKmNydGMpCiB7Ci0JaW50ZWxfdGNfcG9ydF9wdXRfbGluayhlbmNfdG9fZGlnX3Bv cnQoJmVuY29kZXItPmJhc2UpKTsKKwlpbnRlbF90Y19wb3J0X3B1dF9saW5rKGVuY190b19kaWdf cG9ydChlbmNvZGVyKSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00MTY1LDcgKzQxNjYsNyBAQCBp bnRlbF9kZGlfcHJlX3BsbF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ CQkgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRl dik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCWVudW0gcGh5IHBoeSA9IGludGVsX3BvcnRf dG9fcGh5KGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKIAlib29sIGlzX3RjX3BvcnQgPSBpbnRl bF9waHlfaXNfdGMoZGV2X3ByaXYsIHBoeSk7CiAKQEAgLTQxOTMsNyArNDE5NCw3IEBAIGludGVs X2RkaV9wb3N0X3BsbF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJ ICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRl dik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCWVudW0gcGh5IHBoeSA9IGludGVsX3BvcnRf dG9fcGh5KGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKIAlib29sIGlzX3RjX3BvcnQgPSBpbnRl bF9waHlfaXNfdGMoZGV2X3ByaXYsIHBoeSk7CiAKQEAgLTQ0ODAsNyArNDQ4MSw3IEBAIHN0YXRp YyBpbnQgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCiBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCh0b19pbnRlbF9lbmNvZGVyKGVuY29kZXIpKTsK IAogCWludGVsX2RwX2VuY29kZXJfZmx1c2hfd29yayhlbmNvZGVyKTsKIApAQCAtNDU0Nyw3ICs0 NTQ4LDcgQEAgc3RhdGljIGludCBpbnRlbF9oZG1pX3Jlc2V0X2xpbmsoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCQkJIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4 KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9oZG1pICpoZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9oZG1pICpoZG1pID0gZW5jX3RvX2lu dGVsX2hkbWkoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0g aGRtaS0+YXR0YWNoZWRfY29ubmVjdG9yOwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9 CiAJCWludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LCBoZG1pLT5kZGNfYnVzKTsKQEAg LTQ2MTksNyArNDYyMCw3IEBAIGludGVsX2RkaV9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICBi b29sIGlycV9yZWNlaXZlZCkKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJc3RydWN0IGRy bV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKIAllbnVtIGludGVsX2hvdHBsdWdfc3RhdGUgc3Rh dGU7CiAJaW50IHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmMKaW5kZXggOTlhYmM1NTNhOGFiLi40NTU2OGE3YzY1NzkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0xNDUwNSw3ICsxNDUwNSw3IEBA IHN0YXRpYyB2b2lkIGludGVsX3NldF9kcF90cF9jdGxfbm9ybWFsKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLAogCQlpZiAoY29ubl9zdGF0ZS0+Y3J0YyA9PSAmY3J0Yy0+YmFzZSkKIAkJCWJyZWFr OwogCX0KLQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmaW50ZWxfYXR0YWNoZWRfZW5jb2Rl cih0b19pbnRlbF9jb25uZWN0b3IoY29ubikpLT5iYXNlKTsKKwlpbnRlbF9kcCA9IGVuY190b19p bnRlbF9kcChpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uKSkp OwogCWludGVsX2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7CiB9CiAKQEAgLTE3NzYzLDcg KzE3NzYzLDcgQEAgaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkvKiBXZSBuZWVkIHRvIHNhbml0aXplIG9ubHkgdGhlIE1TVCBwcmltYXJ5IHBv cnQuICovCiAJCWlmIChlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EUF9NU1QgJiYKIAkJ ICAgIGludGVsX3BoeV9pc190YyhkZXZfcHJpdiwgcGh5KSkKLQkJCWludGVsX3RjX3BvcnRfc2Fu aXRpemUoZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKSk7CisJCQlpbnRlbF90Y19wb3J0 X3Nhbml0aXplKGVuY190b19kaWdfcG9ydChlbmNvZGVyKSk7CiAJfQogCiAJZ2V0X2VuY29kZXJf cG93ZXJfZG9tYWlucyhkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCmluZGV4IGNlMWI2NGY0ZGQ0NC4uNzM5NWNiMDEx MWEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXlfcG93ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXlfcG93ZXIuYwpAQCAtNTE5LDcgKzUxOSw3IEBAIHN0YXRpYyB2b2lkIGljbF90Y19wb3J0X2Fz c2VydF9yZWZfaGVsZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWlmIChl bmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9EUF9NU1QpCiAJCQljb250aW51ZTsKIAotCQlk aWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJCWRpZ19wb3J0ID0g ZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCQlpZiAoV0FSTl9PTighZGlnX3BvcnQpKQogCQkJ Y29udGludWU7CiAKQEAgLTE2NjksOCArMTY2OSw4IEBAIHZvaWQgY2h2X3BoeV9wb3dlcmdhdGVf bGFuZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0 IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93ZXJfZG9t YWluczsKLQllbnVtIGRwaW9fcGh5IHBoeSA9IHZsdl9kcG9ydF90b19waHkoZW5jX3RvX2RpZ19w b3J0KCZlbmNvZGVyLT5iYXNlKSk7Ci0JZW51bSBkcGlvX2NoYW5uZWwgY2ggPSB2bHZfZHBvcnRf dG9fY2hhbm5lbChlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpKTsKKwllbnVtIGRwaW9f cGh5IHBoeSA9IHZsdl9kcG9ydF90b19waHkoZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpKTsKKwll bnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGVuY190b19kaWdfcG9y dChlbmNvZGVyKSk7CiAKIAltdXRleF9sb2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVz LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaApp bmRleCA0ZDg5ZGU1YTQ5NjQuLjc5Yzc0NTRmZjUxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTE0NTQsMTIgKzE0NTQs MTIgQEAgc3RhdGljIGlubGluZSBib29sIGludGVsX2VuY29kZXJfaXNfZGlnX3BvcnQoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqCi1lbmNfdG9fZGlnX3BvcnQoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyKQorZW5jX3RvX2RpZ19wb3J0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewot CXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gdG9faW50ZWxfZW5jb2Rlcihl bmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGVuY29kZXI7 CiAKIAlpZiAoaW50ZWxfZW5jb2Rlcl9pc19kaWdfcG9ydChpbnRlbF9lbmNvZGVyKSkKLQkJcmV0 dXJuIGNvbnRhaW5lcl9vZihlbmNvZGVyLCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0LAorCQly ZXR1cm4gY29udGFpbmVyX29mKCZlbmNvZGVyLT5iYXNlLCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0LAogCQkJCSAgICBiYXNlLmJhc2UpOwogCWVsc2UKIAkJcmV0dXJuIE5VTEw7CkBAIC0xNDY4 LDE2ICsxNDY4LDE3IEBAIGVuY190b19kaWdfcG9ydChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKgogY29ubl90b19k aWdfcG9ydChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0JcmV0dXJuIGVu Y190b19kaWdfcG9ydCgmaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpLT5iYXNlKTsK KwlyZXR1cm4gZW5jX3RvX2RpZ19wb3J0KGludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9y KSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICoKLWVu Y190b19tc3Qoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQorZW5jX3RvX21zdChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKLQlyZXR1cm4gY29udGFpbmVyX29mKGVuY29kZXIs IHN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciwgYmFzZS5iYXNlKTsKKwlyZXR1cm4gY29udGFp bmVyX29mKCZlbmNvZGVyLT5iYXNlLCBzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIsCisJCQkg ICAgYmFzZS5iYXNlKTsKIH0KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZHAgKmVuY190 b19pbnRlbF9kcChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgaW5saW5lIHN0 cnVjdCBpbnRlbF9kcCAqZW5jX3RvX2ludGVsX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQogewogCXJldHVybiAmZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpLT5kcDsKIH0KQEAgLTE0 OTAsMTQgKzE0OTEsMTQgQEAgc3RhdGljIGlubGluZSBib29sIGludGVsX2VuY29kZXJfaXNfZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCXJldHVybiB0cnVlOwogCWNhc2UgSU5U RUxfT1VUUFVUX0RESToKIAkJLyogU2tpcCBwdXJlIEhETUkvRFZJIERESSBlbmNvZGVycyAqLwot CQlyZXR1cm4gaTkxNV9tbWlvX3JlZ192YWxpZChlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJh c2UpLT5vdXRwdXRfcmVnKTsKKwkJcmV0dXJuIGk5MTVfbW1pb19yZWdfdmFsaWQoZW5jX3RvX2lu dGVsX2RwKGVuY29kZXIpLT5vdXRwdXRfcmVnKTsKIAlkZWZhdWx0OgogCQlyZXR1cm4gZmFsc2U7 CiAJfQogfQogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRlbF9sc3Bjb24gKgotZW5jX3RvX2lu dGVsX2xzcGNvbihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCitlbmNfdG9faW50ZWxfbHNw Y29uKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXJldHVybiAmZW5jX3RvX2Rp Z19wb3J0KGVuY29kZXIpLT5sc3Bjb247CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmMKaW5kZXggNjY4YjYzNmZjZmFhLi45M2YzZDIzMmZjYjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKQEAgLTE0OCw3ICsxNDgsNyBAQCBib29sIGludGVs X2RwX2lzX2VkcChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiBzdGF0aWMgc3RydWN0IGlu dGVsX2RwICppbnRlbF9hdHRhY2hlZF9kcChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpCiB7Ci0JcmV0dXJuIGVuY190b19pbnRlbF9kcCgmaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihj b25uZWN0b3IpLT5iYXNlKTsKKwlyZXR1cm4gZW5jX3RvX2ludGVsX2RwKGludGVsX2F0dGFjaGVk X2VuY29kZXIoY29ubmVjdG9yKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX2RwX2xpbmtfZG93 bihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTgzNCw3ICs4MzQsNyBAQCBzdGF0 aWMgZW51bSBwaXBlIHZsdl9maW5kX2ZyZWVfcHBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAkgKiBQaWNrIG9uZSB0aGF0J3Mgbm90IHVzZWQgYnkgb3RoZXIgcG9ydHMuCiAJ ICovCiAJZm9yX2VhY2hfaW50ZWxfZHAoJmRldl9wcml2LT5kcm0sIGVuY29kZXIpIHsKLQkJc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7 CisJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7 CiAKIAkJaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewogCQkJV0FSTl9P TihpbnRlbF9kcC0+YWN0aXZlX3BpcGUgIT0gSU5WQUxJRF9QSVBFICYmCkBAIC0xMDMxLDcgKzEw MzEsNyBAQCB2b2lkIGludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJICovCiAKIAlmb3JfZWFjaF9pbnRlbF9kcCgmZGV2X3ByaXYt PmRybSwgZW5jb2RlcikgewotCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2lu dGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVu Y190b19pbnRlbF9kcChlbmNvZGVyKTsKIAogCQlXQVJOX09OKGludGVsX2RwLT5hY3RpdmVfcGlw ZSAhPSBJTlZBTElEX1BJUEUpOwogCkBAIC0yMTY1LDcgKzIxNjUsNyBAQCBpbnRlbF9kcF9jb21w dXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9k ZTsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVy LT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVu Y29kZXIpOwogCXN0cnVjdCBsaW5rX2NvbmZpZ19saW1pdHMgbGltaXRzOwogCWludCBjb21tb25f bGVuOwogCWludCByZXQ7CkBAIC0yMzI2LDggKzIzMjYsOCBAQCBpbnRlbF9kcF9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0 ZWRfbW9kZTsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZl bmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSBlbmNfdG9faW50 ZWxfbHNwY29uKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0g ZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOworCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9 IGVuY190b19pbnRlbF9sc3Bjb24oZW5jb2Rlcik7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVy LT5wb3J0OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhw aXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwpAQCAtMjQ0Miw3ICsyNDQy LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50 ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNf dG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owog CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFw aS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9 ICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsKQEAgLTI5NDAsNyArMjk0MCw3IEBAIHN0 YXRpYyB2b2lkIF9pbnRlbF9lZHBfYmFja2xpZ2h0X29uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiB2b2lkIGludGVsX2VkcF9iYWNrbGlnaHRfb24oY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19p bnRlbF9kcChjb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAodG9faW50ZWxfZW5jb2Rlcihjb25uX3N0YXRlLT5iZXN0 X2VuY29kZXIpKTsKIAogCWlmICghaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKIAkJcmV0dXJu OwpAQCAtMjk3OCw3ICsyOTc4LDcgQEAgc3RhdGljIHZvaWQgX2ludGVsX2VkcF9iYWNrbGlnaHRf b2ZmKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAvKiBEaXNhYmxlIGJhY2tsaWdodCBQUCBj b250cm9sIGFuZCBiYWNrbGlnaHQgUFdNLiAqLwogdm9pZCBpbnRlbF9lZHBfYmFja2xpZ2h0X29m Zihjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7Ci0J c3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChvbGRfY29ubl9zdGF0 ZS0+YmVzdF9lbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2lu dGVsX2RwKHRvX2ludGVsX2VuY29kZXIob2xkX2Nvbm5fc3RhdGUtPmJlc3RfZW5jb2RlcikpOwog CiAJaWYgKCFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQogCQlyZXR1cm47CkBAIC0zMjE4LDcg KzMyMTgsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBlbnVtIHBpcGUgKnBpcGUpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0J c3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFz ZSk7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVy KTsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKIAlib29sIHJldDsKIApAQCAtMzIzOSw3ICsz MjM5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcp CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVy LT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9k cCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19p bnRlbF9kcChlbmNvZGVyKTsKIAl1MzIgdG1wLCBmbGFncyA9IDA7CiAJZW51bSBwb3J0IHBvcnQg PSBlbmNvZGVyLT5wb3J0OwogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKQEAgLTMzMjMsNyArMzMyMyw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkg ICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCSAg ICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewot CXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJh c2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rl cik7CiAKIAlpbnRlbF9kcC0+bGlua190cmFpbmVkID0gZmFsc2U7CiAKQEAgLTMzNTcsNyArMzM1 Nyw3IEBAIHN0YXRpYyB2b2lkIGc0eF9wb3N0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRj X3N0YXRlLAogCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9z dGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZl bmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVs X2RwKGVuY29kZXIpOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKIAogCS8qCkBA IC0zNTA4LDcgKzM1MDgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9k cCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJdTMyIGRwX3Jl ZyA9IEk5MTVfUkVBRChpbnRlbF9kcC0+b3V0cHV0X3JlZyk7CiAJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwpAQCAtMzU2OCw3ICszNTY4LDcgQEAgc3RhdGljIHZvaWQgZzR4X3ByZV9lbmFi bGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJCQkgICAgICBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCWVudW0gcG9ydCBwb3J0 ID0gZW5jb2Rlci0+cG9ydDsKIAogCWludGVsX2RwX3ByZXBhcmUoZW5jb2RlciwgcGlwZV9jb25m aWcpOwpAQCAtMzYxOCw3ICszNjE4LDcgQEAgc3RhdGljIHZvaWQgdmx2X3N0ZWFsX3Bvd2VyX3Nl cXVlbmNlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJbG9ja2RlcF9hc3Nl cnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CiAKIAlmb3JfZWFjaF9pbnRlbF9kcCgmZGV2 X3ByaXYtPmRybSwgZW5jb2RlcikgewotCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwkJc3RydWN0IGludGVsX2RwICppbnRlbF9k cCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAogCQlXQVJOKGludGVsX2RwLT5hY3RpdmVf cGlwZSA9PSBwaXBlLAogCQkgICAgICJzdGVhbGluZyBwaXBlICVjIHBvd2VyIHNlcXVlbmNlciBm cm9tIGFjdGl2ZSBbRU5DT0RFUjolZDolc11cbiIsCkBAIC0zNjQxLDcgKzM2NDEsNyBAQCBzdGF0 aWMgdm9pZCB2bHZfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBl bmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxk KCZkZXZfcHJpdi0+cHBzX211dGV4KTsKQEAgLTQxNjMsNyArNDE2Myw3IEBAIGludGVsX2RwX2xp bmtfZG93bihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKIAl1MzIgRFAgPSBpbnRl bF9kcC0+RFA7CkBAIC01MDU2LDcgKzUwNTYsNyBAQCBpbnQgaW50ZWxfZHBfcmV0cmFpbl9saW5r KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICBzdHJ1Y3QgZHJtX21vZGVzZXRf YWNxdWlyZV9jdHggKmN0eCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw ID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7CiAJc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGU7CkBAIC01NDk2LDcgKzU0OTYsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jb21i b19waHlfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRp YyBib29sIGljcF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKIAllbnVtIHBoeSBw aHkgPSBpbnRlbF9wb3J0X3RvX3BoeShkZXZfcHJpdiwgZW5jb2Rlci0+cG9ydCk7CiAKIAlpZiAo aW50ZWxfcGh5X2lzX2NvbWJvKGRldl9wcml2LCBwaHkpKQpAQCAtNTc5OSw3ICs1Nzk5LDcgQEAg aW50ZWxfZHBfY29ubmVjdG9yX3VucmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAogdm9pZCBpbnRlbF9kcF9lbmNvZGVyX2ZsdXNoX3dvcmsoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KHRvX2ludGVsX2VuY29kZXIoZW5j b2RlcikpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRw OwogCiAJaW50ZWxfZHBfbXN0X2VuY29kZXJfY2xlYW51cChpbnRlbF9kaWdfcG9ydCk7CkBAIC01 ODI4LDEyICs1ODI4LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2VuY29kZXJfZGVzdHJveShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJaW50ZWxfZHBfZW5jb2Rlcl9mbHVzaF93b3Jr KGVuY29kZXIpOwogCiAJZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKLQlrZnJlZShlbmNf dG9fZGlnX3BvcnQoZW5jb2RlcikpOworCWtmcmVlKGVuY190b19kaWdfcG9ydCh0b19pbnRlbF9l bmNvZGVyKGVuY29kZXIpKSk7CiB9CiAKIHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9zdXNwZW5kKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQogewotCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmludGVsX2VuY29kZXItPmJhc2UpOworCXN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoaW50ZWxfZW5jb2Rlcik7CiAJ aW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CiAKIAlpZiAoIWludGVsX2RwX2lzX2VkcChpbnRlbF9k cCkpCkBAIC01ODY0LDcgKzU4NjQsNyBAQCBzdGF0aWMKIGludCBpbnRlbF9kcF9oZGNwX3dyaXRl X2FuX2Frc3Yoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkJ dTggKmFuKQogewotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAo JmludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAg PSBlbmNfdG9faW50ZWxfZHAodG9faW50ZWxfZW5jb2RlcigmaW50ZWxfZGlnX3BvcnQtPmJhc2Uu YmFzZSkpOwogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2RwX2F1eF9tc2cgbXNnID0gewogCQku cmVxdWVzdCA9IERQX0FVWF9OQVRJVkVfV1JJVEUsCiAJCS5hZGRyZXNzID0gRFBfQVVYX0hEQ1Bf QUtTViwKQEAgLTY0NzQsNyArNjQ3NCw3IEBAIHN0YXRpYyBlbnVtIHBpcGUgdmx2X2FjdGl2ZV9w aXBlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB2b2lkIGludGVsX2RwX2VuY29kZXJfcmVz ZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOworCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAodG9faW50ZWxfZW5jb2RlcihlbmNvZGVyKSk7CiAJ c3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uID0gZHBfdG9fbHNwY29uKGludGVsX2RwKTsKIAlp bnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKIApAQCAtNzYyMCw3ICs3NjIwLDcgQEAgdm9pZCBpbnRl bF9kcF9tc3Rfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWlm IChlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EREkpCiAJCQljb250aW51ZTsKIAotCQlp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJCWludGVsX2RwID0g ZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCiAJCWlmICghaW50ZWxfZHAtPmNhbl9tc3QpCiAJ CQljb250aW51ZTsKQEAgLTc2NDEsNyArNzY0MSw3IEBAIHZvaWQgaW50ZWxfZHBfbXN0X3Jlc3Vt ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWlmIChlbmNvZGVyLT50eXBl ICE9IElOVEVMX09VVFBVVF9EREkpCiAJCQljb250aW51ZTsKIAotCQlpbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2Rw KGVuY29kZXIpOwogCiAJCWlmICghaW50ZWxfZHAtPmNhbl9tc3QpCiAJCQljb250aW51ZTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2JhY2ts aWdodC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9hdXhfYmFja2xp Z2h0LmMKaW5kZXggMDIwNDIyZGEyYWUyLi43YzY1M2Y4YzMwN2YgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jCkBAIC01 Nyw3ICs1Nyw3IEBAIHN0YXRpYyB2b2lkIHNldF9hdXhfYmFja2xpZ2h0X2VuYWJsZShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwLCBib29sIGVuYWJsZSkKICAqLwogc3RhdGljIHUzMiBpbnRlbF9k cF9hdXhfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7 Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmY29ubmVjdG9y LT5lbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2lu dGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7CiAJdTggcmVhZF92YWxbMl0gPSB7IDB4MCB9Owog CXUxNiBsZXZlbCA9IDA7CiAKQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIHZvaWQKIGludGVsX2Rw X2F1eF9zZXRfYmFja2xpZ2h0KGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlLCB1MzIgbGV2ZWwpCiB7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7Ci0Jc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmY29ubmVjdG9yLT5lbmNvZGVyLT5i YXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5l Y3Rvci0+ZW5jb2Rlcik7CiAJdTggdmFsc1syXSA9IHsgMHgwIH07CiAKIAl2YWxzWzBdID0gbGV2 ZWw7CkBAIC0xMTAsNyArMTEwLDcgQEAgaW50ZWxfZHBfYXV4X3NldF9iYWNrbGlnaHQoY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsIHUzMiBsZXYKIHN0YXRpYyBi b29sIGludGVsX2RwX2F1eF9zZXRfcHdtX2ZyZXEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y29ubmVjdG9yLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmY29ubmVjdG9yLT5lbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7CiAJaW50IGZy ZXEsIGZ4cCwgZnhwX21pbiwgZnhwX21heCwgZnhwX2FjdHVhbCwgZiA9IDE7CiAJdTggcG4sIHBu X21pbiwgcG5fbWF4OwogCkBAIC0xNzgsNyArMTc4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBf YXV4X2VuYWJsZV9iYWNrbGlnaHQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3QKIAkJCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkK IHsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0 b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0g ZW5jX3RvX2ludGVsX2RwKCZjb25uZWN0b3ItPmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoY29ubmVjdG9yLT5lbmNvZGVyKTsKIAl1 OCBkcGNkX2J1ZiwgbmV3X2RwY2RfYnVmLCBlZHBfYmFja2xpZ2h0X21vZGU7CiAKIAlpZiAoZHJt X2RwX2RwY2RfcmVhZGIoJmludGVsX2RwLT5hdXgsCkBAIC0yMjIsMTMgKzIyMiwxNCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kcF9hdXhfZW5hYmxlX2JhY2tsaWdodChjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdAogCiBzdGF0aWMgdm9pZCBpbnRlbF9kcF9hdXhfZGlzYWJsZV9i YWNrbGlnaHQoY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRl KQogewotCXNldF9hdXhfYmFja2xpZ2h0X2VuYWJsZShlbmNfdG9faW50ZWxfZHAob2xkX2Nvbm5f c3RhdGUtPmJlc3RfZW5jb2RlciksIGZhbHNlKTsKKwlzZXRfYXV4X2JhY2tsaWdodF9lbmFibGUo ZW5jX3RvX2ludGVsX2RwKHRvX2ludGVsX2VuY29kZXIob2xkX2Nvbm5fc3RhdGUtPmJlc3RfZW5j b2RlcikpLAorCQkJCSBmYWxzZSk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfZHBfYXV4X3NldHVw X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCWVudW0g cGlwZSBwaXBlKQogewotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoJmNvbm5lY3Rvci0+ZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9k cCA9IGVuY190b19pbnRlbF9kcChjb25uZWN0b3ItPmVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAogCWlmIChpbnRlbF9kcC0+ZWRwX2Rw Y2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1NfQllURV9DT1VOVCkKQEAgLTI0Nyw3 ICsyNDgsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2F1eF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogc3RhdGljIGJvb2wKIGludGVsX2RwX2F1eF9k aXNwbGF5X2NvbnRyb2xfY2FwYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip CiB7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmY29ubmVj dG9yLT5lbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3Rv X2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7CiAKIAkvKiBDaGVjayB0aGUgZURQIERpc3Bs YXkgY29udHJvbCBjYXBhYmlsaXRpZXMgcmVnaXN0ZXJzIHRvIGRldGVybWluZSBpZgogCSAqIHRo ZSBwYW5lbCBjYW4gc3VwcG9ydCBiYWNrbGlnaHQgY29udHJvbCBvdmVyIHRoZSBhdXggY2hhbm5l bApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3Qu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmMKaW5kZXggYTFl NGY0MTk3YTY3Li5hZjdmNmQ2NzBlMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYwpAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX21z dF9jb21wdXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJ CQkgICAgc3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyAqbGltaXRzKQogewogCXN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7Ci0Jc3RydWN0IGlu dGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNl KTsKKwlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKmludGVsX21zdCA9IGVuY190b19tc3Qo ZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9tc3QtPnByaW1h cnktPmRwOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9CiAJCXRvX2ludGVs X2Nvbm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpOwpAQCAtOTIsNyArOTIsNyBAQCBzdGF0 aWMgaW50IGludGVsX2RwX21zdF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3Rh dGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3Qg PSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29k ZXIgKmludGVsX21zdCA9IGVuY190b19tc3QoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9ICZpbnRlbF9tc3QtPnByaW1hcnktPmRwOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciA9CiAJCXRvX2ludGVsX2Nvbm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0 b3IpOwpAQCAtMTk1LDcgKzE5NSw3IEBAIGludGVsX2RwX21zdF9hdG9taWNfY2hlY2soc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCXJldHVybiAwOwogCX0KIAotCW1nciA9ICZl bmNfdG9fbXN0KG9sZF9jb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpLT5wcmltYXJ5LT5kcC5tc3Rf bWdyOworCW1nciA9ICZlbmNfdG9fbXN0KHRvX2ludGVsX2VuY29kZXIob2xkX2Nvbm5fc3RhdGUt PmJlc3RfZW5jb2RlcikpLT5wcmltYXJ5LT5kcC5tc3RfbWdyOwogCXJldCA9IGRybV9kcF9hdG9t aWNfcmVsZWFzZV92Y3BpX3Nsb3RzKHN0YXRlLCBtZ3IsCiAJCQkJCSAgICAgICBpbnRlbF9jb25u ZWN0b3ItPnBvcnQpOwogCkBAIC0yMDYsNyArMjA2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0 X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJIGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCQkgY29uc3Qgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9k cF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7CisJ c3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KGVuY29k ZXIpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gaW50ZWxf bXN0LT5wcmltYXJ5OwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3Bv cnQtPmRwOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9CkBAIC0yMzAsNyAr MjMwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2Rl ciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVs X2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KGVuY29kZXIpOwogCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5 OwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwogCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9CkBAIC0yNjcsNyArMjY3LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfbXN0X3ByZV9wbGxfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCiAJCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQog ewotCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgm ZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3Qg PSBlbmNfdG9fbXN0KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5OwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwogCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfbXN0X3Bvc3RfcGxsX2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0 YXRlLAogCQkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9z dGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKmludGVsX21zdCA9IGVuY190 b19tc3QoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50 ZWxfbXN0ID0gZW5jX3RvX21zdChlbmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFyeTsKIAlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKIApAQCAtMjk0LDcgKzI5NCw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewotCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21z dCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9t c3QgPSBlbmNfdG9fbXN0KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5OwogCXN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtMzUyLDcgKzM1Miw3IEBA IHN0YXRpYyB2b2lkIGludGVsX21zdF9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAog CQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rl ci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNf dG9fbXN0KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5OwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAm aW50ZWxfZGlnX3BvcnQtPmRwOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtMzczLDcgKzM3Myw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX21zdF9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiBz dGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfZW5jX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJCQkgICAgICBlbnVtIHBpcGUgKnBpcGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNl KTsKKwlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKmludGVsX21zdCA9IGVuY190b19tc3Qo ZW5jb2Rlcik7CiAJKnBpcGUgPSBpbnRlbF9tc3QtPnBpcGU7CiAJaWYgKGludGVsX21zdC0+Y29u bmVjdG9yKQogCQlyZXR1cm4gdHJ1ZTsKQEAgLTM4Myw3ICszODMsNyBAQCBzdGF0aWMgYm9vbCBp bnRlbF9kcF9tc3RfZW5jX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIHN0YXRpYyB2b2lkIGludGVsX2RwX21zdF9lbmNfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKQogewotCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3Rv X21zdCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRl bF9tc3QgPSBlbmNfdG9fbXN0KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5OwogCiAJaW50ZWxfZGRpX2dldF9j b25maWcoJmludGVsX2RpZ19wb3J0LT5iYXNlLCBwaXBlX2NvbmZpZyk7CkBAIC00OTEsNyArNDkx LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBpbnRl bF9kcF9tc3RfY29ubmVjdG9yX2hlbHBlcl9mdW4KIAogc3RhdGljIHZvaWQgaW50ZWxfZHBfbXN0 X2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7Ci0Jc3RydWN0 IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KGVuY29kZXIpOwor CXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCh0b19p bnRlbF9lbmNvZGVyKGVuY29kZXIpKTsKIAogCWRybV9lbmNvZGVyX2NsZWFudXAoZW5jb2Rlcik7 CiAJa2ZyZWUoaW50ZWxfbXN0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHBpb19waHkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZHBpb19waHkuYwppbmRleCA3MDRmMzg2ODFjNGIuLjZmYjFmN2E3MzY0ZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGlvX3BoeS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBpb19waHkuYwpAQCAtNjQyLDcgKzY0 Miw3IEBAIHZvaWQgY2h2X3NldF9waHlfc2lnbmFsX2xldmVsKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICAgICAgYm9vbCB1bmlxX3RyYW5zX3NjYWxlKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNv ZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19k aWdfcG9ydChlbmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZs dl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMt PnBpcGU7CkBAIC03MzgsNyArNzM4LDcgQEAgdm9pZCBjaHZfZGF0YV9sYW5lX3NvZnRfcmVzZXQo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICBib29sIHJlc2V0KQogewog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFz ZS5kZXYpOwotCWVudW0gZHBpb19jaGFubmVsIGNoID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZW5j X3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKSk7CisJZW51bSBkcGlvX2NoYW5uZWwgY2ggPSB2 bHZfZHBvcnRfdG9fY2hhbm5lbChlbmNfdG9fZGlnX3BvcnQoZW5jb2RlcikpOwogCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtNzgxLDcgKzc4MSw3 IEBAIHZvaWQgY2h2X2RhdGFfbGFuZV9zb2Z0X3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogdm9pZCBjaHZfcGh5X3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19w b3J0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9 IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9f Y2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsKQEAgLTg2MSw3ICs4NjEs NyBAQCB2b2lkIGNodl9waHlfcHJlX3BsbF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiB2b2lkIGNodl9waHlfcHJlX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVu Y29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQgPSBkcF90b19k aWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CkBAIC05NDAsNyArOTQwLDcgQEAg dm9pZCBjaHZfcGh5X3ByZV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAogdm9pZCBjaHZfcGh5X3JlbGVhc2VfY2wyX292ZXJyaWRlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0g ZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpkcG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAogCWlmIChk cG9ydC0+cmVsZWFzZV9jbDJfb3ZlcnJpZGUpIHsKQEAgLTk4OSw3ICs5ODksNyBAQCB2b2lkIHZs dl9zZXRfcGh5X3NpZ25hbF9sZXZlbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo ZW5jb2Rlci0+YmFzZS5jcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9 IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZHBvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJZW51bSBkcGlvX2NoYW5u ZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9 IGludGVsX2NydGMtPnBpcGU7CiAKQEAgLTEwMTQsNyArMTAxNCw3IEBAIHZvaWQgdmx2X3NldF9w aHlfc2lnbmFsX2xldmVsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogdm9pZCB2bHZf cGh5X3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNl KTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19kaWdfcG9ydChl bmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBwb3J0ID0gdmx2 X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOwpAQCAtMTA0Myw3ICsxMDQzLDcgQEAgdm9pZCB2bHZf cGh5X3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogdm9pZCB2 bHZfcGh5X3ByZV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsK KwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwog CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxf ZHApOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwpAQCAtMTA3Myw3ICsxMDczLDcgQEAgdm9pZCB2bHZfcGh5 X3ByZV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHZvaWQg dmx2X3BoeV9yZXNldF9sYW5lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJh c2UpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0 KGVuY29kZXIpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBwb3J0 ID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kcGxsX21nci5jCmluZGV4IDcyOGE0YjA0NWRlNy4uYzc1ZTM0ZDg3MTEx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jCkBA IC0yOTcyLDggKzI5NzIsOCBAQCBzdGF0aWMgdm9pZCBpY2xfdXBkYXRlX2FjdGl2ZV9kcGxsKHN0 cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCWVudW0gaWNsX3BvcnRfZHBsbF9pZCBw b3J0X2RwbGxfaWQgPSBJQ0xfUE9SVF9EUExMX0RFRkFVTFQ7CiAKIAlwcmltYXJ5X3BvcnQgPSBl bmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9EUF9NU1QgPwotCQllbmNfdG9fbXN0KCZlbmNv ZGVyLT5iYXNlKS0+cHJpbWFyeSA6Ci0JCWVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7 CisJCWVuY190b19tc3QoZW5jb2RlciktPnByaW1hcnkgOgorCQllbmNfdG9fZGlnX3BvcnQoZW5j b2Rlcik7CiAKIAlpZiAocHJpbWFyeV9wb3J0ICYmCiAJICAgIChwcmltYXJ5X3BvcnQtPnRjX21v ZGUgPT0gVENfUE9SVF9EUF9BTFQgfHwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHNpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RzaS5oCmluZGV4IGIxNWJlNTgxNDU5OS4uOTdiMThhYjY5MzcwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmgKQEAgLTE0MSw5ICsxNDEsOSBAQCBzdGF0aWMgaW5s aW5lIHN0cnVjdCBpbnRlbF9kc2lfaG9zdCAqdG9faW50ZWxfZHNpX2hvc3Qoc3RydWN0IG1pcGlf ZHNpX2hvc3QgKmgpCiAjZGVmaW5lIGZvcl9lYWNoX2RzaV9waHkoX19waHksIF9fcGh5c19tYXNr KSBcCiAJZm9yX2VhY2hfcGh5X21hc2tlZChfX3BoeSwgX19waHlzX21hc2spCiAKLXN0YXRpYyBp bmxpbmUgc3RydWN0IGludGVsX2RzaSAqZW5jX3RvX2ludGVsX2RzaShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRlbF9kc2kgKmVuY190b19pbnRl bF9kc2koc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7Ci0JcmV0dXJuIGNvbnRhaW5l cl9vZihlbmNvZGVyLCBzdHJ1Y3QgaW50ZWxfZHNpLCBiYXNlLmJhc2UpOworCXJldHVybiBjb250 YWluZXJfb2YoJmVuY29kZXItPmJhc2UsIHN0cnVjdCBpbnRlbF9kc2ksIGJhc2UuYmFzZSk7CiB9 CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc192aWRfbW9kZShzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2kpCkBAIC0xNTgsNyArMTU4LDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzX2NtZF9tb2Rl KHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSkKIAogc3RhdGljIGlubGluZSB1MTYgaW50ZWxf ZHNpX2VuY29kZXJfcG9ydHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7Ci0JcmV0 dXJuIGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpLT5wb3J0czsKKwlyZXR1cm4gZW5j X3RvX2ludGVsX2RzaShlbmNvZGVyKS0+cG9ydHM7CiB9CiAKIC8qIGljbF9kc2kuYyAqLwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2lfZGNzX2JhY2ts aWdodC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2lfZGNzX2JhY2ts aWdodC5jCmluZGV4IGJiM2ZkOGI3ODZhMi4uYzg3ODM4ODQzZDBiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaV9kY3NfYmFja2xpZ2h0LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2lfZGNzX2JhY2tsaWdodC5jCkBA IC00Niw3ICs0Niw3IEBACiBzdGF0aWMgdTMyIGRjc19nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCXN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKmRzaV9kZXZpY2U7CiAJdTggZGF0YSA9IDA7CiAJZW51bSBwb3J0IHBvcnQ7CkBAIC02NCw3 ICs2NCw3IEBAIHN0YXRpYyB1MzIgZGNzX2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMgdm9pZCBkY3Nfc2V0X2JhY2tsaWdodChjb25zdCBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwgdTMyIGxldmVsKQogewotCXN0 cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koY29ubl9zdGF0ZS0+ YmVzdF9lbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50 ZWxfZHNpKHRvX2ludGVsX2VuY29kZXIoY29ubl9zdGF0ZS0+YmVzdF9lbmNvZGVyKSk7CiAJc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsKIAl1OCBkYXRhID0gbGV2ZWw7CiAJZW51 bSBwb3J0IHBvcnQ7CkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyB2b2lkIGRjc19zZXRfYmFja2xp Z2h0KGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLCB1MzIKIAog c3RhdGljIHZvaWQgZGNzX2Rpc2FibGVfYmFja2xpZ2h0KGNvbnN0IHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9 IGVuY190b19pbnRlbF9kc2koY29ubl9zdGF0ZS0+YmVzdF9lbmNvZGVyKTsKKwlzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKHRvX2ludGVsX2VuY29kZXIoY29u bl9zdGF0ZS0+YmVzdF9lbmNvZGVyKSk7CiAJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpX2Rl dmljZTsKIAllbnVtIHBvcnQgcG9ydDsKIApAQCAtMTEzLDcgKzExMyw3IEBAIHN0YXRpYyB2b2lk IGRjc19kaXNhYmxlX2JhY2tsaWdodChjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq Y29ubl9zdGF0ZSkKIHN0YXRpYyB2b2lkIGRjc19lbmFibGVfYmFja2xpZ2h0KGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBlbmNfdG9faW50ZWxfZHNpKGNvbm5fc3RhdGUtPmJlc3RfZW5jb2Rlcik7CisJc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSh0b19pbnRlbF9lbmNvZGVy KGNvbm5fc3RhdGUtPmJlc3RfZW5jb2RlcikpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwg PSAmdG9faW50ZWxfY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3RvciktPnBhbmVsOwogCXN0 cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaV9kZXZpY2U7CiAJZW51bSBwb3J0IHBvcnQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCmluZGV4IGE4ZGViNDc4OWYwNC4u ZTE3OWVlMDQ2Njg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWku YwpAQCAtODUsMTYgKzg1LDE3IEBAIGFzc2VydF9oZG1pX3RyYW5zY29kZXJfZnVuY19kaXNhYmxl ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICAgICAiSERNSSB0cmFuc2Nv ZGVyIGZ1bmN0aW9uIGVuYWJsZWQsIGV4cGVjdGluZyBkaXNhYmxlZFxuIik7CiB9CiAKLXN0cnVj dCBpbnRlbF9oZG1pICplbmNfdG9faW50ZWxfaGRtaShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCitzdHJ1Y3QgaW50ZWxfaGRtaSAqZW5jX3RvX2ludGVsX2hkbWkoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQgPQotCQljb250YWluZXJfb2YoZW5jb2Rlciwgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCwgYmFzZS5iYXNlKTsKKwkJY29udGFpbmVyX29mKCZlbmNvZGVyLT5iYXNlLCBzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0LAorCQkJICAgICBiYXNlLmJhc2UpOwogCXJldHVybiAmaW50ZWxfZGln X3BvcnQtPmhkbWk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfYXR0YWNo ZWRfaGRtaShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0JcmV0dXJuIGVu Y190b19pbnRlbF9oZG1pKCZpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5lY3RvciktPmJhc2Up OworCXJldHVybiBlbmNfdG9faW50ZWxfaGRtaShpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5l Y3RvcikpOwogfQogCiBzdGF0aWMgdTMyIGc0eF9pbmZvZnJhbWVfaW5kZXgodW5zaWduZWQgaW50 IHR5cGUpCkBAIC02MDIsNyArNjAzLDcgQEAgdTMyIGludGVsX2hkbWlfaW5mb2ZyYW1lc19lbmFi bGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwor CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVu Y29kZXIpOwogCXUzMiB2YWwsIHJldCA9IDA7CiAJaW50IGk7CiAKQEAgLTY0Niw3ICs2NDcsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCQkJICBlbnVtIGhkbWlfaW5mb2ZyYW1lX3R5cGUgdHlwZSwKIAkJCQkgIGNv bnN0IHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpmcmFtZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7 CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGln X3BvcnQoZW5jb2Rlcik7CiAJdTggYnVmZmVyW1ZJREVPX0RJUF9EQVRBX1NJWkVdOwogCXNzaXpl X3QgbGVuOwogCkBAIC02NzUsNyArNjc2LDcgQEAgdm9pZCBpbnRlbF9yZWFkX2luZm9mcmFtZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgZW51bSBoZG1pX2luZm9mcmFtZV90 eXBlIHR5cGUsCiAJCQkgIHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpmcmFtZSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5j b2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQg PSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJdTggYnVmZmVyW1ZJREVPX0RJUF9EQVRBX1NJ WkVdOwogCWludCByZXQ7CiAKQEAgLTg1NSw3ICs4NTYsNyBAQCBzdGF0aWMgdm9pZCBnNHhfc2V0 X2luZm9mcmFtZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAgY29u c3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0J c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9oZG1pICpp bnRlbF9oZG1pID0gJmludGVsX2RpZ19wb3J0LT5oZG1pOwogCWk5MTVfcmVnX3QgcmVnID0gVklE RU9fRElQX0NUTDsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7CkBAIC0xMDM4LDcgKzEwMzks NyBAQCBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Ci0Jc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2Up OworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2Rp Z19wb3J0KGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gJmludGVs X2RpZ19wb3J0LT5oZG1pOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxf Y3J0Yy0+cGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwpAQCAtMTA5Nyw3ICsxMDk4 LDcgQEAgc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwotCXN0cnVjdCBpbnRlbF9oZG1p ICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOworCXN0cnVj dCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7CiAJ aTkxNV9yZWdfdCByZWcgPSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKIAl1MzIg dmFsID0gSTkxNV9SRUFEKHJlZyk7CiAKQEAgLTExNDYsNyArMTE0Nyw3IEBAIHN0YXRpYyB2b2lk IHZsdl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVu Y190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50 ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwogCWk5MTVfcmVnX3QgcmVnID0g VkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwogCXUzMiB2YWwgPSBJOTE1X1JF QUQocmVnKTsKIAl1MzIgcG9ydCA9IFZJREVPX0RJUF9QT1JUKGVuY29kZXItPnBvcnQpOwpAQCAt MTczNyw3ICsxNzM4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9wcmVwYXJlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVy LT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPnVhcGkuY3J0Yyk7Ci0Jc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9f aW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hk bWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwog CXUzMiBoZG1pX3ZhbDsKIApAQCAtMTc3NCw3ICsxNzc1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxf aGRtaV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAg IGVudW0gcGlwZSAqcGlwZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxf aGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxf aGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwogCWludGVsX3dh a2VyZWZfdCB3YWtlcmVmOwogCWJvb2wgcmV0OwogCkBAIC0xNzkzLDcgKzE3OTQsNyBAQCBzdGF0 aWMgYm9vbCBpbnRlbF9oZG1pX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZykKIHsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1p KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190 b19pbnRlbF9oZG1pKGVuY29kZXIpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVy LT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CiAJdTMyIHRtcCwgZmxhZ3MgPSAwOwpAQCAtMTg3NCw3ICsxODc1LDcgQEAgc3RhdGlj IHZvaWQgZzR4X2VuYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0IGludGVsX2hk bWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7CisJc3Ry dWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsK IAl1MzIgdGVtcDsKIAogCXRlbXAgPSBJOTE1X1JFQUQoaW50ZWxfaGRtaS0+aGRtaV9yZWcpOwpA QCAtMTg5Niw3ICsxODk3LDcgQEAgc3RhdGljIHZvaWQgaWJ4X2VuYWJsZV9oZG1pKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNv ZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7Ci0Jc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxf aGRtaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBl bmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKIAl1MzIgdGVtcDsKIAogCXRlbXAgPSBJOTE1X1JF QUQoaW50ZWxfaGRtaS0+aGRtaV9yZWcpOwpAQCAtMTk0Nyw3ICsxOTQ4LDcgQEAgc3RhdGljIHZv aWQgY3B0X2VuYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOwotCXN0cnVjdCBpbnRl bF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwor CXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rl cik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCXUzMiB0ZW1wOwogCkBAIC0yMDA3 LDcgKzIwMDgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXIt PmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1p KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190 b19pbnRlbF9oZG1pKGVuY29kZXIpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0ID0KIAkJaGRtaV90b19kaWdfcG9ydChpbnRlbF9oZG1pKTsKIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 CkBAIC0yMzE2LDcgKzIzMTcsNyBAQCBzdGF0aWMgaW50IGludGVsX2hkbWlfY29tcHV0ZV9icGMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgIGludCBjbG9jaywgYm9vbCBmb3JjZV9kdmkpCiB7Ci0J c3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rl ci0+YmFzZSk7CisJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxf aGRtaShlbmNvZGVyKTsKIAlpbnQgYnBjOwogCiAJZm9yIChicGMgPSAxMjsgYnBjID49IDEwOyBi cGMgLT0gMikgewpAQCAtMjMzNCw3ICsyMzM1LDcgQEAgc3RhdGljIGludCBpbnRlbF9oZG1pX2Nv bXB1dGVfY2xvY2soc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgICBib29sIGZvcmNlX2R2aSkK IHsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZl bmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19p bnRlbF9oZG1pKGVuY29kZXIpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlID0KIAkJJmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CiAJaW50IGJwYywg Y2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrOwpAQCAtMjQwNCw3ICsyNDA1LDcgQEAg aW50IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJCQkg ICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNl KTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVu Y29kZXIpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl ID0gJnBpcGVfY29uZmlnLT5ody5hZGp1c3RlZF9tb2RlOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSBjb25uX3N0YXRlLT5jb25uZWN0b3I7CkBAIC0yNjYzLDcgKzI2NjQsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Ci0J CWVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJCWVuY190b19kaWdfcG9ydChlbmNv ZGVyKTsKIAogCWludGVsX2hkbWlfcHJlcGFyZShlbmNvZGVyLCBwaXBlX2NvbmZpZyk7CiAKQEAg LTI2NzYsNyArMjY3Nyw3IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9lbmFibGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnLAogCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3Rv X2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpk cG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAogCXZsdl9waHlfcHJl X2VuY29kZXJfZW5hYmxlKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKQEAgLTI3NDYsNyArMjc0Nyw3 IEBAIHN0YXRpYyB2b2lkIGNodl9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAogCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewot CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNv ZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19k aWdfcG9ydChlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFz ZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OwogCkBAIC0yOTA2LDcgKzI5MDcsNyBAQCBib29sIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2Ny YW1ibGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgICAgYm9vbCBz Y3JhbWJsaW5nKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0g ZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9oZG1pICpp bnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7CiAJc3RydWN0IGRybV9zY3Jh bWJsaW5nICpzaW5rX3NjcmFtYmxpbmcgPQogCQkmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRt aS5zY2RjLnNjcmFtYmxpbmc7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgKaW5kZXggY2YxZWE1NDI3NjM5Li5k MzY1OWQwYjQwOGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfaGRtaS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5o CkBAIC0yOSw3ICsyOSw3IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCBoZG1pX3JlZywKIAkJICAgICBlbnVtIHBvcnQg cG9ydCk7CiB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkgICAgICAgc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqaW50ZWxfY29ubmVjdG9yKTsKLXN0cnVjdCBpbnRlbF9oZG1pICplbmNfdG9faW50ZWxfaGRt aShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOworc3RydWN0IGludGVsX2hkbWkgKmVuY190 b19pbnRlbF9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKIGludCBpbnRlbF9o ZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAg ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJICAgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9ob3RwbHVnLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2hvdHBsdWcuYwppbmRleCBmYzI5MDQ2ZDQ4ZWEuLjk5ZDNhM2M3OTg5 ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9ob3RwbHVn LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9ob3RwbHVnLmMKQEAg LTMwMiw3ICszMDIsNyBAQCBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiBzdGF0aWMgYm9vbCBpbnRlbF9lbmNvZGVyX2hhc19ocGRfcHVsc2Uoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJcmV0dXJuIGludGVsX2VuY29kZXJfaXNf ZGlnX3BvcnQoZW5jb2RlcikgJiYKLQkJZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKS0+ aHBkX3B1bHNlICE9IE5VTEw7CisJCWVuY190b19kaWdfcG9ydChlbmNvZGVyKS0+aHBkX3B1bHNl ICE9IE5VTEw7CiB9CiAKIHN0YXRpYyB2b2lkIGk5MTVfZGlncG9ydF93b3JrX2Z1bmMoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQpAQCAtMzM1LDcgKzMzNSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVf ZGlncG9ydF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQlpZiAoIWxvbmdf aHBkICYmICFzaG9ydF9ocGQpCiAJCQljb250aW51ZTsKIAotCQlkaWdfcG9ydCA9IGVuY190b19k aWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJCWRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVu Y29kZXIpOwogCiAJCXJldCA9IGRpZ19wb3J0LT5ocGRfcHVsc2UoZGlnX3BvcnQsIGxvbmdfaHBk KTsKIAkJaWYgKHJldCA9PSBJUlFfTk9ORSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9sc3Bjb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfbHNwY29uLmMKaW5kZXggNTE0NWZmOGI5NjJiLi5kODA3YzU2NDhjODcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfbHNwY29uLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9sc3Bjb24uYwpAQCAtNDM0LDggKzQz NCw4IEBAIHZvaWQgbHNwY29uX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCSAgICBjb25zdCB2b2lkICpmcmFtZSwgc3NpemVfdCBsZW4pCiB7CiAJYm9v bCByZXQ7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5j b2Rlci0+YmFzZSk7Ci0Jc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uID0gZW5jX3RvX2ludGVs X2xzcGNvbigmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVu Y190b19pbnRlbF9kcChlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSBl bmNfdG9faW50ZWxfbHNwY29uKGVuY29kZXIpOwogCiAJLyogTFNQQ09OIG9ubHkgbmVlZHMgQVZJ IElGICovCiAJaWYgKHR5cGUgIT0gSERNSV9JTkZPRlJBTUVfVFlQRV9BVkkpCkBAIC00NzIsNyAr NDcyLDcgQEAgdm9pZCBsc3Bjb25fc2V0X2luZm9mcmFtZXMoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJc3NpemVfdCByZXQ7CiAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CiAJ dTggYnVmW1ZJREVPX0RJUF9EQVRBX1NJWkVdOwotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKIAlz dHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSAmZGlnX3BvcnQtPmxzcGNvbjsKIAljb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CiAJCSZjcnRjX3N0YXRlLT5o dy5hZGp1c3RlZF9tb2RlOwpAQCAtNTIyLDcgKzUyMiw3IEBAIHUzMiBsc3Bjb25faW5mb2ZyYW1l c19lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCS8qIEZJWE1FIGFjdHVh bGx5IHJlYWQgdGhpcyBmcm9tIHRoZSBodyAqLwotCXJldHVybiBlbmNfdG9faW50ZWxfbHNwY29u KCZlbmNvZGVyLT5iYXNlKS0+YWN0aXZlOworCXJldHVybiBlbmNfdG9faW50ZWxfbHNwY29uKGVu Y29kZXIpLT5hY3RpdmU7CiB9CiAKIHZvaWQgbHNwY29uX3Jlc3VtZShzdHJ1Y3QgaW50ZWxfbHNw Y29uICpsc3Bjb24pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3BpcGVfY3JjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BpcGVf Y3JjLmMKaW5kZXggMjc0NjUxMmY0NDY2Li41MjA0MDhlODM2ODEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGlwZV9jcmMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BpcGVfY3JjLmMKQEAgLTk4LDcgKzk4LDcgQEAgc3Rh dGljIGludCBpOXh4X3BpcGVfY3JjX2F1dG9fc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAkJCWJyZWFrOwogCQljYXNlIElOVEVMX09VVFBVVF9EUDoKIAkJY2FzZSBJ TlRFTF9PVVRQVVRfRURQOgotCQkJZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXIt PmJhc2UpOworCQkJZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAJCQlzd2l0 Y2ggKGRpZ19wb3J0LT5iYXNlLnBvcnQpIHsKIAkJCWNhc2UgUE9SVF9COgogCQkJCSpzb3VyY2Ug PSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfRFBfQjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmRzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF92ZHNjLmMKaW5kZXggYjIzYmE4ZDEwOGRiLi4wNzViNmU0ZjY2YzYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmRzYy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmRzYy5jCkBAIC0zMzksNyArMzM5LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCByY19wYXJhbWV0ZXJzICpnZXRfcmNfcGFyYW1zKHUxNiBjb21w cmVzc2VkX2JwcCwKIHN0YXRpYyBpbnQgaW50ZWxfZHNjX2RwX2NvbXB1dGVfcGFyYW1zKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpCiB7Ci0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9 IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2RzY19jb25maWcgKnZkc2Nf Y2ZnID0gJnBpcGVfY29uZmlnLT5kc2MuY29uZmlnOwogCXU4IGxpbmVfYnVmX2RlcHRoOwogCkBA IC05MDQsNyArOTA0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNjX3Bwc19jb25maWd1cmUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiBzdGF0aWMgdm9pZCBpbnRlbF9kc2NfZHBfcHBz X3dyaXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJ Y29uc3Qgc3RydWN0IGRybV9kc2NfY29uZmlnICp2ZHNjX2NmZyA9ICZjcnRjX3N0YXRlLT5kc2Mu Y29uZmlnOwogCXN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgZHBfZHNjX3Bwc19zZHA7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2kuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvdmx2X2RzaS5jCmluZGV4IDgzOThhMjY1YjZhMy4uMGMx OTA2NGU0MmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9k c2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2kuYwpAQCAtMzE5 LDcgKzMxOSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHNpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogc3RhdGljIGJvb2wgZ2xrX2RzaV9lbmFibGVfaW8oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAllbnVt IHBvcnQgcG9ydDsKIAl1MzIgdG1wOwogCWJvb2wgY29sZF9ib290ID0gZmFsc2U7CkBAIC0zNjcs NyArMzY3LDcgQEAgc3RhdGljIGJvb2wgZ2xrX2RzaV9lbmFibGVfaW8oc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpCiBzdGF0aWMgdm9pZCBnbGtfZHNpX2RldmljZV9yZWFkeShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICpp bnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWVudW0gcG9y dCBwb3J0OwogCXUzMiB2YWw7CiAKQEAgLTQzOCw3ICs0MzgsNyBAQCBzdGF0aWMgdm9pZCBnbGtf ZHNpX2RldmljZV9yZWFkeShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHN0YXRpYyB2 b2lkIGJ4dF9kc2lfZGV2aWNlX3JlYWR5KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9k c2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJZW51bSBwb3J0IHBvcnQ7CiAJdTMyIHZhbDsKIApAQCAt NDY1LDcgKzQ2NSw3IEBAIHN0YXRpYyB2b2lkIGJ4dF9kc2lfZGV2aWNlX3JlYWR5KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQogc3RhdGljIHZvaWQgdmx2X2RzaV9kZXZpY2VfcmVhZHko c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVs X2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAll bnVtIHBvcnQgcG9ydDsKIAl1MzIgdmFsOwogCkBAIC01MTYsNyArNTE2LDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfZHNpX2RldmljZV9yZWFkeShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK IHN0YXRpYyB2b2lkIGdsa19kc2lfZW50ZXJfbG93X3Bvd2VyX21vZGUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNp ID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAq aW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAllbnVtIHBvcnQgcG9ydDsK IAl1MzIgdmFsOwogCkBAIC01NDYsNyArNTQ2LDcgQEAgc3RhdGljIHZvaWQgZ2xrX2RzaV9lbnRl cl9sb3dfcG93ZXJfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHN0YXRpYyB2 b2lkIGdsa19kc2lfZGlzYWJsZV9taXBpX2lvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRl bF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVu Y190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJZW51bSBwb3J0IHBvcnQ7CiAJdTMyIHRtcDsKIApA QCAtNTc5LDcgKzU3OSw3IEBAIHN0YXRpYyB2b2lkIGdsa19kc2lfY2xlYXJfZGV2aWNlX3JlYWR5 KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogc3RhdGljIHZvaWQgdmx2X2RzaV9jbGVh cl9kZXZpY2VfcmVhZHkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rl ci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2Rz aShlbmNvZGVyKTsKIAllbnVtIHBvcnQgcG9ydDsKIAogCURSTV9ERUJVR19LTVMoIlxuIik7CkBA IC02MjUsNyArNjI1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3BvcnRfZW5hYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwotCXN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwor CXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7 CiAJZW51bSBwb3J0IHBvcnQ7CiAKIAlpZiAoaW50ZWxfZHNpLT5kdWFsX2xpbmsgPT0gRFNJX0RV QUxfTElOS19GUk9OVF9CQUNLKSB7CkBAIC02ODEsNyArNjgxLDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZHNpX3BvcnRfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCXN0cnVjdCBpbnRlbF9kc2kg KmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJZW51bSBw b3J0IHBvcnQ7CiAKIAlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7 CkBAIC03NDUsNyArNzQ1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZV9lbmFibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQkgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3Rv X2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNp ID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBw aXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Yyk7CkBAIC04NTAsNyArODUwLDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZHNpX2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJCQkgICAgICBj b25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7Ci0Jc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFz ZSk7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNv ZGVyKTsKIAllbnVtIHBvcnQgcG9ydDsKIAogCURSTV9ERUJVR19LTVMoIlxuIik7CkBAIC04ODYs NyArODg2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWVudW0gcG9ydCBwb3J0 OwogCXUzMiB2YWw7CiAKQEAgLTk1Niw3ICs5NTYsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kc2lf Z2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgIGVudW0g cGlwZSAqcGlwZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCWludGVsX3dha2VyZWZfdCB3YWtl cmVmOwogCWVudW0gcG9ydCBwb3J0OwogCWJvb2wgYWN0aXZlID0gZmFsc2U7CkBAIC0xMDM1LDcg KzEwMzUsNyBAQCBzdGF0aWMgdm9pZCBieHRfZHNpX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJJnBpcGVfY29uZmlnLT5ody5hZGp1c3RlZF9tb2Rl OwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlX3N3OwogCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsK LQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVy LT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNp KGVuY29kZXIpOwogCXVuc2lnbmVkIGludCBsYW5lX2NvdW50ID0gaW50ZWxfZHNpLT5sYW5lX2Nv dW50OwogCXVuc2lnbmVkIGludCBicHAsIGZtdDsKIAllbnVtIHBvcnQgcG9ydDsKQEAgLTEyMjgs NyArMTIyOCw3IEBAIHN0YXRpYyB2b2lkIHNldF9kc2lfdGltaW5ncyhzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKKwlz dHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKHRvX2ludGVsX2Vu Y29kZXIoZW5jb2RlcikpOwogCWVudW0gcG9ydCBwb3J0OwogCXVuc2lnbmVkIGludCBicHAgPSBt aXBpX2RzaV9waXhlbF9mb3JtYXRfdG9fYnBwKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0KTsKIAl1 bnNpZ25lZCBpbnQgbGFuZV9jb3VudCA9IGludGVsX2RzaS0+bGFuZV9jb3VudDsKQEAgLTEzMTYs NyArMTMxNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wcmVwYXJlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVy LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2Nv bmZpZy0+dWFwaS5jcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9f aW50ZWxfZHNpKGVuY29kZXIpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2kodG9faW50ZWxfZW5jb2RlcihlbmNvZGVyKSk7CiAJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmh3LmFkanVzdGVk X21vZGU7CiAJZW51bSBwb3J0IHBvcnQ7CiAJdW5zaWduZWQgaW50IGJwcCA9IG1pcGlfZHNpX3Bp eGVsX2Zvcm1hdF90b19icHAoaW50ZWxfZHNpLT5waXhlbF9mb3JtYXQpOwpAQCAtMTUwNiw3ICsx NTA2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZXBhcmUoc3RydWN0IGludGVsX2VuY29k ZXIgKmludGVsX2VuY29kZXIsCiBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfdW5wcmVwYXJlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kc2kg KmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7CiAJZW51bSBw b3J0IHBvcnQ7CiAJdTMyIHZhbDsKIApAQCAtMTUzMyw3ICsxNTMzLDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfZHNpX3VucHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAogc3Rh dGljIHZvaWQgaW50ZWxfZHNpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIpCiB7Ci0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2Rz aShlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxf ZHNpKHRvX2ludGVsX2VuY29kZXIoZW5jb2RlcikpOwogCiAJLyogZGlzcG9zZSBvZiB0aGUgZ3Bp b3MgKi8KIAlpZiAoaW50ZWxfZHNpLT5ncGlvX3BhbmVsKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS92bHZfZHNpX3BsbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS92bHZfZHNpX3BsbC5jCmluZGV4IDk1ZjM5Y2QwY2UwMi4uNmI4OWU2N2IxMjBmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2lfcGxsLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS92bHZfZHNpX3BsbC5jCkBAIC0xMTcsNyAr MTE3LDcgQEAgaW50IHZsdl9kc2lfcGxsX2NvbXB1dGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXIt PmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2ko ZW5jb2Rlcik7CiAJaW50IHJldDsKIAl1MzIgZHNpX2NsazsKIApAQCAtMjU1LDcgKzI1NSw3IEBA IHUzMiB2bHZfZHNpX2dldF9wY2xrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkg ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7 CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVy KTsKIAlpbnQgYnBwID0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0X3RvX2JwcChpbnRlbF9kc2ktPnBp eGVsX2Zvcm1hdCk7CiAJdTMyIGRzaV9jbG9jaywgcGNsazsKIAl1MzIgcGxsX2N0bCwgcGxsX2Rp djsKQEAgLTMyMSw3ICszMjEsNyBAQCB1MzIgYnh0X2RzaV9nZXRfcGNsayhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAl1MzIgcGNsazsKIAl1MzIgZHNpX2NsazsKIAl1MzIgZHNpX3Jh dGlvOwotCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVu Y29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRl bF9kc2koZW5jb2Rlcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJaW50IGJwcCA9IG1pcGlfZHNpX3BpeGVsX2Zvcm1h dF90b19icHAoaW50ZWxfZHNpLT5waXhlbF9mb3JtYXQpOwogCkBAIC0zNDEsNyArMzQxLDcgQEAg dm9pZCB2bHZfZHNpX3Jlc2V0X2Nsb2NrcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlciwg ZW51bSBwb3J0IHBvcnQpCiB7CiAJdTMyIHRlbXA7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAogCXRl bXAgPSBJOTE1X1JFQUQoTUlQSV9DVFJMKHBvcnQpKTsKIAl0ZW1wICY9IH5FU0NBUEVfQ0xPQ0tf RElWSURFUl9NQVNLOwpAQCAtNDU1LDcgKzQ1NSw3IEBAIGludCBieHRfZHNpX3BsbF9jb21wdXRl KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNvbmZpZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOwogCXU4IGRzaV9yYXRpbywgZHNpX3Jh dGlvX21pbiwgZHNpX3JhdGlvX21heDsKIAl1MzIgZHNpX2NsazsKIApAQCAtNTAzLDcgKzUwMyw3 IEBAIHZvaWQgYnh0X2RzaV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZykKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK LQlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVy LT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNp KGVuY29kZXIpOwogCWVudW0gcG9ydCBwb3J0OwogCXUzMiB2YWw7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKaW5kZXggNGY1NDNjY2VjMTVkLi4zYmM4ZDVjMGU4OGEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0yMDIwLDcgKzIwMjAsNyBAQCBzdGF0aWMgaW50 IGk5MTVfcHNyX3Npbmtfc3RhdHVzX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRh KQogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBtLT5wcml2YXRlOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwog CXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPQotCQllbmNfdG9faW50ZWxfZHAoJmludGVsX2F0 dGFjaGVkX2VuY29kZXIodG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3RvcikpLT5iYXNlKTsKKwkJ ZW5jX3RvX2ludGVsX2RwKGludGVsX2F0dGFjaGVkX2VuY29kZXIodG9faW50ZWxfY29ubmVjdG9y KGNvbm5lY3RvcikpKTsKIAlpbnQgcmV0OwogCiAJaWYgKCFDQU5fUFNSKGRldl9wcml2KSkgewpA QCAtMjQzMiw3ICsyNDMyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfaW5mbyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sCiAJCQkgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikK IHsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rv ci0+ZW5jb2RlcjsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2Rw KCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKGludGVsX2VuY29kZXIpOwogCiAJc2VxX3ByaW50ZihtLCAiXHREUENEIHJl djogJXhcbiIsIGludGVsX2RwLT5kcGNkW0RQX0RQQ0RfUkVWXSk7CiAJc2VxX3ByaW50ZihtLCAi XHRhdWRpbyBzdXBwb3J0OiAlc1xuIiwgeWVzbm8oaW50ZWxfZHAtPmhhc19hdWRpbykpOwpAQCAt MjQ1Miw3ICsyNDUyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfbXN0X2luZm8oc3RydWN0IHNl cV9maWxlICptLAogewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50 ZWxfY29ubmVjdG9yLT5lbmNvZGVyOwogCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50 ZWxfbXN0ID0KLQkJZW5jX3RvX21zdCgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7CisJCWVuY190b19t c3QoaW50ZWxfZW5jb2Rlcik7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQgPSBpbnRlbF9tc3QtPnByaW1hcnk7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9 ICZpbnRlbF9kaWdfcG9ydC0+ZHA7CiAJYm9vbCBoYXNfYXVkaW8gPSBkcm1fZHBfbXN0X3BvcnRf aGFzX2F1ZGlvKCZpbnRlbF9kcC0+bXN0X21nciwKQEAgLTI0NjUsNyArMjQ2NSw3IEBAIHN0YXRp YyB2b2lkIGludGVsX2hkbWlfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJCQkgICAgc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQogewogCXN0cnVjdCBpbnRlbF9lbmNv ZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyOwotCXN0cnVjdCBp bnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmludGVsX2VuY29kZXIt PmJhc2UpOworCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoaW50ZWxfZW5jb2Rlcik7CiAKIAlzZXFfcHJpbnRmKG0sICJcdGF1ZGlvIHN1cHBvcnQ6ICVz XG4iLCB5ZXNubyhpbnRlbF9oZG1pLT5oYXNfYXVkaW8pKTsKIAlpZiAoaW50ZWxfY29ubmVjdG9y LT5oZGNwLnNoaW0pIHsKQEAgLTMwNTksNyArMzA1OSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcF9t c3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKIAkJaWYgKCFpbnRlbF9l bmNvZGVyIHx8IGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RQX01TVCkKIAkJ CWNvbnRpbnVlOwogCi0JCWludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZpbnRlbF9l bmNvZGVyLT5iYXNlKTsKKwkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoaW50ZWxf ZW5jb2Rlcik7CiAJCWlmICghaW50ZWxfZGlnX3BvcnQtPmRwLmNhbl9tc3QpCiAJCQljb250aW51 ZTsKIApAQCAtMzEwOSw3ICszMTA5LDcgQEAgc3RhdGljIHNzaXplX3QgaTkxNV9kaXNwbGF5cG9y dF90ZXN0X2FjdGl2ZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwKIAkJCWNvbnRpbnVlOwogCiAJ CWlmIChlbmNvZGVyICYmIGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29u bmVjdGVkKSB7Ci0JCQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7 CisJCQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKIAkJCXN0YXR1cyA9IGtz dHJ0b2ludChpbnB1dF9idWZmZXIsIDEwLCAmdmFsKTsKIAkJCWlmIChzdGF0dXMgPCAwKQogCQkJ CWJyZWFrOwpAQCAtMzE1Myw3ICszMTUzLDcgQEAgc3RhdGljIGludCBpOTE1X2Rpc3BsYXlwb3J0 X3Rlc3RfYWN0aXZlX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCQkJY29u dGludWU7CiAKIAkJaWYgKGVuY29kZXIgJiYgY29ubmVjdG9yLT5zdGF0dXMgPT0gY29ubmVjdG9y X3N0YXR1c19jb25uZWN0ZWQpIHsKLQkJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNv ZGVyLT5iYXNlKTsKKwkJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCQkJ aWYgKGludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfYWN0aXZlKQogCQkJCXNlcV9wdXRzKG0sICIx Iik7CiAJCQllbHNlCkBAIC0zMjAzLDcgKzMyMDMsNyBAQCBzdGF0aWMgaW50IGk5MTVfZGlzcGxh eXBvcnRfdGVzdF9kYXRhX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCQkJ Y29udGludWU7CiAKIAkJaWYgKGVuY29kZXIgJiYgY29ubmVjdG9yLT5zdGF0dXMgPT0gY29ubmVj dG9yX3N0YXR1c19jb25uZWN0ZWQpIHsKLQkJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZl bmNvZGVyLT5iYXNlKTsKKwkJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwog CQkJaWYgKGludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfdHlwZSA9PQogCQkJICAgIERQX1RFU1Rf TElOS19FRElEX1JFQUQpCiAJCQkJc2VxX3ByaW50ZihtLCAiJWx4IiwKQEAgLTMyNDcsNyArMzI0 Nyw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kaXNwbGF5cG9ydF90ZXN0X3R5cGVfc2hvdyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJCQljb250aW51ZTsKIAogCQlpZiAoZW5jb2RlciAm JiBjb25uZWN0b3ItPnN0YXR1cyA9PSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCkgewotCQkJ aW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCQkJaW50ZWxfZHAg PSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJCQlzZXFfcHJpbnRmKG0sICIlMDJseCIsIGlu dGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfdHlwZSk7CiAJCX0gZWxzZQogCQkJc2VxX3B1dHMobSwg IjAiKTsKQEAgLTQxOTIsNyArNDE5Miw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcnJzX2N0bF9zZXQo dm9pZCAqZGF0YSwgdTY0IHZhbCkKIAkJCURSTV9ERUJVR19EUklWRVIoIk1hbnVhbGx5ICVzYWJs aW5nIERSUlMuICVsbHVcbiIsCiAJCQkJCQl2YWwgPyAiZW4iIDogImRpcyIsIHZhbCk7CiAKLQkJ CWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwkJCWludGVsX2Rw ID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCQkJaWYgKHZhbCkKIAkJCQlpbnRlbF9lZHBf ZHJyc19lbmFibGUoaW50ZWxfZHAsCiAJCQkJCQkgICAgICBjcnRjX3N0YXRlKTsKQEAgLTQzOTYs NyArNDM5Niw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcGNkX3Nob3coc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBtLT5w cml2YXRlOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPQotCQllbmNfdG9faW50ZWxfZHAo JmludGVsX2F0dGFjaGVkX2VuY29kZXIodG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3RvcikpLT5i YXNlKTsKKwkJZW5jX3RvX2ludGVsX2RwKGludGVsX2F0dGFjaGVkX2VuY29kZXIodG9faW50ZWxf Y29ubmVjdG9yKGNvbm5lY3RvcikpKTsKIAl1OCBidWZbMTZdOwogCXNzaXplX3QgZXJyOwogCWlu dCBpOwpAQCAtNDQzMSw3ICs0NDMxLDcgQEAgc3RhdGljIGludCBpOTE1X3BhbmVsX3Nob3coc3Ry dWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IgPSBtLT5wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPQotCQll bmNfdG9faW50ZWxfZHAoJmludGVsX2F0dGFjaGVkX2VuY29kZXIodG9faW50ZWxfY29ubmVjdG9y KGNvbm5lY3RvcikpLT5iYXNlKTsKKwkJZW5jX3RvX2ludGVsX2RwKGludGVsX2F0dGFjaGVkX2Vu Y29kZXIodG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3RvcikpKTsKIAogCWlmIChjb25uZWN0b3It PnN0YXR1cyAhPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCkKIAkJcmV0dXJuIC1FTk9ERVY7 CkBAIC00NTA5LDcgKzQ1MDksNyBAQCBzdGF0aWMgaW50IGk5MTVfZHNjX2ZlY19zdXBwb3J0X3No b3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCQl9IGVsc2UgaWYgKHJldCkgewog CQkJYnJlYWs7CiAJCX0KLQkJaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmludGVsX2F0dGFj aGVkX2VuY29kZXIodG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3RvcikpLT5iYXNlKTsKKwkJaW50 ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcih0b19pbnRlbF9j b25uZWN0b3IoY29ubmVjdG9yKSkpOwogCQljcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0 ZShjcnRjLT5zdGF0ZSk7CiAJCXNlcV9wcmludGYobSwgIkRTQ19FbmFibGVkOiAlc1xuIiwKIAkJ CSAgIHllc25vKGNydGNfc3RhdGUtPmRzYy5jb21wcmVzc2lvbl9lbmFibGUpKTsKQEAgLTQ1Mzcs NyArNDUzNyw3IEBAIHN0YXRpYyBzc2l6ZV90IGk5MTVfZHNjX2ZlY19zdXBwb3J0X3dyaXRlKHN0 cnVjdCBmaWxlICpmaWxlLAogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPQogCQko KHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YSktPnByaXZhdGU7CiAJc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKHRvX2ludGVs X2Nvbm5lY3Rvcihjb25uZWN0b3IpKTsKLQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw ID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwogCiAJaWYgKGxlbiA9PSAwKQogCQlyZXR1cm4g MDsKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4