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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0069C83F22 for ; Wed, 16 Jul 2025 09:36:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 34D228D0003; Wed, 16 Jul 2025 05:36:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2FD1A8D0001; Wed, 16 Jul 2025 05:36:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 176CD8D0003; Wed, 16 Jul 2025 05:36:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id EB5D08D0001 for ; Wed, 16 Jul 2025 05:36:33 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C0D781A0315 for ; Wed, 16 Jul 2025 09:36:33 +0000 (UTC) X-FDA: 83669622666.22.B26F0E5 Received: from mx10.didiglobal.com (mx10.didiglobal.com [111.202.70.125]) by imf26.hostedemail.com (Postfix) with SMTP id ADC6C140009 for ; Wed, 16 Jul 2025 09:36:30 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=didiglobal.com header.s=2025 header.b=cpt0NTPS; spf=pass (imf26.hostedemail.com: domain of chentaotao@didiglobal.com designates 111.202.70.125 as permitted sender) smtp.mailfrom=chentaotao@didiglobal.com; dmarc=pass (policy=none) header.from=didiglobal.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752658591; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:dkim-signature; bh=XA5Vu4uipvRvjpikGm2r34WW9So29BF7iGbpa6JHu9g=; b=xP1JK2+2Q6+o29iJfOpSS/PnHQN/PFNtxIhuzJxP9OHPbC42nzyUGtj47j/PGUxX68OUXf DUpjA+H0hhaOfxcRyF3D5tekCy6/8s1isYyPU5L2ynKMJLUJwRd4wDD4WvOlzhTdJpPcTr EkGny3VqPTQfXNeJmbLHOJsv3dPQG+I= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752658591; a=rsa-sha256; cv=none; b=XbQs6dUt58JAUh1l6mngCeWpbAR4zaR7XFZT7y5xAPBG/39jSq2q8qxs2kaUU1GY98UQQw CymrnYNaLX/rYM9iaOog2LYHhm0x7AxpWa4L+dS2bfaVE+czMPRiUYctWh52In6hNvqLcW 0VQ3S1b7wS+Xd1qbzgLOqoNoAjTux1k= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=didiglobal.com header.s=2025 header.b=cpt0NTPS; spf=pass (imf26.hostedemail.com: domain of chentaotao@didiglobal.com designates 111.202.70.125 as permitted sender) smtp.mailfrom=chentaotao@didiglobal.com; dmarc=pass (policy=none) header.from=didiglobal.com Received: from mail.didiglobal.com (unknown [10.79.64.21]) by mx10.didiglobal.com (MailData Gateway V2.8.8) with ESMTPS id 16E8218BE806C2; Wed, 16 Jul 2025 17:35:22 +0800 (CST) Received: from BJ02-ACTMBX-07.didichuxing.com (10.79.65.14) by BJ01-ACTMBX-02.didichuxing.com (10.79.64.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Wed, 16 Jul 2025 17:36:07 +0800 Received: from BJ03-ACTMBX-07.didichuxing.com (10.79.71.34) by BJ02-ACTMBX-07.didichuxing.com (10.79.65.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Wed, 16 Jul 2025 17:36:07 +0800 Received: from BJ03-ACTMBX-07.didichuxing.com ([fe80::2e1a:dd47:6d25:287e]) by BJ03-ACTMBX-07.didichuxing.com ([fe80::2e1a:dd47:6d25:287e%7]) with mapi id 15.02.1748.010; Wed, 16 Jul 2025 17:36:07 +0800 X-MD-Sfrom: chentaotao@didiglobal.com X-MD-SrcIP: 10.79.64.21 From: =?gb2312?B?s8LMzszOIFRhb3RhbyBDaGVu?= To: "tytso@mit.edu" , "hch@infradead.org" , "adilger.kernel@dilger.ca" , "willy@infradead.org" , "brauner@kernel.org" , "jani.nikula@linux.intel.com" , "rodrigo.vivi@intel.com" , "tursulin@ursulin.net" , "airlied@gmail.com" CC: "linux-fsdevel@vger.kernel.org" , "linux-ext4@vger.kernel.org" , "linux-block@vger.kernel.org" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "linux-mm@kvack.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "chentao325@qq.com" , "frank.li@vivo.com" , =?gb2312?B?s8LMzszOIFRhb3RhbyBDaGVu?= Subject: [PATCH v6 3/5] fs: change write_begin/write_end interface to take struct kiocb * Thread-Topic: [PATCH v6 3/5] fs: change write_begin/write_end interface to take struct kiocb * Thread-Index: AQHb9jUOH0mwc1AI20ax4yvEksZ2XQ== Date: Wed, 16 Jul 2025 09:36:06 +0000 Message-ID: <20250716093559.217344-4-chentaotao@didiglobal.com> In-Reply-To: <20250716093559.217344-1-chentaotao@didiglobal.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.79.64.102] Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=didiglobal.com; s=2025; t=1752658543; bh=XA5Vu4uipvRvjpikGm2r34WW9So29BF7iGbpa6JHu9g=; h=From:To:CC:Subject:Date:Message-ID:Content-Type; b=cpt0NTPSdfu55YH4aJJQd2nqL0HNqj5mTHZguMO/2flbP2UIVNZj/ynM3Lsa6lQvz bs+n0MJhKqjS4RwCNTmpyDVUirz7r5bDVSRx2e4/t8YGf0LA50vNMJxps9ZYCcDELI n9rzDxd6Wa+czYaiogkfwlSFC9QaAVyOp7pTnEjA= X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: ADC6C140009 X-Stat-Signature: t1t1r11fuwcdxzymcjhnhfzjcpbtq8qo X-Rspam-User: X-HE-Tag: 1752658590-279423 X-HE-Meta: U2FsdGVkX18XpqYLvBC4EHpE5YPDteT9YHWxeHKEMR7NERCIVqYcwTQBLKi8hKHEWPAYk2yzS2yk/nEwbWWgGQWVxeXuLuHT4YpslpO4BJJpzWOy7l6wTgaO43gkDn7n1yLsxin58wbA/Uh2x14daY+B+FaFZmFFMnGKEIvnlk8Lxim19vpI+BsRRpGHPFEkzf1D2dEww+X4hYjAfxYN7mGss1QKBX9gWR0BGn2O0MNOAqvqPH9rwKfy+sRPwQN50qMZmZAu/oieVy3N3XRlsSjTzykx9hRf7/SKLSaFJ65U0Ipex7wEkaNJQhtJ06c6kwqsyoAKiNg9fCyUeO8se/iF43SqfYCuSOoqkJxMkD7PTtZNPewfY+9KN9AptalGEULhVP9ywbMt+a1gfBJqZ2hDx1UNWFJy8p5t2Ro8fC7xi9W4WGCKqw0CxuXw4GzRikUS7d1KmTo8SSjM6G1eniUKCFTKWXlbwSD2/lZVL0QLMYDWu0NHE5F4ktUkH94bRBzwOeA2M+MMLb44xqoCSfbgtEbjWcLfdiPGAnMK1mp0G5yVT88ovwl5H3lE62SaBA+mDm7urpnPwXmbbqNhIgLTlQrJGbxbudGsZSDlmjA4m6+iXBKd8cQ6OtjZRsWsm4IY6pjoxklXcFoj3HQOAWdDQZ1b8YwqJwlQiylN7Jmo6RVzrTKqVZEfKKVHqCkn+2ke9XrYiBoFKoZFh3xRfAEWgw15TjU0yfpKM/hTkhneyFoZ2nGAzEI66PpN7skeBPkU4+2SpB3HelfBtaLY4OdsPQP6IiF8ZwwVNzmnxuj6HlvDD8cp6V+NXPoH/y6LpXN1/jby8RQF5DsC8GPUHHl6wMtKUPc25LFtfLUl7P3WoQ6VUN1T6RQGdgxRT65aKAVkCEn9CoZ+zZvj0sgOmVF3uJax/C9ZbmBt1s5gkxaUPALil8C+NuOO5AnFi7Dbg3nLa+4viR/ZssM5x3b pHP9Vt2T +hxoC0MkkGaV7tjelMXtQM1EiTuKsLhj8rkgfQDPMwHVrsVEQM6Ja+JDW19ZCbfEKxmCdGFJOtPfW6o+gz09ytOw4XWD21nJ5YL7GLigi+Vyd0AJG10b265LNybIjgkwvLkN5/FqxgZbDU7lqwv4JTMIaI6kFGsFU4Z1r7n/be8PpCGM2ZNH1e8KnHxs/TqriWHwbCk+5dpV8NUc3mAJ7zCh5HX1FI+/EMk+a+7sm8g63mJXEx0gYeuIIUSa9bjXcRBaqSLjpxiyytESCDtocmoCW0UNzEVZ8zxTAu7VfcfOTPMqXx2KRp2KVKBj0HJRlpgVxJ0ekdf5IGmcIUNNjvMvqW7laVZG2/QEAfV2ibCU1RXQUGKcN1CCCldbk4Qck7xBmBeQmd+EkquOy2lGJdF3vI0drqplUMzpkSfFbOegDWagnyIurxaTkxwiPQ3VuR9bAnV9GJeMtSuqG/iD2RrshUreQTDus5ScLg0mqUgDxEaRj7eciwiJcqyF5G3y2vO5QYW5DFYSWhyNQoy6o9xqI40os2l7pwm0/S3mA1PBj6NAyb8fEnUdiSw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: RnJvbTogVGFvdGFvIENoZW4gPGNoZW50YW90YW9AZGlkaWdsb2JhbC5jb20+DQoNCkNoYW5nZSB0 aGUgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGNhbGxiYWNrcyB3cml0ZV9iZWdpbigpIGFuZA0K d3JpdGVfZW5kKCkgdG8gdGFrZSBzdHJ1Y3Qga2lvY2IgKiBhcyB0aGUgZmlyc3QgYXJndW1lbnQg aW5zdGVhZCBvZg0Kc3RydWN0IGZpbGUgKi4NCg0KVXBkYXRlIGFsbCBhZmZlY3RlZCBmdW5jdGlv biBwcm90b3R5cGVzLCBpbXBsZW1lbnRhdGlvbnMsIGNhbGwgc2l0ZXMsDQphbmQgcmVsYXRlZCBk b2N1bWVudGF0aW9uIGFjcm9zcyBWRlMsIGZpbGVzeXN0ZW1zLCBhbmQgYmxvY2sgbGF5ZXIuDQoN ClBhcnQgb2YgYSBzZXJpZXMgcmVmYWN0b3JpbmcgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIHdy aXRlX2JlZ2luIGFuZA0Kd3JpdGVfZW5kIGNhbGxiYWNrcyB0byB1c2Ugc3RydWN0IGtpb2NiIGZv ciBwYXNzaW5nIHdyaXRlIGNvbnRleHQgYW5kDQpmbGFncy4NCg0KU2lnbmVkLW9mZi1ieTogVGFv dGFvIENoZW4gPGNoZW50YW90YW9AZGlkaWdsb2JhbC5jb20+DQotLS0NCiBEb2N1bWVudGF0aW9u L2ZpbGVzeXN0ZW1zL2xvY2tpbmcucnN0IHwgIDQgKystLQ0KIERvY3VtZW50YXRpb24vZmlsZXN5 c3RlbXMvdmZzLnJzdCAgICAgfCAgNiArKystLS0NCiBibG9jay9mb3BzLmMgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMTMgKysrKysrKystLS0tLQ0KIGZzL2FkZnMvaW5vZGUuYyAgICAgICAg ICAgICAgICAgICAgICAgfCAgOSArKysrKy0tLS0NCiBmcy9hZmZzL2ZpbGUuYyAgICAgICAgICAg ICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKystLS0tLS0tLS0tLQ0KIGZzL2JjYWNoZWZz L2ZzLWlvLWJ1ZmZlcmVkLmMgICAgICAgICAgfCAgNCArKy0tDQogZnMvYmNhY2hlZnMvZnMtaW8t YnVmZmVyZWQuaCAgICAgICAgICB8ICA0ICsrLS0NCiBmcy9iZnMvZmlsZS5jICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDcgKysrKy0tLQ0KIGZzL2J1ZmZlci5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAyNiArKysrKysrKysrKystLS0tLS0tLS0tLS0tDQogZnMvY2VwaC9hZGRyLmMg ICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrKystLS0NCiBmcy9lY3J5cHRmcy9tbWFw LmMgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKystLS0tLQ0KIGZzL2V4ZmF0L2ZpbGUuYyAg ICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKy0tLS0tLQ0KIGZzL2V4ZmF0L2lub2RlLmMg ICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKy0tLS0tLS0NCiBmcy9leHQyL2lub2Rl LmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrLS0tLS0NCiBmcy9leHQ0L2lub2Rl LmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0NCiBmcy9mMmZz L2RhdGEuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKystLS0NCiBmcy9mYXQvaW5v ZGUuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0NCiBmcy9m dXNlL2ZpbGUuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrLS0tLS0NCiBm cy9oZnMvaGZzX2ZzLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCiBmcy9oZnMvaW5v ZGUuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQ0KIGZzL2hmc3BsdXMvaGZzcGx1 c19mcy5oICAgICAgICAgICAgICAgfCAgNiArKysrLS0NCiBmcy9oZnNwbHVzL2lub2RlLmMgICAg ICAgICAgICAgICAgICAgIHwgIDggKysrKystLS0NCiBmcy9ob3N0ZnMvaG9zdGZzX2tlcm4uYyAg ICAgICAgICAgICAgIHwgIDggKysrKystLS0NCiBmcy9ocGZzL2ZpbGUuYyAgICAgICAgICAgICAg ICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0NCiBmcy9odWdldGxiZnMvaW5vZGUuYyAg ICAgICAgICAgICAgICAgIHwgIDkgKysrKystLS0tDQogZnMvamZmczIvZmlsZS5jICAgICAgICAg ICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQ0KIGZzL2pmcy9p bm9kZS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKy0tLS0tLS0NCiBmcy9s aWJmcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrLS0tLS0NCiBmcy9t aW5peC9pbm9kZS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysrKy0tLQ0KIGZzL25mcy9m aWxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrKystLQ0KIGZzL25pbGZzMi9p bm9kZS5jICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrKy0tLQ0KIGZzL250ZnMzL2ZpbGUu YyAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tDQogZnMvbnRmczMvaW5vZGUuYyAgICAg ICAgICAgICAgICAgICAgICB8ICA3ICsrKystLS0NCiBmcy9udGZzMy9udGZzX2ZzLmggICAgICAg ICAgICAgICAgICAgIHwgMTAgKysrKysrLS0tLQ0KIGZzL29jZnMyL2FvcHMuYyAgICAgICAgICAg ICAgICAgICAgICAgfCAgNiArKysrLS0NCiBmcy9vbWZzL2ZpbGUuYyAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDcgKysrKy0tLQ0KIGZzL29yYW5nZWZzL2lub2RlLmMgICAgICAgICAgICAgICAg ICAgfCAxNiArKysrKysrKy0tLS0tLS0NCiBmcy91Ymlmcy9maWxlLmMgICAgICAgICAgICAgICAg ICAgICAgIHwgIDggKysrKystLS0NCiBmcy91ZGYvaW5vZGUuYyAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTEgKysrKysrKy0tLS0NCiBmcy91ZnMvaW5vZGUuYyAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTYgKysrKysrKystLS0tLS0tDQogZnMvdmJveHNmL2ZpbGUuYyAgICAgICAgICAgICAg ICAgICAgICB8ICA1ICsrKy0tDQogaW5jbHVkZS9saW51eC9idWZmZXJfaGVhZC5oICAgICAgICAg ICB8ICA0ICsrLS0NCiBpbmNsdWRlL2xpbnV4L2ZzLmggICAgICAgICAgICAgICAgICAgIHwgMTEg KysrKysrLS0tLS0NCiBtbS9maWxlbWFwLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg KystLQ0KIG1tL3NobWVtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKyst LS0tLS0NCiA0NSBmaWxlcyBjaGFuZ2VkLCAyNjcgaW5zZXJ0aW9ucygrKSwgMjAyIGRlbGV0aW9u cygtKQ0KDQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9sb2NraW5nLnJz dCBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvbG9ja2luZy5yc3QNCmluZGV4IDJlNTY3ZTM0 MWMzYi4uNTgwNTgxMjgxZWQ3IDEwMDY0NA0KLS0tIGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVt cy9sb2NraW5nLnJzdA0KKysrIGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9sb2NraW5nLnJz dA0KQEAgLTI1MywxMCArMjUzLDEwIEBAIHByb3RvdHlwZXM6Og0KIAlpbnQgKCp3cml0ZXBhZ2Vz KShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKik7DQog CWJvb2wgKCpkaXJ0eV9mb2xpbykoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKiwgc3RydWN0IGZvbGlv ICpmb2xpbyk7DQogCXZvaWQgKCpyZWFkYWhlYWQpKHN0cnVjdCByZWFkYWhlYWRfY29udHJvbCAq KTsNCi0JaW50ICgqd3JpdGVfYmVnaW4pKHN0cnVjdCBmaWxlICosIHN0cnVjdCBhZGRyZXNzX3Nw YWNlICptYXBwaW5nLA0KKwlpbnQgKCp3cml0ZV9iZWdpbikoY29uc3Qgc3RydWN0IGtpb2NiICos IHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25l ZCBsZW4sDQogCQkJCXN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSk7DQotCWlu dCAoKndyaXRlX2VuZCkoc3RydWN0IGZpbGUgKiwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsDQorCWludCAoKndyaXRlX2VuZCkoY29uc3Qgc3RydWN0IGtpb2NiICosIHN0cnVjdCBhZGRy ZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2ln bmVkIGNvcGllZCwNCiAJCQkJc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKTsNCiAJ c2VjdG9yX3QgKCpibWFwKShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqLCBzZWN0b3JfdCk7DQpkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy92ZnMucnN0IGIvRG9jdW1lbnRhdGlv bi9maWxlc3lzdGVtcy92ZnMucnN0DQppbmRleCBkZDlkYTdlMDRhOTkuLjU3NjA0YjA3YmRjOSAx MDA2NDQNCi0tLSBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvdmZzLnJzdA0KKysrIGIvRG9j dW1lbnRhdGlvbi9maWxlc3lzdGVtcy92ZnMucnN0DQpAQCAtODIzLDEwICs4MjMsMTAgQEAgY2Fj aGUgaW4geW91ciBmaWxlc3lzdGVtLiAgVGhlIGZvbGxvd2luZyBtZW1iZXJzIGFyZSBkZWZpbmVk Og0KIAkJaW50ICgqd3JpdGVwYWdlcykoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKiwgc3RydWN0IHdy aXRlYmFja19jb250cm9sICopOw0KIAkJYm9vbCAoKmRpcnR5X2ZvbGlvKShzdHJ1Y3QgYWRkcmVz c19zcGFjZSAqLCBzdHJ1Y3QgZm9saW8gKik7DQogCQl2b2lkICgqcmVhZGFoZWFkKShzdHJ1Y3Qg cmVhZGFoZWFkX2NvbnRyb2wgKik7DQotCQlpbnQgKCp3cml0ZV9iZWdpbikoc3RydWN0IGZpbGUg Kiwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQlpbnQgKCp3cml0ZV9iZWdpbiko Y29uc3Qgc3RydWN0IGtpb2NiICosIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJ CQkgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQotCQkJCXN0cnVjdCBwYWdlICoqcGFnZXAs IHZvaWQgKipmc2RhdGEpOw0KLQkJaW50ICgqd3JpdGVfZW5kKShzdHJ1Y3QgZmlsZSAqLCBzdHJ1 Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkJICAgc3RydWN0IHBhZ2UgKipwYWdlcCwg dm9pZCAqKmZzZGF0YSk7DQorCQlpbnQgKCp3cml0ZV9lbmQpKGNvbnN0IHN0cnVjdCBraW9jYiAq LCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkJIGxvZmZfdCBwb3MsIHVuc2ln bmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KIAkJCQkgc3RydWN0IGZvbGlvICpmb2xpbywgdm9p ZCAqZnNkYXRhKTsNCiAJCXNlY3Rvcl90ICgqYm1hcCkoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKiwg c2VjdG9yX3QpOw0KZGlmZiAtLWdpdCBhL2Jsb2NrL2ZvcHMuYyBiL2Jsb2NrL2ZvcHMuYw0KaW5k ZXggMzVjZWEwY2IzMDRkLi5mMzRlNzMxNWM4M2MgMTAwNjQ0DQotLS0gYS9ibG9jay9mb3BzLmMN CisrKyBiL2Jsb2NrL2ZvcHMuYw0KQEAgLTQ5NiwxNSArNDk2LDE4IEBAIHN0YXRpYyB2b2lkIGJs a2Rldl9yZWFkYWhlYWQoc3RydWN0IHJlYWRhaGVhZF9jb250cm9sICpyYWMpDQogCW1wYWdlX3Jl YWRhaGVhZChyYWMsIGJsa2Rldl9nZXRfYmxvY2spOw0KIH0NCiANCi1zdGF0aWMgaW50IGJsa2Rl dl93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1h cHBpbmcsDQotCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHN0cnVjdCBmb2xpbyAqKmZvbGlv cCwgdm9pZCAqKmZzZGF0YSkNCitzdGF0aWMgaW50IGJsa2Rldl93cml0ZV9iZWdpbihjb25zdCBz dHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsIGxvZmZfdCBwb3MsDQorCQkJICAgICAgdW5zaWduZWQgbGVuLCBzdHJ1Y3QgZm9saW8gKipm b2xpb3AsDQorCQkJICAgICAgdm9pZCAqKmZzZGF0YSkNCiB7DQogCXJldHVybiBibG9ja193cml0 ZV9iZWdpbihtYXBwaW5nLCBwb3MsIGxlbiwgZm9saW9wLCBibGtkZXZfZ2V0X2Jsb2NrKTsNCiB9 DQogDQotc3RhdGljIGludCBibGtkZXZfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1 Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwg dW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvLA0KLQkJdm9pZCAqZnNkYXRhKQ0K K3N0YXRpYyBpbnQgYmxrZGV2X3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQor CQkJICAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJCSAgICBsb2ZmX3QgcG9z LCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCisJCQkgICAgc3RydWN0IGZvbGlvICpm b2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCiAJaW50IHJldDsNCiAJcmV0ID0gYmxvY2tfd3JpdGVf ZW5kKHBvcywgbGVuLCBjb3BpZWQsIGZvbGlvKTsNCmRpZmYgLS1naXQgYS9mcy9hZGZzL2lub2Rl LmMgYi9mcy9hZGZzL2lub2RlLmMNCmluZGV4IDIxNTI3MTg5ZTQzMC4uNjgzMGY4YmM4ZDRlIDEw MDY0NA0KLS0tIGEvZnMvYWRmcy9pbm9kZS5jDQorKysgYi9mcy9hZGZzL2lub2RlLmMNCkBAIC01 MywxMyArNTMsMTQgQEAgc3RhdGljIHZvaWQgYWRmc193cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJl c3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCB0bykNCiAJCXRydW5jYXRlX3BhZ2VjYWNoZShpbm9k ZSwgaW5vZGUtPmlfc2l6ZSk7DQogfQ0KIA0KLXN0YXRpYyBpbnQgYWRmc193cml0ZV9iZWdpbihz dHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQkJbG9m Zl90IHBvcywgdW5zaWduZWQgbGVuLA0KLQkJCXN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAq KmZzZGF0YSkNCitzdGF0aWMgaW50IGFkZnNfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2Ni ICppb2NiLA0KKwkJCSAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgICAg bG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0KKwkJCSAgICBzdHJ1Y3QgZm9saW8gKipmb2xpb3As IHZvaWQgKipmc2RhdGEpDQogew0KIAlpbnQgcmV0Ow0KIA0KLQlyZXQgPSBjb250X3dyaXRlX2Jl Z2luKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBmb2xpb3AsIGZzZGF0YSwNCisJcmV0ID0gY29u dF93cml0ZV9iZWdpbihpb2NiLCBtYXBwaW5nLCBwb3MsIGxlbiwgZm9saW9wLCBmc2RhdGEsDQog CQkJCWFkZnNfZ2V0X2Jsb2NrLA0KIAkJCQkmQURGU19JKG1hcHBpbmctPmhvc3QpLT5tbXVfcHJp dmF0ZSk7DQogCWlmICh1bmxpa2VseShyZXQpKQ0KZGlmZiAtLWdpdCBhL2ZzL2FmZnMvZmlsZS5j IGIvZnMvYWZmcy9maWxlLmMNCmluZGV4IDdhNzEwMThlM2Y2Ny4uMjE5ZWEwMzUzOTA2IDEwMDY0 NA0KLS0tIGEvZnMvYWZmcy9maWxlLmMNCisrKyBiL2ZzL2FmZnMvZmlsZS5jDQpAQCAtNDE1LDEz ICs0MTUsMTQgQEAgYWZmc19kaXJlY3RfSU8oc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgaW92 X2l0ZXIgKml0ZXIpDQogCXJldHVybiByZXQ7DQogfQ0KIA0KLXN0YXRpYyBpbnQgYWZmc193cml0 ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcs DQotCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0KLQkJCXN0cnVjdCBmb2xpbyAqKmZvbGlv cCwgdm9pZCAqKmZzZGF0YSkNCitzdGF0aWMgaW50IGFmZnNfd3JpdGVfYmVnaW4oY29uc3Qgc3Ry dWN0IGtpb2NiICppb2NiLA0KKwkJCSAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywN CisJCQkgICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0KKwkJCSAgICBzdHJ1Y3QgZm9saW8g Kipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KIAlpbnQgcmV0Ow0KIA0KLQlyZXQgPSBjb250 X3dyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBmb2xpb3AsIGZzZGF0YSwNCisJ cmV0ID0gY29udF93cml0ZV9iZWdpbihpb2NiLCBtYXBwaW5nLCBwb3MsIGxlbiwgZm9saW9wLCBm c2RhdGEsDQogCQkJCWFmZnNfZ2V0X2Jsb2NrLA0KIAkJCQkmQUZGU19JKG1hcHBpbmctPmhvc3Qp LT5tbXVfcHJpdmF0ZSk7DQogCWlmICh1bmxpa2VseShyZXQpKQ0KQEAgLTQzMCwxNCArNDMxLDE1 IEBAIHN0YXRpYyBpbnQgYWZmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCXJldHVybiByZXQ7DQogfQ0KIA0KLXN0YXRpYyBp bnQgYWZmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNl ICptYXBwaW5nLA0KLQkJCSAgbG9mZl90IHBvcywgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQg aW50IGNvcGllZCwNCitzdGF0aWMgaW50IGFmZnNfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9j YiAqaW9jYiwNCisJCQkgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgcG9z LA0KKwkJCSAgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgaW50IGNvcGllZCwNCiAJCQkgIHN0 cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQogCXN0cnVjdCBpbm9kZSAqaW5v ZGUgPSBtYXBwaW5nLT5ob3N0Ow0KIAlpbnQgcmV0Ow0KIA0KLQlyZXQgPSBnZW5lcmljX3dyaXRl X2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBmb2xpbywgZnNkYXRhKTsNCisJ cmV0ID0gZ2VuZXJpY193cml0ZV9lbmQoaW9jYiwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwg Zm9saW8sIGZzZGF0YSk7DQogDQogCS8qIENsZWFyIEFyY2hpdmVkIGJpdCBvbiBmaWxlIHdyaXRl cywgYXMgQW1pZ2FPUyB3b3VsZCBkbyAqLw0KIAlpZiAoQUZGU19JKGlub2RlKS0+aV9wcm90ZWN0 ICYgRklCRl9BUkNISVZFRCkgew0KQEAgLTY0NSw3ICs2NDcsOCBAQCBzdGF0aWMgaW50IGFmZnNf cmVhZF9mb2xpb19vZnMoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBmb2xpbyAqZm9saW8pDQog CXJldHVybiBlcnI7DQogfQ0KIA0KLXN0YXRpYyBpbnQgYWZmc193cml0ZV9iZWdpbl9vZnMoc3Ry dWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KK3N0YXRpYyBp bnQgYWZmc193cml0ZV9iZWdpbl9vZnMoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJCQlz dHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkJbG9mZl90IHBvcywgdW5zaWduZWQg bGVuLA0KIAkJCQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KQEAg LTY4NCw5ICs2ODcsMTAgQEAgc3RhdGljIGludCBhZmZzX3dyaXRlX2JlZ2luX29mcyhzdHJ1Y3Qg ZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcNCiAJcmV0dXJuIGVycjsN CiB9DQogDQotc3RhdGljIGludCBhZmZzX3dyaXRlX2VuZF9vZnMoc3RydWN0IGZpbGUgKmZpbGUs IHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25l ZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCi0JCQkJc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAq ZnNkYXRhKQ0KK3N0YXRpYyBpbnQgYWZmc193cml0ZV9lbmRfb2ZzKGNvbnN0IHN0cnVjdCBraW9j YiAqaW9jYiwNCisJCQkgICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkg ICAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCisJCQkgICAg ICBzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpmc2RhdGEpDQogew0KIAlzdHJ1Y3QgaW5vZGUg Kmlub2RlID0gbWFwcGluZy0+aG9zdDsNCiAJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGlub2Rl LT5pX3NiOw0KZGlmZiAtLWdpdCBhL2ZzL2JjYWNoZWZzL2ZzLWlvLWJ1ZmZlcmVkLmMgYi9mcy9i Y2FjaGVmcy9mcy1pby1idWZmZXJlZC5jDQppbmRleCA2NmJhY2RkNDlmNzguLjFjNTRiOWI1YmQ2 OSAxMDA2NDQNCi0tLSBhL2ZzL2JjYWNoZWZzL2ZzLWlvLWJ1ZmZlcmVkLmMNCisrKyBiL2ZzL2Jj YWNoZWZzL2ZzLWlvLWJ1ZmZlcmVkLmMNCkBAIC02NzQsNyArNjc0LDcgQEAgaW50IGJjaDJfd3Jp dGVwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgc3RydWN0IHdyaXRlYmFja19j b250cm9sICp3YmMNCiANCiAvKiBidWZmZXJlZCB3cml0ZXM6ICovDQogDQotaW50IGJjaDJfd3Jp dGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5n LA0KK2ludCBiY2gyX3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkgICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxl biwNCiAJCSAgICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KIHsNCkBA IC03NTcsNyArNzU3LDcgQEAgaW50IGJjaDJfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUs IHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAlyZXR1cm4gYmNoMl9lcnJfY2xhc3Mo cmV0KTsNCiB9DQogDQotaW50IGJjaDJfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1 Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitpbnQgYmNoMl93cml0ZV9lbmQoY29uc3Qgc3Ry dWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCSAgIGxv ZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KIAkJICAgc3RydWN0IGZv bGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCmRpZmYgLS1naXQgYS9mcy9iY2FjaGVmcy9m cy1pby1idWZmZXJlZC5oIGIvZnMvYmNhY2hlZnMvZnMtaW8tYnVmZmVyZWQuaA0KaW5kZXggMzIw N2ViYmI0YWI0Li4xNGRlOTFjMjc2NTYgMTAwNjQ0DQotLS0gYS9mcy9iY2FjaGVmcy9mcy1pby1i dWZmZXJlZC5oDQorKysgYi9mcy9iY2FjaGVmcy9mcy1pby1idWZmZXJlZC5oDQpAQCAtMTAsOSAr MTAsOSBAQCBpbnQgYmNoMl9yZWFkX2ZvbGlvKHN0cnVjdCBmaWxlICosIHN0cnVjdCBmb2xpbyAq KTsNCiBpbnQgYmNoMl93cml0ZXBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICosIHN0cnVjdCB3 cml0ZWJhY2tfY29udHJvbCAqKTsNCiB2b2lkIGJjaDJfcmVhZGFoZWFkKHN0cnVjdCByZWFkYWhl YWRfY29udHJvbCAqKTsNCiANCi1pbnQgYmNoMl93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqLCBz dHJ1Y3QgYWRkcmVzc19zcGFjZSAqLCBsb2ZmX3QgcG9zLA0KK2ludCBiY2gyX3dyaXRlX2JlZ2lu KGNvbnN0IHN0cnVjdCBraW9jYiAqLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqLCBsb2ZmX3QgcG9z LA0KIAkJICAgICB1bnNpZ25lZCBsZW4sIHN0cnVjdCBmb2xpbyAqKiwgdm9pZCAqKik7DQotaW50 IGJjaDJfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICosIHN0cnVjdCBhZGRyZXNzX3NwYWNlICosIGxv ZmZfdCwNCitpbnQgYmNoMl93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICosIHN0cnVjdCBh ZGRyZXNzX3NwYWNlICosIGxvZmZfdCwNCiAJCSAgIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29w aWVkLCBzdHJ1Y3QgZm9saW8gKiwgdm9pZCAqKTsNCiANCiBzc2l6ZV90IGJjaDJfd3JpdGVfaXRl cihzdHJ1Y3Qga2lvY2IgKiwgc3RydWN0IGlvdl9pdGVyICopOw0KZGlmZiAtLWdpdCBhL2ZzL2Jm cy9maWxlLmMgYi9mcy9iZnMvZmlsZS5jDQppbmRleCBmYTY2YTA5ZTQ5NmEuLjEwZGMwMTUxZWE1 NSAxMDA2NDQNCi0tLSBhL2ZzL2Jmcy9maWxlLmMNCisrKyBiL2ZzL2Jmcy9maWxlLmMNCkBAIC0x NzAsOSArMTcwLDEwIEBAIHN0YXRpYyB2b2lkIGJmc193cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJl c3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCB0bykNCiAJCXRydW5jYXRlX3BhZ2VjYWNoZShpbm9k ZSwgaW5vZGUtPmlfc2l6ZSk7DQogfQ0KIA0KLXN0YXRpYyBpbnQgYmZzX3dyaXRlX2JlZ2luKHN0 cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCQlsb2Zm X3QgcG9zLCB1bnNpZ25lZCBsZW4sDQotCQkJc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoq ZnNkYXRhKQ0KK3N0YXRpYyBpbnQgYmZzX3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAq aW9jYiwNCisJCQkgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgICBsb2Zm X3QgcG9zLCB1bnNpZ25lZCBsZW4sDQorCQkJICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lk ICoqZnNkYXRhKQ0KIHsNCiAJaW50IHJldDsNCiANCmRpZmYgLS1naXQgYS9mcy9idWZmZXIuYyBi L2ZzL2J1ZmZlci5jDQppbmRleCA1NjVmZTg4NzczYzIuLmVhZDRkYzg1ZGViZCAxMDA2NDQNCi0t LSBhL2ZzL2J1ZmZlci5jDQorKysgYi9mcy9idWZmZXIuYw0KQEAgLTIyOTcsOSArMjI5Nyw5IEBA IGludCBibG9ja193cml0ZV9lbmQobG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBj b3BpZWQsDQogfQ0KIEVYUE9SVF9TWU1CT0woYmxvY2tfd3JpdGVfZW5kKTsNCiANCi1pbnQgZ2Vu ZXJpY193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICpt YXBwaW5nLA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0K LQkJCXN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCitpbnQgZ2VuZXJpY193cml0 ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw cGluZywNCisJCSAgICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVk LA0KKwkJICAgICAgc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCiAJc3Ry dWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7DQogCWxvZmZfdCBvbGRfc2l6ZSA9IGlu b2RlLT5pX3NpemU7DQpAQCAtMjQ5NCw3ICsyNDk0LDggQEAgaW50IGdlbmVyaWNfY29udF9leHBh bmRfc2ltcGxlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBzaXplKQ0KIH0NCiBFWFBPUlRf U1lNQk9MKGdlbmVyaWNfY29udF9leHBhbmRfc2ltcGxlKTsNCiANCi1zdGF0aWMgaW50IGNvbnRf ZXhwYW5kX3plcm8oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBw aW5nLA0KK3N0YXRpYyBpbnQgY29udF9leHBhbmRfemVybyhjb25zdCBzdHJ1Y3Qga2lvY2IgKmlv Y2IsDQorCQkJICAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCSAgICBsb2Zm X3QgcG9zLCBsb2ZmX3QgKmJ5dGVzKQ0KIHsNCiAJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBp bmctPmhvc3Q7DQpAQCAtMjUxOCwxMiArMjUxOSwxMiBAQCBzdGF0aWMgaW50IGNvbnRfZXhwYW5k X3plcm8oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0K IAkJfQ0KIAkJbGVuID0gUEFHRV9TSVpFIC0gemVyb2Zyb207DQogDQotCQllcnIgPSBhb3BzLT53 cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBjdXJwb3MsIGxlbiwNCisJCWVyciA9IGFvcHMtPndy aXRlX2JlZ2luKGlvY2IsIG1hcHBpbmcsIGN1cnBvcywgbGVuLA0KIAkJCQkJICAgICZmb2xpbywg JmZzZGF0YSk7DQogCQlpZiAoZXJyKQ0KIAkJCWdvdG8gb3V0Ow0KIAkJZm9saW9femVyb19yYW5n ZShmb2xpbywgb2Zmc2V0X2luX2ZvbGlvKGZvbGlvLCBjdXJwb3MpLCBsZW4pOw0KLQkJZXJyID0g YW9wcy0+d3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIGN1cnBvcywgbGVuLCBsZW4sDQorCQllcnIg PSBhb3BzLT53cml0ZV9lbmQoaW9jYiwgbWFwcGluZywgY3VycG9zLCBsZW4sIGxlbiwNCiAJCQkJ CQlmb2xpbywgZnNkYXRhKTsNCiAJCWlmIChlcnIgPCAwKQ0KIAkJCWdvdG8gb3V0Ow0KQEAgLTI1 NTEsMTIgKzI1NTIsMTIgQEAgc3RhdGljIGludCBjb250X2V4cGFuZF96ZXJvKHN0cnVjdCBmaWxl ICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCX0NCiAJCWxlbiA9IG9m ZnNldCAtIHplcm9mcm9tOw0KIA0KLQkJZXJyID0gYW9wcy0+d3JpdGVfYmVnaW4oZmlsZSwgbWFw cGluZywgY3VycG9zLCBsZW4sDQorCQllcnIgPSBhb3BzLT53cml0ZV9iZWdpbihpb2NiLCBtYXBw aW5nLCBjdXJwb3MsIGxlbiwNCiAJCQkJCSAgICAmZm9saW8sICZmc2RhdGEpOw0KIAkJaWYgKGVy cikNCiAJCQlnb3RvIG91dDsNCiAJCWZvbGlvX3plcm9fcmFuZ2UoZm9saW8sIG9mZnNldF9pbl9m b2xpbyhmb2xpbywgY3VycG9zKSwgbGVuKTsNCi0JCWVyciA9IGFvcHMtPndyaXRlX2VuZChmaWxl LCBtYXBwaW5nLCBjdXJwb3MsIGxlbiwgbGVuLA0KKwkJZXJyID0gYW9wcy0+d3JpdGVfZW5kKGlv Y2IsIG1hcHBpbmcsIGN1cnBvcywgbGVuLCBsZW4sDQogCQkJCQkJZm9saW8sIGZzZGF0YSk7DQog CQlpZiAoZXJyIDwgMCkNCiAJCQlnb3RvIG91dDsNCkBAIC0yNTcxLDE3ICsyNTcyLDE2IEBAIHN0 YXRpYyBpbnQgY29udF9leHBhbmRfemVybyhzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJl c3Nfc3BhY2UgKm1hcHBpbmcsDQogICogRm9yIG1vcm9uaWMgZmlsZXN5c3RlbXMgdGhhdCBkbyBu b3QgYWxsb3cgaG9sZXMgaW4gZmlsZS4NCiAgKiBXZSBtYXkgaGF2ZSB0byBleHRlbmQgdGhlIGZp bGUuDQogICovDQotaW50IGNvbnRfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwN Ci0JCQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEsDQotCQkJZ2V0X2Jsb2Nr X3QgKmdldF9ibG9jaywgbG9mZl90ICpieXRlcykNCitpbnQgY29udF93cml0ZV9iZWdpbihjb25z dCBzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJ ICAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwNCisJ CSAgICAgdm9pZCAqKmZzZGF0YSwgZ2V0X2Jsb2NrX3QgKmdldF9ibG9jaywgbG9mZl90ICpieXRl cykNCiB7DQogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0Ow0KIAl1bnNpZ25l ZCBpbnQgYmxvY2tzaXplID0gaV9ibG9ja3NpemUoaW5vZGUpOw0KIAl1bnNpZ25lZCBpbnQgemVy b2Zyb207DQogCWludCBlcnI7DQogDQotCWVyciA9IGNvbnRfZXhwYW5kX3plcm8oZmlsZSwgbWFw cGluZywgcG9zLCBieXRlcyk7DQorCWVyciA9IGNvbnRfZXhwYW5kX3plcm8oaW9jYiwgbWFwcGlu ZywgcG9zLCBieXRlcyk7DQogCWlmIChlcnIpDQogCQlyZXR1cm4gZXJyOw0KIA0KZGlmZiAtLWdp dCBhL2ZzL2NlcGgvYWRkci5jIGIvZnMvY2VwaC9hZGRyLmMNCmluZGV4IDYwYTYyMWIwMGM2NS4u MDI0NjhjODQ4Y2NlIDEwMDY0NA0KLS0tIGEvZnMvY2VwaC9hZGRyLmMNCisrKyBiL2ZzL2NlcGgv YWRkci5jDQpAQCAtMTg2NCwxMCArMTg2NCwxMiBAQCBzdGF0aWMgaW50IGNlcGhfbmV0ZnNfY2hl Y2tfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkDQog ICogV2UgYXJlIG9ubHkgYWxsb3dlZCB0byB3cml0ZSBpbnRvL2RpcnR5IHRoZSBwYWdlIGlmIHRo ZSBwYWdlIGlzDQogICogY2xlYW4sIG9yIGFscmVhZHkgZGlydHkgd2l0aGluIHRoZSBzYW1lIHNu YXAgY29udGV4dC4NCiAgKi8NCi1zdGF0aWMgaW50IGNlcGhfd3JpdGVfYmVnaW4oc3RydWN0IGZp bGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KK3N0YXRpYyBpbnQgY2Vw aF93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgIHN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCSAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4s DQogCQkJICAgIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSkNCiB7DQorCXN0 cnVjdCBmaWxlICpmaWxlID0gaW9jYi0+a2lfZmlscDsNCiAJc3RydWN0IGlub2RlICppbm9kZSA9 IGZpbGVfaW5vZGUoZmlsZSk7DQogCXN0cnVjdCBjZXBoX2lub2RlX2luZm8gKmNpID0gY2VwaF9p bm9kZShpbm9kZSk7DQogCWludCByOw0KQEAgLTE4ODUsMTAgKzE4ODcsMTIgQEAgc3RhdGljIGlu dCBjZXBoX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqbWFwcGluZywNCiAgKiB3ZSBkb24ndCBkbyBhbnl0aGluZyBpbiBoZXJlIHRoYXQgc2ltcGxl X3dyaXRlX2VuZCBkb2Vzbid0IGRvDQogICogZXhjZXB0IGFkanVzdCBkaXJ0eSBwYWdlIGFjY291 bnRpbmcNCiAgKi8NCi1zdGF0aWMgaW50IGNlcGhfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxl LCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCQkgIGxvZmZfdCBwb3MsIHVuc2ln bmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KK3N0YXRpYyBpbnQgY2VwaF93cml0ZV9lbmQoY29u c3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJCSAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsIGxvZmZfdCBwb3MsDQorCQkJICB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCiAJ CQkgIHN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQorCXN0cnVjdCBmaWxl ICpmaWxlID0gaW9jYi0+a2lfZmlscDsNCiAJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGVfaW5v ZGUoZmlsZSk7DQogCXN0cnVjdCBjZXBoX2NsaWVudCAqY2wgPSBjZXBoX2lub2RlX3RvX2NsaWVu dChpbm9kZSk7DQogCWJvb2wgY2hlY2tfY2FwID0gZmFsc2U7DQpkaWZmIC0tZ2l0IGEvZnMvZWNy eXB0ZnMvbW1hcC5jIGIvZnMvZWNyeXB0ZnMvbW1hcC5jDQppbmRleCA2MGYwYWM4NzQ0YjUuLjJj MmIxMmZlZGVhZSAxMDA2NDQNCi0tLSBhL2ZzL2VjcnlwdGZzL21tYXAuYw0KKysrIGIvZnMvZWNy eXB0ZnMvbW1hcC5jDQpAQCAtMjI4LDcgKzIyOCw3IEBAIHN0YXRpYyBpbnQgZmlsbF96ZXJvc190 b19lbmRfb2ZfcGFnZShzdHJ1Y3QgZm9saW8gKmZvbGlvLCB1bnNpZ25lZCBpbnQgdG8pDQogDQog LyoqDQogICogZWNyeXB0ZnNfd3JpdGVfYmVnaW4NCi0gKiBAZmlsZTogVGhlIGVDcnlwdGZzIGZp bGUNCisgKiBAaW9jYjogSS9PIGNvbnRyb2wgYmxvY2sgZm9yIHRoZSBlQ3J5cHRmcyBmaWxlDQog ICogQG1hcHBpbmc6IFRoZSBlQ3J5cHRmcyBvYmplY3QNCiAgKiBAcG9zOiBUaGUgZmlsZSBvZmZz ZXQgYXQgd2hpY2ggdG8gc3RhcnQgd3JpdGluZw0KICAqIEBsZW46IExlbmd0aCBvZiB0aGUgd3Jp dGUNCkBAIC0yMzksNyArMjM5LDcgQEAgc3RhdGljIGludCBmaWxsX3plcm9zX3RvX2VuZF9vZl9w YWdlKHN0cnVjdCBmb2xpbyAqZm9saW8sIHVuc2lnbmVkIGludCB0bykNCiAgKg0KICAqIFJldHVy bnMgemVybyBvbiBzdWNjZXNzOyBub24temVybyBvdGhlcndpc2UNCiAgKi8NCi1zdGF0aWMgaW50 IGVjcnlwdGZzX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLA0KK3N0YXRpYyBpbnQgZWNy eXB0ZnNfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KIAkJCXN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCiAJ CQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQpAQCAtMzIyLDcgKzMyMiw3 IEBAIHN0YXRpYyBpbnQgZWNyeXB0ZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsDQog CSAqIE5vdGUsIHRoaXMgd2lsbCBpbmNyZWFzZSBpX3NpemUuICovDQogCWlmIChpbmRleCAhPSAw KSB7DQogCQlpZiAocHJldl9wYWdlX2VuZF9zaXplID4gaV9zaXplX3JlYWQobWFwcGluZy0+aG9z dCkpIHsNCi0JCQlyYyA9IGVjcnlwdGZzX3RydW5jYXRlKGZpbGUtPmZfcGF0aC5kZW50cnksDQor CQkJcmMgPSBlY3J5cHRmc190cnVuY2F0ZShpb2NiLT5raV9maWxwLT5mX3BhdGguZGVudHJ5LA0K IAkJCQkJICAgICAgIHByZXZfcGFnZV9lbmRfc2l6ZSk7DQogCQkJaWYgKHJjKSB7DQogCQkJCXBy aW50ayhLRVJOX0VSUiAiJXM6IEVycm9yIG9uIGF0dGVtcHQgdG8gIg0KQEAgLTQyOSw3ICs0Mjks NyBAQCBpbnQgZWNyeXB0ZnNfd3JpdGVfaW5vZGVfc2l6ZV90b19tZXRhZGF0YShzdHJ1Y3QgaW5v ZGUgKmVjcnlwdGZzX2lub2RlKQ0KIA0KIC8qKg0KICAqIGVjcnlwdGZzX3dyaXRlX2VuZA0KLSAq IEBmaWxlOiBUaGUgZUNyeXB0ZnMgZmlsZSBvYmplY3QNCisgKiBAaW9jYjogSS9PIGNvbnRyb2wg YmxvY2sgZm9yIHRoZSBlQ3J5cHRmcyBmaWxlDQogICogQG1hcHBpbmc6IFRoZSBlQ3J5cHRmcyBv YmplY3QNCiAgKiBAcG9zOiBUaGUgZmlsZSBwb3NpdGlvbg0KICAqIEBsZW46IFRoZSBsZW5ndGgg b2YgdGhlIGRhdGEgKHVudXNlZCkNCkBAIC00MzcsNyArNDM3LDcgQEAgaW50IGVjcnlwdGZzX3dy aXRlX2lub2RlX3NpemVfdG9fbWV0YWRhdGEoc3RydWN0IGlub2RlICplY3J5cHRmc19pbm9kZSkN CiAgKiBAZm9saW86IFRoZSBlQ3J5cHRmcyBmb2xpbw0KICAqIEBmc2RhdGE6IFRoZSBmc2RhdGEg KHVudXNlZCkNCiAgKi8NCi1zdGF0aWMgaW50IGVjcnlwdGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmls ZSAqZmlsZSwNCitzdGF0aWMgaW50IGVjcnlwdGZzX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lv Y2IgKmlvY2IsDQogCQkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJbG9mZl90 IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQogCQkJc3RydWN0IGZvbGlvICpm b2xpbywgdm9pZCAqZnNkYXRhKQ0KZGlmZiAtLWdpdCBhL2ZzL2V4ZmF0L2ZpbGUuYyBiL2ZzL2V4 ZmF0L2ZpbGUuYw0KaW5kZXggODQxYTViMThlM2RmLi43MGY1M2VkZDBhMTAgMTAwNjQ0DQotLS0g YS9mcy9leGZhdC9maWxlLmMNCisrKyBiL2ZzL2V4ZmF0L2ZpbGUuYw0KQEAgLTUzMiwxMSArNTMy LDEwIEBAIGludCBleGZhdF9maWxlX2ZzeW5jKHN0cnVjdCBmaWxlICpmaWxwLCBsb2ZmX3Qgc3Rh cnQsIGxvZmZfdCBlbmQsIGludCBkYXRhc3luYykNCiAJcmV0dXJuIGJsa2Rldl9pc3N1ZV9mbHVz aChpbm9kZS0+aV9zYi0+c19iZGV2KTsNCiB9DQogDQotc3RhdGljIGludCBleGZhdF9leHRlbmRf dmFsaWRfc2l6ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG5ld192YWxpZF9zaXplKQ0KK3N0 YXRpYyBpbnQgZXhmYXRfZXh0ZW5kX3ZhbGlkX3NpemUoc3RydWN0IGlub2RlICppbm9kZSwgbG9m Zl90IG5ld192YWxpZF9zaXplKQ0KIHsNCiAJaW50IGVycjsNCiAJbG9mZl90IHBvczsNCi0Jc3Ry dWN0IGlub2RlICppbm9kZSA9IGZpbGVfaW5vZGUoZmlsZSk7DQogCXN0cnVjdCBleGZhdF9pbm9k ZV9pbmZvICplaSA9IEVYRkFUX0koaW5vZGUpOw0KIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw cGluZyA9IGlub2RlLT5pX21hcHBpbmc7DQogCWNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29w ZXJhdGlvbnMgKm9wcyA9IG1hcHBpbmctPmFfb3BzOw0KQEAgLTU1MSwxNCArNTUwLDE0IEBAIHN0 YXRpYyBpbnQgZXhmYXRfZXh0ZW5kX3ZhbGlkX3NpemUoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZf dCBuZXdfdmFsaWRfc2l6ZSkNCiAJCWlmIChwb3MgKyBsZW4gPiBuZXdfdmFsaWRfc2l6ZSkNCiAJ CQlsZW4gPSBuZXdfdmFsaWRfc2l6ZSAtIHBvczsNCiANCi0JCWVyciA9IG9wcy0+d3JpdGVfYmVn aW4oZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sICZmb2xpbywgTlVMTCk7DQorCQllcnIgPSBvcHMt PndyaXRlX2JlZ2luKE5VTEwsIG1hcHBpbmcsIHBvcywgbGVuLCAmZm9saW8sIE5VTEwpOw0KIAkJ aWYgKGVycikNCiAJCQlnb3RvIG91dDsNCiANCiAJCW9mZiA9IG9mZnNldF9pbl9mb2xpbyhmb2xp bywgcG9zKTsNCiAJCWZvbGlvX3plcm9fbmV3X2J1ZmZlcnMoZm9saW8sIG9mZiwgb2ZmICsgbGVu KTsNCiANCi0JCWVyciA9IG9wcy0+d3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBs ZW4sIGZvbGlvLCBOVUxMKTsNCisJCWVyciA9IG9wcy0+d3JpdGVfZW5kKE5VTEwsIG1hcHBpbmcs IHBvcywgbGVuLCBsZW4sIGZvbGlvLCBOVUxMKTsNCiAJCWlmIChlcnIgPCAwKQ0KIAkJCWdvdG8g b3V0Ow0KIAkJcG9zICs9IGxlbjsNCkBAIC02MDQsNyArNjAzLDcgQEAgc3RhdGljIHNzaXplX3Qg ZXhmYXRfZmlsZV93cml0ZV9pdGVyKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVy ICppdGVyKQ0KIAl9DQogDQogCWlmIChwb3MgPiB2YWxpZF9zaXplKSB7DQotCQlyZXQgPSBleGZh dF9leHRlbmRfdmFsaWRfc2l6ZShmaWxlLCBwb3MpOw0KKwkJcmV0ID0gZXhmYXRfZXh0ZW5kX3Zh bGlkX3NpemUoaW5vZGUsIHBvcyk7DQogCQlpZiAocmV0IDwgMCAmJiByZXQgIT0gLUVOT1NQQykg ew0KIAkJCWV4ZmF0X2Vycihpbm9kZS0+aV9zYiwNCiAJCQkJIndyaXRlOiBmYWlsIHRvIHplcm8g ZnJvbSAlbGx1IHRvICVsbHUoJXpkKSIsDQpAQCAtNjY1LDcgKzY2NCw3IEBAIHN0YXRpYyB2bV9m YXVsdF90IGV4ZmF0X3BhZ2VfbWt3cml0ZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikNCiAJCQlzdGFy dCArIHZtYS0+dm1fZW5kIC0gdm1hLT52bV9zdGFydCk7DQogDQogCWlmIChlaS0+dmFsaWRfc2l6 ZSA8IGVuZCkgew0KLQkJZXJyID0gZXhmYXRfZXh0ZW5kX3ZhbGlkX3NpemUoZmlsZSwgZW5kKTsN CisJCWVyciA9IGV4ZmF0X2V4dGVuZF92YWxpZF9zaXplKGlub2RlLCBlbmQpOw0KIAkJaWYgKGVy ciA8IDApIHsNCiAJCQlpbm9kZV91bmxvY2soaW5vZGUpOw0KIAkJCXJldHVybiB2bWZfZnNfZXJy b3IoZXJyKTsNCmRpZmYgLS1naXQgYS9mcy9leGZhdC9pbm9kZS5jIGIvZnMvZXhmYXQvaW5vZGUu Yw0KaW5kZXggYjIyYzAyZDYwMDBmLi5jMTA4NDRlMWUxNmMgMTAwNjQ0DQotLS0gYS9mcy9leGZh dC9pbm9kZS5jDQorKysgYi9mcy9leGZhdC9pbm9kZS5jDQpAQCAtNDQ2LDkgKzQ0NiwxMCBAQCBz dGF0aWMgdm9pZCBleGZhdF93cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsIGxvZmZfdCB0bykNCiAJfQ0KIH0NCiANCi1zdGF0aWMgaW50IGV4ZmF0X3dyaXRlX2JlZ2lu KHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCWxv ZmZfdCBwb3MsIHVuc2lnbmVkIGludCBsZW4sDQotCQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZv aWQgKipmc2RhdGEpDQorc3RhdGljIGludCBleGZhdF93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qg a2lvY2IgKmlvY2IsDQorCQkJICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJ CQkgICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGludCBsZW4sDQorCQkJICAgICBzdHJ1Y3QgZm9s aW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KIAlpbnQgcmV0Ow0KIA0KQEAgLTQ2Mywx NSArNDY0LDE2IEBAIHN0YXRpYyBpbnQgZXhmYXRfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZp bGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAlyZXR1cm4gcmV0Ow0KIH0NCiAN Ci1zdGF0aWMgaW50IGV4ZmF0X3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBpbnQgbGVuLCB1 bnNpZ25lZCBpbnQgY29waWVkLA0KLQkJc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRh KQ0KK3N0YXRpYyBpbnQgZXhmYXRfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwN CisJCQkgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgICBsb2ZmX3QgcG9z LCB1bnNpZ25lZCBpbnQgbGVuLCB1bnNpZ25lZCBpbnQgY29waWVkLA0KKwkJCSAgIHN0cnVjdCBm b2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBt YXBwaW5nLT5ob3N0Ow0KIAlzdHJ1Y3QgZXhmYXRfaW5vZGVfaW5mbyAqZWkgPSBFWEZBVF9JKGlu b2RlKTsNCiAJaW50IGVycjsNCiANCi0JZXJyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFw cGluZywgcG9zLCBsZW4sIGNvcGllZCwgZm9saW8sIGZzZGF0YSk7DQorCWVyciA9IGdlbmVyaWNf d3JpdGVfZW5kKGlvY2IsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIGZvbGlvLCBmc2RhdGEp Ow0KIAlpZiAoZXJyIDwgbGVuKQ0KIAkJZXhmYXRfd3JpdGVfZmFpbGVkKG1hcHBpbmcsIHBvcyts ZW4pOw0KIA0KZGlmZiAtLWdpdCBhL2ZzL2V4dDIvaW5vZGUuYyBiL2ZzL2V4dDIvaW5vZGUuYw0K aW5kZXggMzBmODIwMWMxNTVmLi5kMzVjYTI2ZWVlM2MgMTAwNjQ0DQotLS0gYS9mcy9leHQyL2lu b2RlLmMNCisrKyBiL2ZzL2V4dDIvaW5vZGUuYw0KQEAgLTkxNSw3ICs5MTUsNyBAQCBzdGF0aWMg dm9pZCBleHQyX3JlYWRhaGVhZChzdHJ1Y3QgcmVhZGFoZWFkX2NvbnRyb2wgKnJhYykNCiB9DQog DQogc3RhdGljIGludA0KLWV4dDJfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KK2V4dDJfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0 IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCWxvZmZfdCBw b3MsIHVuc2lnbmVkIGxlbiwgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0K IHsNCiAJaW50IHJldDsNCkBAIC05MjYsMTMgKzkyNiwxNCBAQCBleHQyX3dyaXRlX2JlZ2luKHN0 cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJcmV0dXJu IHJldDsNCiB9DQogDQotc3RhdGljIGludCBleHQyX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmls ZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQkJbG9mZl90IHBvcywgdW5zaWdu ZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQotCQkJc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAq ZnNkYXRhKQ0KK3N0YXRpYyBpbnQgZXh0Ml93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICpp b2NiLA0KKwkJCSAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJICBsb2ZmX3Qg cG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCisJCQkgIHN0cnVjdCBmb2xpbyAq Zm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQogCWludCByZXQ7DQogDQotCXJldCA9IGdlbmVyaWNf d3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIGZvbGlvLCBmc2RhdGEp Ow0KKwlyZXQgPSBnZW5lcmljX3dyaXRlX2VuZChpb2NiLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29w aWVkLCBmb2xpbywgZnNkYXRhKTsNCiAJaWYgKHJldCA8IGxlbikNCiAJCWV4dDJfd3JpdGVfZmFp bGVkKG1hcHBpbmcsIHBvcyArIGxlbik7DQogCXJldHVybiByZXQ7DQpkaWZmIC0tZ2l0IGEvZnMv ZXh0NC9pbm9kZS5jIGIvZnMvZXh0NC9pbm9kZS5jDQppbmRleCBlNmFhN2NhNmQ4NDIuLjlhMTZl ZmQwNzJiYiAxMDA2NDQNCi0tLSBhL2ZzL2V4dDQvaW5vZGUuYw0KKysrIGIvZnMvZXh0NC9pbm9k ZS5jDQpAQCAtMTI1Miw3ICsxMjUyLDggQEAgaW50IGV4dDRfYmxvY2tfd3JpdGVfYmVnaW4oaGFu ZGxlX3QgKmhhbmRsZSwgc3RydWN0IGZvbGlvICpmb2xpbywNCiAgKiBhbmQgdGhlIGV4dDRfd3Jp dGVfZW5kKCkuICBTbyBkb2luZyB0aGUgamJkMl9qb3VybmFsX3N0YXJ0IGF0IHRoZSBzdGFydCBv Zg0KICAqIGV4dDRfd3JpdGVfYmVnaW4oKSBpcyB0aGUgcmlnaHQgcGxhY2UuDQogICovDQotc3Rh dGljIGludCBleHQ0X3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVz c19zcGFjZSAqbWFwcGluZywNCitzdGF0aWMgaW50IGV4dDRfd3JpdGVfYmVnaW4oY29uc3Qgc3Ry dWN0IGtpb2NiICppb2NiLA0KKwkJCSAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywN CiAJCQkgICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0KIAkJCSAgICBzdHJ1Y3QgZm9saW8g Kipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KQEAgLTE0MDAsMTIgKzE0MDEsMTIgQEAgc3Rh dGljIGludCB3cml0ZV9lbmRfZm4oaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9k ZSwNCiANCiAvKg0KICAqIFdlIG5lZWQgdG8gcGljayB1cCB0aGUgbmV3IGlub2RlIHNpemUgd2hp Y2ggZ2VuZXJpY19jb21taXRfd3JpdGUgZ2F2ZSB1cw0KLSAqIGBmaWxlJyBjYW4gYmUgTlVMTCAt IGVnLCB3aGVuIGNhbGxlZCBmcm9tIHBhZ2Vfc3ltbGluaygpLg0KKyAqIGBpb2NiYCBjYW4gYmUg TlVMTCAtIGVnLCB3aGVuIGNhbGxlZCBmcm9tIHBhZ2Vfc3ltbGluaygpLg0KICAqDQogICogZXh0 NCBuZXZlciBwbGFjZXMgYnVmZmVycyBvbiBpbm9kZS0+aV9tYXBwaW5nLT5pX3ByaXZhdGVfbGlz dC4gIG1ldGFkYXRhDQogICogYnVmZmVycyBhcmUgbWFuYWdlZCBpbnRlcm5hbGx5Lg0KICAqLw0K LXN0YXRpYyBpbnQgZXh0NF93cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsDQorc3RhdGljIGlu dCBleHQ0X3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogCQkJICBzdHJ1Y3Qg YWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwg dW5zaWduZWQgY29waWVkLA0KIAkJCSAgc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRh KQ0KQEAgLTE1MTAsNyArMTUxMSw3IEBAIHN0YXRpYyB2b2lkIGV4dDRfam91cm5hbGxlZF96ZXJv X25ld19idWZmZXJzKGhhbmRsZV90ICpoYW5kbGUsDQogCX0gd2hpbGUgKGJoICE9IGhlYWQpOw0K IH0NCiANCi1zdGF0aWMgaW50IGV4dDRfam91cm5hbGxlZF93cml0ZV9lbmQoc3RydWN0IGZpbGUg KmZpbGUsDQorc3RhdGljIGludCBleHQ0X2pvdXJuYWxsZWRfd3JpdGVfZW5kKGNvbnN0IHN0cnVj dCBraW9jYiAqaW9jYiwNCiAJCQkJICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywN CiAJCQkJICAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCiAJ CQkJICAgICBzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpmc2RhdGEpDQpAQCAtMzAzNiw3ICsz MDM3LDggQEAgc3RhdGljIGludCBleHQ0X25vbmRhX3N3aXRjaChzdHJ1Y3Qgc3VwZXJfYmxvY2sg KnNiKQ0KIAlyZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIGludCBleHQ0X2RhX3dyaXRlX2JlZ2lu KHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitzdGF0 aWMgaW50IGV4dDRfZGFfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJ CSAgICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkgICAgICAgbG9mZl90 IHBvcywgdW5zaWduZWQgbGVuLA0KIAkJCSAgICAgICBzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZv aWQgKipmc2RhdGEpDQogew0KQEAgLTMwNTQsNyArMzA1Niw3IEBAIHN0YXRpYyBpbnQgZXh0NF9k YV93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1h cHBpbmcsDQogDQogCWlmIChleHQ0X25vbmRhX3N3aXRjaChpbm9kZS0+aV9zYikgfHwgZXh0NF92 ZXJpdHlfaW5fcHJvZ3Jlc3MoaW5vZGUpKSB7DQogCQkqZnNkYXRhID0gKHZvaWQgKilGQUxMX0JB Q0tfVE9fTk9OREVMQUxMT0M7DQotCQlyZXR1cm4gZXh0NF93cml0ZV9iZWdpbihmaWxlLCBtYXBw aW5nLCBwb3MsDQorCQlyZXR1cm4gZXh0NF93cml0ZV9iZWdpbihpb2NiLCBtYXBwaW5nLCBwb3Ms DQogCQkJCQlsZW4sIGZvbGlvcCwgZnNkYXRhKTsNCiAJfQ0KIAkqZnNkYXRhID0gKHZvaWQgKikw Ow0KQEAgLTMxOTUsNyArMzE5Nyw3IEBAIHN0YXRpYyBpbnQgZXh0NF9kYV9kb193cml0ZV9lbmQo c3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCXJldHVybiBjb3BpZWQ7DQogfQ0KIA0K LXN0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsDQorc3RhdGlj IGludCBleHQ0X2RhX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogCQkJICAg ICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkgICAgIGxvZmZfdCBwb3MsIHVu c2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KIAkJCSAgICAgc3RydWN0IGZvbGlvICpmb2xp bywgdm9pZCAqZnNkYXRhKQ0KQEAgLTMyMDQsNyArMzIwNiw3IEBAIHN0YXRpYyBpbnQgZXh0NF9k YV93cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsDQogCWludCB3cml0ZV9tb2RlID0gKGludCko dW5zaWduZWQgbG9uZylmc2RhdGE7DQogDQogCWlmICh3cml0ZV9tb2RlID09IEZBTExfQkFDS19U T19OT05ERUxBTExPQykNCi0JCXJldHVybiBleHQ0X3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBw b3MsDQorCQlyZXR1cm4gZXh0NF93cml0ZV9lbmQoaW9jYiwgbWFwcGluZywgcG9zLA0KIAkJCQkg ICAgICBsZW4sIGNvcGllZCwgZm9saW8sIGZzZGF0YSk7DQogDQogCXRyYWNlX2V4dDRfZGFfd3Jp dGVfZW5kKGlub2RlLCBwb3MsIGxlbiwgY29waWVkKTsNCmRpZmYgLS1naXQgYS9mcy9mMmZzL2Rh dGEuYyBiL2ZzL2YyZnMvZGF0YS5jDQppbmRleCAzMWU4OTI4NDI2MjUuLjcxMWFkODBiMzhkMCAx MDA2NDQNCi0tLSBhL2ZzL2YyZnMvZGF0YS5jDQorKysgYi9mcy9mMmZzL2RhdGEuYw0KQEAgLTM1 MTksOCArMzUxOSwxMCBAQCBzdGF0aWMgaW50IHByZXBhcmVfYXRvbWljX3dyaXRlX2JlZ2luKHN0 cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyBpbnQg ZjJmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2Ug Km1hcHBpbmcsDQotCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHN0cnVjdCBmb2xpbyAqKmZv bGlvcCwgdm9pZCAqKmZzZGF0YSkNCitzdGF0aWMgaW50IGYyZnNfd3JpdGVfYmVnaW4oY29uc3Qg c3RydWN0IGtpb2NiICppb2NiLA0KKwkJCSAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGlu ZywNCisJCQkgICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCBzdHJ1Y3QgZm9saW8gKipmb2xp b3AsDQorCQkJICAgIHZvaWQgKipmc2RhdGEpDQogew0KIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0g bWFwcGluZy0+aG9zdDsNCiAJc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpID0gRjJGU19JX1NCKGlu b2RlKTsNCkBAIC0zNjU2LDcgKzM2NTgsNyBAQCBzdGF0aWMgaW50IGYyZnNfd3JpdGVfYmVnaW4o c3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAlyZXR1 cm4gZXJyOw0KIH0NCiANCi1zdGF0aWMgaW50IGYyZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpm aWxlLA0KK3N0YXRpYyBpbnQgZjJmc193cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2Ni LA0KIAkJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCWxvZmZfdCBwb3MsIHVu c2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KIAkJCXN0cnVjdCBmb2xpbyAqZm9saW8sIHZv aWQgKmZzZGF0YSkNCmRpZmYgLS1naXQgYS9mcy9mYXQvaW5vZGUuYyBiL2ZzL2ZhdC9pbm9kZS5j DQppbmRleCAzODUyYmI2NjM1OGMuLjk2NDhlZDA5NzgxNiAxMDA2NDQNCi0tLSBhL2ZzL2ZhdC9p bm9kZS5jDQorKysgYi9mcy9mYXQvaW5vZGUuYw0KQEAgLTIxOSwxMyArMjE5LDE0IEBAIHN0YXRp YyB2b2lkIGZhdF93cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxv ZmZfdCB0bykNCiAJfQ0KIH0NCiANCi1zdGF0aWMgaW50IGZhdF93cml0ZV9iZWdpbihzdHJ1Y3Qg ZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQkJbG9mZl90IHBv cywgdW5zaWduZWQgbGVuLA0KLQkJCXN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0 YSkNCitzdGF0aWMgaW50IGZhdF93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2Is DQorCQkJICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJICAgbG9mZl90IHBv cywgdW5zaWduZWQgbGVuLA0KKwkJCSAgIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZz ZGF0YSkNCiB7DQogCWludCBlcnI7DQogDQotCWVyciA9IGNvbnRfd3JpdGVfYmVnaW4oZmlsZSwg bWFwcGluZywgcG9zLCBsZW4sDQorCWVyciA9IGNvbnRfd3JpdGVfYmVnaW4oaW9jYiwgbWFwcGlu ZywgcG9zLCBsZW4sDQogCQkJCWZvbGlvcCwgZnNkYXRhLCBmYXRfZ2V0X2Jsb2NrLA0KIAkJCQkm TVNET1NfSShtYXBwaW5nLT5ob3N0KS0+bW11X3ByaXZhdGUpOw0KIAlpZiAoZXJyIDwgMCkNCkBA IC0yMzMsMTMgKzIzNCwxNCBAQCBzdGF0aWMgaW50IGZhdF93cml0ZV9iZWdpbihzdHJ1Y3QgZmls ZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCXJldHVybiBlcnI7DQog fQ0KIA0KLXN0YXRpYyBpbnQgZmF0X3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1 bnNpZ25lZCBjb3BpZWQsDQotCQkJc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKQ0K K3N0YXRpYyBpbnQgZmF0X3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJ IHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJCSBsb2ZmX3QgcG9zLCB1bnNpZ25l ZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCisJCQkgc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAq ZnNkYXRhKQ0KIHsNCiAJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7DQogCWlu dCBlcnI7DQotCWVyciA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVu LCBjb3BpZWQsIGZvbGlvLCBmc2RhdGEpOw0KKwllcnIgPSBnZW5lcmljX3dyaXRlX2VuZChpb2Ni LCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBmb2xpbywgZnNkYXRhKTsNCiAJaWYgKGVyciA8 IGxlbikNCiAJCWZhdF93cml0ZV9mYWlsZWQobWFwcGluZywgcG9zICsgbGVuKTsNCiAJaWYgKCEo ZXJyIDwgMCkgJiYgIShNU0RPU19JKGlub2RlKS0+aV9hdHRycyAmIEFUVFJfQVJDSCkpIHsNCmRp ZmYgLS1naXQgYS9mcy9mdXNlL2ZpbGUuYyBiL2ZzL2Z1c2UvZmlsZS5jDQppbmRleCBmMTAyYWZj MDMzNTkuLjIxYzZmODY1NGJmZSAxMDA2NDQNCi0tLSBhL2ZzL2Z1c2UvZmlsZS5jDQorKysgYi9m cy9mdXNlL2ZpbGUuYw0KQEAgLTIyMTMsMTAgKzIyMTMsMTMgQEAgc3RhdGljIGludCBmdXNlX3dy aXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogICogSXQncyB3b3J0aHkg dG8gbWFrZSBzdXJlIHRoYXQgc3BhY2UgaXMgcmVzZXJ2ZWQgb24gZGlzayBmb3IgdGhlIHdyaXRl LA0KICAqIGJ1dCBob3cgdG8gaW1wbGVtZW50IGl0IHdpdGhvdXQga2lsbGluZyBwZXJmb3JtYW5j ZSBuZWVkIG1vcmUgdGhpbmtpbmcuDQogICovDQotc3RhdGljIGludCBmdXNlX3dyaXRlX2JlZ2lu KHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCWxv ZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNk YXRhKQ0KK3N0YXRpYyBpbnQgZnVzZV93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlv Y2IsDQorCQkJICAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJCSAgICBsb2Zm X3QgcG9zLCB1bnNpZ25lZCBsZW4sIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwNCisJCQkgICAgdm9p ZCAqKmZzZGF0YSkNCiB7DQogCXBnb2ZmX3QgaW5kZXggPSBwb3MgPj4gUEFHRV9TSElGVDsNCisJ c3RydWN0IGZpbGUgKmZpbGUgPSBpb2NiLT5raV9maWxwOw0KIAlzdHJ1Y3QgZnVzZV9jb25uICpm YyA9IGdldF9mdXNlX2Nvbm4oZmlsZV9pbm9kZShmaWxlKSk7DQogCXN0cnVjdCBmb2xpbyAqZm9s aW87DQogCWxvZmZfdCBmc2l6ZTsNCkBAIC0yMjU2LDkgKzIyNTksMTAgQEAgc3RhdGljIGludCBm dXNlX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZywNCiAJcmV0dXJuIGVycjsNCiB9DQogDQotc3RhdGljIGludCBmdXNlX3dyaXRlX2Vu ZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQls b2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCi0JCXN0cnVjdCBmb2xp byAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCitzdGF0aWMgaW50IGZ1c2Vfd3JpdGVfZW5kKGNvbnN0 IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5n LA0KKwkJCSAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQorCQkJ ICBzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpmc2RhdGEpDQogew0KIAlzdHJ1Y3QgaW5vZGUg Kmlub2RlID0gZm9saW8tPm1hcHBpbmctPmhvc3Q7DQogDQpkaWZmIC0tZ2l0IGEvZnMvaGZzL2hm c19mcy5oIGIvZnMvaGZzL2hmc19mcy5oDQppbmRleCBhMGM3Y2IwZjc5ZmMuLmMzZmQzMTcyZmRk NiAxMDA2NDQNCi0tLSBhL2ZzL2hmcy9oZnNfZnMuaA0KKysrIGIvZnMvaGZzL2hmc19mcy5oDQpA QCAtMjAxLDcgKzIwMSw3IEBAIGV4dGVybiBpbnQgaGZzX2dldF9ibG9jayhzdHJ1Y3QgaW5vZGUg Kiwgc2VjdG9yX3QsIHN0cnVjdCBidWZmZXJfaGVhZCAqLCBpbnQpOw0KIGV4dGVybiBjb25zdCBz dHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGhmc19hb3BzOw0KIGV4dGVybiBjb25zdCBz dHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGhmc19idHJlZV9hb3BzOw0KIA0KLWludCBo ZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICpt YXBwaW5nLA0KK2ludCBoZnNfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLCBz dHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxl biwgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKTsNCiBleHRlcm4gc3RydWN0 IGlub2RlICpoZnNfbmV3X2lub2RlKHN0cnVjdCBpbm9kZSAqLCBjb25zdCBzdHJ1Y3QgcXN0ciAq LCB1bW9kZV90KTsNCiBleHRlcm4gdm9pZCBoZnNfaW5vZGVfd3JpdGVfZm9yayhzdHJ1Y3QgaW5v ZGUgKiwgc3RydWN0IGhmc19leHRlbnQgKiwgX19iZTMyICosIF9fYmUzMiAqKTsNCmRpZmYgLS1n aXQgYS9mcy9oZnMvaW5vZGUuYyBiL2ZzL2hmcy9pbm9kZS5jDQppbmRleCBhODFjZTdhNzQwYjku LjA5NmYzMzgxMzRmOSAxMDA2NDQNCi0tLSBhL2ZzL2hmcy9pbm9kZS5jDQorKysgYi9mcy9oZnMv aW5vZGUuYw0KQEAgLTQ0LDEyICs0NCwxMiBAQCBzdGF0aWMgdm9pZCBoZnNfd3JpdGVfZmFpbGVk KHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgdG8pDQogCX0NCiB9DQogDQot aW50IGhmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3Bh Y2UgKm1hcHBpbmcsDQoraW50IGhmc193cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlv Y2IsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJbG9mZl90IHBvcywgdW5zaWdu ZWQgbGVuLCBzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KIAlpbnQg cmV0Ow0KIA0KLQlyZXQgPSBjb250X3dyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVu LCBmb2xpb3AsIGZzZGF0YSwNCisJcmV0ID0gY29udF93cml0ZV9iZWdpbihpb2NiLCBtYXBwaW5n LCBwb3MsIGxlbiwgZm9saW9wLCBmc2RhdGEsDQogCQkJCWhmc19nZXRfYmxvY2ssDQogCQkJCSZI RlNfSShtYXBwaW5nLT5ob3N0KS0+cGh5c19zaXplKTsNCiAJaWYgKHVubGlrZWx5KHJldCkpDQpk aWZmIC0tZ2l0IGEvZnMvaGZzcGx1cy9oZnNwbHVzX2ZzLmggYi9mcy9oZnNwbHVzL2hmc3BsdXNf ZnMuaA0KaW5kZXggMmYwODliZmYwMDk1Li4zZDVjNjVhZWYzYjIgMTAwNjQ0DQotLS0gYS9mcy9o ZnNwbHVzL2hmc3BsdXNfZnMuaA0KKysrIGIvZnMvaGZzcGx1cy9oZnNwbHVzX2ZzLmgNCkBAIC00 NzMsOCArNDczLDEwIEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRp b25zIGhmc3BsdXNfYW9wczsNCiBleHRlcm4gY29uc3Qgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3Bl cmF0aW9ucyBoZnNwbHVzX2J0cmVlX2FvcHM7DQogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkZW50cnlf b3BlcmF0aW9ucyBoZnNwbHVzX2RlbnRyeV9vcGVyYXRpb25zOw0KIA0KLWludCBoZnNwbHVzX3dy aXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGlu ZywNCi0JCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2 b2lkICoqZnNkYXRhKTsNCitpbnQgaGZzcGx1c193cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lv Y2IgKmlvY2IsDQorCQkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJbG9mZl90 IHBvcywgdW5zaWduZWQgbGVuLCBzdHJ1Y3QgZm9saW8gKipmb2xpb3AsDQorCQkJdm9pZCAqKmZz ZGF0YSk7DQogc3RydWN0IGlub2RlICpoZnNwbHVzX25ld19pbm9kZShzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKnNiLCBzdHJ1Y3QgaW5vZGUgKmRpciwNCiAJCQkJdW1vZGVfdCBtb2RlKTsNCiB2b2lkIGhm c3BsdXNfZGVsZXRlX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpOw0KZGlmZiAtLWdpdCBhL2Zz L2hmc3BsdXMvaW5vZGUuYyBiL2ZzL2hmc3BsdXMvaW5vZGUuYw0KaW5kZXggZjMzMWU5NTc0MjE3 Li45N2Q3NWJiMmMzODggMTAwNjQ0DQotLS0gYS9mcy9oZnNwbHVzL2lub2RlLmMNCisrKyBiL2Zz L2hmc3BsdXMvaW5vZGUuYw0KQEAgLTM4LDEyICszOCwxNCBAQCBzdGF0aWMgdm9pZCBoZnNwbHVz X3dyaXRlX2ZhaWxlZChzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHRvKQ0K IAl9DQogfQ0KIA0KLWludCBoZnNwbHVzX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBz dHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxl biwgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KK2ludCBoZnNwbHVzX3dy aXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQlzdHJ1Y3QgYWRkcmVzc19z cGFjZSAqbWFwcGluZywgbG9mZl90IHBvcywNCisJCQl1bnNpZ25lZCBsZW4sIHN0cnVjdCBmb2xp byAqKmZvbGlvcCwNCisJCQl2b2lkICoqZnNkYXRhKQ0KIHsNCiAJaW50IHJldDsNCiANCi0JcmV0 ID0gY29udF93cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgZm9saW9wLCBmc2Rh dGEsDQorCXJldCA9IGNvbnRfd3JpdGVfYmVnaW4oaW9jYiwgbWFwcGluZywgcG9zLCBsZW4sIGZv bGlvcCwgZnNkYXRhLA0KIAkJCQloZnNwbHVzX2dldF9ibG9jaywNCiAJCQkJJkhGU1BMVVNfSSht YXBwaW5nLT5ob3N0KS0+cGh5c19zaXplKTsNCiAJaWYgKHVubGlrZWx5KHJldCkpDQpkaWZmIC0t Z2l0IGEvZnMvaG9zdGZzL2hvc3Rmc19rZXJuLmMgYi9mcy9ob3N0ZnMvaG9zdGZzX2tlcm4uYw0K aW5kZXggNzAyYzQxMzE3NTg5Li42YzJjZjBjZGYzZDYgMTAwNjQ0DQotLS0gYS9mcy9ob3N0ZnMv aG9zdGZzX2tlcm4uYw0KKysrIGIvZnMvaG9zdGZzL2hvc3Rmc19rZXJuLmMNCkBAIC00NDUsNyAr NDQ1LDggQEAgc3RhdGljIGludCBob3N0ZnNfcmVhZF9mb2xpbyhzdHJ1Y3QgZmlsZSAqZmlsZSwg c3RydWN0IGZvbGlvICpmb2xpbykNCiAJcmV0dXJuIHJldDsNCiB9DQogDQotc3RhdGljIGludCBo b3N0ZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNl ICptYXBwaW5nLA0KK3N0YXRpYyBpbnQgaG9zdGZzX3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBr aW9jYiAqaW9jYiwNCisJCQkgICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJ CQkgICAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQogCQkJICAgICAgc3RydWN0IGZvbGlv ICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KIHsNCkBAIC00NTgsNyArNDU5LDggQEAgc3RhdGlj IGludCBob3N0ZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNz X3NwYWNlICptYXBwaW5nLA0KIAlyZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIGludCBob3N0ZnNf d3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGlu ZywNCitzdGF0aWMgaW50IGhvc3Rmc193cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2Ni LA0KKwkJCSAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkgICAgbG9mZl90 IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQogCQkJICAgIHN0cnVjdCBmb2xp byAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQpAQCAtNDY4LDcgKzQ3MCw3IEBAIHN0YXRpYyBp bnQgaG9zdGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3Bh Y2UgKm1hcHBpbmcsDQogCWludCBlcnI7DQogDQogCWJ1ZmZlciA9IGttYXBfbG9jYWxfZm9saW8o Zm9saW8sIGZyb20pOw0KLQllcnIgPSB3cml0ZV9maWxlKEZJTEVfSE9TVEZTX0koZmlsZSktPmZk LCAmcG9zLCBidWZmZXIsIGNvcGllZCk7DQorCWVyciA9IHdyaXRlX2ZpbGUoRklMRV9IT1NURlNf SShpb2NiLT5raV9maWxwKS0+ZmQsICZwb3MsIGJ1ZmZlciwgY29waWVkKTsNCiAJa3VubWFwX2xv Y2FsKGJ1ZmZlcik7DQogDQogCWlmICghZm9saW9fdGVzdF91cHRvZGF0ZShmb2xpbykgJiYgZXJy ID09IGZvbGlvX3NpemUoZm9saW8pKQ0KZGlmZiAtLWdpdCBhL2ZzL2hwZnMvZmlsZS5jIGIvZnMv aHBmcy9maWxlLmMNCmluZGV4IDQ0OWEzZmMxYjhkOS4uN2I5NWEzZDJlMmE2IDEwMDY0NA0KLS0t IGEvZnMvaHBmcy9maWxlLmMNCisrKyBiL2ZzL2hwZnMvZmlsZS5jDQpAQCAtMTg4LDEzICsxODgs MTQgQEAgc3RhdGljIHZvaWQgaHBmc193cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJlc3Nfc3BhY2Ug Km1hcHBpbmcsIGxvZmZfdCB0bykNCiAJaHBmc191bmxvY2soaW5vZGUtPmlfc2IpOw0KIH0NCiAN Ci1zdGF0aWMgaW50IGhwZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCi0J CQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQorc3RhdGljIGludCBocGZz X3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICAgc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwN CisJCQkgICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KIHsNCiAJaW50 IHJldDsNCiANCi0JcmV0ID0gY29udF93cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwb3MsIGxl biwgZm9saW9wLCBmc2RhdGEsDQorCXJldCA9IGNvbnRfd3JpdGVfYmVnaW4oaW9jYiwgbWFwcGlu ZywgcG9zLCBsZW4sIGZvbGlvcCwgZnNkYXRhLA0KIAkJCQlocGZzX2dldF9ibG9jaywNCiAJCQkJ JmhwZnNfaShtYXBwaW5nLT5ob3N0KS0+bW11X3ByaXZhdGUpOw0KIAlpZiAodW5saWtlbHkocmV0 KSkNCkBAIC0yMDMsMTMgKzIwNCwxNCBAQCBzdGF0aWMgaW50IGhwZnNfd3JpdGVfYmVnaW4oc3Ry dWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAlyZXR1cm4g cmV0Ow0KIH0NCiANCi1zdGF0aWMgaW50IGhwZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxl LCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCQlsb2ZmX3QgcG9zLCB1bnNpZ25l ZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCi0JCQlzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpm c2RhdGEpDQorc3RhdGljIGludCBocGZzX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlv Y2IsDQorCQkJICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgIGxvZmZfdCBw b3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KKwkJCSAgc3RydWN0IGZvbGlvICpm b2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCiAJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmct Pmhvc3Q7DQogCWludCBlcnI7DQotCWVyciA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBp bmcsIHBvcywgbGVuLCBjb3BpZWQsIGZvbGlvLCBmc2RhdGEpOw0KKwllcnIgPSBnZW5lcmljX3dy aXRlX2VuZChpb2NiLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBmb2xpbywgZnNkYXRhKTsN CiAJaWYgKGVyciA8IGxlbikNCiAJCWhwZnNfd3JpdGVfZmFpbGVkKG1hcHBpbmcsIHBvcyArIGxl bik7DQogCWlmICghKGVyciA8IDApKSB7DQpkaWZmIC0tZ2l0IGEvZnMvaHVnZXRsYmZzL2lub2Rl LmMgYi9mcy9odWdldGxiZnMvaW5vZGUuYw0KaW5kZXggZTRkZTU0MjU4MzhkLi41NDFhYWU1MDJk NGQgMTAwNjQ0DQotLS0gYS9mcy9odWdldGxiZnMvaW5vZGUuYw0KKysrIGIvZnMvaHVnZXRsYmZz L2lub2RlLmMNCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIHNzaXplX3QgaHVnZXRsYmZzX3Jl YWRfaXRlcihzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRlciAqdG8pDQogCXJldHVy biByZXR2YWw7DQogfQ0KIA0KLXN0YXRpYyBpbnQgaHVnZXRsYmZzX3dyaXRlX2JlZ2luKHN0cnVj dCBmaWxlICpmaWxlLA0KK3N0YXRpYyBpbnQgaHVnZXRsYmZzX3dyaXRlX2JlZ2luKGNvbnN0IHN0 cnVjdCBraW9jYiAqaW9jYiwNCiAJCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJ CQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQogCQkJc3RydWN0IGZvbGlvICoqZm9saW9wLCB2 b2lkICoqZnNkYXRhKQ0KQEAgLTMxOSw5ICszMTksMTAgQEAgc3RhdGljIGludCBodWdldGxiZnNf d3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsDQogCXJldHVybiAtRUlOVkFMOw0KIH0NCiAN Ci1zdGF0aWMgaW50IGh1Z2V0bGJmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwg dW5zaWduZWQgY29waWVkLA0KLQkJCXN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkN CitzdGF0aWMgaW50IGh1Z2V0bGJmc193cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2Ni LA0KKwkJCSAgICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgICAgICAg bG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQorCQkJICAgICAgIHN0 cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQogCUJVRygpOw0KIAlyZXR1cm4g LUVJTlZBTDsNCmRpZmYgLS1naXQgYS9mcy9qZmZzMi9maWxlLmMgYi9mcy9qZmZzMi9maWxlLmMN CmluZGV4IDEzYzE4Y2NjMTNiMC4uYWRlYzNhZjliZjhkIDEwMDY0NA0KLS0tIGEvZnMvamZmczIv ZmlsZS5jDQorKysgYi9mcy9qZmZzMi9maWxlLmMNCkBAIC0yMSwxMiArMjEsMTQgQEANCiAjaW5j bHVkZSA8bGludXgvamZmczIuaD4NCiAjaW5jbHVkZSAibm9kZWxpc3QuaCINCiANCi1zdGF0aWMg aW50IGpmZnMyX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IGFkZHJlc3Nfc3Bh Y2UgKm1hcHBpbmcsDQotCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3Bp ZWQsDQotCQkJc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKTsNCi1zdGF0aWMgaW50 IGpmZnMyX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqbWFwcGluZywNCi0JCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQotCQkJc3RydWN0IGZv bGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKTsNCitzdGF0aWMgaW50IGpmZnMyX3dyaXRlX2Vu ZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgc3RydWN0IGFkZHJlc3Nfc3BhY2Ug Km1hcHBpbmcsDQorCQkJICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3Bp ZWQsDQorCQkJICAgc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKTsNCitzdGF0aWMg aW50IGpmZnMyX3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICAg IHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJCSAgICAgbG9mZl90IHBvcywgdW5z aWduZWQgbGVuLA0KKwkJCSAgICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRh KTsNCiBzdGF0aWMgaW50IGpmZnMyX3JlYWRfZm9saW8oc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVj dCBmb2xpbyAqZm9saW8pOw0KIA0KIGludCBqZmZzMl9mc3luYyhzdHJ1Y3QgZmlsZSAqZmlscCwg bG9mZl90IHN0YXJ0LCBsb2ZmX3QgZW5kLCBpbnQgZGF0YXN5bmMpDQpAQCAtMTIxLDkgKzEyMywx MCBAQCBzdGF0aWMgaW50IGpmZnMyX3JlYWRfZm9saW8oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBmb2xpbyAqZm9saW8pDQogCXJldHVybiByZXQ7DQogfQ0KIA0KLXN0YXRpYyBpbnQgamZmczJf d3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBw aW5nLA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCi0JCQlzdHJ1Y3QgZm9saW8gKipm b2xpb3AsIHZvaWQgKipmc2RhdGEpDQorc3RhdGljIGludCBqZmZzMl93cml0ZV9iZWdpbihjb25z dCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw cGluZywNCisJCQkgICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCisJCQkgICAgIHN0cnVj dCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSkNCiB7DQogCXN0cnVjdCBmb2xpbyAqZm9s aW87DQogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0Ow0KQEAgLTIzNSw5ICsy MzgsMTAgQEAgc3RhdGljIGludCBqZmZzMl93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlscCwg c3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCXJldHVybiByZXQ7DQogfQ0KIA0KLXN0 YXRpYyBpbnQgamZmczJfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3QgYWRkcmVz c19zcGFjZSAqbWFwcGluZywNCi0JCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVk IGNvcGllZCwNCi0JCQlzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpmc2RhdGEpDQorc3RhdGlj IGludCBqZmZzMl93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJCSAgIHN0 cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJCSAgIGxvZmZfdCBwb3MsIHVuc2lnbmVk IGxlbiwgdW5zaWduZWQgY29waWVkLA0KKwkJCSAgIHN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQg KmZzZGF0YSkNCiB7DQogCS8qIEFjdHVhbGx5IGNvbW1pdCB0aGUgd3JpdGUgZnJvbSB0aGUgcGFn ZSBjYWNoZSBwYWdlIHdlJ3JlIGxvb2tpbmcgYXQuDQogCSAqIEZvciBub3csIHdlIHdyaXRlIHRo ZSBmdWxsIHBhZ2Ugb3V0IGVhY2ggdGltZS4gSXQgc3Vja3MsIGJ1dCBpdCdzIHNpbXBsZQ0KZGlm ZiAtLWdpdCBhL2ZzL2pmcy9pbm9kZS5jIGIvZnMvamZzL2lub2RlLmMNCmluZGV4IDYwZmM5MmRl ZTI0ZC4uMDgzZTdmYTU0NzA5IDEwMDY0NA0KLS0tIGEvZnMvamZzL2lub2RlLmMNCisrKyBiL2Zz L2pmcy9pbm9kZS5jDQpAQCAtMjkwLDkgKzI5MCwxMCBAQCBzdGF0aWMgdm9pZCBqZnNfd3JpdGVf ZmFpbGVkKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgdG8pDQogCX0NCiB9 DQogDQotc3RhdGljIGludCBqZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4s DQotCQkJCXN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSkNCitzdGF0aWMgaW50 IGpmc193cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVu LA0KKwkJCSAgIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSkNCiB7DQogCWlu dCByZXQ7DQogDQpAQCAtMzAzLDEzICszMDQsMTQgQEAgc3RhdGljIGludCBqZnNfd3JpdGVfYmVn aW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAly ZXR1cm4gcmV0Ow0KIH0NCiANCi1zdGF0aWMgaW50IGpmc193cml0ZV9lbmQoc3RydWN0IGZpbGUg KmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJbG9mZl90IHBvcywgdW5z aWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8sDQotCQl2b2lk ICpmc2RhdGEpDQorc3RhdGljIGludCBqZnNfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAq aW9jYiwNCisJCQkgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJIGxvZmZfdCBw b3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KKwkJCSBzdHJ1Y3QgZm9saW8gKmZv bGlvLCB2b2lkICpmc2RhdGEpDQogew0KIAlpbnQgcmV0Ow0KIA0KLQlyZXQgPSBnZW5lcmljX3dy aXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBmb2xpbywgZnNkYXRhKTsN CisJcmV0ID0gZ2VuZXJpY193cml0ZV9lbmQoaW9jYiwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGll ZCwgZm9saW8sIGZzZGF0YSk7DQogCWlmIChyZXQgPCBsZW4pDQogCQlqZnNfd3JpdGVfZmFpbGVk KG1hcHBpbmcsIHBvcyArIGxlbik7DQogCXJldHVybiByZXQ7DQpkaWZmIC0tZ2l0IGEvZnMvbGli ZnMuYyBiL2ZzL2xpYmZzLmMNCmluZGV4IGY5OWVjYzMwMDY0Ny4uNTIxOTY1NjZjY2JjIDEwMDY0 NA0KLS0tIGEvZnMvbGliZnMuYw0KKysrIGIvZnMvbGliZnMuYw0KQEAgLTkxMCw3ICs5MTAsNyBA QCBzdGF0aWMgaW50IHNpbXBsZV9yZWFkX2ZvbGlvKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qg Zm9saW8gKmZvbGlvKQ0KIAlyZXR1cm4gMDsNCiB9DQogDQotaW50IHNpbXBsZV93cml0ZV9iZWdp bihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQoraW50 IHNpbXBsZV93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBhZGRy ZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCiAJCQlz dHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KQEAgLTkzNSw3ICs5MzUs NyBAQCBFWFBPUlRfU1lNQk9MKHNpbXBsZV93cml0ZV9iZWdpbik7DQogDQogLyoqDQogICogc2lt cGxlX3dyaXRlX2VuZCAtIC53cml0ZV9lbmQgaGVscGVyIGZvciBub24tYmxvY2stZGV2aWNlIEZT ZXMNCi0gKiBAZmlsZTogU2VlIC53cml0ZV9lbmQgb2YgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25z DQorICogQGlvY2I6IGtlcm5lbCBJL08gY29udHJvbCBibG9jaw0KICAqIEBtYXBwaW5nOiAJCSIN CiAgKiBAcG9zOiAJCSINCiAgKiBAbGVuOiAJCSINCkBAIC05NTYsOSArOTU2LDEwIEBAIEVYUE9S VF9TWU1CT0woc2ltcGxlX3dyaXRlX2JlZ2luKTsNCiAgKg0KICAqIFVzZSAqT05MWSogd2l0aCBz aW1wbGVfcmVhZF9mb2xpbygpDQogICovDQotc3RhdGljIGludCBzaW1wbGVfd3JpdGVfZW5kKHN0 cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCQlsb2Zm X3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCi0JCQlzdHJ1Y3QgZm9saW8g KmZvbGlvLCB2b2lkICpmc2RhdGEpDQorc3RhdGljIGludCBzaW1wbGVfd3JpdGVfZW5kKGNvbnN0 IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsDQorCQkJICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0K KwkJCSAgICBzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpmc2RhdGEpDQogew0KIAlzdHJ1Y3Qg aW5vZGUgKmlub2RlID0gZm9saW8tPm1hcHBpbmctPmhvc3Q7DQogCWxvZmZfdCBsYXN0X3BvcyA9 IHBvcyArIGNvcGllZDsNCmRpZmYgLS1naXQgYS9mcy9taW5peC9pbm9kZS5jIGIvZnMvbWluaXgv aW5vZGUuYw0KaW5kZXggZjAwN2UzODlkNWQyLi5kZjlkMTE0NzljYWYgMTAwNjQ0DQotLS0gYS9m cy9taW5peC9pbm9kZS5jDQorKysgYi9mcy9taW5peC9pbm9kZS5jDQpAQCAtNDQyLDkgKzQ0Miwx MCBAQCBzdGF0aWMgdm9pZCBtaW5peF93cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJlc3Nfc3BhY2Ug Km1hcHBpbmcsIGxvZmZfdCB0bykNCiAJfQ0KIH0NCiANCi1zdGF0aWMgaW50IG1pbml4X3dyaXRl X2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywN Ci0JCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQotCQkJc3RydWN0IGZvbGlvICoqZm9saW9w LCB2b2lkICoqZnNkYXRhKQ0KK3N0YXRpYyBpbnQgbWluaXhfd3JpdGVfYmVnaW4oY29uc3Qgc3Ry dWN0IGtpb2NiICppb2NiLA0KKwkJCSAgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcs DQorCQkJICAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQorCQkJICAgICBzdHJ1Y3QgZm9s aW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQogew0KIAlpbnQgcmV0Ow0KIA0KZGlmZiAtLWdp dCBhL2ZzL25mcy9maWxlLmMgYi9mcy9uZnMvZmlsZS5jDQppbmRleCAwMzNmZWVhYjhjMzQuLjJi ZDU1N2NhMWFmOSAxMDA2NDQNCi0tLSBhL2ZzL25mcy9maWxlLmMNCisrKyBiL2ZzL25mcy9maWxl LmMNCkBAIC0zNDIsMTIgKzM0MiwxNCBAQCBzdGF0aWMgYm9vbCBuZnNfd2FudF9yZWFkX21vZGlm eV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGZvbGlvICpmb2xpbywNCiAgKiBJZiB0 aGUgd3JpdGVyIGVuZHMgdXAgZGVsYXlpbmcgdGhlIHdyaXRlLCB0aGUgd3JpdGVyIG5lZWRzIHRv DQogICogaW5jcmVtZW50IHRoZSBwYWdlIHVzZSBjb3VudHMgdW50aWwgaGUgaXMgZG9uZSB3aXRo IHRoZSBwYWdlLg0KICAqLw0KLXN0YXRpYyBpbnQgbmZzX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxl ICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitzdGF0aWMgaW50IG5mc193 cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgc3RydWN0IGFkZHJl c3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCBzdHJ1 Y3QgZm9saW8gKipmb2xpb3AsDQogCQkJICAgdm9pZCAqKmZzZGF0YSkNCiB7DQogCWZnZl90IGZn cCA9IEZHUF9XUklURUJFR0lOOw0KIAlzdHJ1Y3QgZm9saW8gKmZvbGlvOw0KKwlzdHJ1Y3QgZmls ZSAqZmlsZSA9IGlvY2ItPmtpX2ZpbHA7DQogCWludCBvbmNlX3RocnUgPSAwOw0KIAlpbnQgcmV0 Ow0KIA0KQEAgLTM3NywxMCArMzc5LDEyIEBAIHN0YXRpYyBpbnQgbmZzX3dyaXRlX2JlZ2luKHN0 cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJcmV0dXJu IHJldDsNCiB9DQogDQotc3RhdGljIGludCBuZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxl LCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitzdGF0aWMgaW50IG5mc193cml0ZV9l bmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJCSBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZywNCiAJCQkgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQs DQogCQkJIHN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQorCXN0cnVjdCBm aWxlICpmaWxlID0gaW9jYi0+a2lfZmlscDsNCiAJc3RydWN0IG5mc19vcGVuX2NvbnRleHQgKmN0 eCA9IG5mc19maWxlX29wZW5fY29udGV4dChmaWxlKTsNCiAJdW5zaWduZWQgb2Zmc2V0ID0gb2Zm c2V0X2luX2ZvbGlvKGZvbGlvLCBwb3MpOw0KIAlpbnQgc3RhdHVzOw0KZGlmZiAtLWdpdCBhL2Zz L25pbGZzMi9pbm9kZS5jIGIvZnMvbmlsZnMyL2lub2RlLmMNCmluZGV4IDY2MTNiOGZjY2ViMC4u YzJjY2FmZGY0YTE5IDEwMDY0NA0KLS0tIGEvZnMvbmlsZnMyL2lub2RlLmMNCisrKyBiL2ZzL25p bGZzMi9pbm9kZS5jDQpAQCAtMjE4LDcgKzIxOCw4IEBAIHZvaWQgbmlsZnNfd3JpdGVfZmFpbGVk KHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgdG8pDQogCX0NCiB9DQogDQot c3RhdGljIGludCBuaWxmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorc3RhdGljIGludCBuaWxmc193cml0ZV9iZWdpbihjb25z dCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw cGluZywNCiAJCQkgICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCiAJCQkgICAgIHN0cnVj dCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSkNCiANCkBAIC0yMzcsNyArMjM4LDggQEAg c3RhdGljIGludCBuaWxmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCXJldHVybiBlcnI7DQogfQ0KIA0KLXN0YXRpYyBpbnQg bmlsZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZywNCitzdGF0aWMgaW50IG5pbGZzX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2Ig KmlvY2IsDQorCQkJICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJICAgbG9m Zl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQogCQkJICAgc3RydWN0IGZv bGlvICpmb2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCkBAIC0yNDgsNyArMjUwLDcgQEAgc3RhdGlj IGludCBuaWxmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3Nw YWNlICptYXBwaW5nLA0KIA0KIAlucl9kaXJ0eSA9IG5pbGZzX3BhZ2VfY291bnRfY2xlYW5fYnVm ZmVycyhmb2xpbywgc3RhcnQsDQogCQkJCQkJICBzdGFydCArIGNvcGllZCk7DQotCWNvcGllZCA9 IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIGZvbGlv LA0KKwljb3BpZWQgPSBnZW5lcmljX3dyaXRlX2VuZChpb2NiLCBtYXBwaW5nLCBwb3MsIGxlbiwg Y29waWVkLCBmb2xpbywNCiAJCQkJICAgZnNkYXRhKTsNCiAJbmlsZnNfc2V0X2ZpbGVfZGlydHko aW5vZGUsIG5yX2RpcnR5KTsNCiAJZXJyID0gbmlsZnNfdHJhbnNhY3Rpb25fY29tbWl0KGlub2Rl LT5pX3NiKTsNCmRpZmYgLS1naXQgYS9mcy9udGZzMy9maWxlLmMgYi9mcy9udGZzMy9maWxlLmMN CmluZGV4IDFlOTlhMzU2OTFjZC4uMTU5MGMyYTNjNDhmIDEwMDY0NA0KLS0tIGEvZnMvbnRmczMv ZmlsZS5jDQorKysgYi9mcy9udGZzMy9maWxlLmMNCkBAIC0xNTQsMTMgKzE1NCwxMyBAQCBzdGF0 aWMgaW50IG50ZnNfZXh0ZW5kX2luaXRpYWxpemVkX3NpemUoc3RydWN0IGZpbGUgKmZpbGUsDQog CQlpZiAocG9zICsgbGVuID4gbmV3X3ZhbGlkKQ0KIAkJCWxlbiA9IG5ld192YWxpZCAtIHBvczsN CiANCi0JCWVyciA9IG50ZnNfd3JpdGVfYmVnaW4oZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sICZm b2xpbywgTlVMTCk7DQorCQllcnIgPSBudGZzX3dyaXRlX2JlZ2luKE5VTEwsIG1hcHBpbmcsIHBv cywgbGVuLCAmZm9saW8sIE5VTEwpOw0KIAkJaWYgKGVycikNCiAJCQlnb3RvIG91dDsNCiANCiAJ CWZvbGlvX3plcm9fcmFuZ2UoZm9saW8sIHplcm9mcm9tLCBmb2xpb19zaXplKGZvbGlvKSAtIHpl cm9mcm9tKTsNCiANCi0JCWVyciA9IG50ZnNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywg bGVuLCBsZW4sIGZvbGlvLCBOVUxMKTsNCisJCWVyciA9IG50ZnNfd3JpdGVfZW5kKE5VTEwsIG1h cHBpbmcsIHBvcywgbGVuLCBsZW4sIGZvbGlvLCBOVUxMKTsNCiAJCWlmIChlcnIgPCAwKQ0KIAkJ CWdvdG8gb3V0Ow0KIAkJcG9zICs9IGxlbjsNCmRpZmYgLS1naXQgYS9mcy9udGZzMy9pbm9kZS5j IGIvZnMvbnRmczMvaW5vZGUuYw0KaW5kZXggMGYwZDI3ZDQ2NDRhLi5kYWQwODhlNjRiM2MgMTAw NjQ0DQotLS0gYS9mcy9udGZzMy9pbm9kZS5jDQorKysgYi9mcy9udGZzMy9pbm9kZS5jDQpAQCAt OTEyLDcgKzkxMiw3IEBAIHN0YXRpYyBpbnQgbnRmc19nZXRfYmxvY2tfd3JpdGVfYmVnaW4oc3Ry dWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgdmJuLA0KIAkJCQkgIGJoX3Jlc3VsdCwgY3JlYXRl LCBHRVRfQkxPQ0tfV1JJVEVfQkVHSU4pOw0KIH0NCiANCi1pbnQgbnRmc193cml0ZV9iZWdpbihz dHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQoraW50IG50 ZnNfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19z cGFjZSAqbWFwcGluZywNCiAJCSAgICAgbG9mZl90IHBvcywgdTMyIGxlbiwgc3RydWN0IGZvbGlv ICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KIHsNCiAJaW50IGVycjsNCkBAIC05NTcsNyArOTU3 LDggQEAgaW50IG50ZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRy ZXNzX3NwYWNlICptYXBwaW5nLA0KIC8qDQogICogbnRmc193cml0ZV9lbmQgLSBBZGRyZXNzX3Nw YWNlX29wZXJhdGlvbnM6OndyaXRlX2VuZC4NCiAgKi8NCi1pbnQgbnRmc193cml0ZV9lbmQoc3Ry dWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgcG9z LA0KK2ludCBudGZzX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkgICBz dHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHBvcywNCiAJCSAgIHUzMiBsZW4s IHUzMiBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7DQogCXN0 cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0Ow0KQEAgLTk4OSw3ICs5OTAsNyBAQCBp bnQgbnRmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNl ICptYXBwaW5nLCBsb2ZmX3QgcG9zLA0KIAkJZm9saW9fdW5sb2NrKGZvbGlvKTsNCiAJCWZvbGlv X3B1dChmb2xpbyk7DQogCX0gZWxzZSB7DQotCQllcnIgPSBnZW5lcmljX3dyaXRlX2VuZChmaWxl LCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBmb2xpbywNCisJCWVyciA9IGdlbmVyaWNfd3Jp dGVfZW5kKGlvY2IsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIGZvbGlvLA0KIAkJCQkJZnNk YXRhKTsNCiAJfQ0KIA0KZGlmZiAtLWdpdCBhL2ZzL250ZnMzL250ZnNfZnMuaCBiL2ZzL250ZnMz L250ZnNfZnMuaA0KaW5kZXggMzZiODA1MjY2MGQ1Li45MjEyNTc3NzNlZWMgMTAwNjQ0DQotLS0g YS9mcy9udGZzMy9udGZzX2ZzLmgNCisrKyBiL2ZzL250ZnMzL250ZnNfZnMuaA0KQEAgLTcwMiwx MCArNzAyLDEyIEBAIHN0cnVjdCBpbm9kZSAqbnRmc19pZ2V0NShzdHJ1Y3Qgc3VwZXJfYmxvY2sg KnNiLCBjb25zdCBzdHJ1Y3QgTUZUX1JFRiAqcmVmLA0KIGludCBudGZzX3NldF9zaXplKHN0cnVj dCBpbm9kZSAqaW5vZGUsIHU2NCBuZXdfc2l6ZSk7DQogaW50IG50ZnNfZ2V0X2Jsb2NrKHN0cnVj dCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IHZibiwNCiAJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAq YmhfcmVzdWx0LCBpbnQgY3JlYXRlKTsNCi1pbnQgbnRmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmls ZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQkgICAgIGxvZmZfdCBw b3MsIHUzMiBsZW4sIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSk7DQotaW50 IG50ZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZywgbG9mZl90IHBvcywNCi0JCSAgIHUzMiBsZW4sIHUzMiBjb3BpZWQsIHN0cnVjdCBm b2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSk7DQoraW50IG50ZnNfd3JpdGVfYmVnaW4oY29uc3Qg c3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCSAg ICAgbG9mZl90IHBvcywgdTMyIGxlbiwgc3RydWN0IGZvbGlvICoqZm9saW9wLA0KKwkJICAgICB2 b2lkICoqZnNkYXRhKTsNCitpbnQgbnRmc193cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICpp b2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCSAgIGxvZmZfdCBwb3MsIHUz MiBsZW4sIHUzMiBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8sDQorCQkgICB2b2lkICpmc2Rh dGEpOw0KIGludCBudGZzM193cml0ZV9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg d3JpdGViYWNrX2NvbnRyb2wgKndiYyk7DQogaW50IG50ZnNfc3luY19pbm9kZShzdHJ1Y3QgaW5v ZGUgKmlub2RlKTsNCiBpbnQgaW5vZGVfcmVhZF9kYXRhKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHZv aWQgKmRhdGEsIHNpemVfdCBieXRlcyk7DQpkaWZmIC0tZ2l0IGEvZnMvb2NmczIvYW9wcy5jIGIv ZnMvb2NmczIvYW9wcy5jDQppbmRleCA0MGI2YmNlMTI5NTEuLjIyMDM0Mzg3MzhmNiAxMDA2NDQN Ci0tLSBhL2ZzL29jZnMyL2FvcHMuYw0KKysrIGIvZnMvb2NmczIvYW9wcy5jDQpAQCAtMTg1Niw3 ICsxODU2LDggQEAgaW50IG9jZnMyX3dyaXRlX2JlZ2luX25vbG9jayhzdHJ1Y3QgYWRkcmVzc19z cGFjZSAqbWFwcGluZywNCiAJcmV0dXJuIHJldDsNCiB9DQogDQotc3RhdGljIGludCBvY2ZzMl93 cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsDQorc3RhdGljIGludCBvY2ZzMl93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlv Y2IsDQorCQkJICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkgICAgIGxv ZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCiAJCQkgICAgIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwg dm9pZCAqKmZzZGF0YSkNCiB7DQpAQCAtMjA0Nyw3ICsyMDQ4LDggQEAgaW50IG9jZnMyX3dyaXRl X2VuZF9ub2xvY2soc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBwb3MsDQog CXJldHVybiBjb3BpZWQ7DQogfQ0KIA0KLXN0YXRpYyBpbnQgb2NmczJfd3JpdGVfZW5kKHN0cnVj dCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitzdGF0aWMgaW50 IG9jZnMyX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVu LCB1bnNpZ25lZCBjb3BpZWQsDQogCQkJICAgc3RydWN0IGZvbGlvICpmb2xpbywgdm9pZCAqZnNk YXRhKQ0KIHsNCmRpZmYgLS1naXQgYS9mcy9vbWZzL2ZpbGUuYyBiL2ZzL29tZnMvZmlsZS5jDQpp bmRleCA5ODM1OGQ0MDViNmEuLjhkNzBmODE2YjBjOSAxMDA2NDQNCi0tLSBhL2ZzL29tZnMvZmls ZS5jDQorKysgYi9mcy9vbWZzL2ZpbGUuYw0KQEAgLTMxMCw5ICszMTAsMTAgQEAgc3RhdGljIHZv aWQgb21mc193cml0ZV9mYWlsZWQoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZf dCB0bykNCiAJfQ0KIH0NCiANCi1zdGF0aWMgaW50IG9tZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZp bGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KLQkJCWxvZmZfdCBwb3Ms IHVuc2lnbmVkIGxlbiwNCi0JCQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEp DQorc3RhdGljIGludCBvbWZzX3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwN CisJCQkgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorCQkJICAgIGxvZmZfdCBw b3MsIHVuc2lnbmVkIGxlbiwNCisJCQkgICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoq ZnNkYXRhKQ0KIHsNCiAJaW50IHJldDsNCiANCmRpZmYgLS1naXQgYS9mcy9vcmFuZ2Vmcy9pbm9k ZS5jIGIvZnMvb3JhbmdlZnMvaW5vZGUuYw0KaW5kZXggMDhhNmYzNzJhMzUyLi5hN2FiNjM3NzY3 MzUgMTAwNjQ0DQotLS0gYS9mcy9vcmFuZ2Vmcy9pbm9kZS5jDQorKysgYi9mcy9vcmFuZ2Vmcy9p bm9kZS5jDQpAQCAtMjg1LDkgKzI4NSwxMCBAQCBzdGF0aWMgaW50IG9yYW5nZWZzX3JlYWRfZm9s aW8oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBmb2xpbyAqZm9saW8pDQogCXJldHVybiByZXQ7 DQogfQ0KIA0KLXN0YXRpYyBpbnQgb3JhbmdlZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZp bGUsDQotCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHBvcywgdW5zaWdu ZWQgbGVuLA0KLQkJc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KK3N0YXRp YyBpbnQgb3JhbmdlZnNfd3JpdGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJ CQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHBvcywNCisJCQkJdW5zaWdu ZWQgbGVuLCBzdHJ1Y3QgZm9saW8gKipmb2xpb3AsDQorCQkJCXZvaWQgKipmc2RhdGEpDQogew0K IAlzdHJ1Y3Qgb3JhbmdlZnNfd3JpdGVfcmFuZ2UgKndyOw0KIAlzdHJ1Y3QgZm9saW8gKmZvbGlv Ow0KQEAgLTM0MCw5ICszNDEsMTAgQEAgc3RhdGljIGludCBvcmFuZ2Vmc193cml0ZV9iZWdpbihz dHJ1Y3QgZmlsZSAqZmlsZSwNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyBpbnQgb3Jhbmdl ZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw cGluZywNCi0JCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLCBzdHJ1 Y3QgZm9saW8gKmZvbGlvLA0KLQkJdm9pZCAqZnNkYXRhKQ0KK3N0YXRpYyBpbnQgb3JhbmdlZnNf d3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICAgICBzdHJ1Y3QgYWRk cmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgICAgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4s IHVuc2lnbmVkIGNvcGllZCwNCisJCQkgICAgICBzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpm c2RhdGEpDQogew0KIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZm9saW8tPm1hcHBpbmctPmhvc3Q7 DQogCWxvZmZfdCBsYXN0X3BvcyA9IHBvcyArIGNvcGllZDsNCkBAIC0zNzIsNyArMzc0LDcgQEAg c3RhdGljIGludCBvcmFuZ2Vmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAlmb2xpb191bmxvY2soZm9saW8pOw0KIAlmb2xpb19w dXQoZm9saW8pOw0KIA0KLQltYXJrX2lub2RlX2RpcnR5X3N5bmMoZmlsZV9pbm9kZShmaWxlKSk7 DQorCW1hcmtfaW5vZGVfZGlydHlfc3luYyhmaWxlX2lub2RlKGlvY2ItPmtpX2ZpbHApKTsNCiAJ cmV0dXJuIGNvcGllZDsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvZnMvdWJpZnMvZmlsZS5jIGIvZnMv dWJpZnMvZmlsZS5jDQppbmRleCBiZjMxMWMzOGQ5YTguLmNlZThiZWMxZWEyNiAxMDA2NDQNCi0t LSBhL2ZzL3ViaWZzL2ZpbGUuYw0KKysrIGIvZnMvdWJpZnMvZmlsZS5jDQpAQCAtNDA0LDcgKzQw NCw4IEBAIHN0YXRpYyBpbnQgYWxsb2NhdGVfYnVkZ2V0KHN0cnVjdCB1Ymlmc19pbmZvICpjLCBz dHJ1Y3QgZm9saW8gKmZvbGlvLA0KICAqIHRoZXJlIGlzIGEgcGxlbnR5IG9mIGZsYXNoIHNwYWNl IGFuZCB0aGUgYnVkZ2V0IHdpbGwgYmUgYWNxdWlyZWQgcXVpY2tseSwNCiAgKiB3aXRob3V0IGZv cmNpbmcgd3JpdGUtYmFjay4gVGhlIHNsb3cgcGF0aCBkb2VzIG5vdCBtYWtlIHRoaXMgYXNzdW1w dGlvbi4NCiAgKi8NCi1zdGF0aWMgaW50IHViaWZzX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpm aWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitzdGF0aWMgaW50IHViaWZzX3dy aXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICAgIHN0cnVjdCBhZGRy ZXNzX3NwYWNlICptYXBwaW5nLA0KIAkJCSAgICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0K IAkJCSAgICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KIHsNCkBAIC01 MTQsOCArNTE1LDkgQEAgc3RhdGljIHZvaWQgY2FuY2VsX2J1ZGdldChzdHJ1Y3QgdWJpZnNfaW5m byAqYywgc3RydWN0IGZvbGlvICpmb2xpbywNCiAJfQ0KIH0NCiANCi1zdGF0aWMgaW50IHViaWZz X3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmcsDQotCQkJICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQor c3RhdGljIGludCB1Ymlmc193cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLA0KKwkJ CSAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgcG9zLA0KKwkJCSAgIHVu c2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KIAkJCSAgIHN0cnVjdCBmb2xpbyAqZm9saW8s IHZvaWQgKmZzZGF0YSkNCiB7DQogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0 Ow0KZGlmZiAtLWdpdCBhL2ZzL3VkZi9pbm9kZS5jIGIvZnMvdWRmL2lub2RlLmMNCmluZGV4IDQz ODZkZDg0NWU0MC4uMzU2Yjc1Njc2ZmE5IDEwMDY0NA0KLS0tIGEvZnMvdWRmL2lub2RlLmMNCisr KyBiL2ZzL3VkZi9pbm9kZS5jDQpAQCAtMjQ0LDEwICsyNDQsMTIgQEAgc3RhdGljIHZvaWQgdWRm X3JlYWRhaGVhZChzdHJ1Y3QgcmVhZGFoZWFkX2NvbnRyb2wgKnJhYykNCiAJbXBhZ2VfcmVhZGFo ZWFkKHJhYywgdWRmX2dldF9ibG9jayk7DQogfQ0KIA0KLXN0YXRpYyBpbnQgdWRmX3dyaXRlX2Jl Z2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCitz dGF0aWMgaW50IHVkZl93cml0ZV9iZWdpbihjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJ ICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJICAgbG9mZl90IHBvcywgdW5z aWduZWQgbGVuLA0KIAkJCSAgIHN0cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSkN CiB7DQorCXN0cnVjdCBmaWxlICpmaWxlID0gaW9jYi0+a2lfZmlscDsNCiAJc3RydWN0IHVkZl9p bm9kZV9pbmZvICppaW5mbyA9IFVERl9JKGZpbGVfaW5vZGUoZmlsZSkpOw0KIAlzdHJ1Y3QgZm9s aW8gKmZvbGlvOw0KIAlpbnQgcmV0Ow0KQEAgLTI3MSwxNSArMjczLDE2IEBAIHN0YXRpYyBpbnQg dWRmX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZywNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyBpbnQgdWRmX3dyaXRlX2VuZChz dHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorc3RhdGlj IGludCB1ZGZfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwg dW5zaWduZWQgY29waWVkLA0KIAkJCSBzdHJ1Y3QgZm9saW8gKmZvbGlvLCB2b2lkICpmc2RhdGEp DQogew0KLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZV9pbm9kZShmaWxlKTsNCisJc3RydWN0 IGlub2RlICppbm9kZSA9IGZpbGVfaW5vZGUoaW9jYi0+a2lfZmlscCk7DQogCWxvZmZfdCBsYXN0 X3BvczsNCiANCiAJaWYgKFVERl9JKGlub2RlKS0+aV9hbGxvY190eXBlICE9IElDQlRBR19GTEFH X0FEX0lOX0lDQikNCi0JCXJldHVybiBnZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBw b3MsIGxlbiwgY29waWVkLCBmb2xpbywNCisJCXJldHVybiBnZW5lcmljX3dyaXRlX2VuZChpb2Ni LCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBmb2xpbywNCiAJCQkJCSBmc2RhdGEpOw0KIAls YXN0X3BvcyA9IHBvcyArIGNvcGllZDsNCiAJaWYgKGxhc3RfcG9zID4gaW5vZGUtPmlfc2l6ZSkN CmRpZmYgLS1naXQgYS9mcy91ZnMvaW5vZGUuYyBiL2ZzL3Vmcy9pbm9kZS5jDQppbmRleCA3ZGMz OGZkZWYyZWEuLjgzNjFjMDBlOGZhNiAxMDA2NDQNCi0tLSBhL2ZzL3Vmcy9pbm9kZS5jDQorKysg Yi9mcy91ZnMvaW5vZGUuYw0KQEAgLTQ3NCw5ICs0NzQsMTAgQEAgc3RhdGljIHZvaWQgdWZzX3dy aXRlX2ZhaWxlZChzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHRvKQ0KIAl9 DQogfQ0KIA0KLXN0YXRpYyBpbnQgdWZzX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBz dHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCi0JCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBs ZW4sDQotCQkJc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KK3N0YXRpYyBp bnQgdWZzX3dyaXRlX2JlZ2luKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICBzdHJ1 Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCQkgICBsb2ZmX3QgcG9zLCB1bnNpZ25lZCBs ZW4sDQorCQkJICAgc3RydWN0IGZvbGlvICoqZm9saW9wLCB2b2lkICoqZnNkYXRhKQ0KIHsNCiAJ aW50IHJldDsNCiANCkBAIC00ODcsMTMgKzQ4OCwxNCBAQCBzdGF0aWMgaW50IHVmc193cml0ZV9i ZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQog CXJldHVybiByZXQ7DQogfQ0KIA0KLXN0YXRpYyBpbnQgdWZzX3dyaXRlX2VuZChzdHJ1Y3QgZmls ZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQotCQkJbG9mZl90IHBvcywg dW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQotCQkJc3RydWN0IGZvbGlvICpmb2xpbywg dm9pZCAqZnNkYXRhKQ0KK3N0YXRpYyBpbnQgdWZzX3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lv Y2IgKmlvY2IsDQorCQkJIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KKwkJCSBsb2Zm X3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwNCisJCQkgc3RydWN0IGZvbGlv ICpmb2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCiAJaW50IHJldDsNCiANCi0JcmV0ID0gZ2VuZXJp Y193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwgZm9saW8sIGZzZGF0 YSk7DQorCXJldCA9IGdlbmVyaWNfd3JpdGVfZW5kKGlvY2IsIG1hcHBpbmcsIHBvcywgbGVuLCBj b3BpZWQsIGZvbGlvLCBmc2RhdGEpOw0KIAlpZiAocmV0IDwgbGVuKQ0KIAkJdWZzX3dyaXRlX2Zh aWxlZChtYXBwaW5nLCBwb3MgKyBsZW4pOw0KIAlyZXR1cm4gcmV0Ow0KZGlmZiAtLWdpdCBhL2Zz L3Zib3hzZi9maWxlLmMgYi9mcy92Ym94c2YvZmlsZS5jDQppbmRleCBiNDkyNzk0ZjhlOWEuLmFm MDFlM2JlYWE0MiAxMDA2NDQNCi0tLSBhL2ZzL3Zib3hzZi9maWxlLmMNCisrKyBiL2ZzL3Zib3hz Zi9maWxlLmMNCkBAIC0zMDAsMTIgKzMwMCwxMyBAQCBzdGF0aWMgaW50IHZib3hzZl93cml0ZXBh Z2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLA0KIAlyZXR1cm4gZXJyb3I7DQogfQ0K IA0KLXN0YXRpYyBpbnQgdmJveHNmX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQorc3RhdGljIGludCB2Ym94c2Zfd3JpdGVfZW5kKGNv bnN0IHN0cnVjdCBraW9jYiAqaW9jYiwNCisJCQkgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1h cHBpbmcsDQogCQkJICAgIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGludCBsZW4sIHVuc2lnbmVkIGlu dCBjb3BpZWQsDQogCQkJICAgIHN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCiB7 DQogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0Ow0KLQlzdHJ1Y3QgdmJveHNm X2hhbmRsZSAqc2ZfaGFuZGxlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOw0KKwlzdHJ1Y3QgdmJveHNm X2hhbmRsZSAqc2ZfaGFuZGxlID0gaW9jYi0+a2lfZmlscC0+cHJpdmF0ZV9kYXRhOw0KIAlzaXpl X3QgZnJvbSA9IG9mZnNldF9pbl9mb2xpbyhmb2xpbywgcG9zKTsNCiAJdTMyIG53cml0dGVuID0g bGVuOw0KIAl1OCAqYnVmOw0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQu aCBiL2luY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQuaA0KaW5kZXggMTc4ZWI5MGU5Y2YzLi5iMTZi ODhiZmJjM2UgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L2J1ZmZlcl9oZWFkLmgNCisrKyBi L2luY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQuaA0KQEAgLTI2MywxMSArMjYzLDExIEBAIGludCBi bG9ja193cml0ZV9iZWdpbihzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHBv cywgdW5zaWduZWQgbGVuLA0KIGludCBfX2Jsb2NrX3dyaXRlX2JlZ2luKHN0cnVjdCBmb2xpbyAq Zm9saW8sIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCiAJCWdldF9ibG9ja190ICpnZXRfYmxv Y2spOw0KIGludCBibG9ja193cml0ZV9lbmQobG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNp Z25lZCBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqKTsNCi1pbnQgZ2VuZXJpY193cml0ZV9lbmQoc3Ry dWN0IGZpbGUgKiwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKiwNCitpbnQgZ2VuZXJpY193cml0ZV9l bmQoY29uc3Qgc3RydWN0IGtpb2NiICosIHN0cnVjdCBhZGRyZXNzX3NwYWNlICosDQogCQkJCWxv ZmZfdCwgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsDQogCQkJCXN0cnVjdCBmb2xpbyAq LCB2b2lkICopOw0KIHZvaWQgZm9saW9femVyb19uZXdfYnVmZmVycyhzdHJ1Y3QgZm9saW8gKmZv bGlvLCBzaXplX3QgZnJvbSwgc2l6ZV90IHRvKTsNCi1pbnQgY29udF93cml0ZV9iZWdpbihzdHJ1 Y3QgZmlsZSAqLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqLCBsb2ZmX3QsDQoraW50IGNvbnRfd3Jp dGVfYmVnaW4oY29uc3Qgc3RydWN0IGtpb2NiICosIHN0cnVjdCBhZGRyZXNzX3NwYWNlICosIGxv ZmZfdCwNCiAJCQl1bnNpZ25lZCwgc3RydWN0IGZvbGlvICoqLCB2b2lkICoqLA0KIAkJCWdldF9i bG9ja190ICosIGxvZmZfdCAqKTsNCiBpbnQgZ2VuZXJpY19jb250X2V4cGFuZF9zaW1wbGUoc3Ry dWN0IGlub2RlICppbm9kZSwgbG9mZl90IHNpemUpOw0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvZnMuaCBiL2luY2x1ZGUvbGludXgvZnMuaA0KaW5kZXggMDllM2U4MGIwNTI4Li5kZjhjNTAz MTAwYzQgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L2ZzLmgNCisrKyBiL2luY2x1ZGUvbGlu dXgvZnMuaA0KQEAgLTQ0NCwxMCArNDQ0LDEwIEBAIHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJh dGlvbnMgew0KIA0KIAl2b2lkICgqcmVhZGFoZWFkKShzdHJ1Y3QgcmVhZGFoZWFkX2NvbnRyb2wg Kik7DQogDQotCWludCAoKndyaXRlX2JlZ2luKShzdHJ1Y3QgZmlsZSAqLCBzdHJ1Y3QgYWRkcmVz c19zcGFjZSAqbWFwcGluZywNCisJaW50ICgqd3JpdGVfYmVnaW4pKGNvbnN0IHN0cnVjdCBraW9j YiAqLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkJbG9mZl90IHBvcywgdW5z aWduZWQgbGVuLA0KIAkJCQlzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpOw0K LQlpbnQgKCp3cml0ZV9lbmQpKHN0cnVjdCBmaWxlICosIHN0cnVjdCBhZGRyZXNzX3NwYWNlICpt YXBwaW5nLA0KKwlpbnQgKCp3cml0ZV9lbmQpKGNvbnN0IHN0cnVjdCBraW9jYiAqLCBzdHJ1Y3Qg YWRkcmVzc19zcGFjZSAqbWFwcGluZywNCiAJCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1 bnNpZ25lZCBjb3BpZWQsDQogCQkJCXN0cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSk7 DQogDQpAQCAtMzU5OCw5ICszNTk4LDEwIEBAIGV4dGVybiB2b2lkIHNpbXBsZV9yZWN1cnNpdmVf cmVtb3ZhbChzdHJ1Y3QgZGVudHJ5ICosDQogZXh0ZXJuIGludCBub29wX2ZzeW5jKHN0cnVjdCBm aWxlICosIGxvZmZfdCwgbG9mZl90LCBpbnQpOw0KIGV4dGVybiBzc2l6ZV90IG5vb3BfZGlyZWN0 X0lPKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVyICppdGVyKTsNCiBleHRlcm4g aW50IHNpbXBsZV9lbXB0eShzdHJ1Y3QgZGVudHJ5ICopOw0KLWV4dGVybiBpbnQgc2ltcGxlX3dy aXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGlu ZywNCi0JCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sDQotCQkJc3RydWN0IGZvbGlvICoqZm9s aW9wLCB2b2lkICoqZnNkYXRhKTsNCitleHRlcm4gaW50IHNpbXBsZV93cml0ZV9iZWdpbihjb25z dCBzdHJ1Y3Qga2lvY2IgKmlvY2IsDQorCQkJICAgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1h cHBpbmcsDQorCQkJICAgICAgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0KKwkJCSAgICAgIHN0 cnVjdCBmb2xpbyAqKmZvbGlvcCwgdm9pZCAqKmZzZGF0YSk7DQogZXh0ZXJuIGNvbnN0IHN0cnVj dCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgcmFtX2FvcHM7DQogZXh0ZXJuIGludCBhbHdheXNf ZGVsZXRlX2RlbnRyeShjb25zdCBzdHJ1Y3QgZGVudHJ5ICopOw0KIGV4dGVybiBzdHJ1Y3QgaW5v ZGUgKmFsbG9jX2Fub25faW5vZGUoc3RydWN0IHN1cGVyX2Jsb2NrICopOw0KZGlmZiAtLWdpdCBh L21tL2ZpbGVtYXAuYyBiL21tL2ZpbGVtYXAuYw0KaW5kZXggYmFkYTI0OWI5ZmI3Li5iYTA4OWQ3 NWZjODYgMTAwNjQ0DQotLS0gYS9tbS9maWxlbWFwLmMNCisrKyBiL21tL2ZpbGVtYXAuYw0KQEAg LTQxMDksNyArNDEwOSw3IEBAIHNzaXplX3QgZ2VuZXJpY19wZXJmb3JtX3dyaXRlKHN0cnVjdCBr aW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVyICppKQ0KIAkJCWJyZWFrOw0KIAkJfQ0KIA0KLQkJ c3RhdHVzID0gYV9vcHMtPndyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBvcywgYnl0ZXMsDQor CQlzdGF0dXMgPSBhX29wcy0+d3JpdGVfYmVnaW4oaW9jYiwgbWFwcGluZywgcG9zLCBieXRlcywN CiAJCQkJCQkmZm9saW8sICZmc2RhdGEpOw0KIAkJaWYgKHVubGlrZWx5KHN0YXR1cyA8IDApKQ0K IAkJCWJyZWFrOw0KQEAgLTQxMzAsNyArNDEzMCw3IEBAIHNzaXplX3QgZ2VuZXJpY19wZXJmb3Jt X3dyaXRlKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVyICppKQ0KIAkJY29waWVk ID0gY29weV9mb2xpb19mcm9tX2l0ZXJfYXRvbWljKGZvbGlvLCBvZmZzZXQsIGJ5dGVzLCBpKTsN CiAJCWZsdXNoX2RjYWNoZV9mb2xpbyhmb2xpbyk7DQogDQotCQlzdGF0dXMgPSBhX29wcy0+d3Jp dGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgYnl0ZXMsIGNvcGllZCwNCisJCXN0YXR1cyA9IGFf b3BzLT53cml0ZV9lbmQoaW9jYiwgbWFwcGluZywgcG9zLCBieXRlcywgY29waWVkLA0KIAkJCQkJ CWZvbGlvLCBmc2RhdGEpOw0KIAkJaWYgKHVubGlrZWx5KHN0YXR1cyAhPSBjb3BpZWQpKSB7DQog CQkJaW92X2l0ZXJfcmV2ZXJ0KGksIGNvcGllZCAtIG1heChzdGF0dXMsIDBMKSk7DQpkaWZmIC0t Z2l0IGEvbW0vc2htZW0uYyBiL21tL3NobWVtLmMNCmluZGV4IDBjNWZiNGZmYTAzYS4uMjIyOTQy NWUxYjI5IDEwMDY0NA0KLS0tIGEvbW0vc2htZW0uYw0KKysrIGIvbW0vc2htZW0uYw0KQEAgLTMy NjYsOSArMzI2Niw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBzaG1l bV9zeW1saW5rX2lub2RlX29wZXJhdGlvbnM7DQogc3RhdGljIGNvbnN0IHN0cnVjdCBpbm9kZV9v cGVyYXRpb25zIHNobWVtX3Nob3J0X3N5bWxpbmtfb3BlcmF0aW9uczsNCiANCiBzdGF0aWMgaW50 DQotc2htZW1fd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3Nw YWNlICptYXBwaW5nLA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwNCi0JCQlzdHJ1Y3Qg Zm9saW8gKipmb2xpb3AsIHZvaWQgKipmc2RhdGEpDQorc2htZW1fd3JpdGVfYmVnaW4oY29uc3Qg c3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCSAg bG9mZl90IHBvcywgdW5zaWduZWQgbGVuLA0KKwkJICBzdHJ1Y3QgZm9saW8gKipmb2xpb3AsIHZv aWQgKipmc2RhdGEpDQogew0KIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsN CiAJc3RydWN0IHNobWVtX2lub2RlX2luZm8gKmluZm8gPSBTSE1FTV9JKGlub2RlKTsNCkBAIC0z MzAwLDkgKzMzMDAsOSBAQCBzaG1lbV93cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3Ry dWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogfQ0KIA0KIHN0YXRpYyBpbnQNCi1zaG1lbV93 cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5n LA0KLQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KLQkJCXN0 cnVjdCBmb2xpbyAqZm9saW8sIHZvaWQgKmZzZGF0YSkNCitzaG1lbV93cml0ZV9lbmQoY29uc3Qg c3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywNCisJCWxv ZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLA0KKwkJc3RydWN0IGZvbGlv ICpmb2xpbywgdm9pZCAqZnNkYXRhKQ0KIHsNCiAJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBp bmctPmhvc3Q7DQogDQotLSANCjIuMzQuMQ0K