From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id 13555385AE52 for ; Mon, 11 Jul 2022 07:41:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 13555385AE52 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy01.your-server.de ([78.46.139.224]) by dedi548.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oAo2S-000CBs-BV; Mon, 11 Jul 2022 09:41:04 +0200 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy01.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oAo2S-0004hb-EW; Mon, 11 Jul 2022 09:41:04 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 173744801A1; Mon, 11 Jul 2022 09:41:04 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id cL5dqQpc5diW; Mon, 11 Jul 2022 09:41:02 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 6AA224801BF; Mon, 11 Jul 2022 09:41:02 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id OxHFRTXpx5Ic; Mon, 11 Jul 2022 09:41:02 +0200 (CEST) Received: from [10.10.171.6] (unknown [10.10.171.6]) by mail.embedded-brains.de (Postfix) with ESMTPSA id C89084801A1; Mon, 11 Jul 2022 09:41:01 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------hqob9UxwHRVD3iM5qCfb7fTZ" Message-ID: <3ac4531e-9b39-2389-fdf5-72506ce075c9@embedded-brains.de> Date: Mon, 11 Jul 2022 09:41:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: Fw: [PATCH 03/14] Add _REENT_ERRNO(ptr) Content-Language: en-US From: Sebastian Huber To: C Howland , newlib@sourceware.org References: <20220621124931.36450-1-sebastian.huber@embedded-brains.de> <20220621124931.36450-4-sebastian.huber@embedded-brains.de> In-Reply-To: X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.6/26597/Sun Jul 10 09:56:43 2022) X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2022 07:41:12 -0000 This is a multi-part message in MIME format. --------------hqob9UxwHRVD3iM5qCfb7fTZ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 23/06/2022 12:55, Sebastian Huber wrote: > On 21/06/2022 16:41, C Howland wrote: >>> >>> ------------------------------ >>> *From:* Newlib=C2=A0 on >>> behalf of Sebastian Huber >>> *Sent:* Tuesday, June 21, 2022 8:49 AM >>> *To:*newlib@sourceware.org=C2=A0 >>> *Subject:* [PATCH 03/14] Add _REENT_ERRNO(ptr) >>> >>> >>> >>> From: Matt Joyce >>> >>> Add a _REENT_ERRNO() macro to encapsulate the access to the >>> _errno member of struct reent. This will help to replace the >>> structure member with a thread-local storage object in a follow >>> up patch. >>> --- >>> >> There already exists an __errno_r() macro that does the very same=20 >> function >> (defined in sys/errno.h).=C2=A0 (Its use, however, is limited, only be= ing used >> in files under iconv/lib.)=C2=A0 Having the same thing done both ways = probably >> doesn't make sense.=C2=A0 The new name is more consistent with the res= t of the >> things being done, while the old name is established and errno is a mo= re >> specialized case.=C2=A0 It probably would be a good idea to either >> 1)=C2=A0 use __errno_r() instead of creating _REENT_ERRNO() or >> 2)=C2=A0 replace __errno_r() with _REENT_ERRNO() as part of adding the= latter. >=20 > I would not remove an existing macro, so option 1) would be preferred b= y=20 > me. Attached is a patch which implements option 1). --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ --------------hqob9UxwHRVD3iM5qCfb7fTZ Content-Type: text/x-patch; charset=UTF-8; name="0001-Use-__errno_r-ptr.patch" Content-Disposition: attachment; filename="0001-Use-__errno_r-ptr.patch" Content-Transfer-Encoding: base64 RnJvbSAyYTJjNjU0ZWIzNzA4MTkzMmE4ZTUwYTk5M2I5ODI5OGRlYWRkNDMzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0IEpveWNlIDxtYXR0aGV3LmpveWNlQGVtYmVk ZGVkLWJyYWlucy5kZT4KRGF0ZTogVHVlLCAxOCBKYW4gMjAyMiAxMDoxMzowNCArMDEwMApT dWJqZWN0OiBbUEFUQ0hdIFVzZSBfX2Vycm5vX3IocHRyKQoKVXNlIHRoZSBfX2Vycm5vX3Io KSBtYWNybyB0byBlbmNhcHN1bGF0ZSB0aGUgYWNjZXNzIHRvIHRoZSBfZXJybm8gbWVtYmVy IG9mCnN0cnVjdCByZWVudC4gIFRoaXMgd2lsbCBoZWxwIHRvIHJlcGxhY2UgdGhlIHN0cnVj dHVyZSBtZW1iZXIgd2l0aCBhCnRocmVhZC1sb2NhbCBzdG9yYWdlIG9iamVjdCBpbiBhIGZv bGxvdyB1cCBwYXRjaC4KCk1vdmUgZGVmaW5pdGlvbiBvZiBfX2Vycm5vX3IoKSB0byA8c3lz L3JlZW50Lmg+LgotLS0KIG5ld2xpYi9saWJjL2N0eXBlL3djdHJhbnMuYyAgICAgICAgICAg ICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL2N0eXBlL3djdHlwZS5jICAgICAgICAgICAgICAg IHwgIDIgKy0KIG5ld2xpYi9saWJjL2Vycm5vL2Vycm5vLmMgICAgICAgICAgICAgICAgIHwg IDIgKy0KIG5ld2xpYi9saWJjL2luY2x1ZGUvc3lzL2Vycm5vLmggICAgICAgICAgIHwgIDIg LS0KIG5ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3JlZW50LmggICAgICAgICAgIHwgIDIgKysK IG5ld2xpYi9saWJjL21hY2hpbmUvY3Jpcy9zeXMvZXJybm8uaCAgICAgIHwgIDIgLS0KIG5l d2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXgxNi5jIHwgMTAgKysrLS0tLQog bmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvc2ZpeDMyLmMgfCAxMCArKystLS0t CiBuZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9zZml4NjQuYyB8IDEwICsrKy0t LS0KIG5ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3VmaXgxNi5jIHwgMTAgKysr LS0tLQogbmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvdWZpeDMyLmMgfCAxMCAr KystLS0tCiBuZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4NjQuYyB8IDEw ICsrKy0tLS0KIG5ld2xpYi9saWJjL21hY2hpbmUvc3B1L3N0ZGlvLmMgICAgICAgICAgIHwg IDIgKy0KIG5ld2xpYi9saWJjL21hY2hpbmUvc3B1L3N5cy9lcnJuby5oICAgICAgIHwgIDIg Ky0KIG5ld2xpYi9saWJjL3JlZW50L2Nsb3Nlci5jICAgICAgICAgICAgICAgIHwgIDIgKy0K IG5ld2xpYi9saWJjL3JlZW50L2V4ZWNyLmMgICAgICAgICAgICAgICAgIHwgIDYgKystLQog bmV3bGliL2xpYmMvcmVlbnQvZmNudGxyLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3 bGliL2xpYmMvcmVlbnQvZnN0YXQ2NHIuYyAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGli L2xpYmMvcmVlbnQvZnN0YXRyLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xp YmMvcmVlbnQvZ2V0dGltZW9mZGF5ci5jICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMv cmVlbnQvaXNhdHR5ci5jICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVl bnQvbGlua3IuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQv bHNlZWs2NHIuYyAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvbHNl ZWtyLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvbWtkaXJy LmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvb3BlbjY0ci5j ICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvb3BlbnIuYyAgICAg ICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvcmVhZHIuYyAgICAgICAg ICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvcmVuYW1lci5jICAgICAgICAg ICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvc2Jya3IuYyAgICAgICAgICAgICAg ICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvc2lnbmFsci5jICAgICAgICAgICAgICAg fCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvc3RhdDY0ci5jICAgICAgICAgICAgICAgfCAg MiArLQogbmV3bGliL2xpYmMvcmVlbnQvc3RhdHIuYyAgICAgICAgICAgICAgICAgfCAgMiAr LQogbmV3bGliL2xpYmMvcmVlbnQvdW5saW5rci5jICAgICAgICAgICAgICAgfCAgMiArLQog bmV3bGliL2xpYmMvcmVlbnQvd3JpdGVyLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3 bGliL2xpYmMvc2lnbmFsL3NpZ25hbC5jICAgICAgICAgICAgICAgfCAgNiArKy0tCiBuZXds aWIvbGliYy9zdGRpby9hc25pcHJpbnRmLmMgICAgICAgICAgICB8ICA0ICstLQogbmV3bGli L2xpYmMvc3RkaW8vYXNucHJpbnRmLmMgICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9s aWJjL3N0ZGlvL2Zkb3Blbi5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJj L3N0ZGlvL2ZmbHVzaC5jICAgICAgICAgICAgICAgIHwgMTggKysrKysrLS0tLS0tCiBuZXds aWIvbGliYy9zdGRpby9maWxlbm8uYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIv bGliYy9zdGRpby9maWxlbm9fdS5jICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGli Yy9zdGRpby9maW5kZnAuYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9z dGRpby9mbGFncy5jICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRp by9mbWVtb3Blbi5jICAgICAgICAgICAgICB8IDE0ICsrKysrLS0tLS0KIG5ld2xpYi9saWJj L3N0ZGlvL2ZvcGVuY29va2llLmMgICAgICAgICAgIHwgMTQgKysrKystLS0tLQogbmV3bGli L2xpYmMvc3RkaW8vZnB1cmdlLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xp YmMvc3RkaW8vZnJlb3Blbi5jICAgICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJj L3N0ZGlvL2ZzZWVrby5jICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBuZXdsaWIvbGliYy9z dGRpby9mdGVsbC5jICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRp by9mdGVsbG8uYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRpby9m dW5vcGVuLmMgICAgICAgICAgICAgICB8IDE2ICsrKysrLS0tLS0tCiBuZXdsaWIvbGliYy9z dGRpby9mdndyaXRlLmMgICAgICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3Rk aW8vbWt0ZW1wLmMgICAgICAgICAgICAgICAgfCAxNCArKysrKy0tLS0tCiBuZXdsaWIvbGli Yy9zdGRpby9uYW5vLXZmcHJpbnRmLmMgICAgICAgICB8IDEwICsrKy0tLS0KIG5ld2xpYi9s aWJjL3N0ZGlvL29wZW5fbWVtc3RyZWFtLmMgICAgICAgIHwgMTQgKysrKystLS0tLQogbmV3 bGliL2xpYmMvc3RkaW8vcGVycm9yLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGli L2xpYmMvc3RkaW8vcmVmaWxsLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xp YmMvc3RkaW8vc25pcHJpbnRmLmMgICAgICAgICAgICAgfCAgOCArKystLS0KIG5ld2xpYi9s aWJjL3N0ZGlvL3NucHJpbnRmLmMgICAgICAgICAgICAgIHwgIDggKysrLS0tCiBuZXdsaWIv bGliYy9zdGRpby9zd3ByaW50Zi5jICAgICAgICAgICAgICB8ICA4ICsrKy0tLQogbmV3bGli L2xpYmMvc3RkaW8vdG1wZmlsZS5jICAgICAgICAgICAgICAgfCAgNiArKy0tCiBuZXdsaWIv bGliYy9zdGRpby90bXBuYW0uYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGli Yy9zdGRpby92YXNuaXByaW50Zi5jICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9z dGRpby92YXNucHJpbnRmLmMgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRp by92ZnByaW50Zi5jICAgICAgICAgICAgICB8IDEyICsrKystLS0tCiBuZXdsaWIvbGliYy9z dGRpby92ZnNjYW5mLmMgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRp by92ZndwcmludGYuYyAgICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkaW8v dmZ3c2NhbmYuYyAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkaW8vdnNu aXByaW50Zi5jICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL3N0ZGlvL3ZzbnBy aW50Zi5jICAgICAgICAgICAgIHwgIDQgKy0tCiBuZXdsaWIvbGliYy9zdGRpby92c3dwcmlu dGYuYyAgICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkaW8vd3NldHVwLmMg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkaW82NC9mZG9wZW42NC5j ICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkaW82NC9mcmVvcGVuNjQuYyAg ICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL3N0ZGlvNjQvZnNlZWtvNjQuYyAgICAg ICAgICAgIHwgIDYgKystLQogbmV3bGliL2xpYmMvc3RkaW82NC9mdGVsbG82NC5jICAgICAg ICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkaW82NC90bXBmaWxlNjQuYyAgICAgICAg ICAgfCAgNiArKy0tCiBuZXdsaWIvbGliYy9zdGRsaWIvX19hZGp1c3QuYyAgICAgICAgICAg ICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkbGliL21icnRvd2MuYyAgICAgICAgICAgICAg fCAgNCArLS0KIG5ld2xpYi9saWJjL3N0ZGxpYi9tYnNucnRvd2NzLmMgICAgICAgICAgIHwg IDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi9tYnRvd2Nfci5jICAgICAgICAgICAgIHwgMzQg KysrKysrKysrKystLS0tLS0tLS0tLS0KIG5ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2QuYyAg ICAgICAgICAgICAgIHwgMTAgKysrLS0tLQogbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvaW1h eC5jICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2wuYyAg ICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2xsLmMgICAg ICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsLmMgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsbC5jICAgICAgICAg ICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VtYXguYyAgICAgICAgICAg IHwgIDQgKy0tCiBuZXdsaWIvbGliYy9zdGRsaWIvd2NydG9tYi5jICAgICAgICAgICAgICB8 ICA0ICstLQogbmV3bGliL2xpYmMvc3RkbGliL3djc25ydG9tYnMuYyAgICAgICAgICAgfCAg MiArLQogbmV3bGliL2xpYmMvc3RkbGliL3djc3RvZC5jICAgICAgICAgICAgICAgfCAgNCAr LS0KIG5ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2ltYXguYyAgICAgICAgICAgIHwgIDQgKy0t CiBuZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sLmMgICAgICAgICAgICAgICB8ICAyICstCiBu ZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sbC5jICAgICAgICAgICAgICB8ICAyICstCiBuZXds aWIvbGliYy9zdGRsaWIvd2NzdG91bC5jICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIv bGliYy9zdGRsaWIvd2NzdG91bGwuYyAgICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xp YmMvc3RkbGliL3djc3RvdW1heC5jICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJj L3N0ZGxpYi93Y3RvbWJfci5jICAgICAgICAgICAgIHwgMTggKysrKysrLS0tLS0tCiBuZXds aWIvbGliYy9zdHJpbmcvc3RyZXJyb3IuYyAgICAgICAgICAgICB8ICAyICstCiB3aW5zdXAv Y3lnd2luL2N5Z2Vycm5vLmggICAgICAgICAgICAgICAgICB8ICA0ICstLQogd2luc3VwL2N5 Z3dpbi9lcnJuby5jYyAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIHdpbnN1cC9jeWd3 aW4vc3RyZnVuY3MuY2MgICAgICAgICAgICAgICAgIHwgMTIgKysrKy0tLS0KIHdpbnN1cC9j eWd3aW4vc3lzY2FsbHMuY2MgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiAxMDQgZmlsZXMg Y2hhbmdlZCwgMjQ5IGluc2VydGlvbnMoKyksIDI1MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9uZXdsaWIvbGliYy9jdHlwZS93Y3RyYW5zLmMgYi9uZXdsaWIvbGliYy9jdHlwZS93 Y3RyYW5zLmMKaW5kZXggNGE1OGRmMTUyLi4xYWE0ZTI2YmYgMTAwNjQ0Ci0tLSBhL25ld2xp Yi9saWJjL2N0eXBlL3djdHJhbnMuYworKysgYi9uZXdsaWIvbGliYy9jdHlwZS93Y3RyYW5z LmMKQEAgLTg0LDcgKzg0LDcgQEAgX3djdHJhbnNfciAoc3RydWN0IF9yZWVudCAqciwKICAg ICByZXR1cm4gV0NUX1RPVVBQRVI7CiAgIGVsc2UKICAgICB7Ci0gICAgICByLT5fZXJybm8g PSBFSU5WQUw7CisgICAgICBfX2Vycm5vX3IocikgPSBFSU5WQUw7CiAgICAgICByZXR1cm4g MDsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9jdHlwZS93Y3R5cGUuYyBi L25ld2xpYi9saWJjL2N0eXBlL3djdHlwZS5jCmluZGV4IDVmMmFlN2EyNS4uMzhhODZmZjVh IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9jdHlwZS93Y3R5cGUuYworKysgYi9uZXdsaWIv bGliYy9jdHlwZS93Y3R5cGUuYwpAQCAtMTI4LDcgKzEyOCw3IEBAIF93Y3R5cGVfciAoc3Ry dWN0IF9yZWVudCAqciwKICAgICB9CiAKICAgLyogb3RoZXJ3aXNlIGludmFsaWQgKi8KLSAg ci0+X2Vycm5vID0gRUlOVkFMOworICBfX2Vycm5vX3IocikgPSBFSU5WQUw7CiAgIHJldHVy biAwOwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9lcnJuby9lcnJuby5jIGIvbmV3 bGliL2xpYmMvZXJybm8vZXJybm8uYwppbmRleCBmZDE3NDNkNzMuLmRhMjRmODgzZCAxMDA2 NDQKLS0tIGEvbmV3bGliL2xpYmMvZXJybm8vZXJybm8uYworKysgYi9uZXdsaWIvbGliYy9l cnJuby9lcnJuby5jCkBAIC0xMCw3ICsxMCw3IEBACiBpbnQgKgogX19lcnJubyAoKQogewot ICByZXR1cm4gJl9SRUVOVC0+X2Vycm5vOworICByZXR1cm4gJl9fZXJybm9fcihfUkVFTlQp OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL2Vy cm5vLmggYi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9lcnJuby5oCmluZGV4IDAyNWI0NjFk NC4uOGM5MzEzOWIzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9lcnJu by5oCisrKyBiL25ld2xpYi9saWJjL2luY2x1ZGUvc3lzL2Vycm5vLmgKQEAgLTI2LDggKzI2 LDYgQEAgZXh0ZXJuIF9fSU1QT1JUIGNoYXIgKnByb2dyYW1faW52b2NhdGlvbl9uYW1lOwog ZXh0ZXJuIF9fSU1QT1JUIGNoYXIgKnByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lOwog I2VuZGlmCiAKLSNkZWZpbmUgX19lcnJub19yKHB0cikgKChwdHIpLT5fZXJybm8pCi0KICNk ZWZpbmUJRVBFUk0gMQkJLyogTm90IG93bmVyICovCiAjZGVmaW5lCUVOT0VOVCAyCS8qIE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgKi8KICNkZWZpbmUJRVNSQ0ggMwkJLyogTm8gc3Vj aCBwcm9jZXNzICovCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9yZWVu dC5oIGIvbmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvcmVlbnQuaAppbmRleCAyYjBmZjQ2Yjcu LmFjNTkzMzg0MiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvcmVlbnQu aAorKysgYi9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9yZWVudC5oCkBAIC03MTgsNiArNzE4 LDggQEAgc3RydWN0IF9yZWVudAogCiAjZW5kaWYgLyogIV9SRUVOVF9TTUFMTCAqLwogCisj ZGVmaW5lIF9fZXJybm9fcihfcHRyKQkJKChfcHRyKS0+X2Vycm5vKQorCiAjZGVmaW5lIF9S RUVOVF9FTUVSR0VOQ1koX3B0cikJKChfcHRyKS0+X2VtZXJnZW5jeSkKIAogI2RlZmluZSBf UkVFTlRfSU5JVF9QVFIodmFyKSBcCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9tYWNoaW5l L2NyaXMvc3lzL2Vycm5vLmggYi9uZXdsaWIvbGliYy9tYWNoaW5lL2NyaXMvc3lzL2Vycm5v LmgKaW5kZXggM2Q1NzMwMTVkLi5mMjU5ZGY4MmQgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJj L21hY2hpbmUvY3Jpcy9zeXMvZXJybm8uaAorKysgYi9uZXdsaWIvbGliYy9tYWNoaW5lL2Ny aXMvc3lzL2Vycm5vLmgKQEAgLTI0LDggKzI0LDYgQEAgZXh0ZXJuIGludCAqX19lcnJubyAo dm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IF9zeXNfZXJybGlzdFtdOwogZXh0 ZXJuIGludCBfc3lzX25lcnI7CiAKLSNkZWZpbmUgX19lcnJub19yKHB0cikgKChwdHIpLT5f ZXJybm8pCi0KIC8qIEFkanVzdGVkIHRvIHRoZSBsaW51eCBhc20vZXJybm8uaCAqLwogI2Rl ZmluZQlFUEVSTQkJIDEJLyogT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQgKi8KICNkZWZpbmUJ RU5PRU5UCQkgMgkvKiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5ICovCmRpZmYgLS1naXQg YS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9zZml4MTYuYyBiL25ld2xpYi9s aWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXgxNi5jCmluZGV4IDNmYmE0NTQwOS4uZTE1 ZThkNTU4IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9z Zml4MTYuYworKysgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9zZml4MTYu YwpAQCAtMTA4LDEwICsxMDgsMTAgQEAgX3N0cnRvc2ZpeDE2X3IgKHN0cnVjdCBfcmVlbnQg KnJwdHIsCiAgICAgewogICAgICAgaWYgKGlzbmFuIChkYmwuZCkpCiAJewotCSAgcnB0ci0+ X2Vycm5vID0gRURPTTsKKwkgIF9fZXJybm9fcihycHRyKSA9IEVET007CiAJICByZXR1cm4g MDsKIAl9Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5vX3Io cnB0cikgPSBFUkFOR0U7CiAgICAgICBpZiAod29yZDAoZGJsKSAmIFNpZ25fYml0KQogCXJl dHVybiBTSFJUX01JTjsKICAgICAgIHJldHVybiBTSFJUX01BWDsKQEAgLTEyMCwxMiArMTIw LDEyIEBAIF9zdHJ0b3NmaXgxNl9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAvKiBjaGVj ayBmb3Igbm9ybWFsIHNhdHVyYXRpb24gKi8KICAgaWYgKGRibC5kID49IDEuMCkKICAgICB7 Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5vX3IocnB0cikg PSBFUkFOR0U7CiAgICAgICByZXR1cm4gU0hSVF9NQVg7CiAgICAgfQogICBlbHNlIGlmIChk YmwuZCA8IC0xLjApCiAgICAgewotICAgICAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOworICAg ICAgX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogICAgICAgcmV0dXJuIFNIUlRfTUlOOwog ICAgIH0KIApAQCAtMTUyLDcgKzE1Miw3IEBAIF9zdHJ0b3NmaXgxNl9yIChzdHJ1Y3QgX3Jl ZW50ICpycHRyLAogICAgICAgLyogY2hlY2sgaWYgcG9zaXRpdmUgc2F0dXJhdGlvbiBoYXMg b2NjdXJyZWQgYmVjYXVzZSBvZiByb3VuZGluZyAqLwogICAgICAgaWYgKCFzaWduICYmIHJl c3VsdCA8IDApCiAJewotCSAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCSAgX19lcnJub19y KHJwdHIpID0gRVJBTkdFOwogCSAgcmV0dXJuIFNIUlRfTUFYOwogCX0KICAgICB9CmRpZmYg LS1naXQgYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9zZml4MzIuYyBiL25l d2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXgzMi5jCmluZGV4IGIyMWRlOWVh MS4uYmViMTYwODYwIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMv c3RydG9zZml4MzIuYworKysgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9z Zml4MzIuYwpAQCAtMjksMTAgKzI5LDEwIEBAIF9zdHJ0b3NmaXgzMl9yIChzdHJ1Y3QgX3Jl ZW50ICpycHRyLAogICAgIHsKICAgICAgIGlmIChpc25hbiAoZGJsLmQpKQogCXsKLQkgIHJw dHItPl9lcnJubyA9IEVET007CisJICBfX2Vycm5vX3IocnB0cikgPSBFRE9NOwogCSAgcmV0 dXJuIDA7CiAJfQotICAgICAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOworICAgICAgX19lcnJu b19yKHJwdHIpID0gRVJBTkdFOwogICAgICAgaWYgKHdvcmQwKGRibCkgJiBTaWduX2JpdCkK IAlyZXR1cm4gTE9OR19NSU47CiAgICAgICByZXR1cm4gTE9OR19NQVg7CkBAIC00MSwxMiAr NDEsMTIgQEAgX3N0cnRvc2ZpeDMyX3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgIC8qIGNo ZWNrIGZvciBub3JtYWwgc2F0dXJhdGlvbiAqLwogICBpZiAoZGJsLmQgPj0gMS4wKQogICAg IHsKLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9fZXJybm9fcihycHRy KSA9IEVSQU5HRTsKICAgICAgIHJldHVybiBMT05HX01BWDsKICAgICB9CiAgIGVsc2UgaWYg KGRibC5kIDwgLTEuMCkKICAgICB7Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7Cisg ICAgICBfX2Vycm5vX3IocnB0cikgPSBFUkFOR0U7CiAgICAgICByZXR1cm4gTE9OR19NSU47 CiAgICAgfQogCkBAIC03NSw3ICs3NSw3IEBAIF9zdHJ0b3NmaXgzMl9yIChzdHJ1Y3QgX3Jl ZW50ICpycHRyLAogICAgICAgLyogY2hlY2sgaWYgcG9zaXRpdmUgc2F0dXJhdGlvbiBoYXMg b2NjdXJyZWQgYmVjYXVzZSBvZiByb3VuZGluZyAqLwogICAgICAgaWYgKCFzaWduICYmIHJl c3VsdCA8IDApCiAJewotCSAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCSAgX19lcnJub19y KHJwdHIpID0gRVJBTkdFOwogCSAgcmV0dXJuIExPTkdfTUFYOwogCX0KICAgICB9CmRpZmYg LS1naXQgYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9zZml4NjQuYyBiL25l d2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXg2NC5jCmluZGV4IDE2MDMyMTI4 Zi4uZDJmMWY3YmE5IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMv c3RydG9zZml4NjQuYworKysgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9z Zml4NjQuYwpAQCAtMzIsMTAgKzMyLDEwIEBAIF9zdHJ0b3NmaXg2NF9yIChzdHJ1Y3QgX3Jl ZW50ICpycHRyLAogICAgIHsKICAgICAgIGlmIChsZF90eXBlID09IDEpCiAJewotCSAgcnB0 ci0+X2Vycm5vID0gRURPTTsKKwkgIF9fZXJybm9fcihycHRyKSA9IEVET007CiAJICByZXR1 cm4gMDsKIAl9Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5v X3IocnB0cikgPSBFUkFOR0U7CiAgICAgICBpZiAod29yZDAobGRibCkgJiBTaWduX2JpdCkK IAlyZXR1cm4gTE9OR19MT05HX01JTjsKICAgICAgIHJldHVybiBMT05HX0xPTkdfTUFYOwpA QCAtNjMsNyArNjMsNyBAQCBfc3RydG9zZml4NjRfciAoc3RydWN0IF9yZWVudCAqcnB0ciwK ICAgICB7CiAgICAgICBpZiAoZXhwID4gMCB8fCAoZXhwID09IDAgJiYgdG1wICE9IDB4ODAw MDAwMDAwMDAwMDAwMExMKSkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJICBf X2Vycm5vX3IocnB0cikgPSBFUkFOR0U7CiAJICByZXR1cm4gTE9OR19MT05HX01JTjsKIAl9 CiAgICAgfQpAQCAtNzEsNyArNzEsNyBAQCBfc3RydG9zZml4NjRfciAoc3RydWN0IF9yZWVu dCAqcnB0ciwKICAgICB7CiAgICAgICBpZiAoZXhwID49IDApCiAJewotCSAgcnB0ci0+X2Vy cm5vID0gRVJBTkdFOworCSAgX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogCSAgcmV0dXJu IExPTkdfTE9OR19NQVg7CiAJfQogICAgIH0KQEAgLTg4LDcgKzg4LDcgQEAgX3N0cnRvc2Zp eDY0X3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgICAvKiBjaGVjayBpZiBwb3NpdGl2 ZSBzYXR1cmF0aW9uIGhhcyBvY2N1cnJlZCBiZWNhdXNlIG9mIHJvdW5kaW5nICovCiAgICAg ICBpZiAoIXNpZ24gJiYgcmVzdWx0IDwgMCkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFUkFO R0U7CisJICBfX2Vycm5vX3IocnB0cikgPSBFUkFOR0U7CiAJICByZXR1cm4gTE9OR19MT05H X01BWDsKIAl9CiAgICAgfQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvbWFjaGluZS9wb3dl cnBjL3N0cnRvdWZpeDE2LmMgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91 Zml4MTYuYwppbmRleCA5YjE2MjY4YmIuLjRjNjZhM2ZiNCAxMDA2NDQKLS0tIGEvbmV3bGli L2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvdWZpeDE2LmMKKysrIGIvbmV3bGliL2xpYmMv bWFjaGluZS9wb3dlcnBjL3N0cnRvdWZpeDE2LmMKQEAgLTEwNiwxMCArMTA2LDEwIEBAIF9z dHJ0b3VmaXgxNl9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgIHsKICAgICAgIGlmIChp c25hbiAoZGJsLmQpKQogCXsKLQkgIHJwdHItPl9lcnJubyA9IEVET007CisJICBfX2Vycm5v X3IocnB0cikgPSBFRE9NOwogCSAgcmV0dXJuIDA7CiAJfQotICAgICAgcnB0ci0+X2Vycm5v ID0gRVJBTkdFOworICAgICAgX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogICAgICAgaWYg KHdvcmQwKGRibCkgJiBTaWduX2JpdCkKIAlyZXR1cm4gMDsKICAgICAgIHJldHVybiBVU0hS VF9NQVg7CkBAIC0xMTgsMTIgKzExOCwxMiBAQCBfc3RydG91Zml4MTZfciAoc3RydWN0IF9y ZWVudCAqcnB0ciwKICAgLyogY2hlY2sgZm9yIG5vcm1hbCBzYXR1cmF0aW9uICovCiAgIGlm IChkYmwuZCA+PSAxLjApCiAgICAgewotICAgICAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOwor ICAgICAgX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogICAgICAgcmV0dXJuIFVTSFJUX01B WDsKICAgICB9CiAgIGVsc2UgaWYgKGRibC5kIDwgMCkKICAgICB7Ci0gICAgICBycHRyLT5f ZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5vX3IocnB0cikgPSBFUkFOR0U7CiAgICAg ICByZXR1cm4gMDsKICAgICB9CiAKQEAgLTE0Nyw3ICsxNDcsNyBAQCBfc3RydG91Zml4MTZf ciAoc3RydWN0IF9yZWVudCAqcnB0ciwKICAgICAgIGlmIChuZWdleHAgPT0gMCkKIAl7CiAJ ICAvKiB3ZSBoYXZlIG92ZXJmbG93IHdoaWNoIG1lYW5zIHNhdHVyYXRpb24gKi8KLQkgIHJw dHItPl9lcnJubyA9IEVSQU5HRTsKKwkgIF9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKIAkg IHJldHVybiBVU0hSVF9NQVg7CiAJfQogICAgICAgcmVzdWx0IHw9ICgxIDw8ICgxNiAtIG5l Z2V4cCkpOwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRv dWZpeDMyLmMgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4MzIuYwpp bmRleCA3ZDAzZjhjOWIuLjAyYmFkMjlmNSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvbWFj aGluZS9wb3dlcnBjL3N0cnRvdWZpeDMyLmMKKysrIGIvbmV3bGliL2xpYmMvbWFjaGluZS9w b3dlcnBjL3N0cnRvdWZpeDMyLmMKQEAgLTI4LDEwICsyOCwxMCBAQCBfc3RydG91Zml4MzJf ciAoc3RydWN0IF9yZWVudCAqcnB0ciwKICAgICB7CiAgICAgICBpZiAoaXNuYW4gKGRibC5k KSkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFRE9NOworCSAgX19lcnJub19yKHJwdHIpID0g RURPTTsKIAkgIHJldHVybiAwOwogCX0KLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsK KyAgICAgIF9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKICAgICAgIGlmICh3b3JkMChkYmwp ICYgU2lnbl9iaXQpCiAJcmV0dXJuIDA7CiAgICAgICByZXR1cm4gVUxPTkdfTUFYOwpAQCAt NDAsMTIgKzQwLDEyIEBAIF9zdHJ0b3VmaXgzMl9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAog ICAvKiBjaGVjayBmb3Igbm9ybWFsIHNhdHVyYXRpb24gKi8KICAgaWYgKGRibC5kID49IDEu MCkKICAgICB7Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5v X3IocnB0cikgPSBFUkFOR0U7CiAgICAgICByZXR1cm4gVUxPTkdfTUFYOwogICAgIH0KICAg ZWxzZSBpZiAoZGJsLmQgPCAwKQogICAgIHsKLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5H RTsKKyAgICAgIF9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKICAgICAgIHJldHVybiAwOwog ICAgIH0KIApAQCAtNzcsNyArNzcsNyBAQCBfc3RydG91Zml4MzJfciAoc3RydWN0IF9yZWVu dCAqcnB0ciwKICAgICAgIC8qIGlmIHJvdW5kaW5nIGNhdXNlcyBjYXJyeSwgdGhlbiBzYXR1 cmF0aW9uIGhhcyBvY2N1cnJlZCAqLwogICAgICAgaWYgKHJlc3VsdCA8IHRtcCkKIAl7Ci0J ICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJICBfX2Vycm5vX3IocnB0cikgPSBFUkFOR0U7 CiAJICByZXR1cm4gVUxPTkdfTUFYOwogCX0KICAgICB9CmRpZmYgLS1naXQgYS9uZXdsaWIv bGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4NjQuYyBiL25ld2xpYi9saWJjL21hY2hp bmUvcG93ZXJwYy9zdHJ0b3VmaXg2NC5jCmluZGV4IGEyZjA0ODRiMy4uOGFkZmVmYTk5IDEw MDY0NAotLS0gYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4NjQuYwor KysgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4NjQuYwpAQCAtMzEs MTAgKzMxLDEwIEBAIF9zdHJ0b3VmaXg2NF9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAg IHsKICAgICAgIGlmIChsZF90eXBlID09IDEpCiAJewotCSAgcnB0ci0+X2Vycm5vID0gRURP TTsKKwkgIF9fZXJybm9fcihycHRyKSA9IEVET007CiAJICByZXR1cm4gMDsKIAl9Ci0gICAg ICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5vX3IocnB0cikgPSBFUkFO R0U7CiAgICAgICBpZiAod29yZDAobGRibCkgJiBTaWduX2JpdCkKIAlyZXR1cm4gMDsKICAg ICAgIHJldHVybiBVTE9OR19MT05HX01BWDsKQEAgLTYwLDE0ICs2MCwxNCBAQCBfc3RydG91 Zml4NjRfciAoc3RydWN0IF9yZWVudCAqcnB0ciwKICAgLyogY2hlY2sgZm9yIHNhdHVyYXRp b24gKi8KICAgaWYgKHNpZ24pCiAgICAgewotICAgICAgcnB0ci0+X2Vycm5vID0gRVJBTkdF OworICAgICAgX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogICAgICAgcmV0dXJuIDA7CiAg ICAgfQogICBlbHNlCiAgICAgewogICAgICAgaWYgKGV4cCA+IDAgfHwgKGV4cCA9PSAwICYm IHRtcCA+PSAweDgwMDAwMDAwMDAwMDAwMDBMTCkpCiAJewotCSAgcnB0ci0+X2Vycm5vID0g RVJBTkdFOworCSAgX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogCSAgcmV0dXJuIFVMT05H X0xPTkdfTUFYOwogCX0KICAgICB9CkBAIC04OSw3ICs4OSw3IEBAIF9zdHJ0b3VmaXg2NF9y IChzdHJ1Y3QgX3JlZW50ICpycHRyLAogCSAgLyogaWYgcm91bmRpbmcgY2F1c2VzIGNhcnJ5 LCB0aGVuIHNhdHVyYXRpb24gaGFzIG9jY3VycmVkICovCiAJICBpZiAocmVzdWx0IDwgdG1w KQogCSAgICB7Ci0JICAgICAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCSAgICAgIF9fZXJy bm9fcihycHRyKSA9IEVSQU5HRTsKIAkgICAgICByZXR1cm4gVUxPTkdfTE9OR19NQVg7CiAJ ICAgIH0KIAl9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9tYWNoaW5lL3NwdS9zdGRpby5j IGIvbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3RkaW8uYwppbmRleCA4N2U0YzQwNmQuLjgy NWZhMmQ1NCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3RkaW8uYwor KysgYi9uZXdsaWIvbGliYy9tYWNoaW5lL3NwdS9zdGRpby5jCkBAIC00Nyw3ICs0Nyw3IEBA IF9fc2ZwIChzdHJ1Y3QgX3JlZW50ICpkKQogICAgICAgcmV0dXJuICZfX2ZwW2ldOwogICAg IH0KICAgfQotICBkLT5fZXJybm8gPSBFTUZJTEU7CisgIF9fZXJybm9fcihkKSA9IEVNRklM RTsKICAgcmV0dXJuIE5VTEw7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL21hY2hp bmUvc3B1L3N5cy9lcnJuby5oIGIvbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3lzL2Vycm5v LmgKaW5kZXggYjAwOGZmNmY0Li43NTRjZjgxOTggMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJj L21hY2hpbmUvc3B1L3N5cy9lcnJuby5oCisrKyBiL25ld2xpYi9saWJjL21hY2hpbmUvc3B1 L3N5cy9lcnJuby5oCkBAIC0zNCw3ICszNCw3IEBAIGV4dGVybiAiQyIgewogZXh0ZXJuIGNv bnN0IGNoYXIgKiBjb25zdCBfc3lzX2Vycmxpc3RbXTsKIGV4dGVybiBpbnQgX3N5c19uZXJy OwogCi0jZGVmaW5lIF9fZXJybm9fcihwdHIpICgocHRyKS0+X2Vycm5vKQorI2RlZmluZSBf X2Vycm5vX3IocHRyKSBfX2Vycm5vX3IocHRyKQogCiAvKiBBZGp1c3RlZCB0byB0aGUgbGlu dXggYXNtL2Vycm5vLmggKi8KICNkZWZpbmUJRVBFUk0JCSAxCS8qIE9wZXJhdGlvbiBub3Qg cGVybWl0dGVkICovCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9jbG9zZXIuYyBi L25ld2xpYi9saWJjL3JlZW50L2Nsb3Nlci5jCmluZGV4IGRlYjM0YjAwMi4uMWFjOTU1ODQ0 IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9jbG9zZXIuYworKysgYi9uZXdsaWIv bGliYy9yZWVudC9jbG9zZXIuYwpAQCAtNDUsNyArNDUsNyBAQCBfY2xvc2VfciAocHRyLCBm ZCkKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gX2Nsb3NlIChmZCkpID09IC0xICYm IGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfX2Vycm5vX3Io cHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIv bGliYy9yZWVudC9leGVjci5jIGIvbmV3bGliL2xpYmMvcmVlbnQvZXhlY3IuYwppbmRleCA1 OWI2MTIyM2UuLjhjM2MxMjNmYSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvcmVlbnQvZXhl Y3IuYworKysgYi9uZXdsaWIvbGliYy9yZWVudC9leGVjci5jCkBAIC01NCw3ICs1NCw3IEBA IF9leGVjdmVfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYg KChyZXQgPSBfZXhlY3ZlIChuYW1lLCBhcmd2LCBlbnYpKSA9PSAtMSAmJiBlcnJubyAhPSAw KQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikgPSBlcnJu bzsKICAgcmV0dXJuIHJldDsKIH0KIApAQCAtODYsNyArODYsNyBAQCBfZm9ya19yIChzdHJ1 Y3QgX3JlZW50ICpwdHIpCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IF9mb3JrICgp KSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAg X19lcnJub19yKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApAQCAtMTE4LDcg KzExOCw3IEBAIF93YWl0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJubyA9IDA7 CiAgIGlmICgocmV0ID0gX3dhaXQgKHN0YXR1cykpID09IC0xICYmIGVycm5vICE9IDApCi0g ICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfX2Vycm5vX3IocHRyKSA9IGVycm5vOwog ICByZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9mY250 bHIuYyBiL25ld2xpYi9saWJjL3JlZW50L2ZjbnRsci5jCmluZGV4IGNkMTlkMjI2Zi4uZTRh MWJiNjdmIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9mY250bHIuYworKysgYi9u ZXdsaWIvbGliYy9yZWVudC9mY250bHIuYwpAQCAtNDksNyArNDksNyBAQCBfZmNudGxfciAo c3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfZmNu dGwgKGZkLCBjbWQsIGFyZykpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJy bm8gPSBlcnJubzsKKyAgICBfX2Vycm5vX3IocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0 OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9mc3RhdDY0ci5jIGIvbmV3 bGliL2xpYmMvcmVlbnQvZnN0YXQ2NHIuYwppbmRleCBjNTQ2ZjVjMWQuLmUxNDgxNGZkZSAx MDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvcmVlbnQvZnN0YXQ2NHIuYworKysgYi9uZXdsaWIv bGliYy9yZWVudC9mc3RhdDY0ci5jCkBAIC01NSw3ICs1NSw3IEBAIF9mc3RhdDY0X3IgKHN0 cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gX2ZzdGF0 NjQgKGZkLCBwc3RhdCkpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8g PSBlcnJubzsKKyAgICBfX2Vycm5vX3IocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0Owog fQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9mc3RhdHIuYyBiL25ld2xpYi9s aWJjL3JlZW50L2ZzdGF0ci5jCmluZGV4IGVjOTA2Yzk4ZC4uNjAyNmE2Mzc3IDEwMDY0NAot LS0gYS9uZXdsaWIvbGliYy9yZWVudC9mc3RhdHIuYworKysgYi9uZXdsaWIvbGliYy9yZWVu dC9mc3RhdHIuYwpAQCAtNTMsNyArNTMsNyBAQCBfZnN0YXRfciAocHRyLCBmZCwgcHN0YXQp CiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IF9mc3RhdCAoZmQsIHBzdGF0KSkgPT0g LTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJy bm9fcihwdHIpID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25l d2xpYi9saWJjL3JlZW50L2dldHRpbWVvZmRheXIuYyBiL25ld2xpYi9saWJjL3JlZW50L2dl dHRpbWVvZmRheXIuYwppbmRleCA5Yjk4MmE5OTMuLjkxYzJhMzdjNiAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvcmVlbnQvZ2V0dGltZW9mZGF5ci5jCisrKyBiL25ld2xpYi9saWJjL3Jl ZW50L2dldHRpbWVvZmRheXIuYwpAQCAtNjAsNyArNjAsNyBAQCBfZ2V0dGltZW9mZGF5X3Ig KHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gX2dl dHRpbWVvZmRheSAocHRpbWV2YWwsIHB0aW1lem9uZSkpID09IC0xICYmIGVycm5vICE9IDAp Ci0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfX2Vycm5vX3IocHRyKSA9IGVycm5v OwogICByZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9p c2F0dHlyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9pc2F0dHlyLmMKaW5kZXggZjIxYmYyNWIy Li4wMWRmOGRlODUgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L2lzYXR0eXIuYwor KysgYi9uZXdsaWIvbGliYy9yZWVudC9pc2F0dHlyLmMKQEAgLTUwLDcgKzUwLDcgQEAgX2lz YXR0eV9yIChwdHIsIGZkKQogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfaXNhdHR5 IChmZCkpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsK KyAgICBfX2Vycm5vX3IocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0OwogfQogCmRpZmYg LS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9saW5rci5jIGIvbmV3bGliL2xpYmMvcmVlbnQv bGlua3IuYwppbmRleCBiMjJkYTVmOTQuLjM5ZWIxN2JhMCAxMDA2NDQKLS0tIGEvbmV3bGli L2xpYmMvcmVlbnQvbGlua3IuYworKysgYi9uZXdsaWIvbGliYy9yZWVudC9saW5rci5jCkBA IC01MSw3ICs1MSw3IEBAIF9saW5rX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJu byA9IDA7CiAgIGlmICgocmV0ID0gX2xpbmsgKG9sZCwgbmV3KSkgPT0gLTEgJiYgZXJybm8g IT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIpID0g ZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3Jl ZW50L2xzZWVrNjRyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9sc2VlazY0ci5jCmluZGV4IDQw NzY5ZmI2ZC4uZDNmZTAyYmJjIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9sc2Vl azY0ci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L2xzZWVrNjRyLmMKQEAgLTUwLDcgKzUw LDcgQEAgX2xzZWVrNjRfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsK ICAgaWYgKChyZXQgPSBfbHNlZWs2NCAoZmQsIHBvcywgd2hlbmNlKSkgPT0gKF9vZmY2NF90 KSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19l cnJub19yKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEv bmV3bGliL2xpYmMvcmVlbnQvbHNlZWtyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9sc2Vla3Iu YwppbmRleCBhYzJkYWFhYjkuLjE0MmYwMjhlNyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMv cmVlbnQvbHNlZWtyLmMKKysrIGIvbmV3bGliL2xpYmMvcmVlbnQvbHNlZWtyLmMKQEAgLTQ3 LDcgKzQ3LDcgQEAgX2xzZWVrX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJubyA9 IDA7CiAgIGlmICgocmV0ID0gX2xzZWVrIChmZCwgcG9zLCB3aGVuY2UpKSA9PSAoX29mZl90 KSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19l cnJub19yKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEv bmV3bGliL2xpYmMvcmVlbnQvbWtkaXJyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9ta2RpcnIu YwppbmRleCBmZDcyZGY2NGMuLjA1NGZhODc5NyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMv cmVlbnQvbWtkaXJyLmMKKysrIGIvbmV3bGliL2xpYmMvcmVlbnQvbWtkaXJyLmMKQEAgLTQ4 LDcgKzQ4LDcgQEAgX21rZGlyX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJubyA9 IDA7CiAgIGlmICgocmV0ID0gX21rZGlyIChwYXRoLCBtb2RlKSkgPT0gLTEgJiYgZXJybm8g IT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIpID0g ZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3Jl ZW50L29wZW42NHIuYyBiL25ld2xpYi9saWJjL3JlZW50L29wZW42NHIuYwppbmRleCA4NGJk NjdlMzQuLjBjMDJhZjE4NyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvcmVlbnQvb3BlbjY0 ci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L29wZW42NHIuYwpAQCAtNTIsNyArNTIsNyBA QCBfb3BlbjY0X3IgKHB0ciwgZmlsZSwgZmxhZ3MsIG1vZGUpCiAKICAgZXJybm8gPSAwOwog ICBpZiAoKHJldCA9IF9vcGVuNjQgKGZpbGUsIGZsYWdzLCBtb2RlKSkgPT0gLTEgJiYgZXJy bm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIp ID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3JlZW50L29wZW5yLmMgYi9uZXdsaWIvbGliYy9yZWVudC9vcGVuci5jCmluZGV4IGM2YTdk YjVkZS4uZDIyODk0Y2QzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9vcGVuci5j CisrKyBiL25ld2xpYi9saWJjL3JlZW50L29wZW5yLmMKQEAgLTQ4LDcgKzQ4LDcgQEAgX29w ZW5fciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQg PSBfb3BlbiAoZmlsZSwgZmxhZ3MsIG1vZGUpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAg IHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikgPSBlcnJubzsKICAg cmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvcmVhZHIu YyBiL25ld2xpYi9saWJjL3JlZW50L3JlYWRyLmMKaW5kZXggN2ZjY2VmZDMyLi5hMDZkMDUz N2EgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L3JlYWRyLmMKKysrIGIvbmV3bGli L2xpYmMvcmVlbnQvcmVhZHIuYwpAQCAtNDcsNyArNDcsNyBAQCBfcmVhZF9yIChzdHJ1Y3Qg X3JlZW50ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IChfc3NpemVfdClf cmVhZCAoZmQsIGJ1ZiwgY250KSkgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHItPl9l cnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIpID0gZXJybm87CiAgIHJldHVybiBy ZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L3JlbmFtZXIuYyBiL25l d2xpYi9saWJjL3JlZW50L3JlbmFtZXIuYwppbmRleCA1NDIwZGM0YTAuLjE0Y2MyZWI1YiAx MDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvcmVlbnQvcmVuYW1lci5jCisrKyBiL25ld2xpYi9s aWJjL3JlZW50L3JlbmFtZXIuYwpAQCAtNDksNyArNDksNyBAQCBfcmVuYW1lX3IgKHN0cnVj dCBfcmVlbnQgKnB0ciwKICNpZmRlZiBIQVZFX1JFTkFNRQogICBlcnJubyA9IDA7CiAgIGlm ICgocmV0ID0gX3JlbmFtZSAob2xkLCBuZXcpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAg IHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikgPSBlcnJubzsKICNl bHNlCiAgIGlmIChfbGlua19yIChwdHIsIG9sZCwgbmV3KSA9PSAtMSkKICAgICByZXR1cm4g LTE7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9zYnJrci5jIGIvbmV3bGliL2xp YmMvcmVlbnQvc2Jya3IuYwppbmRleCAyMWM0YmQ5MTMuLjdiNTEyZTJlMiAxMDA2NDQKLS0t IGEvbmV3bGliL2xpYmMvcmVlbnQvc2Jya3IuYworKysgYi9uZXdsaWIvbGliYy9yZWVudC9z YnJrci5jCkBAIC00OSw3ICs0OSw3IEBAIF9zYnJrX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwK IAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gKGNoYXIgKikoX3NicmsgKGluY3IpKSkg PT0gKHZvaWQgKikgLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5v OworICAgIF9fZXJybm9fcihwdHIpID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L3NpZ25hbHIuYyBiL25ld2xpYi9saWJjL3Jl ZW50L3NpZ25hbHIuYwppbmRleCAzNDU5MTBlNGIuLjBlNTdiNWQzMSAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvcmVlbnQvc2lnbmFsci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L3Np Z25hbHIuYwpAQCAtNTEsNyArNTEsNyBAQCBfa2lsbF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IF9raWxsIChwaWQsIHNpZykpID09IC0x ICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfX2Vycm5v X3IocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXds aWIvbGliYy9yZWVudC9zdGF0NjRyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9zdGF0NjRyLmMK aW5kZXggYjY0NzM2ZWYyLi5hZjczOTBkYjAgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3Jl ZW50L3N0YXQ2NHIuYworKysgYi9uZXdsaWIvbGliYy9yZWVudC9zdGF0NjRyLmMKQEAgLTUz LDcgKzUzLDcgQEAgX3N0YXQ2NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgZXJybm8g PSAwOwogICBpZiAoKHJldCA9IF9zdGF0NjQgKGZpbGUsIHBzdGF0KSkgPT0gLTEgJiYgZXJy bm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIp ID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3JlZW50L3N0YXRyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9zdGF0ci5jCmluZGV4IDkzODhl MDI0Ni4uZWZiMTE2OWMxIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9zdGF0ci5j CisrKyBiL25ld2xpYi9saWJjL3JlZW50L3N0YXRyLmMKQEAgLTUzLDcgKzUzLDcgQEAgX3N0 YXRfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQg PSBfc3RhdCAoZmlsZSwgcHN0YXQpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+ X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikgPSBlcnJubzsKICAgcmV0dXJu IHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvdW5saW5rci5jIGIv bmV3bGliL2xpYmMvcmVlbnQvdW5saW5rci5jCmluZGV4IDQxYmFjMDE5NC4uZDBmNjhlNThi IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC91bmxpbmtyLmMKKysrIGIvbmV3bGli L2xpYmMvcmVlbnQvdW5saW5rci5jCkBAIC00NSw3ICs0NSw3IEBAIF91bmxpbmtfciAoc3Ry dWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfdW5saW5r IChmaWxlKSkgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5v OworICAgIF9fZXJybm9fcihwdHIpID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L3dyaXRlci5jIGIvbmV3bGliL2xpYmMvcmVl bnQvd3JpdGVyLmMKaW5kZXggNzA0YWJhMThiLi5mMDg1MjFlZTEgMTAwNjQ0Ci0tLSBhL25l d2xpYi9saWJjL3JlZW50L3dyaXRlci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L3dyaXRl ci5jCkBAIC00Nyw3ICs0Nyw3IEBAIF93cml0ZV9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAK ICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IChfc3NpemVfdClfd3JpdGUgKGZkLCBidWYs IGNudCkpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsK KyAgICBfX2Vycm5vX3IocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0OwogfQogCmRpZmYg LS1naXQgYS9uZXdsaWIvbGliYy9zaWduYWwvc2lnbmFsLmMgYi9uZXdsaWIvbGliYy9zaWdu YWwvc2lnbmFsLmMKaW5kZXggMDExMDI4N2Q4Li5mYTQ3NzlkNWEgMTAwNjQ0Ci0tLSBhL25l d2xpYi9saWJjL3NpZ25hbC9zaWduYWwuYworKysgYi9uZXdsaWIvbGliYy9zaWduYWwvc2ln bmFsLmMKQEAgLTExNSw3ICsxMTUsNyBAQCBfc2lnbmFsX3IgKHN0cnVjdCBfcmVlbnQgKnB0 ciwKIAogICBpZiAoc2lnIDwgMCB8fCBzaWcgPj0gTlNJRykKICAgICB7Ci0gICAgICBwdHIt Pl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRUlOVkFMOwogICAg ICAgcmV0dXJuIFNJR19FUlI7CiAgICAgfQogCkBAIC0xMzYsNyArMTM2LDcgQEAgX3JhaXNl X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBpZiAoc2lnIDwgMCB8fCBzaWcgPj0gTlNJ RykKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9fZXJybm9f cihwdHIpID0gRUlOVkFMOwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMTUxLDcg KzE1MSw3IEBAIF9yYWlzZV9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgcmV0dXJuIDA7 CiAgIGVsc2UgaWYgKGZ1bmMgPT0gU0lHX0VSUikKICAgICB7Ci0gICAgICBwdHItPl9lcnJu byA9IEVJTlZBTDsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRUlOVkFMOwogICAgICAgcmV0 dXJuIDE7CiAgICAgfQogICBlbHNlCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby9h c25pcHJpbnRmLmMgYi9uZXdsaWIvbGliYy9zdGRpby9hc25pcHJpbnRmLmMKaW5kZXggMGJm ZTAwZDliLi4xN2UyMzJkMTAgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2Fzbmlw cmludGYuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9hc25pcHJpbnRmLmMKQEAgLTQyLDcg KzQyLDcgQEAgX2FzbmlwcmludGZfciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgICBmb3Ig X3NpemUuICAqLwogICBpZiAobGVuID4gSU5UX01BWCkKICAgICB7Ci0gICAgICBwdHItPl9l cnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwog ICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICBmLl9iZi5fc2l6ZSA9IGYuX3cgPSBsZW47 CkBAIC04OCw3ICs4OCw3IEBAIGFzbmlwcmludGYgKGNoYXIgKmJ1ZiwKICAgICAgZm9yIF9z aXplLiAgKi8KICAgaWYgKGxlbiA+IElOVF9NQVgpCiAgICAgewotICAgICAgcHRyLT5fZXJy bm8gPSBFT1ZFUkZMT1c7CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVPVkVSRkxPVzsKICAg ICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgZi5fYmYuX3NpemUgPSBmLl93ID0gbGVuOwpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vYXNucHJpbnRmLmMgYi9uZXdsaWIvbGli Yy9zdGRpby9hc25wcmludGYuYwppbmRleCBmNjU3ZjllYzkuLjIzOTdjZTQwZSAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vYXNucHJpbnRmLmMKKysrIGIvbmV3bGliL2xpYmMv c3RkaW8vYXNucHJpbnRmLmMKQEAgLTQyLDcgKzQyLDcgQEAgX2FzbnByaW50Zl9yIChzdHJ1 Y3QgX3JlZW50ICpfX3Jlc3RyaWN0IHB0ciwKICAgICAgZm9yIF9zaXplLiAgKi8KICAgaWYg KGxlbiA+IElOVF9NQVgpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7 CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVPVkVSRkxPVzsKICAgICAgIHJldHVybiBOVUxM OwogICAgIH0KICAgZi5fYmYuX3NpemUgPSBmLl93ID0gbGVuOwpAQCAtOTQsNyArOTQsNyBA QCBhc25wcmludGYgKGNoYXIgKl9fcmVzdHJpY3QgYnVmLAogICAgICBmb3IgX3NpemUuICAq LwogICBpZiAobGVuID4gSU5UX01BWCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVP VkVSRkxPVzsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwogICAgICAgcmV0 dXJuIE5VTEw7CiAgICAgfQogICBmLl9iZi5fc2l6ZSA9IGYuX3cgPSBsZW47CmRpZmYgLS1n aXQgYS9uZXdsaWIvbGliYy9zdGRpby9mZG9wZW4uYyBiL25ld2xpYi9saWJjL3N0ZGlvL2Zk b3Blbi5jCmluZGV4IGVmOTQyYzI4NC4uNTJjMGNjMmJjIDEwMDY0NAotLS0gYS9uZXdsaWIv bGliYy9zdGRpby9mZG9wZW4uYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9mZG9wZW4uYwpA QCAtNzMsNyArNzMsNyBAQCBfZmRvcGVuX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgZmRt b2RlID0gZmRmbGFncyAmIE9fQUNDTU9ERTsKICAgaWYgKGZkbW9kZSAhPSBPX1JEV1IgJiYg KGZkbW9kZSAhPSAob2ZsYWdzICYgT19BQ0NNT0RFKSkpCiAgICAgewotICAgICAgcHRyLT5f ZXJybm8gPSBFQkFERjsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRUJBREY7CiAgICAgICBy ZXR1cm4gMDsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlv L2ZmbHVzaC5jIGIvbmV3bGliL2xpYmMvc3RkaW8vZmZsdXNoLmMKaW5kZXggYmJlYzRhMTli Li4xNzBhZDRjZDggMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2ZmbHVzaC5jCisr KyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZmbHVzaC5jCkBAIC0xMzcsOCArMTM3LDggQEAgX19z Zmx1c2hfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCSAgLyogU2F2ZSBsYXN0IGVycm5vIGFu ZCBzZXQgZXJybm8gdG8gMCwgc28gd2UgY2FuIGNoZWNrIGlmIGEgZGV2aWNlCiAJICAgICBy ZXR1cm5zIHdpdGggYSB2YWxpZCBwb3NpdGlvbiAtMS4gIFdlIHJlc3RvcmUgdGhlIGxhc3Qg ZXJybm8gaWYKIAkgICAgIG5vIG90aGVyIGVycm9yIGNvbmRpdGlvbiBoYXMgYmVlbiBlbmNv dW50ZXJlZC4gKi8KLQkgIHRtcF9lcnJubyA9IHB0ci0+X2Vycm5vOwotCSAgcHRyLT5fZXJy bm8gPSAwOworCSAgdG1wX2Vycm5vID0gX19lcnJub19yKHB0cik7CisJICBfX2Vycm5vX3Io cHRyKSA9IDA7CiAJICAvKiBHZXQgdGhlIHBoeXNpY2FsIHBvc2l0aW9uIHdlIGFyZSBhdCBp biB0aGUgZmlsZS4gICovCiAJICBpZiAoZnAtPl9mbGFncyAmIF9fU09GRikKIAkgICAgY3Vy b2ZmID0gZnAtPl9vZmZzZXQ7CkBAIC0xNTIsMTMgKzE1MiwxMyBAQCBfX3NmbHVzaF9yIChz dHJ1Y3QgX3JlZW50ICpwdHIsCiAJICAgICAgZWxzZQogI2VuZGlmCiAJCWN1cm9mZiA9IGZw LT5fc2VlayAocHRyLCBmcC0+X2Nvb2tpZSwgMCwgU0VFS19DVVIpOwotCSAgICAgIGlmIChj dXJvZmYgPT0gLTFMICYmIHB0ci0+X2Vycm5vICE9IDApCisJICAgICAgaWYgKGN1cm9mZiA9 PSAtMUwgJiYgX19lcnJub19yKHB0cikgIT0gMCkKIAkJewogCQkgIGludCByZXN1bHQgPSBF T0Y7Ci0JCSAgaWYgKHB0ci0+X2Vycm5vID09IEVTUElQRSB8fCBwdHItPl9lcnJubyA9PSBF SU5WQUwpCisJCSAgaWYgKF9fZXJybm9fcihwdHIpID09IEVTUElQRSB8fCBfX2Vycm5vX3Io cHRyKSA9PSBFSU5WQUwpCiAJCSAgICB7CiAJCSAgICAgIHJlc3VsdCA9IDA7Ci0JCSAgICAg IHB0ci0+X2Vycm5vID0gdG1wX2Vycm5vOworCQkgICAgICBfX2Vycm5vX3IocHRyKSA9IHRt cF9lcnJubzsKIAkJICAgIH0KIAkJICBlbHNlCiAJCSAgICBmcC0+X2ZsYWdzIHw9IF9fU0VS UjsKQEAgLTE4MCw4ICsxODAsOCBAQCBfX3NmbHVzaF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAJICBlbHNlCiAjZW5kaWYKIAkgICAgY3Vyb2ZmID0gZnAtPl9zZWVrIChwdHIsIGZwLT5f Y29va2llLCBjdXJvZmYsIFNFRUtfU0VUKTsKLQkgIGlmIChjdXJvZmYgIT0gLTEgfHwgcHRy LT5fZXJybm8gPT0gMAotCSAgICAgIHx8IHB0ci0+X2Vycm5vID09IEVTUElQRSB8fCBwdHIt Pl9lcnJubyA9PSBFSU5WQUwpCisJICBpZiAoY3Vyb2ZmICE9IC0xIHx8IF9fZXJybm9fcihw dHIpID09IDAKKwkgICAgICB8fCBfX2Vycm5vX3IocHRyKSA9PSBFU1BJUEUgfHwgX19lcnJu b19yKHB0cikgPT0gRUlOVkFMKQogCSAgICB7CiAJICAgICAgLyogU2VlayBzdWNjZXNzZnVs IG9yIGlnbm9yYWJsZSBlcnJvciBjb25kaXRpb24uCiAJCSBXZSBjYW4gY2xlYXIgcmVhZCBi dWZmZXIgbm93LiAgKi8KQEAgLTE5MCw5ICsxOTAsOSBAQCBfX3NmbHVzaF9yIChzdHJ1Y3Qg X3JlZW50ICpwdHIsCiAjZW5kaWYKIAkgICAgICBmcC0+X3IgPSAwOwogCSAgICAgIGZwLT5f cCA9IGZwLT5fYmYuX2Jhc2U7Ci0JICAgICAgaWYgKChmcC0+X2ZsYWdzICYgX19TT0ZGKSAm JiAoY3Vyb2ZmICE9IC0xIHx8IHB0ci0+X2Vycm5vID09IDApKQorCSAgICAgIGlmICgoZnAt Pl9mbGFncyAmIF9fU09GRikgJiYgKGN1cm9mZiAhPSAtMSB8fCBfX2Vycm5vX3IocHRyKSA9 PSAwKSkKIAkJZnAtPl9vZmZzZXQgPSBjdXJvZmY7Ci0JICAgICAgcHRyLT5fZXJybm8gPSB0 bXBfZXJybm87CisJICAgICAgX19lcnJub19yKHB0cikgPSB0bXBfZXJybm87CiAJICAgICAg aWYgKEhBU1VCIChmcCkpCiAJCUZSRUVVQiAocHRyLCBmcCk7CiAJICAgIH0KZGlmZiAtLWdp dCBhL25ld2xpYi9saWJjL3N0ZGlvL2ZpbGVuby5jIGIvbmV3bGliL2xpYmMvc3RkaW8vZmls ZW5vLmMKaW5kZXggMTBmYzZlMjgzLi5iZGIzYTA1MGMgMTAwNjQ0Ci0tLSBhL25ld2xpYi9s aWJjL3N0ZGlvL2ZpbGVuby5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZpbGVuby5jCkBA IC03Myw3ICs3Myw3IEBAIGZpbGVubyAoRklMRSAqIGYpCiAgIGVsc2UKICAgICB7CiAgICAg ICByZXN1bHQgPSAtMTsKLSAgICAgIF9SRUVOVC0+X2Vycm5vID0gRUJBREY7CisgICAgICBf X2Vycm5vX3IoX1JFRU5UKSA9IEVCQURGOwogICAgIH0KICAgX25ld2xpYl9mbG9ja2ZpbGVf ZW5kIChmKTsKICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0 ZGlvL2ZpbGVub191LmMgYi9uZXdsaWIvbGliYy9zdGRpby9maWxlbm9fdS5jCmluZGV4IDgz MGEwN2QyYi4uZDM4MzdkZGVmIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9maWxl bm9fdS5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZpbGVub191LmMKQEAgLTM5LDcgKzM5 LDcgQEAgZmlsZW5vX3VubG9ja2VkIChGSUxFICogZikKICAgZWxzZQogICAgIHsKICAgICAg IHJlc3VsdCA9IC0xOwotICAgICAgX1JFRU5ULT5fZXJybm8gPSBFQkFERjsKKyAgICAgIF9f ZXJybm9fcihfUkVFTlQpID0gRUJBREY7CiAgICAgfQogICByZXR1cm4gcmVzdWx0OwogfQpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vZmluZGZwLmMgYi9uZXdsaWIvbGliYy9z dGRpby9maW5kZnAuYwppbmRleCBlZTk5MWVkMjQuLjdkY2UzYmE4OSAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvc3RkaW8vZmluZGZwLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vZmlu ZGZwLmMKQEAgLTE3OSw3ICsxNzksNyBAQCBfX3NmcCAoc3RydWN0IF9yZWVudCAqZCkKIAli cmVhazsKICAgICB9CiAgIF9uZXdsaWJfc2ZwX2xvY2tfZXhpdCAoKTsKLSAgZC0+X2Vycm5v ID0gRU5PTUVNOworICBfX2Vycm5vX3IoZCkgPSBFTk9NRU07CiAgIHJldHVybiBOVUxMOwog CiBmb3VuZDoKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL2ZsYWdzLmMgYi9uZXds aWIvbGliYy9zdGRpby9mbGFncy5jCmluZGV4IDdiYmQ1MDE4MS4uNmMyZmNmNDAxIDEwMDY0 NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9mbGFncy5jCisrKyBiL25ld2xpYi9saWJjL3N0 ZGlvL2ZsYWdzLmMKQEAgLTU2LDcgKzU2LDcgQEAgX19zZmxhZ3MgKHN0cnVjdCBfcmVlbnQg KnB0ciwKICAgICAgIG8gPSBPX0NSRUFUIHwgT19BUFBFTkQ7CiAgICAgICBicmVhazsKICAg ICBkZWZhdWx0OgkJCS8qIGlsbGVnYWwgbW9kZSAqLwotICAgICAgcHRyLT5fZXJybm8gPSBF SU5WQUw7CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVJTlZBTDsKICAgICAgIHJldHVybiAo MCk7CiAgICAgfQogICB3aGlsZSAoKisrbW9kZSkKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3N0ZGlvL2ZtZW1vcGVuLmMgYi9uZXdsaWIvbGliYy9zdGRpby9mbWVtb3Blbi5jCmluZGV4 IDBkMDQzNTIwZS4uYThlNDQxYjAwIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9m bWVtb3Blbi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZtZW1vcGVuLmMKQEAgLTE0OCw3 ICsxNDgsNyBAQCBmbWVtd3JpdGVyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgbWVtY3B5 IChjLT5idWYgKyBjLT5wb3MgLSBuLCBidWYsIG4gLSBhZGp1c3QpOwogICBlbHNlCiAgICAg ewotICAgICAgcHRyLT5fZXJybm8gPSBFTk9TUEM7CisgICAgICBfX2Vycm5vX3IocHRyKSA9 IEVOT1NQQzsKICAgICAgIHJldHVybiBFT0Y7CiAgICAgfQogICByZXR1cm4gbjsKQEAgLTE3 NSwxOCArMTc1LDE4IEBAIGZtZW1zZWVrZXIgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICBv ZmZzZXQgKz0gYy0+ZW9mOwogICBpZiAob2Zmc2V0IDwgMCkKICAgICB7Ci0gICAgICBwdHIt Pl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRUlOVkFMOwogICAg ICAgb2Zmc2V0ID0gLTE7CiAgICAgfQogICBlbHNlIGlmIChvZmZzZXQgPiBjLT5tYXgpCiAg ICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFTk9TUEM7CisgICAgICBfX2Vycm5vX3IocHRy KSA9IEVOT1NQQzsKICAgICAgIG9mZnNldCA9IC0xOwogICAgIH0KICNpZmRlZiBfX0xBUkdF NjRfRklMRVMKICAgZWxzZSBpZiAoKF9mcG9zX3QpIG9mZnNldCAhPSBvZmZzZXQpCiAgICAg ewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfX2Vycm5vX3IocHRy KSA9IEVPVkVSRkxPVzsKICAgICAgIG9mZnNldCA9IC0xOwogICAgIH0KICNlbmRpZiAvKiBf X0xBUkdFNjRfRklMRVMgKi8KQEAgLTIyNCwxMiArMjI0LDEyIEBAIGZtZW1zZWVrZXI2NCAo c3RydWN0IF9yZWVudCAqcHRyLAogICAgIG9mZnNldCArPSBjLT5lb2Y7CiAgIGlmIChvZmZz ZXQgPCAwKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAgICAgX19l cnJub19yKHB0cikgPSBFSU5WQUw7CiAgICAgICBvZmZzZXQgPSAtMTsKICAgICB9CiAgIGVs c2UgaWYgKG9mZnNldCA+IGMtPm1heCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVO T1NQQzsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRU5PU1BDOwogICAgICAgb2Zmc2V0ID0g LTE7CiAgICAgfQogICBlbHNlCkBAIC0yNzcsNyArMjc3LDcgQEAgX2ZtZW1vcGVuX3IgKHN0 cnVjdCBfcmVlbnQgKnB0ciwKICAgICByZXR1cm4gTlVMTDsKICAgaWYgKCFzaXplIHx8ICEo YnVmIHx8IGZsYWdzICYgX19TUlcpKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlO VkFMOworICAgICAgX19lcnJub19yKHB0cikgPSBFSU5WQUw7CiAgICAgICByZXR1cm4gTlVM TDsKICAgICB9CiAgIGlmICgoZnAgPSBfX3NmcCAocHRyKSkgPT0gTlVMTCkKZGlmZiAtLWdp dCBhL25ld2xpYi9saWJjL3N0ZGlvL2ZvcGVuY29va2llLmMgYi9uZXdsaWIvbGliYy9zdGRp by9mb3BlbmNvb2tpZS5jCmluZGV4IDA4NjE1MjhlMC4uNTc2NDMwYjdmIDEwMDY0NAotLS0g YS9uZXdsaWIvbGliYy9zdGRpby9mb3BlbmNvb2tpZS5jCisrKyBiL25ld2xpYi9saWJjL3N0 ZGlvL2ZvcGVuY29va2llLmMKQEAgLTEwNyw3ICsxMDcsNyBAQCBmY3JlYWRlciAoc3RydWN0 IF9yZWVudCAqcHRyLAogICBmY2Nvb2tpZSAqYyA9IChmY2Nvb2tpZSAqKSBjb29raWU7CiAg IGVycm5vID0gMDsKICAgaWYgKChyZXN1bHQgPSBjLT5yZWFkZm4gKGMtPmNvb2tpZSwgYnVm LCBuKSkgPCAwICYmIGVycm5vKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19l cnJub19yKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI5LDcg KzEyOSw3IEBAIGZjd3JpdGVyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgfQogICBlcnJu byA9IDA7CiAgIGlmICgocmVzdWx0ID0gYy0+d3JpdGVmbiAoYy0+Y29va2llLCBidWYsIG4p KSA8IDAgJiYgZXJybm8pCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfX2Vycm5v X3IocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDgsMTEgKzE0 OCwxMSBAQCBmY3NlZWtlciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsK ICAgaWYgKGMtPnNlZWtmbiAoYy0+Y29va2llLCAmb2Zmc2V0LCB3aGVuY2UpIDwgMCAmJiBl cnJubykKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIpID0g ZXJybm87CiAjaWZkZWYgX19MQVJHRTY0X0ZJTEVTCiAgIGVsc2UgaWYgKChfZnBvc190KW9m ZnNldCAhPSBvZmZzZXQpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7 CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVPVkVSRkxPVzsKICAgICAgIG9mZnNldCA9IC0x OwogICAgIH0KICNlbmRpZiAvKiBfX0xBUkdFNjRfRklMRVMgKi8KQEAgLTE3MCw3ICsxNzAs NyBAQCBmY3NlZWtlcjY0IChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGZjY29va2llICpjID0g KGZjY29va2llICopIGNvb2tpZTsKICAgZXJybm8gPSAwOwogICBpZiAoYy0+c2Vla2ZuIChj LT5jb29raWUsICZvZmZzZXQsIHdoZW5jZSkgPCAwICYmIGVycm5vKQotICAgIHB0ci0+X2Vy cm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIChf ZnBvczY0X3QpIG9mZnNldDsKIH0KICNlbmRpZiAvKiBfX0xBUkdFNjRfRklMRVMgKi8KQEAg LTE4NSw3ICsxODUsNyBAQCBmY2Nsb3NlciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgIHsK ICAgICAgIGVycm5vID0gMDsKICAgICAgIGlmICgocmVzdWx0ID0gYy0+Y2xvc2VmbiAoYy0+ Y29va2llKSkgPCAwICYmIGVycm5vKQotCXB0ci0+X2Vycm5vID0gZXJybm87CisJX19lcnJu b19yKHB0cikgPSBlcnJubzsKICAgICB9CiAgIF9mcmVlX3IgKHB0ciwgYyk7CiAgIHJldHVy biByZXN1bHQ7CkBAIC0yMDcsNyArMjA3LDcgQEAgX2ZvcGVuY29va2llX3IgKHN0cnVjdCBf cmVlbnQgKnB0ciwKICAgaWYgKCgoZmxhZ3MgJiAoX19TUkQgfCBfX1NSVykpICYmICFmdW5j dGlvbnMucmVhZCkKICAgICAgIHx8ICgoZmxhZ3MgJiAoX19TV1IgfCBfX1NSVykpICYmICFm dW5jdGlvbnMud3JpdGUpKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOwor ICAgICAgX19lcnJub19yKHB0cikgPSBFSU5WQUw7CiAgICAgICByZXR1cm4gTlVMTDsKICAg ICB9CiAgIGlmICgoZnAgPSBfX3NmcCAocHRyKSkgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL25l d2xpYi9saWJjL3N0ZGlvL2ZwdXJnZS5jIGIvbmV3bGliL2xpYmMvc3RkaW8vZnB1cmdlLmMK aW5kZXggMmU0ZjYxZWM5Li5mOTRmNzY3NzAgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0 ZGlvL2ZwdXJnZS5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZwdXJnZS5jCkBAIC03Miw3 ICs3Miw3IEBAIF9mcHVyZ2VfciAoc3RydWN0IF9yZWVudCAqcHRyLAogICB0ID0gZnAtPl9m bGFnczsKICAgaWYgKCF0KQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUJBREY7Cisg ICAgICBfX2Vycm5vX3IocHRyKSA9IEVCQURGOwogICAgICAgX25ld2xpYl9mbG9ja2ZpbGVf ZXhpdCAoZnApOwogICAgICAgcmV0dXJuIEVPRjsKICAgICB9CmRpZmYgLS1naXQgYS9uZXds aWIvbGliYy9zdGRpby9mcmVvcGVuLmMgYi9uZXdsaWIvbGliYy9zdGRpby9mcmVvcGVuLmMK aW5kZXggMjliYTViN2ZmLi5iYzQ5OTYzNDMgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0 ZGlvL2ZyZW9wZW4uYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9mcmVvcGVuLmMKQEAgLTEz Nyw3ICsxMzcsNyBAQCBfZnJlb3Blbl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGlmIChm aWxlICE9IE5VTEwpCiAgICAgewogICAgICAgZiA9IF9vcGVuX3IgKHB0ciwgKGNoYXIgKikg ZmlsZSwgb2ZsYWdzLCAwNjY2KTsKLSAgICAgIGUgPSBwdHItPl9lcnJubzsKKyAgICAgIGUg PSBfX2Vycm5vX3IocHRyKTsKICAgICB9CiAgIGVsc2UKICAgICB7CkBAIC0yMDUsNyArMjA1 LDcgQEAgX2ZyZW9wZW5fciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgIHsJCQkJLyogZGlk IG5vdCBnZXQgaXQgYWZ0ZXIgYWxsICovCiAgICAgICBfX3NmcF9sb2NrX2FjcXVpcmUgKCk7 CiAgICAgICBmcC0+X2ZsYWdzID0gMDsJCS8qIHNldCBpdCBmcmVlICovCi0gICAgICBwdHIt Pl9lcnJubyA9IGU7CQkvKiByZXN0b3JlIGluIGNhc2UgX2Nsb3NlIGNsb2JiZXJlZCAqLwor ICAgICAgX19lcnJub19yKHB0cikgPSBlOwkvKiByZXN0b3JlIGluIGNhc2UgX2Nsb3NlIGNs b2JiZXJlZCAqLwogICAgICAgaWYgKCEob2ZsYWdzMiAmIF9fU05MSykpCiAJX2Z1bmxvY2tm aWxlIChmcCk7CiAjaWZuZGVmIF9fU0lOR0xFX1RIUkVBRF9fCmRpZmYgLS1naXQgYS9uZXds aWIvbGliYy9zdGRpby9mc2Vla28uYyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZzZWVrby5jCmlu ZGV4IDEzZGYyOGJmYy4uZTI2ZmNjYjg5IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRp by9mc2Vla28uYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9mc2Vla28uYwpAQCAtMTI4LDcg KzEyOCw3IEBAIF9mc2Vla29fciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmICgoc2Vl a2ZuID0gZnAtPl9zZWVrKSA9PSBOVUxMKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0g RVNQSVBFOwkvKiA/Pz8gKi8KKyAgICAgIF9fZXJybm9fcihwdHIpID0gRVNQSVBFOwkvKiA/ Pz8gKi8KICAgICAgIF9uZXdsaWJfZmxvY2tmaWxlX2V4aXQgKGZwKTsKICAgICAgIHJldHVy biBFT0Y7CiAgICAgfQpAQCAtMTc4LDcgKzE3OCw3IEBAIF9mc2Vla29fciAoc3RydWN0IF9y ZWVudCAqcHRyLAogICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgotICAgICAgcHRyLT5f ZXJybm8gPSBFSU5WQUw7CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVJTlZBTDsKICAgICAg IF9uZXdsaWJfZmxvY2tmaWxlX2V4aXQgKGZwKTsKICAgICAgIHJldHVybiAoRU9GKTsKICAg ICB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby9mdGVsbC5jIGIvbmV3bGliL2xp YmMvc3RkaW8vZnRlbGwuYwppbmRleCBjNTQwYzQzMGYuLmU0YTM4Njc0ZCAxMDA2NDQKLS0t IGEvbmV3bGliL2xpYmMvc3RkaW8vZnRlbGwuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9m dGVsbC5jCkBAIC05Miw3ICs5Miw3IEBAIF9mdGVsbF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAgIGlmICgobG9uZylwb3MgIT0gcG9zKQogICAgIHsKICAgICAgIHBvcyA9IC0xOwotICAg ICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVP VkVSRkxPVzsKICAgICB9CiAgIHJldHVybiAobG9uZylwb3M7CiB9CmRpZmYgLS1naXQgYS9u ZXdsaWIvbGliYy9zdGRpby9mdGVsbG8uYyBiL25ld2xpYi9saWJjL3N0ZGlvL2Z0ZWxsby5j CmluZGV4IDNkZjIwMGNlYS4uZWU1ZWExOWEzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9z dGRpby9mdGVsbG8uYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9mdGVsbG8uYwpAQCAtOTYs NyArOTYsNyBAQCBfZnRlbGxvX3IgKHN0cnVjdCBfcmVlbnQgKiBwdHIsCiAKICAgaWYgKGZw LT5fc2VlayA9PSBOVUxMKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRVNQSVBFOwor ICAgICAgX19lcnJub19yKHB0cikgPSBFU1BJUEU7CiAgICAgICBfbmV3bGliX2Zsb2NrZmls ZV9leGl0IChmcCk7CiAgICAgICByZXR1cm4gKF9vZmZfdCkgLTE7CiAgICAgfQpkaWZmIC0t Z2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vZnVub3Blbi5jIGIvbmV3bGliL2xpYmMvc3RkaW8v ZnVub3Blbi5jCmluZGV4IGExYzBkNzY3ZC4uYzkwODRjYTFkIDEwMDY0NAotLS0gYS9uZXds aWIvbGliYy9zdGRpby9mdW5vcGVuLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vZnVub3Bl bi5jCkBAIC0xMTMsNyArMTEzLDcgQEAgZnVucmVhZGVyIChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAgIGZ1bmNvb2tpZSAqYyA9IChmdW5jb29raWUgKikgY29va2llOwogICBlcnJubyA9IDA7 CiAgIGlmICgocmVzdWx0ID0gYy0+cmVhZGZuIChjLT5jb29raWUsIGJ1ZiwgbikpIDwgMCAm JiBlcnJubykKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIp ID0gZXJybm87CiAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNyw3ICsxMjcsNyBAQCBm dW53cml0ZXIgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgZnVuY29va2llICpjID0gKGZ1bmNv b2tpZSAqKSBjb29raWU7CiAgIGVycm5vID0gMDsKICAgaWYgKChyZXN1bHQgPSBjLT53cml0 ZWZuIChjLT5jb29raWUsIGJ1ZiwgbikpIDwgMCAmJiBlcnJubykKLSAgICBwdHItPl9lcnJu byA9IGVycm5vOworICAgIF9fZXJybm9fcihwdHIpID0gZXJybm87CiAgIHJldHVybiByZXN1 bHQ7CiB9CiAKQEAgLTE0MiwxNSArMTQyLDE1IEBAIGZ1bnNlZWtlciAoc3RydWN0IF9yZWVu dCAqcHRyLAogICBmcG9zX3QgcmVzdWx0OwogICBlcnJubyA9IDA7CiAgIGlmICgocmVzdWx0 ID0gYy0+c2Vla2ZuIChjLT5jb29raWUsIChmcG9zX3QpIG9mZiwgd2hlbmNlKSkgPCAwICYm IGVycm5vKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikg PSBlcnJubzsKICNlbHNlIC8qIF9fTEFSR0U2NF9GSUxFUyAqLwogICBfZnBvczY0X3QgcmVz dWx0OwogICBlcnJubyA9IDA7CiAgIGlmICgocmVzdWx0ID0gYy0+c2Vla2ZuIChjLT5jb29r aWUsIChfZnBvczY0X3QpIG9mZiwgd2hlbmNlKSkgPCAwICYmIGVycm5vKQotICAgIHB0ci0+ X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0cikgPSBlcnJubzsKICAgZWxzZSBp ZiAoKF9mcG9zX3QpcmVzdWx0ICE9IHJlc3VsdCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJu byA9IEVPVkVSRkxPVzsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwogICAg ICAgcmVzdWx0ID0gLTE7CiAgICAgfQogI2VuZGlmIC8qIF9fTEFSR0U2NF9GSUxFUyAqLwpA QCAtMTY4LDcgKzE2OCw3IEBAIGZ1bnNlZWtlcjY0IChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAg IGZ1bmNvb2tpZSAqYyA9IChmdW5jb29raWUgKikgY29va2llOwogICBlcnJubyA9IDA7CiAg IGlmICgocmVzdWx0ID0gYy0+c2Vla2ZuIChjLT5jb29raWUsIG9mZiwgd2hlbmNlKSkgPCAw ICYmIGVycm5vKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX19lcnJub19yKHB0 cikgPSBlcnJubzsKICAgcmV0dXJuIHJlc3VsdDsKIH0KICNlbmRpZiAvKiBfX0xBUkdFNjRf RklMRVMgKi8KQEAgLTE4Myw3ICsxODMsNyBAQCBmdW5jbG9zZXIgKHN0cnVjdCBfcmVlbnQg KnB0ciwKICAgICB7CiAgICAgICBlcnJubyA9IDA7CiAgICAgICBpZiAoKHJlc3VsdCA9IGMt PmNsb3NlZm4gKGMtPmNvb2tpZSkpIDwgMCAmJiBlcnJubykKLQlwdHItPl9lcnJubyA9IGVy cm5vOworCV9fZXJybm9fcihwdHIpID0gZXJybm87CiAgICAgfQogICBfZnJlZV9yIChwdHIs IGMpOwogICByZXR1cm4gcmVzdWx0OwpAQCAtMjAyLDcgKzIwMiw3IEBAIF9mdW5vcGVuX3Ig KHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBpZiAoIXJlYWRmbiAmJiAhd3JpdGVmbikKICAg ICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9fZXJybm9fcihwdHIp ID0gRUlOVkFMOwogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICBpZiAoKGZwID0gX19z ZnAgKHB0cikpID09IE5VTEwpCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby9mdndy aXRlLmMgYi9uZXdsaWIvbGliYy9zdGRpby9mdndyaXRlLmMKaW5kZXggNTg3ZmZhY2Q3Li45 MGZhNDkxYjcgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2Z2d3JpdGUuYworKysg Yi9uZXdsaWIvbGliYy9zdGRpby9mdndyaXRlLmMKQEAgLTE0NSw3ICsxNDUsNyBAQCBfX3Nm dndyaXRlX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkJICAgICAgc3RyID0gKHVuc2lnbmVk IGNoYXIgKilfbWFsbG9jX3IgKHB0ciwgbmV3c2l6ZSk7CiAJCSAgICAgIGlmICghc3RyKQog CQkJewotCQkJICBwdHItPl9lcnJubyA9IEVOT01FTTsKKwkJCSAgX19lcnJub19yKHB0cikg PSBFTk9NRU07CiAJCQkgIGdvdG8gZXJyOwogCQkJfQogCQkgICAgICBtZW1jcHkgKHN0ciwg ZnAtPl9iZi5fYmFzZSwgY3VycG9zKTsKQEAgLTE2Miw3ICsxNjIsNyBAQCBfX3NmdndyaXRl X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkJCSAgX2ZyZWVfciAocHRyLCBmcC0+X2JmLl9i YXNlKTsKIAkJCSAgZnAtPl9mbGFncyAmPSAgfl9fU01CRjsKIAkJCSAgLyogRW5zdXJlIGNv cnJlY3QgZXJybm8sIGV2ZW4gaWYgZnJlZSBjaGFuZ2VkIGl0LiAgKi8KLQkJCSAgcHRyLT5f ZXJybm8gPSBFTk9NRU07CisJCQkgIF9fZXJybm9fcihwdHIpID0gRU5PTUVNOwogCQkJICBn b3RvIGVycjsKIAkJCX0KIAkJICAgIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlv L21rdGVtcC5jIGIvbmV3bGliL2xpYmMvc3RkaW8vbWt0ZW1wLmMKaW5kZXggMzUxNDgxOGE2 Li5kYTMwZjBiZTcgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL21rdGVtcC5jCisr KyBiL25ld2xpYi9saWJjL3N0ZGlvL21rdGVtcC5jCkBAIC0xNTksNyArMTU5LDcgQEAgX2dl dHRlbXAgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICBjb250aW51ZTsKICAgaWYgKHRydiAt IHBhdGggPCBzdWZmaXhsZW4pCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFSU5WQUw7 CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVJTlZBTDsKICAgICAgIHJldHVybiAwOwogICAg IH0KICAgdHJ2IC09IHN1ZmZpeGxlbjsKQEAgLTE3MSw3ICsxNzEsNyBAQCBfZ2V0dGVtcCAo c3RydWN0IF9yZWVudCAqcHRyLAogICAgIH0KICAgaWYgKGVuZCAtIHRydiA8IDYpCiAgICAg ewotICAgICAgcHRyLT5fZXJybm8gPSBFSU5WQUw7CisgICAgICBfX2Vycm5vX3IocHRyKSA9 IEVJTlZBTDsKICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMTk1LDcgKzE5NSw3IEBA IF9nZXR0ZW1wIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAJICAgIHJldHVybiAoMCk7CiAJICBp ZiAoIShzYnVmLnN0X21vZGUgJiBTX0lGRElSKSkKIAkgICAgewotCSAgICAgIHB0ci0+X2Vy cm5vID0gRU5PVERJUjsKKwkgICAgICBfX2Vycm5vX3IocHRyKSA9IEVOT1RESVI7CiAJICAg ICAgcmV0dXJuICgwKTsKIAkgICAgfQogCSAgKnRydiA9ICcvJzsKQEAgLTIxMSwxMCArMjEx LDEwIEBAIF9nZXR0ZW1wIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAjaWZkZWYgSEFWRV9NS0RJ UgogCSAgaWYgKF9ta2Rpcl9yIChwdHIsIHBhdGgsIDA3MDApID09IDApCiAJICAgIHJldHVy biAxOwotCSAgaWYgKHB0ci0+X2Vycm5vICE9IEVFWElTVCkKKwkgIGlmIChfX2Vycm5vX3Io cHRyKSAhPSBFRVhJU1QpCiAJICAgIHJldHVybiAwOwogI2Vsc2UgLyogIUhBVkVfTUtESVIg Ki8KLQkgIHB0ci0+X2Vycm5vID0gRU5PU1lTOworCSAgX19lcnJub19yKHB0cikgPSBFTk9T WVM7CiAJICByZXR1cm4gMDsKICNlbmRpZiAvKiAhSEFWRV9NS0RJUiAqLwogCX0KQEAgLTIy NSw3ICsyMjUsNyBAQCBfZ2V0dGVtcCAoc3RydWN0IF9yZWVudCAqcHRyLAogCSAgaWYgKCgq ZG9vcGVuID0gX29wZW5fciAocHRyLCBwYXRoLCBPX0NSRUFUIHwgT19FWENMIHwgT19SRFdS IHwgZmxhZ3MsCiAJCQkJICAwNjAwKSkgPj0gMCkKIAkgICAgcmV0dXJuIDE7Ci0JICBpZiAo cHRyLT5fZXJybm8gIT0gRUVYSVNUKQorCSAgaWYgKF9fZXJybm9fcihwdHIpICE9IEVFWElT VCkKIAkgICAgcmV0dXJuIDA7CiAJfQogI2lmZGVmIF9fVVNFX0lOVEVSTkFMX1NUQVQ2NApA QCAtMjMzLDcgKzIzMyw3IEBAIF9nZXR0ZW1wIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAjZWxz ZQogICAgICAgZWxzZSBpZiAoX3N0YXRfciAocHRyLCBwYXRoLCAmc2J1ZikpCiAjZW5kaWYK LQlyZXR1cm4gKHB0ci0+X2Vycm5vID09IEVOT0VOVCA/IDEgOiAwKTsKKwlyZXR1cm4gKF9f ZXJybm9fcihwdHIpID09IEVOT0VOVCA/IDEgOiAwKTsKIAogICAgICAgLyogdHJpY2t5IGxp dHRsZSBhbGdvcml0aG0gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi8KICAgICAgIGZv ciAodHJ2ID0gc3RhcnQ7OykKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL25hbm8t dmZwcmludGYuYyBiL25ld2xpYi9saWJjL3N0ZGlvL25hbm8tdmZwcmludGYuYwppbmRleCA4 Mzg4MDRlYjkuLjYwYmVkYTYxMCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vbmFu by12ZnByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL25hbm8tdmZwcmludGYuYwpA QCAtMjAxLDcgKzIwMSw3IEBAIF9fc3NwdXRzX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkg IHN0ciA9ICh1bnNpZ25lZCBjaGFyICopX21hbGxvY19yIChwdHIsIG5ld3NpemUpOwogCSAg aWYgKCFzdHIpCiAJICAgIHsKLQkgICAgICBwdHItPl9lcnJubyA9IEVOT01FTTsKKwkgICAg ICBfX2Vycm5vX3IocHRyKSA9IEVOT01FTTsKIAkgICAgICBnb3RvIGVycjsKIAkgICAgfQog CSAgbWVtY3B5IChzdHIsIGZwLT5fYmYuX2Jhc2UsIGN1cnBvcyk7CkBAIC0yMTUsNyArMjE1 LDcgQEAgX19zc3B1dHNfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCSAgICAgIC8qIEZyZWUg dW5uZWVkZWQgYnVmZmVyLiAgKi8KIAkgICAgICBfZnJlZV9yIChwdHIsIGZwLT5fYmYuX2Jh c2UpOwogCSAgICAgIC8qIEVuc3VyZSBjb3JyZWN0IGVycm5vLCBldmVuIGlmIGZyZWUgY2hh bmdlZCBpdC4gICovCi0JICAgICAgcHRyLT5fZXJybm8gPSBFTk9NRU07CisJICAgICAgX19l cnJub19yKHB0cikgPSBFTk9NRU07CiAJICAgICAgZ290byBlcnI7CiAJICAgIH0KIAl9CkBA IC0yOTEsNyArMjkxLDcgQEAgX19zc3ByaW50X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkg ICAgICBzdHIgPSAodW5zaWduZWQgY2hhciAqKV9tYWxsb2NfciAocHRyLCBuZXdzaXplKTsK IAkgICAgICBpZiAoIXN0cikKIAkJewotCQkgIHB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkg IF9fZXJybm9fcihwdHIpID0gRU5PTUVNOwogCQkgIGdvdG8gZXJyOwogCQl9CiAJICAgICAg bWVtY3B5IChzdHIsIGZwLT5fYmYuX2Jhc2UsIGN1cnBvcyk7CkBAIC0zMDYsNyArMzA2LDcg QEAgX19zc3ByaW50X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkJICAvKiBGcmVlIHVubmVl ZGVkIGJ1ZmZlci4gICovCiAJCSAgX2ZyZWVfciAocHRyLCBmcC0+X2JmLl9iYXNlKTsKIAkJ ICAvKiBFbnN1cmUgY29ycmVjdCBlcnJubywgZXZlbiBpZiBmcmVlIGNoYW5nZWQgaXQuICAq LwotCQkgIHB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkgIF9fZXJybm9fcihwdHIpID0gRU5P TUVNOwogCQkgIGdvdG8gZXJyOwogCQl9CiAJICAgIH0KQEAgLTUwMSw3ICs1MDEsNyBAQCBf VkZQUklOVEZfUiAoc3RydWN0IF9yZWVudCAqZGF0YSwKICAgICAgIGZwLT5fYmYuX2Jhc2Ug PSBmcC0+X3AgPSBfbWFsbG9jX3IgKGRhdGEsIDY0KTsKICAgICAgIGlmICghZnAtPl9wKQog CXsKLQkgIGRhdGEtPl9lcnJubyA9IEVOT01FTTsKKwkgIF9fZXJybm9fcihkYXRhKSA9IEVO T01FTTsKIAkgIHJldHVybiBFT0Y7CiAJfQogICAgICAgZnAtPl9iZi5fc2l6ZSA9IDY0Owpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vb3Blbl9tZW1zdHJlYW0uYyBiL25ld2xp Yi9saWJjL3N0ZGlvL29wZW5fbWVtc3RyZWFtLmMKaW5kZXggZWQ3MWIxY2RjLi5hNGRhYzY3 MTMgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL29wZW5fbWVtc3RyZWFtLmMKKysr IGIvbmV3bGliL2xpYmMvc3RkaW8vb3Blbl9tZW1zdHJlYW0uYwpAQCAtMTA1LDcgKzEwNSw3 IEBAIG1lbXdyaXRlciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgICBiaWcgdGhhdCB1c2Vy IGNhbm5vdCBkbyBmdGVsbG8uICAqLwogICBpZiAoc2l6ZW9mIChPRkZfVCkgPT0gc2l6ZW9m IChzaXplX3QpICYmIChzc2l6ZV90KSAoYy0+cG9zICsgbikgPCAwKQogICAgIHsKLSAgICAg IHB0ci0+X2Vycm5vID0gRUZCSUc7CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVGQklHOwog ICAgICAgcmV0dXJuIEVPRjsKICAgICB9CiAgIC8qIEdyb3cgdGhlIGJ1ZmZlciwgaWYgbmVj ZXNzYXJ5LiAgQ2hvb3NlIGEgZ2VvbWV0cmljIGdyb3d0aCBmYWN0b3IKQEAgLTE2MCwxOCAr MTYwLDE4IEBAIG1lbXNlZWtlciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgIG9mZnNldCAr PSBjLT5lb2Y7CiAgIGlmIChvZmZzZXQgPCAwKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5v ID0gRUlOVkFMOworICAgICAgX19lcnJub19yKHB0cikgPSBFSU5WQUw7CiAgICAgICBvZmZz ZXQgPSAtMTsKICAgICB9CiAgIGVsc2UgaWYgKChzaXplX3QpIG9mZnNldCAhPSBvZmZzZXQp CiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFTk9TUEM7CisgICAgICBfX2Vycm5vX3Io cHRyKSA9IEVOT1NQQzsKICAgICAgIG9mZnNldCA9IC0xOwogICAgIH0KICNpZmRlZiBfX0xB UkdFNjRfRklMRVMKICAgZWxzZSBpZiAoKF9mcG9zX3QpIG9mZnNldCAhPSBvZmZzZXQpCiAg ICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfX2Vycm5vX3Io cHRyKSA9IEVPVkVSRkxPVzsKICAgICAgIG9mZnNldCA9IC0xOwogICAgIH0KICNlbmRpZiAv KiBfX0xBUkdFNjRfRklMRVMgKi8KQEAgLTIyNywxMiArMjI3LDEyIEBAIG1lbXNlZWtlcjY0 IChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgb2Zmc2V0ICs9IGMtPmVvZjsKICAgaWYgKG9m ZnNldCA8IDApCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFSU5WQUw7CisgICAgICBf X2Vycm5vX3IocHRyKSA9IEVJTlZBTDsKICAgICAgIG9mZnNldCA9IC0xOwogICAgIH0KICAg ZWxzZSBpZiAoKHNpemVfdCkgb2Zmc2V0ICE9IG9mZnNldCkKICAgICB7Ci0gICAgICBwdHIt Pl9lcnJubyA9IEVOT1NQQzsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRU5PU1BDOwogICAg ICAgb2Zmc2V0ID0gLTE7CiAgICAgfQogICBlbHNlCkBAIC0zMDEsNyArMzAxLDcgQEAgaW50 ZXJuYWxfb3Blbl9tZW1zdHJlYW1fciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmICgh YnVmIHx8ICFzaXplKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAg ICAgX19lcnJub19yKHB0cikgPSBFSU5WQUw7CiAgICAgICByZXR1cm4gTlVMTDsKICAgICB9 CiAgIGlmICgoZnAgPSBfX3NmcCAocHRyKSkgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL25ld2xp Yi9saWJjL3N0ZGlvL3BlcnJvci5jIGIvbmV3bGliL2xpYmMvc3RkaW8vcGVycm9yLmMKaW5k ZXggZWRhN2U5OTNiLi5mYmJiMjdkZTQgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlv L3BlcnJvci5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3BlcnJvci5jCkBAIC05MCw3ICs5 MCw3IEBAIF9wZXJyb3JfciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgICAgV1JJVEVfU1RS ICgiOiAiKTsKICAgICB9CiAKLSAgaWYgKChlcnJvciA9IF9zdHJlcnJvcl9yIChwdHIsIHB0 ci0+X2Vycm5vLCAxLCAmZHVtbXkpKSAhPSBOVUxMKQorICBpZiAoKGVycm9yID0gX3N0cmVy cm9yX3IgKHB0ciwgX19lcnJub19yKHB0ciksIDEsICZkdW1teSkpICE9IE5VTEwpCiAgICAg V1JJVEVfU1RSIChlcnJvcik7CiAKICNpZmRlZiBfX1NDTEUKZGlmZiAtLWdpdCBhL25ld2xp Yi9saWJjL3N0ZGlvL3JlZmlsbC5jIGIvbmV3bGliL2xpYmMvc3RkaW8vcmVmaWxsLmMKaW5k ZXggOTFlNzllODMyLi43YWJiYmJmMjMgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlv L3JlZmlsbC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3JlZmlsbC5jCkBAIC01Niw3ICs1 Niw3IEBAIF9fc3JlZmlsbF9yIChzdHJ1Y3QgX3JlZW50ICogcHRyLAogICAgIHsKICAgICAg IGlmICgoZnAtPl9mbGFncyAmIF9fU1JXKSA9PSAwKQogCXsKLQkgIHB0ci0+X2Vycm5vID0g RUJBREY7CisJICBfX2Vycm5vX3IocHRyKSA9IEVCQURGOwogCSAgZnAtPl9mbGFncyB8PSBf X1NFUlI7CiAJICByZXR1cm4gRU9GOwogCX0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0 ZGlvL3NuaXByaW50Zi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vc25pcHJpbnRmLmMKaW5kZXgg Mzc1YTM5NzFmLi5jMjVkMTg5ZmQgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL3Nu aXByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3NuaXByaW50Zi5jCkBAIC0zOCw3 ICszOCw3IEBAIF9zbmlwcmludGZfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmIChz aXplID4gSU5UX01BWCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsK KyAgICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwogICAgICAgcmV0dXJuIEVPRjsK ICAgICB9CiAgIGYuX2ZsYWdzID0gX19TV1IgfCBfX1NTVFI7CkBAIC00OSw3ICs0OSw3IEBA IF9zbmlwcmludGZfciAoc3RydWN0IF9yZWVudCAqcHRyLAogICByZXQgPSBfc3ZmaXByaW50 Zl9yIChwdHIsICZmLCBmbXQsIGFwKTsKICAgdmFfZW5kIChhcCk7CiAgIGlmIChyZXQgPCBF T0YpCi0gICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgX19lcnJub19yKHB0cikg PSBFT1ZFUkZMT1c7CiAgIGlmIChzaXplID4gMCkKICAgICAqZi5fcCA9IDA7CiAgIHJldHVy biAocmV0KTsKQEAgLTY5LDcgKzY5LDcgQEAgc25pcHJpbnRmIChjaGFyICpzdHIsCiAKICAg aWYgKHNpemUgPiBJTlRfTUFYKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJG TE9XOworICAgICAgX19lcnJub19yKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4g RU9GOwogICAgIH0KICAgZi5fZmxhZ3MgPSBfX1NXUiB8IF9fU1NUUjsKQEAgLTgwLDcgKzgw LDcgQEAgc25pcHJpbnRmIChjaGFyICpzdHIsCiAgIHJldCA9IF9zdmZpcHJpbnRmX3IgKHB0 ciwgJmYsIGZtdCwgYXApOwogICB2YV9lbmQgKGFwKTsKICAgaWYgKHJldCA8IEVPRikKLSAg ICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICBfX2Vycm5vX3IocHRyKSA9IEVPVkVS RkxPVzsKICAgaWYgKHNpemUgPiAwKQogICAgICpmLl9wID0gMDsKICAgcmV0dXJuIChyZXQp OwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vc25wcmludGYuYyBiL25ld2xpYi9s aWJjL3N0ZGlvL3NucHJpbnRmLmMKaW5kZXggNTBkN2RkZDExLi5mMzI4MDYwNjkgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL3NucHJpbnRmLmMKKysrIGIvbmV3bGliL2xpYmMv c3RkaW8vc25wcmludGYuYwpAQCAtMzcsNyArMzcsNyBAQCBfc25wcmludGZfciAoc3RydWN0 IF9yZWVudCAqcHRyLAogCiAgIGlmIChzaXplID4gSU5UX01BWCkKICAgICB7Ci0gICAgICBw dHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJG TE9XOwogICAgICAgcmV0dXJuIEVPRjsKICAgICB9CiAgIGYuX2ZsYWdzID0gX19TV1IgfCBf X1NTVFI7CkBAIC00OCw3ICs0OCw3IEBAIF9zbnByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpw dHIsCiAgIHJldCA9IF9zdmZwcmludGZfciAocHRyLCAmZiwgZm10LCBhcCk7CiAgIHZhX2Vu ZCAoYXApOwogICBpZiAocmV0IDwgRU9GKQotICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9X OworICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwogICBpZiAoc2l6ZSA+IDApCiAg ICAgKmYuX3AgPSAwOwogICByZXR1cm4gKHJldCk7CkBAIC03NCw3ICs3NCw3IEBAIHNucHJp bnRmIChjaGFyICpfX3Jlc3RyaWN0IHN0ciwKIAogICBpZiAoc2l6ZSA+IElOVF9NQVgpCiAg ICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfX2Vycm5vX3Io cHRyKSA9IEVPVkVSRkxPVzsKICAgICAgIHJldHVybiBFT0Y7CiAgICAgfQogICBmLl9mbGFn cyA9IF9fU1dSIHwgX19TU1RSOwpAQCAtODUsNyArODUsNyBAQCBzbnByaW50ZiAoY2hhciAq X19yZXN0cmljdCBzdHIsCiAgIHJldCA9IF9zdmZwcmludGZfciAocHRyLCAmZiwgZm10LCBh cCk7CiAgIHZhX2VuZCAoYXApOwogICBpZiAocmV0IDwgRU9GKQotICAgIHB0ci0+X2Vycm5v ID0gRU9WRVJGTE9XOworICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwogICBpZiAo c2l6ZSA+IDApCiAgICAgKmYuX3AgPSAwOwogICByZXR1cm4gKHJldCk7CmRpZmYgLS1naXQg YS9uZXdsaWIvbGliYy9zdGRpby9zd3ByaW50Zi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vc3dw cmludGYuYwppbmRleCBlYzdlMDg5Y2EuLmM4MzFjZmJlMSAxMDA2NDQKLS0tIGEvbmV3bGli L2xpYmMvc3RkaW8vc3dwcmludGYuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9zd3ByaW50 Zi5jCkBAIC01NjQsNyArNTY0LDcgQEAgX3N3cHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0 ciwKIAogICBpZiAoc2l6ZSA+IElOVF9NQVggLyBzaXplb2YgKHdjaGFyX3QpKQogICAgIHsK LSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8K KyAgICAgIF9fZXJybm9fcihwdHIpID0gRU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24g Ki8KICAgICAgIHJldHVybiBFT0Y7CiAgICAgfQogICBmLl9mbGFncyA9IF9fU1dSIHwgX19T U1RSOwpAQCAtNTg0LDcgKzU4NCw3IEBAIF9zd3ByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpw dHIsCiAgICAgLyogX3N2ZndwcmludGZfcigpIHJldHVybnMgaG93IG1hbnkgd2lkZSBjaGFy YWN0ZXJzIGl0IHdvdWxkIGhhdmUgcHJpbnRlZAogICAgICAqIGlmIHRoZXJlIHdlcmUgZW5v dWdoIHNwYWNlLiAgUmV0dXJuIGFuIGVycm9yIGlmIHRvbyBiaWcgdG8gZml0IGluIHN0ciwK ICAgICAgKiB1bmxpa2Ugc25wcmludGYsIHdoaWNoIHJldHVybnMgdGhlIHNpemUgbmVlZGVk LiAgKi8KLSAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9u ICovCisgICAgX19lcnJub19yKHB0cikgPSBFT1ZFUkZMT1c7CS8qIFBPU0lYIGV4dGVuc2lv biAqLwogICAgIHJldCA9IC0xOwogICB9CiAgIHJldHVybiAocmV0KTsKQEAgLTYwNCw3ICs2 MDQsNyBAQCBzd3ByaW50ZiAod2NoYXJfdCAqX19yZXN0cmljdCBzdHIsCiAKICAgaWYgKHNp emUgPiBJTlRfTUFYIC8gc2l6ZW9mICh3Y2hhcl90KSkKICAgICB7Ci0gICAgICBwdHItPl9l cnJubyA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9uICovCisgICAgICBfX2Vycm5v X3IocHRyKSA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9uICovCiAgICAgICByZXR1 cm4gRU9GOwogICAgIH0KICAgZi5fZmxhZ3MgPSBfX1NXUiB8IF9fU1NUUjsKQEAgLTYyNCw3 ICs2MjQsNyBAQCBzd3ByaW50ZiAod2NoYXJfdCAqX19yZXN0cmljdCBzdHIsCiAgICAgLyog X3N2ZndwcmludGZfcigpIHJldHVybnMgaG93IG1hbnkgd2lkZSBjaGFyYWN0ZXJzIGl0IHdv dWxkIGhhdmUgcHJpbnRlZAogICAgICAqIGlmIHRoZXJlIHdlcmUgZW5vdWdoIHNwYWNlLiAg UmV0dXJuIGFuIGVycm9yIGlmIHRvbyBiaWcgdG8gZml0IGluIHN0ciwKICAgICAgKiB1bmxp a2Ugc25wcmludGYsIHdoaWNoIHJldHVybnMgdGhlIHNpemUgbmVlZGVkLiAgKi8KLSAgICBw dHItPl9lcnJubyA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9uICovCisgICAgX19l cnJub19yKHB0cikgPSBFT1ZFUkZMT1c7CS8qIFBPU0lYIGV4dGVuc2lvbiAqLwogICAgIHJl dCA9IC0xOwogICB9CiAgIHJldHVybiAocmV0KTsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3N0ZGlvL3RtcGZpbGUuYyBiL25ld2xpYi9saWJjL3N0ZGlvL3RtcGZpbGUuYwppbmRleCBm MjA5YTNlZGYuLjc5ZmU2OWY2ZCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vdG1w ZmlsZS5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3RtcGZpbGUuYwpAQCAtNjUsMTUgKzY1 LDE1IEBAIF90bXBmaWxlX3IgKHN0cnVjdCBfcmVlbnQgKnB0cikKICAgICAgIGZkID0gX29w ZW5fciAocHRyLCBmLCBPX1JEV1IgfCBPX0NSRUFUIHwgT19FWENMIHwgT19CSU5BUlksCiAJ CSAgICBTX0lSVVNSIHwgU19JV1VTUik7CiAgICAgfQotICB3aGlsZSAoZmQgPCAwICYmIHB0 ci0+X2Vycm5vID09IEVFWElTVCk7CisgIHdoaWxlIChmZCA8IDAgJiYgX19lcnJub19yKHB0 cikgPT0gRUVYSVNUKTsKICAgaWYgKGZkIDwgMCkKICAgICByZXR1cm4gTlVMTDsKICAgZnAg PSBfZmRvcGVuX3IgKHB0ciwgZmQsICJ3YisiKTsKLSAgZSA9IHB0ci0+X2Vycm5vOworICBl ID0gX19lcnJub19yKHB0cik7CiAgIGlmICghZnApCiAgICAgX2Nsb3NlX3IgKHB0ciwgZmQp OwogICAodm9pZCkgX3JlbW92ZV9yIChwdHIsIGYpOwotICBwdHItPl9lcnJubyA9IGU7Cisg IF9fZXJybm9fcihwdHIpID0gZTsKICAgcmV0dXJuIGZwOwogfQogCmRpZmYgLS1naXQgYS9u ZXdsaWIvbGliYy9zdGRpby90bXBuYW0uYyBiL25ld2xpYi9saWJjL3N0ZGlvL3RtcG5hbS5j CmluZGV4IDNiZDViNmE1OC4uNjA3ZTc4NGI4IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9z dGRpby90bXBuYW0uYworKysgYi9uZXdsaWIvbGliYy9zdGRpby90bXBuYW0uYwpAQCAtMTA0 LDcgKzEwNCw3IEBAIHdvcmtlciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgICAgdCA9IF9v cGVuX3IgKHB0ciwgcmVzdWx0LCBPX1JET05MWSwgMCk7CiAgICAgICBpZiAodCA9PSAtMSkK IAl7Ci0JICBpZiAocHRyLT5fZXJybm8gPT0gRU5PU1lTKQorCSAgaWYgKF9fZXJybm9fcihw dHIpID09IEVOT1NZUykKIAkgICAgewogCSAgICAgIHJlc3VsdFswXSA9ICdcMCc7CiAJICAg ICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby92YXNuaXByaW50 Zi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vdmFzbmlwcmludGYuYwppbmRleCBlZGZiZDIyNDIu LjY5Y2U2NzIzOSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vdmFzbmlwcmludGYu YworKysgYi9uZXdsaWIvbGliYy9zdGRpby92YXNuaXByaW50Zi5jCkBAIC00Miw3ICs0Miw3 IEBAIF92YXNuaXByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgIGZvciBfc2l6 ZS4gICovCiAgIGlmIChsZW4gPiBJTlRfTUFYKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5v ID0gRU9WRVJGTE9XOworICAgICAgX19lcnJub19yKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAg ICByZXR1cm4gTlVMTDsKICAgICB9CiAgIGYuX2JmLl9zaXplID0gZi5fdyA9IGxlbjsKZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL3Zhc25wcmludGYuYyBiL25ld2xpYi9saWJj L3N0ZGlvL3Zhc25wcmludGYuYwppbmRleCAxZmJmNWExNzEuLmYyMWFiNmMyYSAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vdmFzbnByaW50Zi5jCisrKyBiL25ld2xpYi9saWJj L3N0ZGlvL3Zhc25wcmludGYuYwpAQCAtNDIsNyArNDIsNyBAQCBfdmFzbnByaW50Zl9yIChz dHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgIGZvciBfc2l6ZS4gICovCiAgIGlmIChsZW4gPiBJ TlRfTUFYKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgICAg X19lcnJub19yKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4gTlVMTDsKICAgICB9 CiAgIGYuX2JmLl9zaXplID0gZi5fdyA9IGxlbjsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3N0ZGlvL3ZmcHJpbnRmLmMgYi9uZXdsaWIvbGliYy9zdGRpby92ZnByaW50Zi5jCmluZGV4 IDMyZWJiMTQ2OC4uMTEzYzBmZDExIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby92 ZnByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3ZmcHJpbnRmLmMKQEAgLTIyMiw3 ICsyMjIsNyBAQCBfX3NzcHV0c19yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAJCQlzdHIgPSAo dW5zaWduZWQgY2hhciAqKV9tYWxsb2NfciAocHRyLCBuZXdzaXplKTsKIAkJCWlmICghc3Ry KQogCQkJewotCQkJCXB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkJCV9fZXJybm9fcihwdHIp ID0gRU5PTUVNOwogCQkJCWdvdG8gZXJyOwogCQkJfQogCQkJbWVtY3B5IChzdHIsIGZwLT5f YmYuX2Jhc2UsIGN1cnBvcyk7CkBAIC0yMzcsNyArMjM3LDcgQEAgX19zc3B1dHNfciAoc3Ry dWN0IF9yZWVudCAqcHRyLAogCQkJCV9mcmVlX3IgKHB0ciwgZnAtPl9iZi5fYmFzZSk7CiAJ CQkJLyogRW5zdXJlIGNvcnJlY3QgZXJybm8sIGV2ZW4gaWYgZnJlZQogCQkJCSAqIGNoYW5n ZWQgaXQuICAqLwotCQkJCXB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkJCV9fZXJybm9fcihw dHIpID0gRU5PTUVNOwogCQkJCWdvdG8gZXJyOwogCQkJfQogCQl9CkBAIC0zMDYsNyArMzA2 LDcgQEAgX19zc3ByaW50X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkJCQlzdHIgPSAodW5z aWduZWQgY2hhciAqKV9tYWxsb2NfciAocHRyLCBuZXdzaXplKTsKIAkJCQlpZiAoIXN0cikK IAkJCQl7Ci0JCQkJCXB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkJCQlfX2Vycm5vX3IocHRy KSA9IEVOT01FTTsKIAkJCQkJZ290byBlcnI7CiAJCQkJfQogCQkJCW1lbWNweSAoc3RyLCBm cC0+X2JmLl9iYXNlLCBjdXJwb3MpOwpAQCAtMzIxLDcgKzMyMSw3IEBAIF9fc3NwcmludF9y IChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAJCQkJCV9mcmVlX3IgKHB0ciwgZnAtPl9iZi5fYmFz ZSk7CiAJCQkJCS8qIEVuc3VyZSBjb3JyZWN0IGVycm5vLCBldmVuIGlmIGZyZWUKIAkJCQkJ ICogY2hhbmdlZCBpdC4gICovCi0JCQkJCXB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkJCQlf X2Vycm5vX3IocHRyKSA9IEVOT01FTTsKIAkJCQkJZ290byBlcnI7CiAJCQkJfQogCQkJfQpA QCAtODY4LDcgKzg2OCw3IEBAIF9WRlBSSU5URl9SIChzdHJ1Y3QgX3JlZW50ICpkYXRhLAog CQlmcC0+X2JmLl9iYXNlID0gZnAtPl9wID0gX21hbGxvY19yIChkYXRhLCA2NCk7CiAJCWlm ICghZnAtPl9wKQogCQl7Ci0JCQlkYXRhLT5fZXJybm8gPSBFTk9NRU07CisJCQlfX2Vycm5v X3IoZGF0YSkgPSBFTk9NRU07CiAJCQlyZXR1cm4gRU9GOwogCQl9CiAJCWZwLT5fYmYuX3Np emUgPSA2NDsKQEAgLTEzNzQsNyArMTM3NCw3IEBAIHJlc3dpdGNoOglzd2l0Y2ggKGNoKSB7 CiAJCWNhc2UgJ20nOiAgLyogZXh0ZW5zaW9uICovCiAJCQl7CiAJCQkJaW50IGR1bW15Owot CQkJCWNwID0gX3N0cmVycm9yX3IgKGRhdGEsIGRhdGEtPl9lcnJubywgMSwgJmR1bW15KTsK KwkJCQljcCA9IF9zdHJlcnJvcl9yIChkYXRhLCBfX2Vycm5vX3IoZGF0YSksIDEsICZkdW1t eSk7CiAJCQl9CiAJCQlmbGFncyAmPSB+TE9OR0lOVDsKIAkJCWdvdG8gc3RyaW5nOwpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdmZzY2FuZi5jIGIvbmV3bGliL2xpYmMvc3Rk aW8vdmZzY2FuZi5jCmluZGV4IDAzNzY5MjUzMS4uYTE3MWIyMTg4IDEwMDY0NAotLS0gYS9u ZXdsaWIvbGliYy9zdGRpby92ZnNjYW5mLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vdmZz Y2FuZi5jCkBAIC03NzQsNyArNzc0LDcgQEAgX19TVkZTQ0FORl9SIChzdHJ1Y3QgX3JlZW50 ICpycHRyLAogCSAgICAgIHdpZHRoID0gMDsKIAkgICAgICBnb3RvIGFnYWluOwogCSAgICB9 Ci0JICBycHRyLT5fZXJybm8gPSBFSU5WQUw7CisJICBfX2Vycm5vX3IocnB0cikgPSBFSU5W QUw7CiAJICBnb3RvIGlucHV0X2ZhaWx1cmU7CiAjZW5kaWYgLyogIV9OT19QT1NfQVJHUyAq LwogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby92ZndwcmludGYuYyBiL25ld2xp Yi9saWJjL3N0ZGlvL3Zmd3ByaW50Zi5jCmluZGV4IDczODRiMzdkMy4uN2Q2NWRhNjI2IDEw MDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby92ZndwcmludGYuYworKysgYi9uZXdsaWIv bGliYy9zdGRpby92ZndwcmludGYuYwpAQCAtNjExLDcgKzYxMSw3IEBAIF9WRldQUklOVEZf UiAoc3RydWN0IF9yZWVudCAqZGF0YSwKIAkJZnAtPl9iZi5fYmFzZSA9IGZwLT5fcCA9IF9t YWxsb2NfciAoZGF0YSwgNjQpOwogCQlpZiAoIWZwLT5fcCkKIAkJewotCQkJZGF0YS0+X2Vy cm5vID0gRU5PTUVNOworCQkJX19lcnJub19yKGRhdGEpID0gRU5PTUVNOwogCQkJcmV0dXJu IEVPRjsKIAkJfQogCQlmcC0+X2JmLl9zaXplID0gNjQ7CkBAIC0xMTE5LDcgKzExMTksNyBA QCByZXN3aXRjaDoJc3dpdGNoIChjaCkgewogCQljYXNlIEwnbSc6ICAvKiBHTlUgZXh0ZW5z aW9uICovCiAJCQl7CiAJCQkJaW50IGR1bW15OwotCQkJCWNwID0gKHdjaGFyX3QgKikgX3N0 cmVycm9yX3IgKGRhdGEsIGRhdGEtPl9lcnJubywgMSwgJmR1bW15KTsKKwkJCQljcCA9ICh3 Y2hhcl90ICopIF9zdHJlcnJvcl9yIChkYXRhLCBfX2Vycm5vX3IoZGF0YSksIDEsICZkdW1t eSk7CiAJCQl9CiAJCQlmbGFncyAmPSB+TE9OR0lOVDsKIAkJCWdvdG8gc3RyaW5nOwpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdmZ3c2NhbmYuYyBiL25ld2xpYi9saWJjL3N0 ZGlvL3Zmd3NjYW5mLmMKaW5kZXggZTllMDBkZmVjLi43OGQxOWIyZjIgMTAwNjQ0Ci0tLSBh L25ld2xpYi9saWJjL3N0ZGlvL3Zmd3NjYW5mLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8v dmZ3c2NhbmYuYwpAQCAtNjgyLDcgKzY4Miw3IEBAIF9fU1ZGV1NDQU5GX1IgKHN0cnVjdCBf cmVlbnQgKnJwdHIsCiAJICAgICAgd2lkdGggPSAwOwogCSAgICAgIGdvdG8gYWdhaW47CiAJ ICAgIH0KLQkgIHJwdHItPl9lcnJubyA9IEVJTlZBTDsKKwkgIF9fZXJybm9fcihycHRyKSA9 IEVJTlZBTDsKIAkgIGdvdG8gaW5wdXRfZmFpbHVyZTsKICNlbmRpZiAvKiAhX05PX1BPU19B UkdTICovCiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL3ZzbmlwcmludGYuYyBi L25ld2xpYi9saWJjL3N0ZGlvL3ZzbmlwcmludGYuYwppbmRleCBhOGIyNzJlMmYuLmExMjU3 NjUzOSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vdnNuaXByaW50Zi5jCisrKyBi L25ld2xpYi9saWJjL3N0ZGlvL3ZzbmlwcmludGYuYwpAQCAtNTQsNyArNTQsNyBAQCBfdnNu aXByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgaWYgKHNpemUgPiBJTlRfTUFY KQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgICAgX19lcnJu b19yKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4gRU9GOwogICAgIH0KICAgZi5f ZmxhZ3MgPSBfX1NXUiB8IF9fU1NUUjsKQEAgLTYzLDcgKzYzLDcgQEAgX3ZzbmlwcmludGZf ciAoc3RydWN0IF9yZWVudCAqcHRyLAogICBmLl9maWxlID0gLTE7ICAvKiBObyBmaWxlLiAq LwogICByZXQgPSBfc3ZmaXByaW50Zl9yIChwdHIsICZmLCBmbXQsIGFwKTsKICAgaWYgKHJl dCA8IEVPRikKLSAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICBfX2Vycm5vX3Io cHRyKSA9IEVPVkVSRkxPVzsKICAgaWYgKHNpemUgPiAwKQogICAgICpmLl9wID0gMDsKICAg cmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL3ZzbnByaW50Zi5j IGIvbmV3bGliL2xpYmMvc3RkaW8vdnNucHJpbnRmLmMKaW5kZXggNWM2MTdhOGEzLi5kMWEy OGFkODEgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL3ZzbnByaW50Zi5jCisrKyBi L25ld2xpYi9saWJjL3N0ZGlvL3ZzbnByaW50Zi5jCkBAIC02MCw3ICs2MCw3IEBAIF92c25w cmludGZfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmIChzaXplID4gSU5UX01BWCkK ICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9fZXJybm9f cihwdHIpID0gRU9WRVJGTE9XOwogICAgICAgcmV0dXJuIEVPRjsKICAgICB9CiAgIGYuX2Zs YWdzID0gX19TV1IgfCBfX1NTVFI7CkBAIC02OSw3ICs2OSw3IEBAIF92c25wcmludGZfciAo c3RydWN0IF9yZWVudCAqcHRyLAogICBmLl9maWxlID0gLTE7ICAvKiBObyBmaWxlLiAqLwog ICByZXQgPSBfc3ZmcHJpbnRmX3IgKHB0ciwgJmYsIGZtdCwgYXApOwogICBpZiAocmV0IDwg RU9GKQotICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgIF9fZXJybm9fcihwdHIp ID0gRU9WRVJGTE9XOwogICBpZiAoc2l6ZSA+IDApCiAgICAgKmYuX3AgPSAwOwogICByZXR1 cm4gcmV0OwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdnN3cHJpbnRmLmMgYi9u ZXdsaWIvbGliYy9zdGRpby92c3dwcmludGYuYwppbmRleCA4OTc5NWVkOGQuLjkxNGIzNjVh MiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vdnN3cHJpbnRmLmMKKysrIGIvbmV3 bGliL2xpYmMvc3RkaW8vdnN3cHJpbnRmLmMKQEAgLTQyLDcgKzQyLDcgQEAgX3Zzd3ByaW50 Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgaWYgKHNpemUgPiBJTlRfTUFYIC8gc2l6 ZW9mICh3Y2hhcl90KSkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsJ LyogUE9TSVggZXh0ZW5zaW9uICovCisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVPVkVSRkxP VzsJLyogUE9TSVggZXh0ZW5zaW9uICovCiAgICAgICByZXR1cm4gRU9GOwogICAgIH0KICAg Zi5fZmxhZ3MgPSBfX1NXUiB8IF9fU1NUUjsKQEAgLTYwLDcgKzYwLDcgQEAgX3Zzd3ByaW50 Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgLyogX3N2ZndwcmludGZfcigpIHJldHVy bnMgaG93IG1hbnkgd2lkZSBjaGFyYWN0ZXJzIGl0IHdvdWxkIGhhdmUgcHJpbnRlZAogICAg ICAqIGlmIHRoZXJlIHdlcmUgZW5vdWdoIHNwYWNlLiAgUmV0dXJuIGFuIGVycm9yIGlmIHRv byBiaWcgdG8gZml0IGluIHN0ciwKICAgICAgKiB1bmxpa2Ugc25wcmludGYsIHdoaWNoIHJl dHVybnMgdGhlIHNpemUgbmVlZGVkLiAgKi8KLSAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxP VzsJLyogUE9TSVggZXh0ZW5zaW9uICovCisgICAgX19lcnJub19yKHB0cikgPSBFT1ZFUkZM T1c7CS8qIFBPU0lYIGV4dGVuc2lvbiAqLwogICAgIHJldCA9IC0xOwogICB9CiAgIHJldHVy biByZXQ7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby93c2V0dXAuYyBiL25ld2xp Yi9saWJjL3N0ZGlvL3dzZXR1cC5jCmluZGV4IDZhODIwZjFjMC4uNmU2NTE5NzY3IDEwMDY0 NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby93c2V0dXAuYworKysgYi9uZXdsaWIvbGliYy9z dGRpby93c2V0dXAuYwpAQCAtNDUsNyArNDUsNyBAQCBfX3N3c2V0dXBfciAoc3RydWN0IF9y ZWVudCAqcHRyLAogICAgIHsKICAgICAgIGlmICgoZnAtPl9mbGFncyAmIF9fU1JXKSA9PSAw KQogICAgICAgICB7Ci0JICBwdHItPl9lcnJubyA9IEVCQURGOworCSAgX19lcnJub19yKHB0 cikgPSBFQkFERjsKIAkgIGZwLT5fZmxhZ3MgfD0gX19TRVJSOwogCSAgcmV0dXJuIEVPRjsK ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW82NC9mZG9wZW42NC5j IGIvbmV3bGliL2xpYmMvc3RkaW82NC9mZG9wZW42NC5jCmluZGV4IDlkOTY0NWIzNi4uMzc3 NGM5MTNmIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpbzY0L2Zkb3BlbjY0LmMKKysr IGIvbmV3bGliL2xpYmMvc3RkaW82NC9mZG9wZW42NC5jCkBAIC01NSw3ICs1NSw3IEBAIF9m ZG9wZW42NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGZkbW9kZSA9IGZkZmxhZ3MgJiBP X0FDQ01PREU7CiAgIGlmIChmZG1vZGUgIT0gT19SRFdSICYmIChmZG1vZGUgIT0gKG9mbGFn cyAmIE9fQUNDTU9ERSkpKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUJBREY7Cisg ICAgICBfX2Vycm5vX3IocHRyKSA9IEVCQURGOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQog I2VuZGlmCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpbzY0L2ZyZW9wZW42NC5jIGIv bmV3bGliL2xpYmMvc3RkaW82NC9mcmVvcGVuNjQuYwppbmRleCBlNmJhNjRmN2QuLjViNDg5 OWY2NyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW82NC9mcmVvcGVuNjQuYworKysg Yi9uZXdsaWIvbGliYy9zdGRpbzY0L2ZyZW9wZW42NC5jCkBAIC0xMzgsNyArMTM4LDcgQEAg X2ZyZW9wZW42NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGlmIChmaWxlICE9IE5VTEwp CiAgICAgewogICAgICAgZiA9IF9vcGVuNjRfciAocHRyLCAoY2hhciAqKSBmaWxlLCBvZmxh Z3MsIDA2NjYpOwotICAgICAgZSA9IHB0ci0+X2Vycm5vOworICAgICAgZSA9IF9fZXJybm9f cihwdHIpOwogICAgIH0KICAgZWxzZQogICAgIHsKQEAgLTIwNiw3ICsyMDYsNyBAQCBfZnJl b3BlbjY0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICB7CQkJCS8qIGRpZCBub3QgZ2V0 IGl0IGFmdGVyIGFsbCAqLwogICAgICAgX19zZnBfbG9ja19hY3F1aXJlICgpOwogICAgICAg ZnAtPl9mbGFncyA9IDA7CQkvKiBzZXQgaXQgZnJlZSAqLwotICAgICAgcHRyLT5fZXJybm8g PSBlOwkJLyogcmVzdG9yZSBpbiBjYXNlIF9jbG9zZSBjbG9iYmVyZWQgKi8KKyAgICAgIF9f ZXJybm9fcihwdHIpID0gZTsJCS8qIHJlc3RvcmUgaW4gY2FzZSBfY2xvc2UgY2xvYmJlcmVk ICovCiAgICAgICBpZiAoIShvZmxhZ3MyICYgX19TTkxLKSkKIAlfZnVubG9ja2ZpbGUgKGZw KTsKICNpZm5kZWYgX19TSU5HTEVfVEhSRUFEX18KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3N0ZGlvNjQvZnNlZWtvNjQuYyBiL25ld2xpYi9saWJjL3N0ZGlvNjQvZnNlZWtvNjQuYwpp bmRleCAzMDg3YmVmOWUuLjA1MTBlMzU4MiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3Rk aW82NC9mc2Vla282NC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvNjQvZnNlZWtvNjQuYwpA QCAtMTAyLDcgKzEwMiw3IEBAIF9mc2Vla282NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAg ICAgewogICAgICAgaWYgKChfb2ZmX3QpIG9mZnNldCAhPSBvZmZzZXQpCiAJewotCSAgcHRy LT5fZXJybm8gPSBFT1ZFUkZMT1c7CisJICBfX2Vycm5vX3IocHRyKSA9IEVPVkVSRkxPVzsK IAkgIHJldHVybiBFT0Y7CiAJfQogICAgICAgcmV0dXJuIChfb2ZmNjRfdCkgX2ZzZWVrb19y IChwdHIsIGZwLCBvZmZzZXQsIHdoZW5jZSk7CkBAIC0xMjksNyArMTI5LDcgQEAgX2ZzZWVr bzY0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBpZiAoKHNlZWtmbiA9IGZwLT5fc2Vl azY0KSA9PSBOVUxMKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRVNQSVBFOwkvKiA/ Pz8gKi8KKyAgICAgIF9fZXJybm9fcihwdHIpID0gRVNQSVBFOwkvKiA/Pz8gKi8KICAgICAg IF9uZXdsaWJfZmxvY2tmaWxlX2V4aXQoZnApOwogICAgICAgcmV0dXJuIEVPRjsKICAgICB9 CkBAIC0xNzksNyArMTc5LDcgQEAgX2ZzZWVrbzY0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwK ICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlO VkFMOworICAgICAgX19lcnJub19yKHB0cikgPSBFSU5WQUw7CiAgICAgICBfbmV3bGliX2Zs b2NrZmlsZV9leGl0KGZwKTsKICAgICAgIHJldHVybiAoRU9GKTsKICAgICB9CmRpZmYgLS1n aXQgYS9uZXdsaWIvbGliYy9zdGRpbzY0L2Z0ZWxsbzY0LmMgYi9uZXdsaWIvbGliYy9zdGRp bzY0L2Z0ZWxsbzY0LmMKaW5kZXggNmZiNzZjM2VmLi45N2M3ZTk2YjggMTAwNjQ0Ci0tLSBh L25ld2xpYi9saWJjL3N0ZGlvNjQvZnRlbGxvNjQuYworKysgYi9uZXdsaWIvbGliYy9zdGRp bzY0L2Z0ZWxsbzY0LmMKQEAgLTkzLDcgKzkzLDcgQEAgX2Z0ZWxsbzY0X3IgKHN0cnVjdCBf cmVlbnQgKnB0ciwKIAogICBpZiAoZnAtPl9zZWVrNjQgPT0gTlVMTCkKICAgICB7Ci0gICAg ICBwdHItPl9lcnJubyA9IEVTUElQRTsKKyAgICAgIF9fZXJybm9fcihwdHIpID0gRVNQSVBF OwogICAgICAgX25ld2xpYl9mbG9ja2ZpbGVfZXhpdChmcCk7CiAgICAgICByZXR1cm4gKF9v ZmY2NF90KSAtMTsKICAgICB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpbzY0L3Rt cGZpbGU2NC5jIGIvbmV3bGliL2xpYmMvc3RkaW82NC90bXBmaWxlNjQuYwppbmRleCAxOGEz OGQ2NWMuLmQ4ZmU1NTYwNSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW82NC90bXBm aWxlNjQuYworKysgYi9uZXdsaWIvbGliYy9zdGRpbzY0L3RtcGZpbGU2NC5jCkBAIC02OCwx NSArNjgsMTUgQEAgX3RtcGZpbGU2NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIpCiAgICAgICBm ZCA9IF9vcGVuNjRfciAocHRyLCBmLCBPX1JEV1IgfCBPX0NSRUFUIHwgT19FWENMIHwgT19C SU5BUlksCiAJCSAgICAgIFNfSVJVU1IgfCBTX0lXVVNSKTsKICAgfQotICB3aGlsZSAoZmQg PCAwICYmIHB0ci0+X2Vycm5vID09IEVFWElTVCk7CisgIHdoaWxlIChmZCA8IDAgJiYgX19l cnJub19yKHB0cikgPT0gRUVYSVNUKTsKICAgaWYgKGZkIDwgMCkKICAgICByZXR1cm4gTlVM TDsKICAgZnAgPSBfZmRvcGVuNjRfciAocHRyLCBmZCwgIndiKyIpOwotICBlID0gcHRyLT5f ZXJybm87CisgIGUgPSBfX2Vycm5vX3IocHRyKTsKICAgaWYgKCFmcCkKICAgICBfY2xvc2Vf ciAocHRyLCBmZCk7CiAgICh2b2lkKSBfcmVtb3ZlX3IgKHB0ciwgZik7Ci0gIHB0ci0+X2Vy cm5vID0gZTsKKyAgX19lcnJub19yKHB0cikgPSBlOwogICByZXR1cm4gZnA7CiB9CiAKZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi9fX2FkanVzdC5jIGIvbmV3bGliL2xpYmMv c3RkbGliL19fYWRqdXN0LmMKaW5kZXggNGM0NzhmMzBiLi45YjM4ZThkM2UgMTAwNjQ0Ci0t LSBhL25ld2xpYi9saWJjL3N0ZGxpYi9fX2FkanVzdC5jCisrKyBiL25ld2xpYi9saWJjL3N0 ZGxpYi9fX2FkanVzdC5jCkBAIC0yMSwxMiArMjEsMTIgQEAgX19hZGp1c3QgKHN0cnVjdCBf cmVlbnQgKnB0ciwKIAogICBpZiAoZGV4cCA+IE1BWEUpCiAgICAgewotICAgICAgcHRyLT5f ZXJybm8gPSBFUkFOR0U7CisgICAgICBfX2Vycm5vX3IocHRyKSA9IEVSQU5HRTsKICAgICAg IHJldHVybiAoc2lnbikgPyAtSFVHRV9WQUwgOiBIVUdFX1ZBTDsKICAgICB9CiAgIGVsc2Ug aWYgKGRleHAgPCBNSU5FKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRVJBTkdFOwor ICAgICAgX19lcnJub19yKHB0cikgPSBFUkFOR0U7CiAgICAgICByZXR1cm4gMC4wOwogICAg IH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL21icnRvd2MuYyBiL25ld2xp Yi9saWJjL3N0ZGxpYi9tYnJ0b3djLmMKaW5kZXggNjUyODRhMGViLi5iNDNkOGVhNmEgMTAw NjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi9tYnJ0b3djLmMKKysrIGIvbmV3bGliL2xp YmMvc3RkbGliL21icnRvd2MuYwpAQCAtMzIsNyArMzIsNyBAQCBfbWJydG93Y19yIChzdHJ1 Y3QgX3JlZW50ICpwdHIsCiAgIGlmIChyZXR2YWwgPT0gLTEpCiAgICAgewogICAgICAgcHMt Pl9fY291bnQgPSAwOwotICAgICAgcHRyLT5fZXJybm8gPSBFSUxTRVE7CisgICAgICBfX2Vy cm5vX3IocHRyKSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAoc2l6ZV90KSgtMSk7CiAgICAg fQogICBlbHNlCkBAIC02OCw3ICs2OCw3IEBAIG1icnRvd2MgKHdjaGFyX3QgKl9fcmVzdHJp Y3QgcHdjLAogICBpZiAocmV0dmFsID09IC0xKQogICAgIHsKICAgICAgIHBzLT5fX2NvdW50 ID0gMDsKLSAgICAgIHJlZW50LT5fZXJybm8gPSBFSUxTRVE7CisgICAgICBfX2Vycm5vX3Io cmVlbnQpID0gRUlMU0VROwogICAgICAgcmV0dXJuIChzaXplX3QpKC0xKTsKICAgICB9CiAg IGVsc2UKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi9tYnNucnRvd2NzLmMgYi9u ZXdsaWIvbGliYy9zdGRsaWIvbWJzbnJ0b3djcy5jCmluZGV4IGQzY2UyNTA4NC4uZTQyMjFk NzVlIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvbWJzbnJ0b3djcy5jCisrKyBi L25ld2xpYi9saWJjL3N0ZGxpYi9tYnNucnRvd2NzLmMKQEAgLTEyNiw3ICsxMjYsNyBAQCBf bWJzbnJ0b3djc19yIChzdHJ1Y3QgX3JlZW50ICpyLAogICAgICAgZWxzZQogCXsKIAkgIHBz LT5fX2NvdW50ID0gMDsKLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9fZXJybm9fcihy KSA9IEVJTFNFUTsKIAkgIHJldHVybiAoc2l6ZV90KS0xOwogCX0KICAgICB9CmRpZmYgLS1n aXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvbWJ0b3djX3IuYyBiL25ld2xpYi9saWJjL3N0ZGxp Yi9tYnRvd2Nfci5jCmluZGV4IDkyMGE3ZWEzYy4uZWI1MGZhNmRhIDEwMDY0NAotLS0gYS9u ZXdsaWIvbGliYy9zdGRsaWIvbWJ0b3djX3IuYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIv bWJ0b3djX3IuYwpAQCAtMzksNyArMzksNyBAQCBfX2FzY2lpX21idG93YyAoc3RydWN0IF9y ZWVudCAqciwKICNpZmRlZiBfX0NZR1dJTl9fCiAgIGlmICgod2NoYXJfdCkqdCA+PSAweDgw KQogICAgIHsKLSAgICAgIHItPl9lcnJubyA9IEVJTFNFUTsKKyAgICAgIF9fZXJybm9fcihy KSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAjZW5kaWYKQEAgLTExNyw3 ICsxMTcsNyBAQCBfX19pc29fbWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLCB3Y2hhcl90ICpw d2MsIGNvbnN0IGNoYXIgKnMsIHNpemVfdCBuLAogCSAgKnB3YyA9IF9faXNvXzg4NTlfY29u dltpc29faWR4XVsqdCAtIDB4YTBdOwogCSAgaWYgKCpwd2MgPT0gMCkgLyogSW52YWxpZCBj aGFyYWN0ZXIgKi8KIAkgICAgewotCSAgICAgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgICAg ICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAJICAgICAgcmV0dXJuIC0xOwogCSAgICB9CiAJ ICByZXR1cm4gMTsKQEAgLTI5MCw3ICsyOTAsNyBAQCBfX19jcF9tYnRvd2MgKHN0cnVjdCBf cmVlbnQgKnIsIHdjaGFyX3QgKnB3YywgY29uc3QgY2hhciAqcywgc2l6ZV90IG4sCiAJICAq cHdjID0gX19jcF9jb252W2NwX2lkeF1bKnQgLSAweDgwXTsKIAkgIGlmICgqcHdjID09IDAp IC8qIEludmFsaWQgY2hhcmFjdGVyICovCiAJICAgIHsKLQkgICAgICByLT5fZXJybm8gPSBF SUxTRVE7CisJICAgICAgX19lcnJub19yKHIpID0gRUlMU0VROwogCSAgICAgIHJldHVybiAt MTsKIAkgICAgfQogCSAgcmV0dXJuIDE7CkBAIC01NzgsMTMgKzU3OCwxMyBAQCBfX3V0Zjhf bWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLAogICAgICAgY2ggPSB0W2krK107CiAgICAgICBp ZiAoY2ggPCAweDgwIHx8IGNoID4gMHhiZikKIAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7 CisJICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJfQogICAgICAg aWYgKHN0YXRlLT5fX3ZhbHVlLl9fd2NoYlswXSA8IDB4YzIpCiAJewogCSAgLyogb3Zlcmxv bmcgVVRGLTggc2VxdWVuY2UgKi8KLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9fZXJy bm9fcihyKSA9IEVJTFNFUTsKIAkgIHJldHVybiAtMTsKIAl9CiAgICAgICBzdGF0ZS0+X19j b3VudCA9IDA7CkBAIC02MDcsMTIgKzYwNywxMiBAQCBfX3V0ZjhfbWJ0b3djIChzdHJ1Y3Qg X3JlZW50ICpyLAogICAgICAgaWYgKHN0YXRlLT5fX3ZhbHVlLl9fd2NoYlswXSA9PSAweGUw ICYmIGNoIDwgMHhhMCkKIAl7CiAJICAvKiBvdmVybG9uZyBVVEYtOCBzZXF1ZW5jZSAqLwot CSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX19lcnJub19yKHIpID0gRUlMU0VROwogCSAg cmV0dXJuIC0xOwogCX0KICAgICAgIGlmIChjaCA8IDB4ODAgfHwgY2ggPiAweGJmKQogCXsK LQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9fZXJybm9fcihyKSA9IEVJTFNFUTsKIAkg IHJldHVybiAtMTsKIAl9CiAgICAgICBzdGF0ZS0+X192YWx1ZS5fX3djaGJbMV0gPSBjaDsK QEAgLTYyNSw3ICs2MjUsNyBAQCBfX3V0ZjhfbWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLAog ICAgICAgY2ggPSB0W2krK107CiAgICAgICBpZiAoY2ggPCAweDgwIHx8IGNoID4gMHhiZikK IAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7CisJICBfX2Vycm5vX3IocikgPSBFSUxTRVE7 CiAJICByZXR1cm4gLTE7CiAJfQogICAgICAgc3RhdGUtPl9fY291bnQgPSAwOwpAQCAtNjUx LDEyICs2NTEsMTIgQEAgX191dGY4X21idG93YyAoc3RydWN0IF9yZWVudCAqciwKIAkgIHx8 IChzdGF0ZS0+X192YWx1ZS5fX3djaGJbMF0gPT0gMHhmNCAmJiBjaCA+PSAweDkwKSkKIAl7 CiAJICAvKiBvdmVybG9uZyBVVEYtOCBzZXF1ZW5jZSBvciByZXN1bHQgaXMgPiAweDEwZmZm ZiAqLwotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX19lcnJub19yKHIpID0gRUlMU0VR OwogCSAgcmV0dXJuIC0xOwogCX0KICAgICAgIGlmIChjaCA8IDB4ODAgfHwgY2ggPiAweGJm KQogCXsKLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9fZXJybm9fcihyKSA9IEVJTFNF UTsKIAkgIHJldHVybiAtMTsKIAl9CiAgICAgICBzdGF0ZS0+X192YWx1ZS5fX3djaGJbMV0g PSBjaDsKQEAgLTY2OSw3ICs2NjksNyBAQCBfX3V0ZjhfbWJ0b3djIChzdHJ1Y3QgX3JlZW50 ICpyLAogICAgICAgY2ggPSAoc3RhdGUtPl9fY291bnQgPT0gMikgPyB0W2krK10gOiBzdGF0 ZS0+X192YWx1ZS5fX3djaGJbMl07CiAgICAgICBpZiAoY2ggPCAweDgwIHx8IGNoID4gMHhi ZikKIAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7CisJICBfX2Vycm5vX3IocikgPSBFSUxT RVE7CiAJICByZXR1cm4gLTE7CiAJfQogICAgICAgc3RhdGUtPl9fdmFsdWUuX193Y2hiWzJd ID0gY2g7CkBAIC03MDIsNyArNzAyLDcgQEAgX191dGY4X21idG93YyAoc3RydWN0IF9yZWVu dCAqciwKICAgICAgIGNoID0gdFtpKytdOwogICAgICAgaWYgKGNoIDwgMHg4MCB8fCBjaCA+ IDB4YmYpCiAJewotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX19lcnJub19yKHIpID0g RUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KICAgICAgIHRtcCA9ICh3aW50X3QpKChzdGF0 ZS0+X192YWx1ZS5fX3djaGJbMF0gJiAweDA3KSA8PCAxOCkKQEAgLTcxOSw3ICs3MTksNyBA QCBfX3V0ZjhfbWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLAogICAgICAgcmV0dXJuIGk7CiAg ICAgfQogCi0gIHItPl9lcnJubyA9IEVJTFNFUTsKKyAgX19lcnJub19yKHIpID0gRUlMU0VR OwogICByZXR1cm4gLTE7CiB9CiAKQEAgLTc2OSw3ICs3NjksNyBAQCBfX3NqaXNfbWJ0b3dj IChzdHJ1Y3QgX3JlZW50ICpyLAogCX0KICAgICAgIGVsc2UgIAogCXsKLQkgIHItPl9lcnJu byA9IEVJTFNFUTsKKwkgIF9fZXJybm9fcihyKSA9IEVJTFNFUTsKIAkgIHJldHVybiAtMTsK IAl9CiAgICAgfQpAQCAtODM2LDcgKzgzNiw3IEBAIF9fZXVjanBfbWJ0b3djIChzdHJ1Y3Qg X3JlZW50ICpyLAogCX0KICAgICAgIGVsc2UKIAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7 CisJICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJfQogICAgIH0K QEAgLTg1MSw3ICs4NTEsNyBAQCBfX2V1Y2pwX21idG93YyAoc3RydWN0IF9yZWVudCAqciwK IAl9CiAgICAgICBlbHNlCiAJewotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX19lcnJu b19yKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KICAgICB9CkBAIC05NTUsNyAr OTU1LDcgQEAgX19qaXNfbWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLAogCSAgYnJlYWs7CiAJ Y2FzZSBFUlJPUjoKIAlkZWZhdWx0OgotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX19l cnJub19yKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KIApkaWZmIC0tZ2l0IGEv bmV3bGliL2xpYmMvc3RkbGliL3N0cnRvZC5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRv ZC5jCmluZGV4IGNkMDIyMjQ4MS4uOTFmYzc1NmQxIDEwMDY0NAotLS0gYS9uZXdsaWIvbGli Yy9zdGRsaWIvc3RydG9kLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvZC5jCkBA IC01OTUsNyArNTk1LDcgQEAgX3N0cnRvZF9sIChzdHJ1Y3QgX3JlZW50ICpwdHIsIGNvbnN0 IGNoYXIgKl9fcmVzdHJpY3QgczAwLCBjaGFyICoqX19yZXN0cmljdCBzZSwKIAkJCWlmIChl MSA+IERCTF9NQVhfMTBfRVhQKSB7CiAgb3ZmbDoKICNpZm5kZWYgTk9fRVJSTk8KLQkJCQlw dHItPl9lcnJubyA9IEVSQU5HRTsKKwkJCQlfX2Vycm5vX3IocHRyKSA9IEVSQU5HRTsKICNl bmRpZgogCQkJCS8qIENhbid0IHRydXN0IEhVR0VfVkFMICovCiAjaWZkZWYgSUVFRV9Bcml0 aApAQCAtNzAyLDcgKzcwMiw3IEBAIF9zdHJ0b2RfbCAoc3RydWN0IF9yZWVudCAqcHRyLCBj b25zdCBjaGFyICpfX3Jlc3RyaWN0IHMwMCwgY2hhciAqKl9fcmVzdHJpY3Qgc2UsCiAgdW5k Zmw6CiAJCQkJCWR2YWwocnYpID0gMC47CiAjaWZuZGVmIE5PX0VSUk5PCi0JCQkJCXB0ci0+ X2Vycm5vID0gRVJBTkdFOworCQkJCQlfX2Vycm5vX3IocHRyKSA9IEVSQU5HRTsKICNlbmRp ZgogCQkJCQlpZiAoYmQwKQogCQkJCQkJZ290byByZXRmcmVlOwpAQCAtMTI0OSw3ICsxMjQ5 LDcgQEAgX3N0cnRvZF9sIChzdHJ1Y3QgX3JlZW50ICpwdHIsIGNvbnN0IGNoYXIgKl9fcmVz dHJpY3QgczAwLCBjaGFyICoqX19yZXN0cmljdCBzZSwKICNpZm5kZWYgTk9fRVJSTk8KIAkJ LyogdHJ5IHRvIGF2b2lkIHRoZSBidWcgb2YgdGVzdGluZyBhbiA4MDg3IHJlZ2lzdGVyIHZh bHVlICovCiAJCWlmICgoZHdvcmQwKHJ2KSAmIEV4cF9tYXNrKSA9PSAwKQotCQkJcHRyLT5f ZXJybm8gPSBFUkFOR0U7CisJCQlfX2Vycm5vX3IocHRyKSA9IEVSQU5HRTsKICNlbmRpZgog CQl9CiAjZW5kaWYgLyogQXZvaWRfVW5kZXJmbG93ICovCkBAIC0xMzAzLDcgKzEzMDMsNyBA QCBzdHJ0b2ZfbCAoY29uc3QgY2hhciAqX19yZXN0cmljdCBzMDAsIGNoYXIgKipfX3Jlc3Ry aWN0IHNlLCBsb2NhbGVfdCBsb2MpCiAgIGZsb2F0IHJldHZhbCA9IChmbG9hdCkgdmFsOwog I2lmbmRlZiBOT19FUlJOTwogICBpZiAoaXNpbmYgKHJldHZhbCkgJiYgIWlzaW5mICh2YWwp KQotICAgIF9SRUVOVC0+X2Vycm5vID0gRVJBTkdFOworICAgIF9fZXJybm9fcihfUkVFTlQp ID0gRVJBTkdFOwogI2VuZGlmCiAgIHJldHVybiByZXR2YWw7CiB9CkBAIC0xMzQwLDcgKzEz NDAsNyBAQCBzdHJ0b2YgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgczAwLAogICBmbG9hdCBy ZXR2YWwgPSAoZmxvYXQpIHZhbDsKICNpZm5kZWYgTk9fRVJSTk8KICAgaWYgKChpc2luZiAo cmV0dmFsKSAmJiAhaXNpbmYgKHZhbCkpIHx8IChpc2Rlbm9ybWYocmV0dmFsKSAmJiAhaXNk ZW5vcm0odmFsKSkpCi0gICAgX1JFRU5ULT5fZXJybm8gPSBFUkFOR0U7CisgICAgX19lcnJu b19yKF9SRUVOVCkgPSBFUkFOR0U7CiAjZW5kaWYKICAgcmV0dXJuIHJldHZhbDsKIH0KZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2ltYXguYyBiL25ld2xpYi9saWJj L3N0ZGxpYi9zdHJ0b2ltYXguYwppbmRleCBjM2YyN2RmMmUuLjVhZWQwOTVhZiAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvaW1heC5jCisrKyBiL25ld2xpYi9saWJj L3N0ZGxpYi9zdHJ0b2ltYXguYwpAQCAtMTM2LDEwICsxMzYsMTAgQEAgX3N0cnRvaW1heF9s KHN0cnVjdCBfcmVlbnQgKnJwdHIsIGNvbnN0IGNoYXIgKiBfX3Jlc3RyaWN0IG5wdHIsCiAJ fQogCWlmIChhbnkgPCAwKSB7CiAJCWFjYyA9IG5lZyA/IElOVE1BWF9NSU4gOiBJTlRNQVhf TUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJCV9fZXJybm9fcihycHRyKSA9IEVS QU5HRTsKIAl9IGVsc2UgaWYgKCFhbnkpIHsKIG5vY29udjoKLQkJcnB0ci0+X2Vycm5vID0g RUlOVkFMOworCQlfX2Vycm5vX3IocnB0cikgPSBFSU5WQUw7CiAJfSBlbHNlIGlmIChuZWcp CiAJCWFjYyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAhPSBOVUxMKQpkaWZmIC0tZ2l0IGEvbmV3 bGliL2xpYmMvc3RkbGliL3N0cnRvbC5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvbC5j CmluZGV4IDYzODNjMjdlOC4uOGFmMDdjNGRhIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9z dGRsaWIvc3RydG9sLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvbC5jCkBAIC0y MDQsNyArMjA0LDcgQEAgX3N0cnRvbF9sIChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCBj aGFyICpfX3Jlc3RyaWN0IG5wdHIsCiAJfQogCWlmIChhbnkgPCAwKSB7CiAJCWFjYyA9IG5l ZyA/IExPTkdfTUlOIDogTE9OR19NQVg7Ci0JCXJwdHItPl9lcnJubyA9IEVSQU5HRTsKKwkJ X19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogCX0gZWxzZSBpZiAobmVnKQogCQlhY2MgPSAt YWNjOwogCWlmIChlbmRwdHIgIT0gMCkKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxp Yi9zdHJ0b2xsLmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG9sbC5jCmluZGV4IDlhYTJj NzQ3Yi4uNWQ4N2U2NTkzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG9s bC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2xsLmMKQEAgLTIwMSw3ICsyMDEs NyBAQCBfc3RydG9sbF9sIChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCBjaGFyICpfX3Jl c3RyaWN0IG5wdHIsCiAJfQogCWlmIChhbnkgPCAwKSB7CiAJCWFjYyA9IG5lZyA/IExPTkdf TE9OR19NSU4gOiBMT05HX0xPTkdfTUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJ CV9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKG5lZykKIAkJYWNjID0g LWFjYzsKIAlpZiAoZW5kcHRyICE9IDApCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRs aWIvc3RydG91bC5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvdWwuYwppbmRleCA0MTkx ZTQzZWMuLmFjY2QyODUyZCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRv dWwuYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG91bC5jCkBAIC0xNzgsNyArMTc4 LDcgQEAgX3N0cnRvdWxfbCAoc3RydWN0IF9yZWVudCAqcnB0ciwgY29uc3QgY2hhciAqX19y ZXN0cmljdCBucHRyLAogCX0KIAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBVTE9OR19NQVg7 Ci0JCXJwdHItPl9lcnJubyA9IEVSQU5HRTsKKwkJX19lcnJub19yKHJwdHIpID0gRVJBTkdF OwogCX0gZWxzZSBpZiAobmVnKQogCQlhY2MgPSAtYWNjOwogCWlmIChlbmRwdHIgIT0gMCkK ZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsbC5jIGIvbmV3bGliL2xp YmMvc3RkbGliL3N0cnRvdWxsLmMKaW5kZXggMTAwMThjYTBkLi4yYzgwMDBhNjUgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsbC5jCisrKyBiL25ld2xpYi9saWJj L3N0ZGxpYi9zdHJ0b3VsbC5jCkBAIC0xNzYsNyArMTc2LDcgQEAgX3N0cnRvdWxsX2wgKHN0 cnVjdCBfcmVlbnQgKnJwdHIsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgbnB0ciwKIAl9CiAJ aWYgKGFueSA8IDApIHsKIAkJYWNjID0gVUxPTkdfTE9OR19NQVg7Ci0JCXJwdHItPl9lcnJu byA9IEVSQU5HRTsKKwkJX19lcnJub19yKHJwdHIpID0gRVJBTkdFOwogCX0gZWxzZSBpZiAo bmVnKQogCQlhY2MgPSAtYWNjOwogCWlmIChlbmRwdHIgIT0gMCkKZGlmZiAtLWdpdCBhL25l d2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VtYXguYyBiL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0 b3VtYXguYwppbmRleCBjZjFhNDI3ZmUuLjU3NjI5ZWIwMyAxMDA2NDQKLS0tIGEvbmV3bGli L2xpYmMvc3RkbGliL3N0cnRvdW1heC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0 b3VtYXguYwpAQCAtMTE1LDEwICsxMTUsMTAgQEAgX3N0cnRvdW1heF9sKHN0cnVjdCBfcmVl bnQgKnJwdHIsIGNvbnN0IGNoYXIgKiBfX3Jlc3RyaWN0IG5wdHIsCiAJfQogCWlmIChhbnkg PCAwKSB7CiAJCWFjYyA9IFVJTlRNQVhfTUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7 CisJCV9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKCFhbnkpIHsKIG5v Y29udjoKLQkJcnB0ci0+X2Vycm5vID0gRUlOVkFMOworCQlfX2Vycm5vX3IocnB0cikgPSBF SU5WQUw7CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFjYyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAh PSBOVUxMKQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3djcnRvbWIuYyBiL25l d2xpYi9saWJjL3N0ZGxpYi93Y3J0b21iLmMKaW5kZXggOTc0MzZjYjc0Li43M2E3NDA0YmUg MTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3J0b21iLmMKKysrIGIvbmV3bGli L2xpYmMvc3RkbGliL3djcnRvbWIuYwpAQCAtMzEsNyArMzEsNyBAQCBfd2NydG9tYl9yIChz dHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGlmIChyZXR2YWwgPT0gLTEpCiAgICAgewogICAgICAg cHMtPl9fY291bnQgPSAwOwotICAgICAgcHRyLT5fZXJybm8gPSBFSUxTRVE7CisgICAgICBf X2Vycm5vX3IocHRyKSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAoc2l6ZV90KSgtMSk7CiAg ICAgfQogICBlbHNlCkBAIC02Nyw3ICs2Nyw3IEBAIHdjcnRvbWIgKGNoYXIgKl9fcmVzdHJp Y3QgcywKICAgaWYgKHJldHZhbCA9PSAtMSkKICAgICB7CiAgICAgICBwcy0+X19jb3VudCA9 IDA7Ci0gICAgICByZWVudC0+X2Vycm5vID0gRUlMU0VROworICAgICAgX19lcnJub19yKHJl ZW50KSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAoc2l6ZV90KSgtMSk7CiAgICAgfQogICBl bHNlCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzbnJ0b21icy5jIGIvbmV3 bGliL2xpYmMvc3RkbGliL3djc25ydG9tYnMuYwppbmRleCA0M2RkMmYzZTYuLmU1OGExYzNi MiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3djc25ydG9tYnMuYworKysgYi9u ZXdsaWIvbGliYy9zdGRsaWIvd2NzbnJ0b21icy5jCkBAIC0xMDQsNyArMTA0LDcgQEAgX3dj c25ydG9tYnNfbCAoc3RydWN0IF9yZWVudCAqciwgY2hhciAqZHN0LCBjb25zdCB3Y2hhcl90 ICoqc3JjLCBzaXplX3QgbndjLAogICAgICAgaW50IGJ5dGVzID0gbG9jLT53Y3RvbWIgKHIs IGJ1ZmYsICpwd2NzLCBwcyk7CiAgICAgICBpZiAoYnl0ZXMgPT0gLTEpCiAJewotCSAgci0+ X2Vycm5vID0gRUlMU0VROworCSAgX19lcnJub19yKHIpID0gRUlMU0VROwogCSAgcHMtPl9f Y291bnQgPSAwOwogCSAgcmV0dXJuIChzaXplX3QpLTE7CiAJfQpkaWZmIC0tZ2l0IGEvbmV3 bGliL2xpYmMvc3RkbGliL3djc3RvZC5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvZC5j CmluZGV4IDM3NWZmZTI4OC4uMTdjNWM0ZThhIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9z dGRsaWIvd2NzdG9kLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvZC5jCkBAIC0y NTcsNyArMjU3LDcgQEAgd2NzdG9mX2wgKGNvbnN0IHdjaGFyX3QgKl9fcmVzdHJpY3QgbnB0 ciwgd2NoYXJfdCAqKl9fcmVzdHJpY3QgZW5kcHRyLAogICBmbG9hdCByZXR2YWwgPSAoZmxv YXQpIHZhbDsKICNpZm5kZWYgTk9fRVJSTk8KICAgaWYgKGlzaW5mIChyZXR2YWwpICYmICFp c2luZiAodmFsKSkKLSAgICBfUkVFTlQtPl9lcnJubyA9IEVSQU5HRTsKKyAgICBfX2Vycm5v X3IoX1JFRU5UKSA9IEVSQU5HRTsKICNlbmRpZgogICByZXR1cm4gcmV0dmFsOwogfQpAQCAt MjcyLDcgKzI3Miw3IEBAIHdjc3RvZiAoY29uc3Qgd2NoYXJfdCAqX19yZXN0cmljdCBucHRy LAogICBmbG9hdCByZXR2YWwgPSAoZmxvYXQpIHZhbDsKICNpZm5kZWYgTk9fRVJSTk8KICAg aWYgKGlzaW5mIChyZXR2YWwpICYmICFpc2luZiAodmFsKSkKLSAgICBfUkVFTlQtPl9lcnJu byA9IEVSQU5HRTsKKyAgICBfX2Vycm5vX3IoX1JFRU5UKSA9IEVSQU5HRTsKICNlbmRpZgog CiAgIHJldHVybiByZXR2YWw7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvd2Nz dG9pbWF4LmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9pbWF4LmMKaW5kZXggMDJhYjFj MWY0Li4yNTQyMDQ4Y2EgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2lt YXguYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9pbWF4LmMKQEAgLTEyMiwxMCAr MTIyLDEwIEBAIF93Y3N0b2ltYXhfbChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCB3Y2hh cl90ICogX19yZXN0cmljdCBucHRyLAogCX0KIAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBu ZWcgPyBJTlRNQVhfTUlOIDogSU5UTUFYX01BWDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdF OworCQlfX2Vycm5vX3IocnB0cikgPSBFUkFOR0U7CiAJfSBlbHNlIGlmICghYW55KSB7CiBu b2NvbnY6Ci0JCXJwdHItPl9lcnJubyA9IEVJTlZBTDsKKwkJX19lcnJub19yKHJwdHIpID0g RUlOVkFMOwogCX0gZWxzZSBpZiAobmVnKQogCQlhY2MgPSAtYWNjOwogCWlmIChlbmRwdHIg IT0gTlVMTCkKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2wuYyBiL25l d2xpYi9saWJjL3N0ZGxpYi93Y3N0b2wuYwppbmRleCA4YjZkZTM4NzMuLmNhZmM2MDljOCAx MDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvbC5jCisrKyBiL25ld2xpYi9s aWJjL3N0ZGxpYi93Y3N0b2wuYwpAQCAtMjAwLDcgKzIwMCw3IEBAIF93Y3N0b2xfbCAoc3Ry dWN0IF9yZWVudCAqcnB0ciwgY29uc3Qgd2NoYXJfdCAqbnB0ciwgd2NoYXJfdCAqKmVuZHB0 ciwKIAl9CiAJaWYgKGFueSA8IDApIHsKIAkJYWNjID0gbmVnID8gTE9OR19NSU4gOiBMT05H X01BWDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfX2Vycm5vX3IocnB0cikgPSBF UkFOR0U7CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFjYyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAh PSAwKQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvbGwuYyBiL25ld2xp Yi9saWJjL3N0ZGxpYi93Y3N0b2xsLmMKaW5kZXggYzBlNWRjNzQ3Li43OWY0ZDhmOTQgMTAw NjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xsLmMKKysrIGIvbmV3bGliL2xp YmMvc3RkbGliL3djc3RvbGwuYwpAQCAtMjAwLDcgKzIwMCw3IEBAIF93Y3N0b2xsX2wgKHN0 cnVjdCBfcmVlbnQgKnJwdHIsIGNvbnN0IHdjaGFyX3QgKm5wdHIsIHdjaGFyX3QgKiplbmRw dHIsCiAJfQogCWlmIChhbnkgPCAwKSB7CiAJCWFjYyA9IG5lZyA/IExPTkdfTE9OR19NSU4g OiBMT05HX0xPTkdfTUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJCV9fZXJybm9f cihycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKG5lZykKIAkJYWNjID0gLWFjYzsKIAlp ZiAoZW5kcHRyICE9IDApCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91 bC5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvdWwuYwppbmRleCBmZTNjODc4NjcuLjI3 ZjZmNTJiNiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvdWwuYworKysg Yi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91bC5jCkBAIC0xNzksNyArMTc5LDcgQEAgX3dj c3RvdWxfbCAoc3RydWN0IF9yZWVudCAqcnB0ciwgY29uc3Qgd2NoYXJfdCAqbnB0ciwgd2No YXJfdCAqKmVuZHB0ciwKIAl9CiAJaWYgKGFueSA8IDApIHsKIAkJYWNjID0gVUxPTkdfTUFY OwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJCV9fZXJybm9fcihycHRyKSA9IEVSQU5H RTsKIAl9IGVsc2UgaWYgKG5lZykKIAkJYWNjID0gLWFjYzsKIAlpZiAoZW5kcHRyICE9IDAp CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91bGwuYyBiL25ld2xpYi9s aWJjL3N0ZGxpYi93Y3N0b3VsbC5jCmluZGV4IDVhYzMyNTc5MC4uNGYwMmM3NDgyIDEwMDY0 NAotLS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91bGwuYworKysgYi9uZXdsaWIvbGli Yy9zdGRsaWIvd2NzdG91bGwuYwpAQCAtMTUwLDcgKzE1MCw3IEBAIF93Y3N0b3VsbF9sIChz dHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCB3Y2hhcl90ICpucHRyLCB3Y2hhcl90ICoqZW5k cHRyLAogCXJlZ2lzdGVyIGludCBuZWcgPSAwLCBhbnksIGN1dGxpbTsKIAogCWlmKGJhc2Ug PCAwICB8fCAgYmFzZSA9PSAxICB8fCAgYmFzZSA+IDM2KSAgewotCQlycHRyLT5fZXJybm8g PSBFSU5WQUw7CisJCV9fZXJybm9fcihycHRyKSA9IEVJTlZBTDsKIAkJcmV0dXJuKDBVTEwp OwogCX0KIAkvKgpAQCAtMTk1LDcgKzE5NSw3IEBAIF93Y3N0b3VsbF9sIChzdHJ1Y3QgX3Jl ZW50ICpycHRyLCBjb25zdCB3Y2hhcl90ICpucHRyLCB3Y2hhcl90ICoqZW5kcHRyLAogCX0K IAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBVTExPTkdfTUFYOwotCQlycHRyLT5fZXJybm8g PSBFUkFOR0U7CisJCV9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKG5l ZykKIAkJYWNjID0gLWFjYzsKIAlpZiAoZW5kcHRyICE9IDApCmRpZmYgLS1naXQgYS9uZXds aWIvbGliYy9zdGRsaWIvd2NzdG91bWF4LmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91 bWF4LmMKaW5kZXggMTdiNTI3NWZhLi5kMGE0ZjEwOGIgMTAwNjQ0Ci0tLSBhL25ld2xpYi9s aWJjL3N0ZGxpYi93Y3N0b3VtYXguYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91 bWF4LmMKQEAgLTEyMSwxMCArMTIxLDEwIEBAIF93Y3N0b3VtYXhfbChzdHJ1Y3QgX3JlZW50 ICpycHRyLGNvbnN0IHdjaGFyX3QgKiBfX3Jlc3RyaWN0IG5wdHIsCiAJfQogCWlmIChhbnkg PCAwKSB7CiAJCWFjYyA9IFVJTlRNQVhfTUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7 CisJCV9fZXJybm9fcihycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKCFhbnkpIHsKIG5v Y29udjoKLQkJcnB0ci0+X2Vycm5vID0gRUlOVkFMOworCQlfX2Vycm5vX3IocnB0cikgPSBF SU5WQUw7CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFjYyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAh PSBOVUxMKQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3djdG9tYl9yLmMgYi9u ZXdsaWIvbGliYy9zdGRsaWIvd2N0b21iX3IuYwppbmRleCBiNDc5OTM0MWUuLjA1OWI3NzAz ZiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3djdG9tYl9yLmMKKysrIGIvbmV3 bGliL2xpYmMvc3RkbGliL3djdG9tYl9yLmMKQEAgLTM1LDcgKzM1LDcgQEAgX19hc2NpaV93 Y3RvbWIgKHN0cnVjdCBfcmVlbnQgKnIsCiAgIGlmICgoc2l6ZV90KXdjaGFyID49IDB4MTAw KQogI2VuZGlmCiAgICAgewotICAgICAgci0+X2Vycm5vID0gRUlMU0VROworICAgICAgX19l cnJub19yKHIpID0gRUlMU0VROwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMTMz LDcgKzEzMyw3IEBAIF9fdXRmOF93Y3RvbWIgKHN0cnVjdCBfcmVlbnQgKnIsCiAgICAgICBy ZXR1cm4gNDsKICAgICB9CiAKLSAgci0+X2Vycm5vID0gRUlMU0VROworICBfX2Vycm5vX3Io cikgPSBFSUxTRVE7CiAgIHJldHVybiAtMTsKIH0KIApAQCAtMTY1LDcgKzE2NSw3IEBAIF9f c2ppc193Y3RvbWIgKHN0cnVjdCBfcmVlbnQgKnIsCiAJfQogICAgICAgZWxzZQogCXsKLQkg IHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9fZXJybm9fcihyKSA9IEVJTFNFUTsKIAkgIHJl dHVybiAtMTsKIAl9CiAgICAgfQpAQCAtMjA0LDcgKzIwNCw3IEBAIF9fZXVjanBfd2N0b21i IChzdHJ1Y3QgX3JlZW50ICpyLAogCX0KICAgICAgIGVsc2UKIAl7Ci0JICByLT5fZXJybm8g PSBFSUxTRVE7CisJICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJ fQogICAgIH0KQEAgLTI0NCw3ICsyNDQsNyBAQCBfX2ppc193Y3RvbWIgKHN0cnVjdCBfcmVl bnQgKnIsCiAJICAqcyA9IChjaGFyKWNoYXIyOwogCSAgcmV0dXJuIGNudCArIDI7CiAJfQot ICAgICAgci0+X2Vycm5vID0gRUlMU0VROworICAgICAgX19lcnJub19yKHIpID0gRUlMU0VR OwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgaWYgKHN0YXRlLT5fX3N0YXRlICE9IDAp CkBAIC0yODQsMTQgKzI4NCwxNCBAQCBfX19pc29fd2N0b21iIChzdHJ1Y3QgX3JlZW50ICpy LCBjaGFyICpzLCB3Y2hhcl90IF93Y2hhciwgaW50IGlzb19pZHgsCiAJCSpzID0gKGNoYXIp IChtYiArIDB4YTApOwogCQlyZXR1cm4gMTsKIAkgICAgICB9Ci0JICByLT5fZXJybm8gPSBF SUxTRVE7CisJICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJfQog ICAgIH0KICAKICAgaWYgKChzaXplX3Qpd2NoYXIgPj0gMHgxMDApCiAgICAgewotICAgICAg ci0+X2Vycm5vID0gRUlMU0VROworICAgICAgX19lcnJub19yKHIpID0gRUlMU0VROwogICAg ICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtNDQwLDE0ICs0NDAsMTQgQEAgX19fY3Bfd2N0 b21iIChzdHJ1Y3QgX3JlZW50ICpyLCBjaGFyICpzLCB3Y2hhcl90IF93Y2hhciwgaW50IGNw X2lkeCwKIAkJKnMgPSAoY2hhcikgKG1iICsgMHg4MCk7CiAJCXJldHVybiAxOwogCSAgICAg IH0KLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9fZXJybm9fcihyKSA9IEVJTFNFUTsK IAkgIHJldHVybiAtMTsKIAl9CiAgICAgfQogCiAgIGlmICgoc2l6ZV90KXdjaGFyID49IDB4 MTAwKQogICAgIHsKLSAgICAgIHItPl9lcnJubyA9IEVJTFNFUTsKKyAgICAgIF9fZXJybm9f cihyKSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKZGlmZiAtLWdpdCBh L25ld2xpYi9saWJjL3N0cmluZy9zdHJlcnJvci5jIGIvbmV3bGliL2xpYmMvc3RyaW5nL3N0 cmVycm9yLmMKaW5kZXggYzFiOTM0Njk2Li41YmVkNWZmYmUgMTAwNjQ0Ci0tLSBhL25ld2xp Yi9saWJjL3N0cmluZy9zdHJlcnJvci5jCisrKyBiL25ld2xpYi9saWJjL3N0cmluZy9zdHJl cnJvci5jCkBAIC04ODIsNyArODgyLDcgQEAgX3N0cmVycm9yX3IgKHN0cnVjdCBfcmVlbnQg KnB0ciwKICNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICBpZiAoIWVycnB0cikKLSAgICAg ICAgZXJycHRyID0gJnB0ci0+X2Vycm5vOworICAgICAgICBlcnJwdHIgPSAmX19lcnJub19y KHB0cik7CiAgICAgICBpZiAoKGVycm9yID0gX3VzZXJfc3RyZXJyb3IgKGVycm51bSwgaW50 ZXJuYWwsIGVycnB0cikpID09IDApCiAgICAgICAgIGVycm9yID0gIiI7CiAgICAgICBicmVh azsKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vY3lnZXJybm8uaCBiL3dpbnN1cC9jeWd3 aW4vY3lnZXJybm8uaAppbmRleCA5NDBiZmE1ZTAuLjA0NDM2ZDI4YSAxMDA2NDQKLS0tIGEv d2luc3VwL2N5Z3dpbi9jeWdlcnJuby5oCisrKyBiL3dpbnN1cC9jeWd3aW4vY3lnZXJybm8u aApAQCAtMzYsNyArMzYsNyBAQCBleHRlcm4gaW5saW5lIGludAogX19zZXRfZXJybm8gKGNv bnN0IGNoYXIgKmZuLCBpbnQgbG4sIGludCB2YWwpCiB7CiAgIGRlYnVnX3ByaW50ZiAoIiVz OiVkIHNldHRpbmcgZXJybm8gJWQiLCBmbiwgbG4sIHZhbCk7Ci0gIHJldHVybiBlcnJubyA9 IF9pbXB1cmVfcHRyLT5fZXJybm8gPSB2YWw7CisgIHJldHVybiBlcnJubyA9IF9fZXJybm9f cihfaW1wdXJlX3B0cikgPSB2YWw7CiB9CiAjZGVmaW5lIHNldF9lcnJubyh2YWwpIF9fc2V0 X2Vycm5vIChfX1BSRVRUWV9GVU5DVElPTl9fLCBfX0xJTkVfXywgKHZhbCkpCiAKQEAgLTU1 LDcgKzU1LDcgQEAgY2xhc3Mgc2F2ZV9lcnJubwogICAgIHNhdmVfZXJybm8gKGludCB3aGF0 KSB7c2F2ZWQgPSBnZXRfZXJybm8gKCk7IHNldF9lcnJubyAod2hhdCk7IH0KICAgICB2b2lk IHNldCAoaW50IHdoYXQpIHtzZXRfZXJybm8gKHdoYXQpOyBzYXZlZCA9IHdoYXQ7fQogICAg IHZvaWQgcmVzZXQgKCkge3NhdmVkID0gZ2V0X2Vycm5vICgpO30KLSAgICB+c2F2ZV9lcnJu byAoKSB7ZXJybm8gPSBfaW1wdXJlX3B0ci0+X2Vycm5vID0gc2F2ZWQ7fQorICAgIH5zYXZl X2Vycm5vICgpIHtlcnJubyA9IF9fZXJybm9fcihfaW1wdXJlX3B0cikgPSBzYXZlZDt9CiAg IH07CiAKIGV4dGVybiBjb25zdCBjaGFyICpfX3NwX2ZuOwpkaWZmIC0tZ2l0IGEvd2luc3Vw L2N5Z3dpbi9lcnJuby5jYyBiL3dpbnN1cC9jeWd3aW4vZXJybm8uY2MKaW5kZXggZjIwMGU1 YjczLi42YWQwZTZkNzggMTAwNjQ0Ci0tLSBhL3dpbnN1cC9jeWd3aW4vZXJybm8uY2MKKysr IGIvd2luc3VwL2N5Z3dpbi9lcnJuby5jYwpAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQKIHNl dGVycm5vX2Zyb21fd2luX2Vycm9yIChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgRFdP UkQgY29kZSkKIHsKICAgc3lzY2FsbF9wcmludGYgKCIlczolZCB3aW5kb3dzIGVycm9yICV1 IiwgZmlsZSwgbGluZSwgY29kZSk7Ci0gIGVycm5vID0gX2ltcHVyZV9wdHItPl9lcnJubyA9 ICBnZXRlcnJub19mcm9tX3dpbl9lcnJvciAoY29kZSwgRUFDQ0VTKTsKKyAgZXJybm8gPSBf X2Vycm5vX3IoX2ltcHVyZV9wdHIpID0gIGdldGVycm5vX2Zyb21fd2luX2Vycm9yIChjb2Rl LCBFQUNDRVMpOwogfQogCiBpbnQKQEAgLTM1Myw3ICszNTMsNyBAQCBzZXRlcnJub19mcm9t X250X3N0YXR1cyAoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIE5UU1RBVFVTIHN0YXR1 cykKICAgU2V0TGFzdEVycm9yIChjb2RlKTsKICAgc3lzY2FsbF9wcmludGYgKCIlczolZCBz dGF0dXMgJXkgLT4gd2luZG93cyBlcnJvciAldSIsCiAJCSAgZmlsZSwgbGluZSwgc3RhdHVz LCBjb2RlKTsKLSAgZXJybm8gPSBfaW1wdXJlX3B0ci0+X2Vycm5vID0gIGdldGVycm5vX2Zy b21fd2luX2Vycm9yIChjb2RlLCBFQUNDRVMpOworICBlcnJubyA9IF9fZXJybm9fcihfaW1w dXJlX3B0cikgPSAgZ2V0ZXJybm9fZnJvbV93aW5fZXJyb3IgKGNvZGUsIEVBQ0NFUyk7CiB9 CiAKIHN0YXRpYyBjaGFyICoKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vc3RyZnVuY3Mu Y2MgYi93aW5zdXAvY3lnd2luL3N0cmZ1bmNzLmNjCmluZGV4IDlhOTdiM2EyNC4uMzUyMWMw NzY0IDEwMDY0NAotLS0gYS93aW5zdXAvY3lnd2luL3N0cmZ1bmNzLmNjCisrKyBiL3dpbnN1 cC9jeWd3aW4vc3RyZnVuY3MuY2MKQEAgLTE0NCw3ICsxNDQsNyBAQCBfX2RiX3djdG9tYiAo c3RydWN0IF9yZWVudCAqciwgY2hhciAqcywgd2NoYXJfdCB3Y2hhciwgVUlOVCBjcCkKICAg aWYgKHJldCA+IDAgJiYgIWRlZl91c2VkKQogICAgIHJldHVybiByZXQ7CiAKLSAgci0+X2Vy cm5vID0gRUlMU0VROworICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAgIHJldHVybiAtMTsK IH0KIApAQCAtMTk0LDcgKzE5NCw3IEBAIF9fZXVjanBfd2N0b21iIChzdHJ1Y3QgX3JlZW50 ICpyLCBjaGFyICpzLCB3Y2hhcl90IHdjaGFyLCBtYnN0YXRlX3QgKnN0YXRlKQogICAgICAg cmV0dXJuIHJldDsKICAgICB9CiAKLSAgci0+X2Vycm5vID0gRUlMU0VROworICBfX2Vycm5v X3IocikgPSBFSUxTRVE7CiAgIHJldHVybiAtMTsKIH0KIApAQCAtMjU1LDcgKzI1NSw3IEBA IF9fZGJfbWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLCB3Y2hhcl90ICpwd2MsIGNvbnN0IGNo YXIgKnMsIHNpemVfdCBuLCBVSU5UIGNwLAogCSBoZXJlIGlzIHRvIGNoZWNrIGlmIHRoZSBm aXJzdCBieXRlIHJldHVybnMgYSB2YWxpZCB2YWx1ZS4uLiAqLwogICAgICAgZWxzZSBpZiAo TXVsdGlCeXRlVG9XaWRlQ2hhciAoY3AsIE1CX0VSUl9JTlZBTElEX0NIQVJTLCBzLCAxLCBw d2MsIDEpKQogCXJldHVybiAxOwotICAgICAgci0+X2Vycm5vID0gRUlMU0VROworICAgICAg X19lcnJub19yKHIpID0gRUlMU0VROwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgc3Rh dGUtPl9fdmFsdWUuX193Y2hiW3N0YXRlLT5fX2NvdW50XSA9ICpzOwpAQCAtMjYzLDcgKzI2 Myw3IEBAIF9fZGJfbWJ0b3djIChzdHJ1Y3QgX3JlZW50ICpyLCB3Y2hhcl90ICpwd2MsIGNv bnN0IGNoYXIgKnMsIHNpemVfdCBuLCBVSU5UIGNwLAogCQkJICAgICAoY29uc3QgY2hhciAq KSBzdGF0ZS0+X192YWx1ZS5fX3djaGIsIDIsIHB3YywgMSk7CiAgIGlmICghcmV0KQogICAg IHsKLSAgICAgIHItPl9lcnJubyA9IEVJTFNFUTsKKyAgICAgIF9fZXJybm9fcihyKSA9IEVJ TFNFUTsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgIHN0YXRlLT5fX2NvdW50ID0gMDsK QEAgLTMyNCw3ICszMjQsNyBAQCBfX2V1Y2pwX21idG93YyAoc3RydWN0IF9yZWVudCAqciwg d2NoYXJfdCAqcHdjLCBjb25zdCBjaGFyICpzLCBzaXplX3QgbiwKIAl9CiAgICAgICBlbHNl IGlmIChNdWx0aUJ5dGVUb1dpZGVDaGFyICgyMDkzMiwgTUJfRVJSX0lOVkFMSURfQ0hBUlMs IHMsIDEsIHB3YywgMSkpCiAJcmV0dXJuIDE7Ci0gICAgICByLT5fZXJybm8gPSBFSUxTRVE7 CisgICAgICBfX2Vycm5vX3IocikgPSBFSUxTRVE7CiAgICAgICByZXR1cm4gLTE7CiAgICAg fQogICBzdGF0ZS0+X192YWx1ZS5fX3djaGJbc3RhdGUtPl9fY291bnQrK10gPSAqczsKQEAg LTM0Nyw3ICszNDcsNyBAQCBqaXNfeF8wMjEyOgogICBpZiAoIU11bHRpQnl0ZVRvV2lkZUNo YXIgKDIwOTMyLCBNQl9FUlJfSU5WQUxJRF9DSEFSUywKIAkJCSAgICAoY29uc3QgY2hhciAq KSBzdGF0ZS0+X192YWx1ZS5fX3djaGIsIDIsIHB3YywgMSkpCiAgICAgewotICAgICAgci0+ X2Vycm5vID0gRUlMU0VROworICAgICAgX19lcnJub19yKHIpID0gRUlMU0VROwogICAgICAg cmV0dXJuIC0xOwogICAgIH0KICAgc3RhdGUtPl9fY291bnQgPSAwOwpkaWZmIC0tZ2l0IGEv d2luc3VwL2N5Z3dpbi9zeXNjYWxscy5jYyBiL3dpbnN1cC9jeWd3aW4vc3lzY2FsbHMuY2MK aW5kZXggN2Q1M2MyYWY3Li5hNDUyNWYyZTAgMTAwNjQ0Ci0tLSBhL3dpbnN1cC9jeWd3aW4v c3lzY2FsbHMuY2MKKysrIGIvd2luc3VwL2N5Z3dpbi9zeXNjYWxscy5jYwpAQCAtMTkwMCw3 ICsxOTAwLDcgQEAgX2ZzdGF0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwgaW50IGZkLCBzdHJ1 Y3Qgc3RhdCAqYnVmKQogICBpbnQgcmV0OwogCiAgIGlmICgocmV0ID0gZnN0YXQgKGZkLCBi dWYpKSA9PSAtMSkKLSAgICBwdHItPl9lcnJubyA9IGdldF9lcnJubyAoKTsKKyAgICBfX2Vy cm5vX3IocHRyKSA9IGdldF9lcnJubyAoKTsKICAgcmV0dXJuIHJldDsKIH0KIApAQCAtMjA1 MSw3ICsyMDUxLDcgQEAgX3N0YXRfciAoc3RydWN0IF9yZWVudCAqX19yZXN0cmljdCBwdHIs IGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgbmFtZSwKICAgaW50IHJldDsKIAogICBpZiAoKHJl dCA9IHN0YXQgKG5hbWUsIGJ1ZikpID09IC0xKQotICAgIHB0ci0+X2Vycm5vID0gZ2V0X2Vy cm5vICgpOworICAgIF9fZXJybm9fcihwdHIpID0gZ2V0X2Vycm5vICgpOwogICByZXR1cm4g cmV0OwogfQogCi0tIAoyLjM1LjMKCg== --------------hqob9UxwHRVD3iM5qCfb7fTZ--