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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1BD12FD530E for ; Fri, 27 Feb 2026 08:17:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:CC:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=N3s5/ZjWGXTJRujDNJsLu0bc6Kjsle0I4Abe0PjQQ1g=; b=DvfgZHlbaJ8xsZsTEuDzmDNj9p M7q3+icn73y3boYH9xYq3ROHB2MMszJHV4R6/GbN8YhDkXwYa17bG9w8jnsFNB3zdToeZv7okpUJ5 YM7vIeVGwBflxTLZB1hFTYJ6098JBeWQlB7WD1xEEk7p4Jbfk8zXeg5clSm0RuBVPGGczRTL/7EP0 kd7Qci6hAH+UBKI0A2uhGeekJ3UqGX9l9B6+WUJDfAdklroHl63Lw0kO1DFR3HCuTKrVBCI4t0kzg ih1yOXcJKWzig85yzt8aIlASoGidukG6+oZB1QSiRKHmlAstZOX4ymiKOTptcUw2BxLisZJog5paj abwWdsSg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vvt21-00000007xBg-1i6g; Fri, 27 Feb 2026 08:17:05 +0000 Received: from szxga01-in.huawei.com ([45.249.212.187]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vvt1w-00000007x9r-242r; Fri, 27 Feb 2026 08:17:03 +0000 dkim-signature: v=1; a=rsa-sha256; d=huawei.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=Wmv8uJ7HJDbZV50M+x838HOhuGm9CcXmr7O5DxYmnaA=; b=FexkOtUagAcXDFcLvanuYXCxG6VsB4YyIX20qg20gGlU56RQBvPIdX5JmmfvAen1kl9Xcad9P BxTzvSbaMCfK6x/I533upYv8dB5mDxS3zN0xsMCDpaP2BLxgIVtISPyXXJDdxnYqn2e9mf1ZnD9 Jm8up2Sq/fbakpqcesMqrt8= Received: from canpmsgout01.his.huawei.com (unknown [172.19.92.178]) by szxga01-in.huawei.com (SkyGuard) with ESMTPS id 4fMh4F6Th9z1BG2s; Fri, 27 Feb 2026 16:16:29 +0800 (CST) dkim-signature: v=1; a=rsa-sha256; d=huawei.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=Wmv8uJ7HJDbZV50M+x838HOhuGm9CcXmr7O5DxYmnaA=; b=FexkOtUagAcXDFcLvanuYXCxG6VsB4YyIX20qg20gGlU56RQBvPIdX5JmmfvAen1kl9Xcad9P BxTzvSbaMCfK6x/I533upYv8dB5mDxS3zN0xsMCDpaP2BLxgIVtISPyXXJDdxnYqn2e9mf1ZnD9 Jm8up2Sq/fbakpqcesMqrt8= Received: from mail.maildlp.com (unknown [172.19.162.197]) by canpmsgout01.his.huawei.com (SkyGuard) with ESMTPS id 4fMgyb2x4nz1T4Fc; Fri, 27 Feb 2026 16:11:35 +0800 (CST) Received: from kwepemk500005.china.huawei.com (unknown [7.202.194.90]) by mail.maildlp.com (Postfix) with ESMTPS id DB9DD40363; Fri, 27 Feb 2026 16:16:29 +0800 (CST) Received: from [10.174.178.46] (10.174.178.46) by kwepemk500005.china.huawei.com (7.202.194.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Fri, 27 Feb 2026 16:16:23 +0800 Subject: Re: [PATCH 47/61] ubifs: update format strings for u64 i_ino To: Jeff Layton , Alexander Viro , Christian Brauner , Jan Kara , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Dan Williams , Matthew Wilcox , Eric Biggers , "Theodore Y. Ts'o" , Muchun Song , Oscar Salvador , David Hildenbrand , David Howells , Paulo Alcantara , Andreas Dilger , Jan Kara , Jaegeuk Kim , Chao Yu , Trond Myklebust , Anna Schumaker , Chuck Lever , NeilBrown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Steve French , Ronnie Sahlberg , Shyam Prasad N , Bharath SM , Alexander Aring , Ryusuke Konishi , Viacheslav Dubeyko , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Sterba , Marc Dionne , Ian Kent , Luis de Bethencourt , Salah Triki , "Tigran A. Aivazian" , Ilya Dryomov , Alex Markuze , Jan Harkes , , Nicolas Pitre , Tyler Hicks , Amir Goldstein , Christoph Hellwig , John Paul Adrian Glaubitz , Yangtao Li , Mikulas Patocka , David Woodhouse , Richard Weinberger , Dave Kleikamp , Konstantin Komarov , Mark Fasheh , Joel Becker , Joseph Qi , Mike Marshall , Martin Brandenburg , Miklos Szeredi , Anders Larsen , Damien Le Moal , Naohiro Aota , Johannes Thumshirn , John Johansen , Paul Moore , James Morris , "Serge E. Hallyn" , Mimi Zohar , Roberto Sassu , Dmitry Kasatkin , Eric Snowberg , Fan Wu , Stephen Smalley , Ondrej Mosnacek , Casey Schaufler , Alex Deucher , =?UTF-8?Q?Christian_K=c3=b6nig?= , David Airlie , Simona Vetter , Sumit Semwal , Eric Dumazet , Kuniyuki Iwashima , Paolo Abeni , Willem de Bruijn , "David S. Miller" , Jakub Kicinski , Simon Horman , Oleg Nesterov , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , "Darrick J. Wong" , Martin Schiller CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , References: <20260226-iino-u64-v1-0-ccceff366db9@kernel.org> <20260226-iino-u64-v1-47-ccceff366db9@kernel.org> From: Zhihao Cheng Message-ID: Date: Fri, 27 Feb 2026 16:16:21 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20260226-iino-u64-v1-47-ccceff366db9@kernel.org> X-Originating-IP: [10.174.178.46] X-ClientProxiedBy: kwepems100002.china.huawei.com (7.221.188.206) To kwepemk500005.china.huawei.com (7.202.194.90) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260227_001701_623205_A04029E0 X-CRM114-Status: GOOD ( 22.38 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org 5ZyoIDIwMjYvMi8yNiAyMzo1NSwgSmVmZiBMYXl0b24g5YaZ6YGTOgo+IFVwZGF0ZSBmb3JtYXQg c3RyaW5ncyBhbmQgbG9jYWwgdmFyaWFibGUgdHlwZXMgaW4gdWJpZnMgZm9yIHRoZQo+IGlfaW5v IHR5cGUgY2hhbmdlIGZyb20gdW5zaWduZWQgbG9uZyB0byB1NjQuCj4gCj4gU2lnbmVkLW9mZi1i eTogSmVmZiBMYXl0b24gPGpsYXl0b25Aa2VybmVsLm9yZz4KPiAtLS0KPiAgIGZzL3ViaWZzL2Rl YnVnLmMgICB8ICA4ICsrKystLS0tCj4gICBmcy91Ymlmcy9kaXIuYyAgICAgfCAyOCArKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCj4gICBmcy91Ymlmcy9maWxlLmMgICAgfCAyOCArKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCj4gICBmcy91Ymlmcy9qb3VybmFsLmMgfCAgNiArKystLS0K PiAgIGZzL3ViaWZzL3N1cGVyLmMgICB8IDE2ICsrKysrKysrLS0tLS0tLS0KPiAgIGZzL3ViaWZz L3RuYy5jICAgICB8ICA0ICsrLS0KPiAgIGZzL3ViaWZzL3hhdHRyLmMgICB8IDE0ICsrKysrKyst LS0tLS0tCj4gICA3IGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9u cygtKQoKUmV2aWV3ZWQtYnk6IFpoaWhhbyBDaGVuZyA8Y2hlbmd6aGloYW8xQGh1YXdlaS5jb20+ Cj4gCj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL2RlYnVnLmMgYi9mcy91Ymlmcy9kZWJ1Zy5jCj4g aW5kZXggMTYwYzE2YWE3YjZlNzA4ODM1NTU4MjY3MDM1NzI2MmFiMzkzMDIyNS4uNTc5NGRlNWE5 MDY5ZjIwMzAyYjY2MzBjMzljMTQ1MjE4MzEzN2FjYyAxMDA2NDQKPiAtLS0gYS9mcy91Ymlmcy9k ZWJ1Zy5jCj4gKysrIGIvZnMvdWJpZnMvZGVidWcuYwo+IEBAIC0yMzAsNyArMjMwLDcgQEAgdm9p ZCB1Ymlmc19kdW1wX2lub2RlKHN0cnVjdCB1Ymlmc19pbmZvICpjLCBjb25zdCBzdHJ1Y3QgaW5v ZGUgKmlub2RlKQo+ICAgCWludCBjb3VudCA9IDI7Cj4gICAKPiAgIAlwcl9lcnIoIkR1bXAgaW4t bWVtb3J5IGlub2RlOiIpOwo+IC0JcHJfZXJyKCJcdGlub2RlICAgICAgICAgICVsdVxuIiwgaW5v ZGUtPmlfaW5vKTsKPiArCXByX2VycigiXHRpbm9kZSAgICAgICAgICAlbGx1XG4iLCBpbm9kZS0+ aV9pbm8pOwo+ICAgCXByX2VycigiXHRzaXplICAgICAgICAgICAlbGx1XG4iLAo+ICAgCSAgICAg ICAodW5zaWduZWQgbG9uZyBsb25nKWlfc2l6ZV9yZWFkKGlub2RlKSk7Cj4gICAJcHJfZXJyKCJc dG5saW5rICAgICAgICAgICV1XG4iLCBpbm9kZS0+aV9ubGluayk7Cj4gQEAgLTExMDEsNyArMTEw MSw3IEBAIGludCBkYmdfY2hlY2tfc3luY2VkX2lfc2l6ZShjb25zdCBzdHJ1Y3QgdWJpZnNfaW5m byAqYywgc3RydWN0IGlub2RlICppbm9kZSkKPiAgIAlpZiAodWktPnVpX3NpemUgIT0gdWktPnN5 bmNlZF9pX3NpemUgJiYgIXVpLT5kaXJ0eSkgewo+ICAgCQl1Ymlmc19lcnIoYywgInVpX3NpemUg aXMgJWxsZCwgc3luY2VkX2lfc2l6ZSBpcyAlbGxkLCBidXQgaW5vZGUgaXMgY2xlYW4iLAo+ICAg CQkJICB1aS0+dWlfc2l6ZSwgdWktPnN5bmNlZF9pX3NpemUpOwo+IC0JCXViaWZzX2VycihjLCAi aV9pbm8gJWx1LCBpX21vZGUgJSN4LCBpX3NpemUgJWxsZCIsIGlub2RlLT5pX2lubywKPiArCQl1 Ymlmc19lcnIoYywgImlfaW5vICVsbHUsIGlfbW9kZSAlI3gsIGlfc2l6ZSAlbGxkIiwgaW5vZGUt PmlfaW5vLAo+ICAgCQkJICBpbm9kZS0+aV9tb2RlLCBpX3NpemVfcmVhZChpbm9kZSkpOwo+ICAg CQlkdW1wX3N0YWNrKCk7Cj4gICAJCWVyciA9IC1FSU5WQUw7Cj4gQEAgLTExNjMsNyArMTE2Myw3 IEBAIGludCBkYmdfY2hlY2tfZGlyKHN0cnVjdCB1Ymlmc19pbmZvICpjLCBjb25zdCBzdHJ1Y3Qg aW5vZGUgKmRpcikKPiAgIAlrZnJlZShwZGVudCk7Cj4gICAKPiAgIAlpZiAoaV9zaXplX3JlYWQo ZGlyKSAhPSBzaXplKSB7Cj4gLQkJdWJpZnNfZXJyKGMsICJkaXJlY3RvcnkgaW5vZGUgJWx1IGhh cyBzaXplICVsbHUsIGJ1dCBjYWxjdWxhdGVkIHNpemUgaXMgJWxsdSIsCj4gKwkJdWJpZnNfZXJy KGMsICJkaXJlY3RvcnkgaW5vZGUgJWxsdSBoYXMgc2l6ZSAlbGx1LCBidXQgY2FsY3VsYXRlZCBz aXplIGlzICVsbHUiLAo+ICAgCQkJICBkaXItPmlfaW5vLCAodW5zaWduZWQgbG9uZyBsb25nKWlf c2l6ZV9yZWFkKGRpciksCj4gICAJCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpc2l6ZSk7Cj4gICAJ CXViaWZzX2R1bXBfaW5vZGUoYywgZGlyKTsKPiBAQCAtMTE3MSw3ICsxMTcxLDcgQEAgaW50IGRi Z19jaGVja19kaXIoc3RydWN0IHViaWZzX2luZm8gKmMsIGNvbnN0IHN0cnVjdCBpbm9kZSAqZGly KQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9Cj4gICAJaWYgKGRpci0+aV9ubGluayAhPSBu bGluaykgewo+IC0JCXViaWZzX2VycihjLCAiZGlyZWN0b3J5IGlub2RlICVsdSBoYXMgbmxpbmsg JXUsIGJ1dCBjYWxjdWxhdGVkIG5saW5rIGlzICV1IiwKPiArCQl1Ymlmc19lcnIoYywgImRpcmVj dG9yeSBpbm9kZSAlbGx1IGhhcyBubGluayAldSwgYnV0IGNhbGN1bGF0ZWQgbmxpbmsgaXMgJXUi LAo+ICAgCQkJICBkaXItPmlfaW5vLCBkaXItPmlfbmxpbmssIG5saW5rKTsKPiAgIAkJdWJpZnNf ZHVtcF9pbm9kZShjLCBkaXIpOwo+ICAgCQlkdW1wX3N0YWNrKCk7Cj4gZGlmZiAtLWdpdCBhL2Zz L3ViaWZzL2Rpci5jIGIvZnMvdWJpZnMvZGlyLmMKPiBpbmRleCA0YzlmNTdmM2IyYWRiYmQzOTZi Mjg4ODc4Y2IxOGZhODdjZGJkMGRmLi44NmQ0MWUwNzdlNGQ2MjFkYmI4YzQ0OGFjZDAwNjVjOGFj N2FlMjI1IDEwMDY0NAo+IC0tLSBhL2ZzL3ViaWZzL2Rpci5jCj4gKysrIGIvZnMvdWJpZnMvZGly LmMKPiBAQCAtMjIzLDcgKzIyMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICp1Ymlmc19sb29r dXAoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKPiAgIAlzdHJ1Y3Qg dWJpZnNfaW5mbyAqYyA9IGRpci0+aV9zYi0+c19mc19pbmZvOwo+ICAgCXN0cnVjdCBmc2NyeXB0 X25hbWUgbm07Cj4gICAKPiAtCWRiZ19nZW4oIiclcGQnIGluIGRpciBpbm8gJWx1IiwgZGVudHJ5 LCBkaXItPmlfaW5vKTsKPiArCWRiZ19nZW4oIiclcGQnIGluIGRpciBpbm8gJWxsdSIsIGRlbnRy eSwgZGlyLT5pX2lubyk7Cj4gICAKPiAgIAllcnIgPSBmc2NyeXB0X3ByZXBhcmVfbG9va3VwKGRp ciwgZGVudHJ5LCAmbm0pOwo+ICAgCWlmIChlcnIgPT0gLUVOT0VOVCkKPiBAQCAtMjgxLDcgKzI4 MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICp1Ymlmc19sb29rdXAoc3RydWN0IGlub2RlICpk aXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKPiAgIAlpZiAoSVNfRU5DUllQVEVEKGRpcikgJiYK PiAgIAkgICAgKFNfSVNESVIoaW5vZGUtPmlfbW9kZSkgfHwgU19JU0xOSyhpbm9kZS0+aV9tb2Rl KSkgJiYKPiAgIAkgICAgIWZzY3J5cHRfaGFzX3Blcm1pdHRlZF9jb250ZXh0KGRpciwgaW5vZGUp KSB7Cj4gLQkJdWJpZnNfd2FybihjLCAiSW5jb25zaXN0ZW50IGVuY3J5cHRpb24gY29udGV4dHM6 ICVsdS8lbHUiLAo+ICsJCXViaWZzX3dhcm4oYywgIkluY29uc2lzdGVudCBlbmNyeXB0aW9uIGNv bnRleHRzOiAlbGx1LyVsbHUiLAo+ICAgCQkJICAgZGlyLT5pX2lubywgaW5vZGUtPmlfaW5vKTsK PiAgIAkJaXB1dChpbm9kZSk7Cj4gICAJCWlub2RlID0gRVJSX1BUUigtRVBFUk0pOwo+IEBAIC0z MTgsNyArMzE4LDcgQEAgc3RhdGljIGludCB1Ymlmc19jcmVhdGUoc3RydWN0IG1udF9pZG1hcCAq aWRtYXAsIHN0cnVjdCBpbm9kZSAqZGlyLAo+ICAgCSAqIHBhcmVudCBkaXJlY3RvcnkgaW5vZGUu Cj4gICAJICovCj4gICAKPiAtCWRiZ19nZW4oImRlbnQgJyVwZCcsIG1vZGUgJSNoeCBpbiBkaXIg aW5vICVsdSIsCj4gKwlkYmdfZ2VuKCJkZW50ICclcGQnLCBtb2RlICUjaHggaW4gZGlyIGlubyAl bGx1IiwKPiAgIAkJZGVudHJ5LCBtb2RlLCBkaXItPmlfaW5vKTsKPiAgIAo+ICAgCWVyciA9IHVi aWZzX2J1ZGdldF9zcGFjZShjLCAmcmVxKTsKPiBAQCAtMzg2LDcgKzM4Niw3IEBAIHN0YXRpYyBz dHJ1Y3QgaW5vZGUgKmNyZWF0ZV93aGl0ZW91dChzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRl bnRyeSAqZGVudHJ5KQo+ICAgCSAqIGF0b21pY2FsbHkuCj4gICAJICovCj4gICAKPiAtCWRiZ19n ZW4oImRlbnQgJyVwZCcsIG1vZGUgJSNoeCBpbiBkaXIgaW5vICVsdSIsCj4gKwlkYmdfZ2VuKCJk ZW50ICclcGQnLCBtb2RlICUjaHggaW4gZGlyIGlubyAlbGx1IiwKPiAgIAkJZGVudHJ5LCBtb2Rl LCBkaXItPmlfaW5vKTsKPiAgIAo+ICAgCWlub2RlID0gdWJpZnNfbmV3X2lub2RlKGMsIGRpciwg bW9kZSwgZmFsc2UpOwo+IEBAIC00NjAsNyArNDYwLDcgQEAgc3RhdGljIGludCB1Ymlmc190bXBm aWxlKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLCBzdHJ1Y3QgaW5vZGUgKmRpciwKPiAgIAkgKiBi ZSByZWxlYXNlZCB2aWEgd3JpdGViYWNrLgo+ICAgCSAqLwo+ICAgCj4gLQlkYmdfZ2VuKCJkZW50 ICclcGQnLCBtb2RlICUjaHggaW4gZGlyIGlubyAlbHUiLAo+ICsJZGJnX2dlbigiZGVudCAnJXBk JywgbW9kZSAlI2h4IGluIGRpciBpbm8gJWxsdSIsCj4gICAJCWRlbnRyeSwgbW9kZSwgZGlyLT5p X2lubyk7Cj4gICAKPiAgIAllcnIgPSBmc2NyeXB0X3NldHVwX2ZpbGVuYW1lKGRpciwgJmRlbnRy eS0+ZF9uYW1lLCAwLCAmbm0pOwo+IEBAIC01ODksNyArNTg5LDcgQEAgc3RhdGljIGludCB1Ymlm c19yZWFkZGlyKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZGlyX2NvbnRleHQgKmN0eCkKPiAg IAlib29sIGVuY3J5cHRlZCA9IElTX0VOQ1JZUFRFRChkaXIpOwo+ICAgCXN0cnVjdCB1Ymlmc19k aXJfZGF0YSAqZGF0YSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPiAgIAo+IC0JZGJnX2dlbigiZGly IGlubyAlbHUsIGZfcG9zICUjbGx4IiwgZGlyLT5pX2lubywgY3R4LT5wb3MpOwo+ICsJZGJnX2dl bigiZGlyIGlubyAlbGx1LCBmX3BvcyAlI2xseCIsIGRpci0+aV9pbm8sIGN0eC0+cG9zKTsKPiAg IAo+ICAgCWlmIChjdHgtPnBvcyA+IFVCSUZTX1NfS0VZX0hBU0hfTUFTSyB8fCBjdHgtPnBvcyA9 PSAyKQo+ICAgCQkvKgo+IEBAIC03NjQsNyArNzY0LDcgQEAgc3RhdGljIGludCB1Ymlmc19saW5r KHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksIHN0cnVjdCBpbm9kZSAqZGlyLAo+ICAgCSAqIGNo YW5naW5nIHRoZSBwYXJlbnQgaW5vZGUuCj4gICAJICovCj4gICAKPiAtCWRiZ19nZW4oImRlbnQg JyVwZCcgdG8gaW5vICVsdSAobmxpbmsgJWQpIGluIGRpciBpbm8gJWx1IiwKPiArCWRiZ19nZW4o ImRlbnQgJyVwZCcgdG8gaW5vICVsbHUgKG5saW5rICVkKSBpbiBkaXIgaW5vICVsbHUiLAo+ICAg CQlkZW50cnksIGlub2RlLT5pX2lubywKPiAgIAkJaW5vZGUtPmlfbmxpbmssIGRpci0+aV9pbm8p Owo+ICAgCXViaWZzX2Fzc2VydChjLCBpbm9kZV9pc19sb2NrZWQoZGlyKSk7Cj4gQEAgLTgzNiw3 ICs4MzYsNyBAQCBzdGF0aWMgaW50IHViaWZzX3VubGluayhzdHJ1Y3QgaW5vZGUgKmRpciwgc3Ry dWN0IGRlbnRyeSAqZGVudHJ5KQo+ICAgCSAqIGRlbGV0aW9ucy4KPiAgIAkgKi8KPiAgIAo+IC0J ZGJnX2dlbigiZGVudCAnJXBkJyBmcm9tIGlubyAlbHUgKG5saW5rICVkKSBpbiBkaXIgaW5vICVs dSIsCj4gKwlkYmdfZ2VuKCJkZW50ICclcGQnIGZyb20gaW5vICVsbHUgKG5saW5rICVkKSBpbiBk aXIgaW5vICVsbHUiLAo+ICAgCQlkZW50cnksIGlub2RlLT5pX2lubywKPiAgIAkJaW5vZGUtPmlf bmxpbmssIGRpci0+aV9pbm8pOwo+ICAgCj4gQEAgLTk0MSw3ICs5NDEsNyBAQCBzdGF0aWMgaW50 IHViaWZzX3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCj4g ICAJICogYmVjYXVzZSB3ZSBoYXZlIGV4dHJhIHNwYWNlIHJlc2VydmVkIGZvciBkZWxldGlvbnMu Cj4gICAJICovCj4gICAKPiAtCWRiZ19nZW4oImRpcmVjdG9yeSAnJXBkJywgaW5vICVsdSBpbiBk aXIgaW5vICVsdSIsIGRlbnRyeSwKPiArCWRiZ19nZW4oImRpcmVjdG9yeSAnJXBkJywgaW5vICVs bHUgaW4gZGlyIGlubyAlbGx1IiwgZGVudHJ5LAo+ICAgCQlpbm9kZS0+aV9pbm8sIGRpci0+aV9p bm8pOwo+ICAgCXViaWZzX2Fzc2VydChjLCBpbm9kZV9pc19sb2NrZWQoZGlyKSk7Cj4gICAJdWJp ZnNfYXNzZXJ0KGMsIGlub2RlX2lzX2xvY2tlZChpbm9kZSkpOwo+IEBAIC0xMDE4LDcgKzEwMTgs NyBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqdWJpZnNfbWtkaXIoc3RydWN0IG1udF9pZG1hcCAq aWRtYXAsIHN0cnVjdCBpbm9kZSAqZGlyLAo+ICAgCSAqIGRpcmVjdG9yeSBpbm9kZS4KPiAgIAkg Ki8KPiAgIAo+IC0JZGJnX2dlbigiZGVudCAnJXBkJywgbW9kZSAlI2h4IGluIGRpciBpbm8gJWx1 IiwKPiArCWRiZ19nZW4oImRlbnQgJyVwZCcsIG1vZGUgJSNoeCBpbiBkaXIgaW5vICVsbHUiLAo+ ICAgCQlkZW50cnksIG1vZGUsIGRpci0+aV9pbm8pOwo+ICAgCj4gICAJZXJyID0gdWJpZnNfYnVk Z2V0X3NwYWNlKGMsICZyZXEpOwo+IEBAIC0xMDk2LDcgKzEwOTYsNyBAQCBzdGF0aWMgaW50IHVi aWZzX21rbm9kKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLCBzdHJ1Y3QgaW5vZGUgKmRpciwKPiAg IAkgKiBkaXJlY3RvcnkgaW5vZGUuCj4gICAJICovCj4gICAKPiAtCWRiZ19nZW4oImRlbnQgJyVw ZCcgaW4gZGlyIGlubyAlbHUiLCBkZW50cnksIGRpci0+aV9pbm8pOwo+ICsJZGJnX2dlbigiZGVu dCAnJXBkJyBpbiBkaXIgaW5vICVsbHUiLCBkZW50cnksIGRpci0+aV9pbm8pOwo+ICAgCj4gICAJ aWYgKFNfSVNCTEsobW9kZSkgfHwgU19JU0NIUihtb2RlKSkgewo+ICAgCQlkZXYgPSBrbWFsbG9j X29iaih1bmlvbiB1Ymlmc19kZXZfZGVzYywgR0ZQX05PRlMpOwo+IEBAIC0xMTgzLDcgKzExODMs NyBAQCBzdGF0aWMgaW50IHViaWZzX3N5bWxpbmsoc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsIHN0 cnVjdCBpbm9kZSAqZGlyLAo+ICAgCQkJCQkuZGlydGllZF9pbm8gPSAxIH07Cj4gICAJc3RydWN0 IGZzY3J5cHRfbmFtZSBubTsKPiAgIAo+IC0JZGJnX2dlbigiZGVudCAnJXBkJywgdGFyZ2V0ICcl cycgaW4gZGlyIGlubyAlbHUiLCBkZW50cnksCj4gKwlkYmdfZ2VuKCJkZW50ICclcGQnLCB0YXJn ZXQgJyVzJyBpbiBkaXIgaW5vICVsbHUiLCBkZW50cnksCj4gICAJCXN5bW5hbWUsIGRpci0+aV9p bm8pOwo+ICAgCj4gICAJZXJyID0gZnNjcnlwdF9wcmVwYXJlX3N5bWxpbmsoZGlyLCBzeW1uYW1l LCBsZW4sIFVCSUZTX01BWF9JTk9fREFUQSwKPiBAQCAtMTM0OSw3ICsxMzQ5LDcgQEAgc3RhdGlj IGludCBkb19yZW5hbWUoc3RydWN0IGlub2RlICpvbGRfZGlyLCBzdHJ1Y3QgZGVudHJ5ICpvbGRf ZGVudHJ5LAo+ICAgCSAqICAgaW5vX3JlcTogbWFya3MgdGhlIHRhcmdldCBpbm9kZSBhcyBkaXJ0 eSBhbmQgZG9lcyBub3Qgd3JpdGUgaXQuCj4gICAJICovCj4gICAKPiAtCWRiZ19nZW4oImRlbnQg JyVwZCcgaW5vICVsdSBpbiBkaXIgaW5vICVsdSB0byBkZW50ICclcGQnIGluIGRpciBpbm8gJWx1 IGZsYWdzIDB4JXgiLAo+ICsJZGJnX2dlbigiZGVudCAnJXBkJyBpbm8gJWxsdSBpbiBkaXIgaW5v ICVsbHUgdG8gZGVudCAnJXBkJyBpbiBkaXIgaW5vICVsbHUgZmxhZ3MgMHgleCIsCj4gICAJCW9s ZF9kZW50cnksIG9sZF9pbm9kZS0+aV9pbm8sIG9sZF9kaXItPmlfaW5vLAo+ICAgCQluZXdfZGVu dHJ5LCBuZXdfZGlyLT5pX2lubywgZmxhZ3MpOwo+ICAgCj4gQEAgLTE1OTcsNyArMTU5Nyw3IEBA IHN0YXRpYyBpbnQgdWJpZnNfeHJlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBk ZW50cnkgKm9sZF9kZW50cnksCj4gICAJICogcGFyZW50IGRpcmVjdG9yeSBpbm9kZXMuCj4gICAJ ICovCj4gICAKPiAtCWRiZ19nZW4oImRlbnQgJyVwZCcgaW5vICVsdSBpbiBkaXIgaW5vICVsdSBl eGNoYW5nZSBkZW50ICclcGQnIGlubyAlbHUgaW4gZGlyIGlubyAlbHUiLAo+ICsJZGJnX2dlbigi ZGVudCAnJXBkJyBpbm8gJWxsdSBpbiBkaXIgaW5vICVsbHUgZXhjaGFuZ2UgZGVudCAnJXBkJyBp bm8gJWxsdSBpbiBkaXIgaW5vICVsbHUiLAo+ICAgCQlvbGRfZGVudHJ5LCBmc3RfaW5vZGUtPmlf aW5vLCBvbGRfZGlyLT5pX2lubywKPiAgIAkJbmV3X2RlbnRyeSwgc25kX2lub2RlLT5pX2lubywg bmV3X2Rpci0+aV9pbm8pOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL2ZpbGUuYyBiL2Zz L3ViaWZzL2ZpbGUuYwo+IGluZGV4IGNkMDQ3NTVlNzkyYTdmOGU3ZDMzZWQ0ZTY3ODA2Y2QyMDJj NzFmYWQuLmU3M2MyOGIxMmY5N2ZkMWZiZWI2NzUxMDQzNGU0OTllYWI4NGRhNzAgMTAwNjQ0Cj4g LS0tIGEvZnMvdWJpZnMvZmlsZS5jCj4gKysrIGIvZnMvdWJpZnMvZmlsZS5jCj4gQEAgLTkwLDcg KzkwLDcgQEAgc3RhdGljIGludCByZWFkX2Jsb2NrKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVj dCBmb2xpbyAqZm9saW8sIHNpemVfdCBvZmZzZXQsCj4gICAJcmV0dXJuIDA7Cj4gICAKPiAgIGR1 bXA6Cj4gLQl1Ymlmc19lcnIoYywgImJhZCBkYXRhIG5vZGUgKGJsb2NrICV1LCBpbm9kZSAlbHUp IiwKPiArCXViaWZzX2VycihjLCAiYmFkIGRhdGEgbm9kZSAoYmxvY2sgJXUsIGlub2RlICVsbHUp IiwKPiAgIAkJICBibG9jaywgaW5vZGUtPmlfaW5vKTsKPiAgIAl1Ymlmc19kdW1wX25vZGUoYywg ZG4sIFVCSUZTX01BWF9EQVRBX05PREVfU1opOwo+ICAgCXJldHVybiAtRUlOVkFMOwo+IEBAIC0x MDYsNyArMTA2LDcgQEAgc3RhdGljIGludCBkb19yZWFkcGFnZShzdHJ1Y3QgZm9saW8gKmZvbGlv KQo+ICAgCWxvZmZfdCBpX3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7Cj4gICAJc2l6ZV90IG9m ZnNldCA9IDA7Cj4gICAKPiAtCWRiZ19nZW4oImlubyAlbHUsIHBnICVsdSwgaV9zaXplICVsbGQs IGZsYWdzICUjbHgiLAo+ICsJZGJnX2dlbigiaW5vICVsbHUsIHBnICVsdSwgaV9zaXplICVsbGQs IGZsYWdzICUjbHgiLAo+ICAgCQlpbm9kZS0+aV9pbm8sIGZvbGlvLT5pbmRleCwgaV9zaXplLCBm b2xpby0+ZmxhZ3MuZik7Cj4gICAJdWJpZnNfYXNzZXJ0KGMsICFmb2xpb190ZXN0X2NoZWNrZWQo Zm9saW8pKTsKPiAgIAl1Ymlmc19hc3NlcnQoYywgIWZvbGlvLT5wcml2YXRlKTsKPiBAQCAtMTYy LDcgKzE2Miw3IEBAIHN0YXRpYyBpbnQgZG9fcmVhZHBhZ2Uoc3RydWN0IGZvbGlvICpmb2xpbykK PiAgIAkJCWRiZ19nZW4oImhvbGUiKTsKPiAgIAkJCWVyciA9IDA7Cj4gICAJCX0gZWxzZSB7Cj4g LQkJCXViaWZzX2VycihjLCAiY2Fubm90IHJlYWQgcGFnZSAlbHUgb2YgaW5vZGUgJWx1LCBlcnJv ciAlZCIsCj4gKwkJCXViaWZzX2VycihjLCAiY2Fubm90IHJlYWQgcGFnZSAlbHUgb2YgaW5vZGUg JWxsdSwgZXJyb3IgJWQiLAo+ICAgCQkJCSAgZm9saW8tPmluZGV4LCBpbm9kZS0+aV9pbm8sIGVy cik7Cj4gICAJCX0KPiAgIAl9Cj4gQEAgLTIxMiw3ICsyMTIsNyBAQCBzdGF0aWMgaW50IHdyaXRl X2JlZ2luX3Nsb3coc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCj4gICAJaW50IGVyciwg YXBwZW5kaW5nID0gISEocG9zICsgbGVuID4gaW5vZGUtPmlfc2l6ZSk7Cj4gICAJc3RydWN0IGZv bGlvICpmb2xpbzsKPiAgIAo+IC0JZGJnX2dlbigiaW5vICVsdSwgcG9zICVsbHUsIGxlbiAldSwg aV9zaXplICVsbGQiLAo+ICsJZGJnX2dlbigiaW5vICVsbHUsIHBvcyAlbGx1LCBsZW4gJXUsIGlf c2l6ZSAlbGxkIiwKPiAgIAkJaW5vZGUtPmlfaW5vLCBwb3MsIGxlbiwgaW5vZGUtPmlfc2l6ZSk7 Cj4gICAKPiAgIAkvKgo+IEBAIC01MjYsNyArNTI2LDcgQEAgc3RhdGljIGludCB1Ymlmc193cml0 ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLAo+ICAgCWxvZmZfdCBlbmRfcG9zID0gcG9z ICsgbGVuOwo+ICAgCWludCBhcHBlbmRpbmcgPSAhIShlbmRfcG9zID4gaW5vZGUtPmlfc2l6ZSk7 Cj4gICAKPiAtCWRiZ19nZW4oImlubyAlbHUsIHBvcyAlbGx1LCBwZyAlbHUsIGxlbiAldSwgY29w aWVkICVkLCBpX3NpemUgJWxsZCIsCj4gKwlkYmdfZ2VuKCJpbm8gJWxsdSwgcG9zICVsbHUsIHBn ICVsdSwgbGVuICV1LCBjb3BpZWQgJWQsIGlfc2l6ZSAlbGxkIiwKPiAgIAkJaW5vZGUtPmlfaW5v LCBwb3MsIGZvbGlvLT5pbmRleCwgbGVuLCBjb3BpZWQsIGlub2RlLT5pX3NpemUpOwo+ICAgCj4g ICAJaWYgKHVubGlrZWx5KGNvcGllZCA8IGxlbiAmJiAhZm9saW9fdGVzdF91cHRvZGF0ZShmb2xp bykpKSB7Cj4gQEAgLTU5OSw3ICs1OTksNyBAQCBzdGF0aWMgaW50IHBvcHVsYXRlX3BhZ2Uoc3Ry dWN0IHViaWZzX2luZm8gKmMsIHN0cnVjdCBmb2xpbyAqZm9saW8sCj4gICAJc2l6ZV90IG9mZnNl dCA9IDA7Cj4gICAJcGdvZmZfdCBlbmRfaW5kZXg7Cj4gICAKPiAtCWRiZ19nZW4oImlubyAlbHUs IHBnICVsdSwgaV9zaXplICVsbGQsIGZsYWdzICUjbHgiLAo+ICsJZGJnX2dlbigiaW5vICVsbHUs IHBnICVsdSwgaV9zaXplICVsbGQsIGZsYWdzICUjbHgiLAo+ICAgCQlpbm9kZS0+aV9pbm8sIGZv bGlvLT5pbmRleCwgaV9zaXplLCBmb2xpby0+ZmxhZ3MuZik7Cj4gICAKPiAgIAllbmRfaW5kZXgg PSAoaV9zaXplIC0gMSkgPj4gUEFHRV9TSElGVDsKPiBAQCAtNjgwLDcgKzY4MCw3IEBAIHN0YXRp YyBpbnQgcG9wdWxhdGVfcGFnZShzdHJ1Y3QgdWJpZnNfaW5mbyAqYywgc3RydWN0IGZvbGlvICpm b2xpbywKPiAgIAlyZXR1cm4gMDsKPiAgIAo+ICAgb3V0X2VycjoKPiAtCXViaWZzX2VycihjLCAi YmFkIGRhdGEgbm9kZSAoYmxvY2sgJXUsIGlub2RlICVsdSkiLAo+ICsJdWJpZnNfZXJyKGMsICJi YWQgZGF0YSBub2RlIChibG9jayAldSwgaW5vZGUgJWxsdSkiLAo+ICAgCQkgIHBhZ2VfYmxvY2ss IGlub2RlLT5pX2lubyk7Cj4gICAJcmV0dXJuIC1FSU5WQUw7Cj4gICB9Cj4gQEAgLTkxMyw3ICs5 MTMsNyBAQCBzdGF0aWMgaW50IGRvX3dyaXRlcGFnZShzdHJ1Y3QgZm9saW8gKmZvbGlvLCBzaXpl X3QgbGVuKQo+ICAgCX0KPiAgIAlpZiAoZXJyKSB7Cj4gICAJCW1hcHBpbmdfc2V0X2Vycm9yKGZv bGlvLT5tYXBwaW5nLCBlcnIpOwo+IC0JCXViaWZzX2VycihjLCAiY2Fubm90IHdyaXRlIGZvbGlv ICVsdSBvZiBpbm9kZSAlbHUsIGVycm9yICVkIiwKPiArCQl1Ymlmc19lcnIoYywgImNhbm5vdCB3 cml0ZSBmb2xpbyAlbHUgb2YgaW5vZGUgJWxsdSwgZXJyb3IgJWQiLAo+ICAgCQkJICBmb2xpby0+ aW5kZXgsIGlub2RlLT5pX2lubywgZXJyKTsKPiAgIAkJdWJpZnNfcm9fbW9kZShjLCBlcnIpOwo+ ICAgCX0KPiBAQCAtOTg3LDcgKzk4Nyw3IEBAIHN0YXRpYyBpbnQgdWJpZnNfd3JpdGVwYWdlKHN0 cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQo+ICAgCWxv ZmZfdCBpX3NpemUgPSAgaV9zaXplX3JlYWQoaW5vZGUpLCBzeW5jZWRfaV9zaXplOwo+ICAgCWlu dCBlcnIsIGxlbiA9IGZvbGlvX3NpemUoZm9saW8pOwo+ICAgCj4gLQlkYmdfZ2VuKCJpbm8gJWx1 LCBwZyAlbHUsIHBnIGZsYWdzICUjbHgiLAo+ICsJZGJnX2dlbigiaW5vICVsbHUsIHBnICVsdSwg cGcgZmxhZ3MgJSNseCIsCj4gICAJCWlub2RlLT5pX2lubywgZm9saW8tPmluZGV4LCBmb2xpby0+ ZmxhZ3MuZik7Cj4gICAJdWJpZnNfYXNzZXJ0KGMsIGZvbGlvLT5wcml2YXRlICE9IE5VTEwpOwo+ ICAgCj4gQEAgLTExMDYsNyArMTEwNiw3IEBAIHN0YXRpYyBpbnQgZG9fdHJ1bmNhdGlvbihzdHJ1 Y3QgdWJpZnNfaW5mbyAqYywgc3RydWN0IGlub2RlICppbm9kZSwKPiAgIAlpbnQgb2Zmc2V0ID0g bmV3X3NpemUgJiAoVUJJRlNfQkxPQ0tfU0laRSAtIDEpLCBidWRnZXRlZCA9IDE7Cj4gICAJc3Ry dWN0IHViaWZzX2lub2RlICp1aSA9IHViaWZzX2lub2RlKGlub2RlKTsKPiAgIAo+IC0JZGJnX2dl bigiaW5vICVsdSwgc2l6ZSAlbGxkIC0+ICVsbGQiLCBpbm9kZS0+aV9pbm8sIG9sZF9zaXplLCBu ZXdfc2l6ZSk7Cj4gKwlkYmdfZ2VuKCJpbm8gJWxsdSwgc2l6ZSAlbGxkIC0+ICVsbGQiLCBpbm9k ZS0+aV9pbm8sIG9sZF9zaXplLCBuZXdfc2l6ZSk7Cj4gICAJbWVtc2V0KCZyZXEsIDAsIHNpemVv ZihzdHJ1Y3QgdWJpZnNfYnVkZ2V0X3JlcSkpOwo+ICAgCj4gICAJLyoKPiBAQCAtMTI1OCw3ICsx MjU4LDcgQEAgaW50IHViaWZzX3NldGF0dHIoc3RydWN0IG1udF9pZG1hcCAqaWRtYXAsIHN0cnVj dCBkZW50cnkgKmRlbnRyeSwKPiAgIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZF9pbm9kZShkZW50 cnkpOwo+ICAgCXN0cnVjdCB1Ymlmc19pbmZvICpjID0gaW5vZGUtPmlfc2ItPnNfZnNfaW5mbzsK PiAgIAo+IC0JZGJnX2dlbigiaW5vICVsdSwgbW9kZSAlI3gsIGlhX3ZhbGlkICUjeCIsCj4gKwlk YmdfZ2VuKCJpbm8gJWxsdSwgbW9kZSAlI3gsIGlhX3ZhbGlkICUjeCIsCj4gICAJCWlub2RlLT5p X2lubywgaW5vZGUtPmlfbW9kZSwgYXR0ci0+aWFfdmFsaWQpOwo+ICAgCWVyciA9IHNldGF0dHJf cHJlcGFyZSgmbm9wX21udF9pZG1hcCwgZGVudHJ5LCBhdHRyKTsKPiAgIAlpZiAoZXJyKQo+IEBA IC0xMzA4LDcgKzEzMDgsNyBAQCBpbnQgdWJpZnNfZnN5bmMoc3RydWN0IGZpbGUgKmZpbGUsIGxv ZmZfdCBzdGFydCwgbG9mZl90IGVuZCwgaW50IGRhdGFzeW5jKQo+ICAgCXN0cnVjdCB1Ymlmc19p bmZvICpjID0gaW5vZGUtPmlfc2ItPnNfZnNfaW5mbzsKPiAgIAlpbnQgZXJyOwo+ICAgCj4gLQlk YmdfZ2VuKCJzeW5jaW5nIGlub2RlICVsdSIsIGlub2RlLT5pX2lubyk7Cj4gKwlkYmdfZ2VuKCJz eW5jaW5nIGlub2RlICVsbHUiLCBpbm9kZS0+aV9pbm8pOwo+ICAgCj4gICAJaWYgKGMtPnJvX21v dW50KQo+ICAgCQkvKgo+IEBAIC0xNDk1LDcgKzE0OTUsNyBAQCBzdGF0aWMgdm1fZmF1bHRfdCB1 Ymlmc192bV9wYWdlX21rd3JpdGUoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4gICAJc3RydWN0IHVi aWZzX2J1ZGdldF9yZXEgcmVxID0geyAubmV3X3BhZ2UgPSAxIH07Cj4gICAJaW50IGVyciwgdXBk YXRlX3RpbWU7Cj4gICAKPiAtCWRiZ19nZW4oImlubyAlbHUsIHBnICVsdSwgaV9zaXplICVsbGQi LAlpbm9kZS0+aV9pbm8sIGZvbGlvLT5pbmRleCwKPiArCWRiZ19nZW4oImlubyAlbGx1LCBwZyAl bHUsIGlfc2l6ZSAlbGxkIiwJaW5vZGUtPmlfaW5vLCBmb2xpby0+aW5kZXgsCj4gICAJCWlfc2l6 ZV9yZWFkKGlub2RlKSk7Cj4gICAJdWJpZnNfYXNzZXJ0KGMsICFjLT5yb19tZWRpYSAmJiAhYy0+ cm9fbW91bnQpOwo+ICAgCj4gQEAgLTE1MzEsNyArMTUzMSw3IEBAIHN0YXRpYyB2bV9mYXVsdF90 IHViaWZzX3ZtX3BhZ2VfbWt3cml0ZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKPiAgIAllcnIgPSB1 Ymlmc19idWRnZXRfc3BhY2UoYywgJnJlcSk7Cj4gICAJaWYgKHVubGlrZWx5KGVycikpIHsKPiAg IAkJaWYgKGVyciA9PSAtRU5PU1BDKQo+IC0JCQl1Ymlmc193YXJuKGMsICJvdXQgb2Ygc3BhY2Ug Zm9yIG1tYXBwZWQgZmlsZSAoaW5vZGUgbnVtYmVyICVsdSkiLAo+ICsJCQl1Ymlmc193YXJuKGMs ICJvdXQgb2Ygc3BhY2UgZm9yIG1tYXBwZWQgZmlsZSAoaW5vZGUgbnVtYmVyICVsbHUpIiwKPiAg IAkJCQkgICBpbm9kZS0+aV9pbm8pOwo+ICAgCQlyZXR1cm4gVk1fRkFVTFRfU0lHQlVTOwo+ICAg CX0KPiBkaWZmIC0tZ2l0IGEvZnMvdWJpZnMvam91cm5hbC5jIGIvZnMvdWJpZnMvam91cm5hbC5j Cj4gaW5kZXggZTI4YWI0Mzk1ZTVjYTQwNGQ4ZThkOGY3MzVjMzExM2I1OGJjYzk0MS4uNDBhOTVh MmZhZDUwMDM5ZjM5OTE3ZTcxZGE3YjcxYTczNTIzNzQ2OSAxMDA2NDQKPiAtLS0gYS9mcy91Ymlm cy9qb3VybmFsLmMKPiArKysgYi9mcy91Ymlmcy9qb3VybmFsLmMKPiBAQCAtOTgyLDcgKzk4Miw3 IEBAIGludCB1Ymlmc19qbmxfd3JpdGVfaW5vZGUoc3RydWN0IHViaWZzX2luZm8gKmMsIGNvbnN0 IHN0cnVjdCBpbm9kZSAqaW5vZGUpCj4gICAJaW50IGtpbGxfeGF0dHJzID0gdWktPnhhdHRyX2Nu dCAmJiBsYXN0X3JlZmVyZW5jZTsKPiAgIAl1OCBoYXNoW1VCSUZTX0hBU0hfQVJSX1NaXTsKPiAg IAo+IC0JZGJnX2pubCgiaW5vICVsdSwgbmxpbmsgJXUiLCBpbm9kZS0+aV9pbm8sIGlub2RlLT5p X25saW5rKTsKPiArCWRiZ19qbmwoImlubyAlbGx1LCBubGluayAldSIsIGlub2RlLT5pX2lubywg aW5vZGUtPmlfbmxpbmspOwo+ICAgCj4gICAJaWYgKGtpbGxfeGF0dHJzICYmIHVpLT54YXR0cl9j bnQgPiB1Ymlmc194YXR0cl9tYXhfY250KGMpKSB7Cj4gICAJCXViaWZzX2VycihjLCAiQ2Fubm90 IGRlbGV0ZSBpbm9kZSwgaXQgaGFzIHRvbyBtYW55IHhhdHRycyEiKTsKPiBAQCAtMTc0Myw3ICsx NzQzLDcgQEAgaW50IHViaWZzX2pubF90cnVuY2F0ZShzdHJ1Y3QgdWJpZnNfaW5mbyAqYywgY29u c3Qgc3RydWN0IGlub2RlICppbm9kZSwKPiAgIAkJCWludCBkbl9sZW4gPSBsZTMyX3RvX2NwdShk bi0+c2l6ZSk7Cj4gICAKPiAgIAkJCWlmIChkbl9sZW4gPD0gMCB8fCBkbl9sZW4gPiBVQklGU19C TE9DS19TSVpFKSB7Cj4gLQkJCQl1Ymlmc19lcnIoYywgImJhZCBkYXRhIG5vZGUgKGJsb2NrICV1 LCBpbm9kZSAlbHUpIiwKPiArCQkJCXViaWZzX2VycihjLCAiYmFkIGRhdGEgbm9kZSAoYmxvY2sg JXUsIGlub2RlICVsbHUpIiwKPiAgIAkJCQkJICBibGssIGlub2RlLT5pX2lubyk7Cj4gICAJCQkJ dWJpZnNfZHVtcF9ub2RlKGMsIGRuLCBkbl9zaXplKTsKPiAgIAkJCQllcnIgPSAtRVVDTEVBTjsK PiBAQCAtMTk4Nyw3ICsxOTg3LDcgQEAgaW50IHViaWZzX2pubF9jaGFuZ2VfeGF0dHIoc3RydWN0 IHViaWZzX2luZm8gKmMsIGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4gICAJdTggaGFzaF9o b3N0W1VCSUZTX0hBU0hfQVJSX1NaXTsKPiAgIAl1OCBoYXNoW1VCSUZTX0hBU0hfQVJSX1NaXTsK PiAgIAo+IC0JZGJnX2pubCgiaW5vICVsdSwgaW5vICVsdSIsIGhvc3QtPmlfaW5vLCBpbm9kZS0+ aV9pbm8pOwo+ICsJZGJnX2pubCgiaW5vICVsbHUsIGlubyAlbGx1IiwgaG9zdC0+aV9pbm8sIGlu b2RlLT5pX2lubyk7Cj4gICAJdWJpZnNfYXNzZXJ0KGMsIGlub2RlLT5pX25saW5rID4gMCk7Cj4g ICAJdWJpZnNfYXNzZXJ0KGMsIG11dGV4X2lzX2xvY2tlZCgmaG9zdF91aS0+dWlfbXV0ZXgpKTsK PiAgIAo+IGRpZmYgLS1naXQgYS9mcy91Ymlmcy9zdXBlci5jIGIvZnMvdWJpZnMvc3VwZXIuYwo+ IGluZGV4IDAzYmY5MjQ3NTZjYTAwMzgwOWQyMjk4MzdhOTcwZDU5MzU0NTBmMjMuLjlhNzdkOGI2 NGZmYTcwZjlkNWI2OTVmYjNkODdjMjJjYjIyMzcwNGYgMTAwNjQ0Cj4gLS0tIGEvZnMvdWJpZnMv c3VwZXIuYwo+ICsrKyBiL2ZzL3ViaWZzL3N1cGVyLmMKPiBAQCAtOTIsNyArOTIsNyBAQCBzdGF0 aWMgaW50IHZhbGlkYXRlX2lub2RlKHN0cnVjdCB1Ymlmc19pbmZvICpjLCBjb25zdCBzdHJ1Y3Qg aW5vZGUgKmlub2RlKQo+ICAgCQlyZXR1cm4gNTsKPiAgIAo+ICAgCWlmICghdWJpZnNfY29tcHJf cHJlc2VudChjLCB1aS0+Y29tcHJfdHlwZSkpIHsKPiAtCQl1Ymlmc193YXJuKGMsICJpbm9kZSAl bHUgdXNlcyAnJXMnIGNvbXByZXNzaW9uLCBidXQgaXQgd2FzIG5vdCBjb21waWxlZCBpbiIsCj4g KwkJdWJpZnNfd2FybihjLCAiaW5vZGUgJWxsdSB1c2VzICclcycgY29tcHJlc3Npb24sIGJ1dCBp dCB3YXMgbm90IGNvbXBpbGVkIGluIiwKPiAgIAkJCSAgIGlub2RlLT5pX2lubywgdWJpZnNfY29t cHJfbmFtZShjLCB1aS0+Y29tcHJfdHlwZSkpOwo+ICAgCX0KPiAgIAo+IEBAIC0yNDgsMTQgKzI0 OCwxNCBAQCBzdHJ1Y3QgaW5vZGUgKnViaWZzX2lnZXQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwg dW5zaWduZWQgbG9uZyBpbnVtKQo+ICAgCXJldHVybiBpbm9kZTsKPiAgIAo+ICAgb3V0X2ludmFs aWQ6Cj4gLQl1Ymlmc19lcnIoYywgImlub2RlICVsdSB2YWxpZGF0aW9uIGZhaWxlZCwgZXJyb3Ig JWQiLCBpbm9kZS0+aV9pbm8sIGVycik7Cj4gKwl1Ymlmc19lcnIoYywgImlub2RlICVsbHUgdmFs aWRhdGlvbiBmYWlsZWQsIGVycm9yICVkIiwgaW5vZGUtPmlfaW5vLCBlcnIpOwo+ICAgCXViaWZz X2R1bXBfbm9kZShjLCBpbm8sIFVCSUZTX01BWF9JTk9fTk9ERV9TWik7Cj4gICAJdWJpZnNfZHVt cF9pbm9kZShjLCBpbm9kZSk7Cj4gICAJZXJyID0gLUVJTlZBTDsKPiAgIG91dF9pbm86Cj4gICAJ a2ZyZWUoaW5vKTsKPiAgIG91dDoKPiAtCXViaWZzX2VycihjLCAiZmFpbGVkIHRvIHJlYWQgaW5v ZGUgJWx1LCBlcnJvciAlZCIsIGlub2RlLT5pX2lubywgZXJyKTsKPiArCXViaWZzX2VycihjLCAi ZmFpbGVkIHRvIHJlYWQgaW5vZGUgJWxsdSwgZXJyb3IgJWQiLCBpbm9kZS0+aV9pbm8sIGVycik7 Cj4gICAJaWdldF9mYWlsZWQoaW5vZGUpOwo+ICAgCXJldHVybiBFUlJfUFRSKGVycik7Cj4gICB9 Cj4gQEAgLTMxNiwxMiArMzE2LDEyIEBAIHN0YXRpYyBpbnQgdWJpZnNfd3JpdGVfaW5vZGUoc3Ry dWN0IGlub2RlICppbm9kZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCj4gICAJICog QXMgYW4gb3B0aW1pemF0aW9uLCBkbyBub3Qgd3JpdGUgb3JwaGFuIGlub2RlcyB0byB0aGUgbWVk aWEganVzdAo+ICAgCSAqIGJlY2F1c2UgdGhpcyBpcyBub3QgbmVlZGVkLgo+ICAgCSAqLwo+IC0J ZGJnX2dlbigiaW5vZGUgJWx1LCBtb2RlICUjeCwgbmxpbmsgJXUiLAo+ICsJZGJnX2dlbigiaW5v ZGUgJWxsdSwgbW9kZSAlI3gsIG5saW5rICV1IiwKPiAgIAkJaW5vZGUtPmlfaW5vLCAoaW50KWlu b2RlLT5pX21vZGUsIGlub2RlLT5pX25saW5rKTsKPiAgIAlpZiAoaW5vZGUtPmlfbmxpbmspIHsK PiAgIAkJZXJyID0gdWJpZnNfam5sX3dyaXRlX2lub2RlKGMsIGlub2RlKTsKPiAgIAkJaWYgKGVy cikKPiAtCQkJdWJpZnNfZXJyKGMsICJjYW4ndCB3cml0ZSBpbm9kZSAlbHUsIGVycm9yICVkIiwK PiArCQkJdWJpZnNfZXJyKGMsICJjYW4ndCB3cml0ZSBpbm9kZSAlbGx1LCBlcnJvciAlZCIsCj4g ICAJCQkJICBpbm9kZS0+aV9pbm8sIGVycik7Cj4gICAJCWVsc2UKPiAgIAkJCWVyciA9IGRiZ19j aGVja19pbm9kZV9zaXplKGMsIGlub2RlLCB1aS0+dWlfc2l6ZSk7Cj4gQEAgLTM1Nyw3ICszNTcs NyBAQCBzdGF0aWMgdm9pZCB1Ymlmc19ldmljdF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQo+ ICAgCQkgKi8KPiAgIAkJZ290byBvdXQ7Cj4gICAKPiAtCWRiZ19nZW4oImlub2RlICVsdSwgbW9k ZSAlI3giLCBpbm9kZS0+aV9pbm8sIChpbnQpaW5vZGUtPmlfbW9kZSk7Cj4gKwlkYmdfZ2VuKCJp bm9kZSAlbGx1LCBtb2RlICUjeCIsIGlub2RlLT5pX2lubywgKGludClpbm9kZS0+aV9tb2RlKTsK PiAgIAl1Ymlmc19hc3NlcnQoYywgIWljb3VudF9yZWFkKGlub2RlKSk7Cj4gICAKPiAgIAl0cnVu Y2F0ZV9pbm9kZV9wYWdlc19maW5hbCgmaW5vZGUtPmlfZGF0YSk7Cj4gQEAgLTM3NSw3ICszNzUs NyBAQCBzdGF0aWMgdm9pZCB1Ymlmc19ldmljdF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQo+ ICAgCQkgKiBXb3JzdCBjYXNlIHdlIGhhdmUgYSBsb3N0IG9ycGhhbiBpbm9kZSB3YXN0aW5nIHNw YWNlLCBzbyBhCj4gICAJCSAqIHNpbXBsZSBlcnJvciBtZXNzYWdlIGlzIE9LIGhlcmUuCj4gICAJ CSAqLwo+IC0JCXViaWZzX2VycihjLCAiY2FuJ3QgZGVsZXRlIGlub2RlICVsdSwgZXJyb3IgJWQi LAo+ICsJCXViaWZzX2VycihjLCAiY2FuJ3QgZGVsZXRlIGlub2RlICVsbHUsIGVycm9yICVkIiwK PiAgIAkJCSAgaW5vZGUtPmlfaW5vLCBlcnIpOwo+ICAgCj4gICBvdXQ6Cj4gQEAgLTM5OSw3ICsz OTksNyBAQCBzdGF0aWMgdm9pZCB1Ymlmc19kaXJ0eV9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBpbnQgZmxhZ3MpCj4gICAJdWJpZnNfYXNzZXJ0KGMsIG11dGV4X2lzX2xvY2tlZCgmdWktPnVp X211dGV4KSk7Cj4gICAJaWYgKCF1aS0+ZGlydHkpIHsKPiAgIAkJdWktPmRpcnR5ID0gMTsKPiAt CQlkYmdfZ2VuKCJpbm9kZSAlbHUiLCAgaW5vZGUtPmlfaW5vKTsKPiArCQlkYmdfZ2VuKCJpbm9k ZSAlbGx1IiwgIGlub2RlLT5pX2lubyk7Cj4gICAJfQo+ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBh L2ZzL3ViaWZzL3RuYy5jIGIvZnMvdWJpZnMvdG5jLmMKPiBpbmRleCA2OTRiMDhkMjdkN2Q5Yzdk OWQ3ZDkwMzlmNDA2NjM3YzcwMmY4NjEzLi41MmM3NThjNTI5MGQ4Y2M0MjVmZGM2ZDQ5YzYwOGQw Y2IwYmE3ZmY3IDEwMDY0NAo+IC0tLSBhL2ZzL3ViaWZzL3RuYy5jCj4gKysrIGIvZnMvdWJpZnMv dG5jLmMKPiBAQCAtMzU2MSw4ICszNTYxLDggQEAgaW50IGRiZ19jaGVja19pbm9kZV9zaXplKHN0 cnVjdCB1Ymlmc19pbmZvICpjLCBjb25zdCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAo+ICAgCj4gICBv dXRfZHVtcDoKPiAgIAlibG9jayA9IGtleV9ibG9jayhjLCBrZXkpOwo+IC0JdWJpZnNfZXJyKGMs ICJpbm9kZSAlbHUgaGFzIHNpemUgJWxsZCwgYnV0IHRoZXJlIGFyZSBkYXRhIGF0IG9mZnNldCAl bGxkIiwKPiAtCQkgICh1bnNpZ25lZCBsb25nKWlub2RlLT5pX2lubywgc2l6ZSwKPiArCXViaWZz X2VycihjLCAiaW5vZGUgJWxsdSBoYXMgc2l6ZSAlbGxkLCBidXQgdGhlcmUgYXJlIGRhdGEgYXQg b2Zmc2V0ICVsbGQiLAo+ICsJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpbm9kZS0+aV9pbm8sIHNp emUsCj4gICAJCSAgKChsb2ZmX3QpYmxvY2spIDw8IFVCSUZTX0JMT0NLX1NISUZUKTsKPiAgIAlt dXRleF91bmxvY2soJmMtPnRuY19tdXRleCk7Cj4gICAJdWJpZnNfZHVtcF9pbm9kZShjLCBpbm9k ZSk7Cj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL3hhdHRyLmMgYi9mcy91Ymlmcy94YXR0ci5jCj4g aW5kZXggYzIxYTBjMmIzZTkwN2MxNTcyNzgwZDRhM2U0OGNjOWQyYTExYjlkNi4uYjVhOWFiOWQ4 YTEwYWRjZjQ5ZTZkNzIyOGQzODVjYjk4NmU2ZTc1ZSAxMDA2NDQKPiAtLS0gYS9mcy91Ymlmcy94 YXR0ci5jCj4gKysrIGIvZnMvdWJpZnMveGF0dHIuYwo+IEBAIC03Niw3ICs3Niw3IEBAIHN0YXRp YyBpbnQgY3JlYXRlX3hhdHRyKHN0cnVjdCB1Ymlmc19pbmZvICpjLCBzdHJ1Y3QgaW5vZGUgKmhv c3QsCj4gICAJCQkJLmRpcnRpZWRfaW5vX2QgPSBBTElHTihob3N0X3VpLT5kYXRhX2xlbiwgOCkg fTsKPiAgIAo+ICAgCWlmIChob3N0X3VpLT54YXR0cl9jbnQgPj0gdWJpZnNfeGF0dHJfbWF4X2Nu dChjKSkgewo+IC0JCXViaWZzX2VycihjLCAiaW5vZGUgJWx1IGFscmVhZHkgaGFzIHRvbyBtYW55 IHhhdHRycyAoJWQpLCBjYW5ub3QgY3JlYXRlIG1vcmUiLAo+ICsJCXViaWZzX2VycihjLCAiaW5v ZGUgJWxsdSBhbHJlYWR5IGhhcyB0b28gbWFueSB4YXR0cnMgKCVkKSwgY2Fubm90IGNyZWF0ZSBt b3JlIiwKPiAgIAkJCSAgaG9zdC0+aV9pbm8sIGhvc3RfdWktPnhhdHRyX2NudCk7Cj4gICAJCXJl dHVybiAtRU5PU1BDOwo+ICAgCX0KPiBAQCAtODgsNyArODgsNyBAQCBzdGF0aWMgaW50IGNyZWF0 ZV94YXR0cihzdHJ1Y3QgdWJpZnNfaW5mbyAqYywgc3RydWN0IGlub2RlICpob3N0LAo+ICAgCSAq Lwo+ICAgCW5hbWVzX2xlbiA9IGhvc3RfdWktPnhhdHRyX25hbWVzICsgaG9zdF91aS0+eGF0dHJf Y250ICsgZm5hbWVfbGVuKG5tKSArIDE7Cj4gICAJaWYgKG5hbWVzX2xlbiA+IFhBVFRSX0xJU1Rf TUFYKSB7Cj4gLQkJdWJpZnNfZXJyKGMsICJjYW5ub3QgYWRkIG9uZSBtb3JlIHhhdHRyIG5hbWUg dG8gaW5vZGUgJWx1LCB0b3RhbCBuYW1lcyBsZW5ndGggd291bGQgYmVjb21lICVkLCBtYXguIGlz ICVkIiwKPiArCQl1Ymlmc19lcnIoYywgImNhbm5vdCBhZGQgb25lIG1vcmUgeGF0dHIgbmFtZSB0 byBpbm9kZSAlbGx1LCB0b3RhbCBuYW1lcyBsZW5ndGggd291bGQgYmVjb21lICVkLCBtYXguIGlz ICVkIiwKPiAgIAkJCSAgaG9zdC0+aV9pbm8sIG5hbWVzX2xlbiwgWEFUVFJfTElTVF9NQVgpOwo+ ICAgCQlyZXR1cm4gLUVOT1NQQzsKPiAgIAl9Cj4gQEAgLTM5MCw3ICszOTAsNyBAQCBzc2l6ZV90 IHViaWZzX2xpc3R4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNoYXIgKmJ1ZmZlciwgc2l6 ZV90IHNpemUpCj4gICAJaW50IGVyciwgbGVuLCB3cml0dGVuID0gMDsKPiAgIAlzdHJ1Y3QgZnNj cnlwdF9uYW1lIG5tID0gezB9Owo+ICAgCj4gLQlkYmdfZ2VuKCJpbm8gJWx1ICgnJXBkJyksIGJ1 ZmZlciBzaXplICV6ZCIsIGhvc3QtPmlfaW5vLAo+ICsJZGJnX2dlbigiaW5vICVsbHUgKCclcGQn KSwgYnVmZmVyIHNpemUgJXpkIiwgaG9zdC0+aV9pbm8sCj4gICAJCWRlbnRyeSwgc2l6ZSk7Cj4g ICAKPiAgIAlkb3duX3JlYWQoJmhvc3RfdWktPnhhdHRyX3NlbSk7Cj4gQEAgLTQ5OCw3ICs0OTgs NyBAQCBpbnQgdWJpZnNfcHVyZ2VfeGF0dHJzKHN0cnVjdCBpbm9kZSAqaG9zdCkKPiAgIAlpZiAo dWJpZnNfaW5vZGUoaG9zdCktPnhhdHRyX2NudCA8PSB1Ymlmc194YXR0cl9tYXhfY250KGMpKQo+ ICAgCQlyZXR1cm4gMDsKPiAgIAo+IC0JdWJpZnNfd2FybihjLCAiaW5vZGUgJWx1IGhhcyB0b28g bWFueSB4YXR0cnMsIGRvaW5nIGEgbm9uLWF0b21pYyBkZWxldGlvbiIsCj4gKwl1Ymlmc193YXJu KGMsICJpbm9kZSAlbGx1IGhhcyB0b28gbWFueSB4YXR0cnMsIGRvaW5nIGEgbm9uLWF0b21pYyBk ZWxldGlvbiIsCj4gICAJCSAgIGhvc3QtPmlfaW5vKTsKPiAgIAo+ICAgCWRvd25fd3JpdGUoJnVi aWZzX2lub2RlKGhvc3QpLT54YXR0cl9zZW0pOwo+IEBAIC02NDEsNyArNjQxLDcgQEAgaW50IHVi aWZzX2luaXRfc2VjdXJpdHkoc3RydWN0IGlub2RlICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5v ZGUsCj4gICAJCQkJCSAgICZpbml0X3hhdHRycywgTlVMTCk7Cj4gICAJaWYgKGVycikgewo+ICAg CQlzdHJ1Y3QgdWJpZnNfaW5mbyAqYyA9IGRlbnRyeS0+aV9zYi0+c19mc19pbmZvOwo+IC0JCXVi aWZzX2VycihjLCAiY2Fubm90IGluaXRpYWxpemUgc2VjdXJpdHkgZm9yIGlub2RlICVsdSwgZXJy b3IgJWQiLAo+ICsJCXViaWZzX2VycihjLCAiY2Fubm90IGluaXRpYWxpemUgc2VjdXJpdHkgZm9y IGlub2RlICVsbHUsIGVycm9yICVkIiwKPiAgIAkJCSAgaW5vZGUtPmlfaW5vLCBlcnIpOwo+ICAg CX0KPiAgIAlyZXR1cm4gZXJyOwo+IEBAIC02NTIsNyArNjUyLDcgQEAgc3RhdGljIGludCB4YXR0 cl9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCj4gICAJCQkgICBzdHJ1 Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4gICAJCQkgICBjb25zdCBj aGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQo+ICAgewo+IC0JZGJnX2dlbigi eGF0dHIgJyVzJywgaW5vICVsdSAoJyVwZCcpLCBidWYgc2l6ZSAlemQiLCBuYW1lLAo+ICsJZGJn X2dlbigieGF0dHIgJyVzJywgaW5vICVsbHUgKCclcGQnKSwgYnVmIHNpemUgJXpkIiwgbmFtZSwK PiAgIAkJaW5vZGUtPmlfaW5vLCBkZW50cnksIHNpemUpOwo+ICAgCj4gICAJbmFtZSA9IHhhdHRy X2Z1bGxfbmFtZShoYW5kbGVyLCBuYW1lKTsKPiBAQCAtNjY1LDcgKzY2NSw3IEBAIHN0YXRpYyBp bnQgeGF0dHJfc2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAo+ICAgCQkJ ICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9pZCAqdmFsdWUsCj4gICAJCQkgICBzaXplX3Qg c2l6ZSwgaW50IGZsYWdzKQo+ICAgewo+IC0JZGJnX2dlbigieGF0dHIgJyVzJywgaG9zdCBpbm8g JWx1ICgnJXBkJyksIHNpemUgJXpkIiwKPiArCWRiZ19nZW4oInhhdHRyICclcycsIGhvc3QgaW5v ICVsbHUgKCclcGQnKSwgc2l6ZSAlemQiLAo+ICAgCQluYW1lLCBpbm9kZS0+aV9pbm8sIGRlbnRy eSwgc2l6ZSk7Cj4gICAKPiAgIAluYW1lID0geGF0dHJfZnVsbF9uYW1lKGhhbmRsZXIsIG5hbWUp Owo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==