From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 06596C433F5 for ; Fri, 7 Oct 2022 19:16:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CpFEzKgfv5HeE4Y3mSr4mEQE5ot9FcpgXH1ib85V+aY=; b=wYuVDTdsIRxiSa Vx8SRN+H0IXyW8CGcYSWKrGx4BGEovo/3ZqURfIdx2Y/zoLACH9d+we1ZUviGeIX00qpoDX6Vo96A bbGrZlm4JqvJr+PXpZAw3PqAQ1eh0lDmvweQsHtKmMn9EpCjTuMCEgtf7jUg/U2m/yhK8juiYoarI 6Iu6JwMloe1pUuBwlhpKlt9gO17BcqAPaUh3PoTYyh8VH18aeQWlblbuSY36a5R3n2NZf15SYeenO insW0nvA3M9y1cZYiDAwEyNHxJd0xAC+UC4nKIzePQ3Tnq6YyKtXnTamaYng0alEvcqh5/FxfT+cC tW5/gzAcPs9xjhzLZbPw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ogsp9-00ACHa-Dj; Fri, 07 Oct 2022 19:15:55 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ogrfi-00A0eH-1w; Fri, 07 Oct 2022 18:02:19 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 392C3B8207A; Fri, 7 Oct 2022 18:02:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 82876C4347C; Fri, 7 Oct 2022 18:01:56 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="euNgJxVq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665165715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Oc6/1ZWlb4i/syn+rQnwKmyTrWzXgR+Sp5qDpXPBj58=; b=euNgJxVq1cTLH+PSu4x5kaDU1jWoeunaqhNAUeBuVfaIcPpI59rzVg4T1+9JNuGUdNExgP f1zdMVnZYnXRFhD5QOcswd+kRexoftkpI4LOukNnbJ1/pPDP8R4LAhscxd6h01MoUgtXFL iejlTcwWxyIuqyfxsLZ8OI/C+vckLCo= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 4d33910a (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 7 Oct 2022 18:01:55 +0000 (UTC) From: "Jason A. Donenfeld" To: linux-kernel@vger.kernel.org, patches@lists.linux.dev Cc: "Jason A. Donenfeld" , Andreas Noever , Andrew Morton , Andy Shevchenko , Borislav Petkov , Catalin Marinas , =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , Christoph Hellwig , Christophe Leroy , Daniel Borkmann , Dave Airlie , Dave Hansen , "David S . Miller" , Eric Dumazet , Florian Westphal , Greg Kroah-Hartman , "H . Peter Anvin" , Heiko Carstens , Helge Deller , Herbert Xu , Huacai Chen , Hugh Dickins , Jakub Kicinski , "James E . J . Bottomley" , Jan Kara , Jason Gunthorpe , Jens Axboe , Johannes Berg , Jonathan Corbet , Jozsef Kadlecsik , KP Singh , Kees Cook , Marco Elver , Mauro Carvalho Chehab , Michael Ellerman , Pablo Neira Ayuso , Paolo Abeni , Peter Zijlstra , Richard Weinberger , Russell King , Theodore Ts'o , Thomas Bogendoerfer , Thomas Gleixner , Thomas Graf , Ulf Hansson , Vignesh Raghavendra , WANG Xuerui , Will Deacon , Yury Norov , dri-devel@lists.freedesktop.org, kasan-dev@googlegroups.com, kernel-janitors@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-parisc@vger.kernel.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, linux-um@lists.infradead.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org, =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Chuck Lever , Jan Kara , Mika Westerberg Subject: [PATCH v4 4/6] treewide: use get_random_u32() when possible Date: Fri, 7 Oct 2022 12:01:05 -0600 Message-Id: <20221007180107.216067-5-Jason@zx2c4.com> In-Reply-To: <20221007180107.216067-1-Jason@zx2c4.com> References: <20221007180107.216067-1-Jason@zx2c4.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221007_110206_648738_36B3BFF9 X-CRM114-Status: GOOD ( 21.98 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org VGhlIHByYW5kb21fdTMyKCkgZnVuY3Rpb24gaGFzIGJlZW4gYSBkZXByZWNhdGVkIGlubGluZSB3 cmFwcGVyIGFyb3VuZApnZXRfcmFuZG9tX3UzMigpIGZvciBzZXZlcmFsIHJlbGVhc2VzIG5vdywg YW5kIGNvbXBpbGVzIGRvd24gdG8gdGhlCmV4YWN0IHNhbWUgY29kZS4gUmVwbGFjZSB0aGUgZGVw cmVjYXRlZCB3cmFwcGVyIHdpdGggYSBkaXJlY3QgY2FsbCB0bwp0aGUgcmVhbCBmdW5jdGlvbi4g VGhlIHNhbWUgYWxzbyBhcHBsaWVzIHRvIGdldF9yYW5kb21faW50KCksIHdoaWNoIGlzCmp1c3Qg YSB3cmFwcGVyIGFyb3VuZCBnZXRfcmFuZG9tX3UzMigpLgoKUmV2aWV3ZWQtYnk6IEtlZXMgQ29v ayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPgpBY2tlZC1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vu c2VuIDx0b2tlQHRva2UuZGs+ICMgZm9yIHNjaF9jYWtlCkFja2VkLWJ5OiBDaHVjayBMZXZlciA8 Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4gIyBmb3IgbmZzZApSZXZpZXdlZC1ieTogSmFuIEthcmEg PGphY2tAc3VzZS5jej4gIyBmb3IgZXh0NApBY2tlZC1ieTogTWlrYSBXZXN0ZXJiZXJnIDxtaWth Lndlc3RlcmJlcmdAbGludXguaW50ZWwuY29tPiAjIGZvciB0aHVuZGVyYm9sdApTaWduZWQtb2Zm LWJ5OiBKYXNvbiBBLiBEb25lbmZlbGQgPEphc29uQHp4MmM0LmNvbT4KLS0tCiBEb2N1bWVudGF0 aW9uL25ldHdvcmtpbmcvZmlsdGVyLnJzdCAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvcGFyaXNj L2tlcm5lbC9wcm9jZXNzLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9wYXJpc2Mv a2VybmVsL3N5c19wYXJpc2MuYyAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGFyY2gvczM5MC9t bS9tbWFwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC94ODYva2Vy bmVsL2NwdS9hbWQuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9zZWxmdGVzdC5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fYnVkZHkuYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2luZmlu aWJhbmQvaHcvY3hnYjQvY20uYyAgICAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9pbmZp bmliYW5kL2h3L2hmaTEvdGlkX3JkbWEuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2luZmlu aWJhbmQvaHcvbWx4NC9tYWQuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvaW5maW5p YmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9tZC9yYWlk NS1jYWNoZS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAuLi4vbWVkaWEvdGVzdC1k cml2ZXJzL3ZpdmlkL3ZpdmlkLXRvdWNoLWNhcC5jIHwgIDQgKystLQogZHJpdmVycy9taXNjL2hh YmFuYWxhYnMvZ2F1ZGkyL2dhdWRpMi5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL210ZC9uYW5k L3Jhdy9uYW5kc2ltLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2JvbmRp bmcvYm9uZF9tYWluLmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vY25pYy5jICAgICAgICAgICB8ICAyICstCiAuLi4vY2hlbHNpby9pbmxpbmVf Y3J5cHRvL2NodGxzL2NodGxzX2NtLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0 L3JvY2tlci9yb2NrZXJfbWFpbi5jICAgICAgfCAgNiArKystLS0KIC4uLi93aXJlbGVzcy9icm9h ZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvcG5vLmMgfCAgMiArLQogLi4uL25ldC93aXJlbGVzcy9t YXJ2ZWxsL213aWZpZXgvY2ZnODAyMTEuYyAgICB8ICA0ICsrLS0KIC4uLi9uZXQvd2lyZWxlc3Mv bWljcm9jaGlwL3dpbGMxMDAwL2NmZzgwMjExLmMgfCAgMiArLQogLi4uL25ldC93aXJlbGVzcy9x dWFudGVubmEvcXRuZm1hYy9jZmc4MDIxMS5jICB8ICAyICstCiBkcml2ZXJzL25ldC93aXJlbGVz cy90aS93bGNvcmUvbWFpbi5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbnZtZS9jb21tb24v YXV0aC5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9zY3NpL2N4Z2JpL2N4 Z2I0aS9jeGdiNGkuYyAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvdGFyZ2V0L2lzY3Np L2N4Z2JpdC9jeGdiaXRfY20uYyAgICAgICAgfCAgMiArLQogZHJpdmVycy90aHVuZGVyYm9sdC94 ZG9tYWluLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2 ZXNhZmIuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2V4ZmF0L2lub2RlLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMvZXh0NC9pYWxsb2MuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy9leHQ0L2lvY3RsLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogZnMvZXh0NC9tbXAuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy9mMmZzL25hbWVpLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2ZhdC9pbm9kZS5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMvbmZzZC9uZnM0c3RhdGUuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGZzL250ZnMzL2ZzbG9nLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIGZzL3ViaWZzL2pvdXJuYWwuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMveGZzL2xpYnhmcy94ZnNfaWFsbG9j LmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy94ZnMveGZzX2ljYWNoZS5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGZzL3hmcy94ZnNfbG9nLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX3F1 ZXVlLmggICAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL25ldC9yZWQuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvbmV0L3NvY2suaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQoga2VybmVsL2JwZi9ibG9vbV9maWx0ZXIuYyAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBrZXJuZWwvYnBmL2NvcmUuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGtlcm5lbC9icGYvaGFzaHRhYi5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQoga2VybmVsL2JwZi92ZXJpZmllci5jICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBrZXJuZWwva2NzYW4vc2VsZnRlc3QuYyAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi9yYW5kb20zMi5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogbGliL3JlZWRfc29sb21vbi90ZXN0X3JzbGliLmMgICAgICAg ICAgICAgICAgICB8ICA2ICsrKy0tLQogbGliL3Rlc3RfZnByb2JlLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBsaWIvdGVzdF9rcHJvYmVzLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGxpYi90ZXN0X21pbl9oZWFwLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNiArKystLS0KIGxpYi90ZXN0X3JoYXNodGFibGUuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNiArKystLS0KIG1tL3NobWVtLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogbW0vc2xhYi5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXQvODAyL2dhcnAuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC84MDIvbXJwLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L2NvcmUvcGt0Z2VuLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA0ICsrLS0KIG5ldC9pcHY0L3JvdXRlLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L2lwdjQvdGNwX2NkZy5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBuZXQvaXB2NC91ZHAuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIG5ldC9pcHY2L2lwNl9mbG93bGFiZWwuYyAgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogbmV0L2lwdjYvb3V0cHV0X2NvcmUuYyAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBuZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jICAgICAg ICAgICAgICAgIHwgIDIgKy0KIG5ldC9uZXRmaWx0ZXIveHRfc3RhdGlzdGljLmMgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogbmV0L29wZW52c3dpdGNoL2FjdGlvbnMuYyAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBuZXQvcmRzL2JpbmQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ldC9zY2hlZC9zY2hfY2FrZS5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogbmV0L3NjaGVkL3NjaF9uZXRlbS5jICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQogbmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3Ji NV93cmFwLmMgICAgICAgICAgICB8ICA0ICsrLS0KIG5ldC9zdW5ycGMveHBydC5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbmV0L3VuaXgvYWZfdW5peC5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiA3NiBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0 aW9ucygrKSwgMTA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0 d29ya2luZy9maWx0ZXIucnN0IGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2ZpbHRlci5yc3QK aW5kZXggNDNjZGM0ZDM0NzQ1Li5mNjlkYTUwNzQ4NjAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRp b24vbmV0d29ya2luZy9maWx0ZXIucnN0CisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9m aWx0ZXIucnN0CkBAIC0zMDUsNyArMzA1LDcgQEAgUG9zc2libGUgQlBGIGV4dGVuc2lvbnMgYXJl IHNob3duIGluIHRoZSBmb2xsb3dpbmcgdGFibGU6CiAgIHZsYW5fdGNpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2tiX3ZsYW5fdGFnX2dldChza2IpCiAgIHZsYW5fYXZhaWwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2tiX3ZsYW5fdGFnX3ByZXNlbnQoc2tiKQogICB2bGFuX3Rw aWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNrYi0+dmxhbl9wcm90bwotICByYW5kICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByYW5kb21fdTMyKCkKKyAgcmFuZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfcmFuZG9tX3UzMigpCiAgID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogCiBUaGVzZSBleHRlbnNpb25zIGNhbiBhbHNvIGJlIHBy ZWZpeGVkIHdpdGggJyMnLgpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2Mva2VybmVsL3Byb2Nlc3Mu YyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggN2MzN2UwOWM5MmRhLi4xOGM0 ZjBlM2U5MDYgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC9wcm9jZXNzLmMKKysrIGIv YXJjaC9wYXJpc2Mva2VybmVsL3Byb2Nlc3MuYwpAQCAtMjg4LDcgKzI4OCw3IEBAIF9fZ2V0X3dj aGFuKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25n IGJya19ybmQodm9pZCkKIHsKLQlyZXR1cm4gKGdldF9yYW5kb21faW50KCkgJiBCUktfUk5EX01B U0spIDw8IFBBR0VfU0hJRlQ7CisJcmV0dXJuIChnZXRfcmFuZG9tX3UzMigpICYgQlJLX1JORF9N QVNLKSA8PCBQQUdFX1NISUZUOwogfQogCiB1bnNpZ25lZCBsb25nIGFyY2hfcmFuZG9taXplX2Jy ayhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9z eXNfcGFyaXNjLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvc3lzX3BhcmlzYy5jCmluZGV4IDJiMzQy OTQ1MTdhMS4uODQ4YjA3MDIwMDVkIDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvc3lz X3BhcmlzYy5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9zeXNfcGFyaXNjLmMKQEAgLTIzOSwx NCArMjM5LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIG1tYXBfcm5kKHZvaWQpCiAJdW5zaWdu ZWQgbG9uZyBybmQgPSAwOwogCiAJaWYgKGN1cnJlbnQtPmZsYWdzICYgUEZfUkFORE9NSVpFKQot CQlybmQgPSBnZXRfcmFuZG9tX2ludCgpICYgTU1BUF9STkRfTUFTSzsKKwkJcm5kID0gZ2V0X3Jh bmRvbV91MzIoKSAmIE1NQVBfUk5EX01BU0s7CiAKIAlyZXR1cm4gcm5kIDw8IFBBR0VfU0hJRlQ7 CiB9CiAKIHVuc2lnbmVkIGxvbmcgYXJjaF9tbWFwX3JuZCh2b2lkKQogewotCXJldHVybiAoZ2V0 X3JhbmRvbV9pbnQoKSAmIE1NQVBfUk5EX01BU0spIDw8IFBBR0VfU0hJRlQ7CisJcmV0dXJuIChn ZXRfcmFuZG9tX3UzMigpICYgTU1BUF9STkRfTUFTSykgPDwgUEFHRV9TSElGVDsKIH0KIAogc3Rh dGljIHVuc2lnbmVkIGxvbmcgbW1hcF9sZWdhY3lfYmFzZSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJj aC9zMzkwL21tL21tYXAuYyBiL2FyY2gvczM5MC9tbS9tbWFwLmMKaW5kZXggNTk4MGNlMzQ4ODMy Li4zMzI3YzQ3YmMxODEgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9tbS9tbWFwLmMKKysrIGIvYXJj aC9zMzkwL21tL21tYXAuYwpAQCAtMzcsNyArMzcsNyBAQCBzdGF0aWMgaW5saW5lIGludCBtbWFw X2lzX2xlZ2FjeShzdHJ1Y3QgcmxpbWl0ICpybGltX3N0YWNrKQogCiB1bnNpZ25lZCBsb25nIGFy Y2hfbW1hcF9ybmQodm9pZCkKIHsKLQlyZXR1cm4gKGdldF9yYW5kb21faW50KCkgJiBNTUFQX1JO RF9NQVNLKSA8PCBQQUdFX1NISUZUOworCXJldHVybiAoZ2V0X3JhbmRvbV91MzIoKSAmIE1NQVBf Uk5EX01BU0spIDw8IFBBR0VfU0hJRlQ7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG1tYXBf YmFzZV9sZWdhY3kodW5zaWduZWQgbG9uZyBybmQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJu ZWwvY3B1L2FtZC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYwppbmRleCA0ODI3NmMwZTQ3 OWQuLjg2MGI2MDI3M2RmMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYwor KysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jCkBAIC01MDMsNyArNTAzLDcgQEAgc3RhdGlj IHZvaWQgYnNwX2luaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAkJdmFfYWxpZ24uZmxh Z3MgICAgPSBBTElHTl9WQV8zMiB8IEFMSUdOX1ZBXzY0OwogCiAJCS8qIEEgcmFuZG9tIHZhbHVl IHBlciBib290IGZvciBiaXQgc2xpY2UgWzEyOnVwcGVyX2JpdCkgKi8KLQkJdmFfYWxpZ24uYml0 cyA9IGdldF9yYW5kb21faW50KCkgJiB2YV9hbGlnbi5tYXNrOworCQl2YV9hbGlnbi5iaXRzID0g Z2V0X3JhbmRvbV91MzIoKSAmIHZhX2FsaWduLm1hc2s7CiAJfQogCiAJaWYgKGNwdV9oYXMoYywg WDg2X0ZFQVRVUkVfTVdBSVRYKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXgg MzI5ZmY3NWI4MGI5Li43YmQxODYxZGRiZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCkBAIC0xMzcsMTIgKzEzNywxMiBAQCBzdGF0aWMgdTY0IHJhbmRvbV9vZmZzZXQodTY0IHN0 YXJ0LCB1NjQgZW5kLCB1NjQgbGVuLCB1NjQgYWxpZ24pCiAJcmFuZ2UgPSByb3VuZF9kb3duKGVu ZCAtIGxlbiwgYWxpZ24pIC0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKIAlpZiAocmFuZ2UpIHsK IAkJaWYgKHNpemVvZih1bnNpZ25lZCBsb25nKSA9PSBzaXplb2YodTY0KSkgewotCQkJYWRkciA9 IGdldF9yYW5kb21fbG9uZygpOworCQkJYWRkciA9IGdldF9yYW5kb21fdTY0KCk7CiAJCX0gZWxz ZSB7Ci0JCQlhZGRyID0gZ2V0X3JhbmRvbV9pbnQoKTsKKwkJCWFkZHIgPSBnZXRfcmFuZG9tX3Uz MigpOwogCQkJaWYgKHJhbmdlID4gVTMyX01BWCkgewogCQkJCWFkZHIgPDw9IDMyOwotCQkJCWFk ZHIgfD0gZ2V0X3JhbmRvbV9pbnQoKTsKKwkJCQlhZGRyIHw9IGdldF9yYW5kb21fdTMyKCk7CiAJ CQl9CiAJCX0KIAkJZGl2NjRfdTY0X3JlbShhZGRyLCByYW5nZSwgJmFkZHIpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfc2VsZnRlc3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3NlbGZ0ZXN0LmMKaW5kZXggYzRlOTMyMzY4 YjM3Li4zOWRhMGZiMGQ2ZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pOTE1X3NlbGZ0ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfc2VsZnRlc3QuYwpAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBpbnQgX19ydW5fc2Vs ZnRlc3RzKGNvbnN0IGNoYXIgKm5hbWUsCiAJaW50IGVyciA9IDA7CiAKIAl3aGlsZSAoIWk5MTVf c2VsZnRlc3QucmFuZG9tX3NlZWQpCi0JCWk5MTVfc2VsZnRlc3QucmFuZG9tX3NlZWQgPSBnZXRf cmFuZG9tX2ludCgpOworCQlpOTE1X3NlbGZ0ZXN0LnJhbmRvbV9zZWVkID0gZ2V0X3JhbmRvbV91 MzIoKTsKIAogCWk5MTVfc2VsZnRlc3QudGltZW91dF9qaWZmaWVzID0KIAkJaTkxNV9zZWxmdGVz dC50aW1lb3V0X21zID8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVz dC1kcm1fYnVkZHkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fYnVkZHku YwppbmRleCBhY2EwYzQ5MTA0MGYuLjYzNDBhNzExNzczZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9idWRkeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9z ZWxmdGVzdHMvdGVzdC1kcm1fYnVkZHkuYwpAQCAtOTc0LDcgKzk3NCw3IEBAIHN0YXRpYyBpbnQg X19pbml0IHRlc3RfZHJtX2J1ZGR5X2luaXQodm9pZCkKIAlpbnQgZXJyOwogCiAJd2hpbGUgKCFy YW5kb21fc2VlZCkKLQkJcmFuZG9tX3NlZWQgPSBnZXRfcmFuZG9tX2ludCgpOworCQlyYW5kb21f c2VlZCA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAlwcl9pbmZvKCJUZXN0aW5nIERSTSBidWRkeSBt YW5hZ2VyIChzdHJ1Y3QgZHJtX2J1ZGR5KSwgd2l0aCByYW5kb21fc2VlZD0weCV4XG4iLAogCQly YW5kb21fc2VlZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3Qt ZHJtX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMKaW5kZXgg Yjc2OGI1M2M0YWVlLi4xZGM0MWQ3M2QxN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z ZWxmdGVzdHMvdGVzdC1kcm1fbW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rl c3QtZHJtX21tLmMKQEAgLTI0NjMsNyArMjQ2Myw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHRlc3Rf ZHJtX21tX2luaXQodm9pZCkKIAlpbnQgZXJyOwogCiAJd2hpbGUgKCFyYW5kb21fc2VlZCkKLQkJ cmFuZG9tX3NlZWQgPSBnZXRfcmFuZG9tX2ludCgpOworCQlyYW5kb21fc2VlZCA9IGdldF9yYW5k b21fdTMyKCk7CiAKIAlwcl9pbmZvKCJUZXN0aW5nIERSTSByYW5nZSBtYW5hZ2VyIChzdHJ1Y3Qg ZHJtX21tKSwgd2l0aCByYW5kb21fc2VlZD0weCV4IG1heF9pdGVyYXRpb25zPSV1IG1heF9wcmlt ZT0ldVxuIiwKIAkJcmFuZG9tX3NlZWQsIG1heF9pdGVyYXRpb25zLCBtYXhfcHJpbWUpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2I0L2NtLmMgYi9kcml2ZXJzL2luZmlu aWJhbmQvaHcvY3hnYjQvY20uYwppbmRleCAxNDM5MmM5NDJmNDkuLjQ5OWE0MjVhMzM3OSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2I0L2NtLmMKKysrIGIvZHJpdmVycy9p bmZpbmliYW5kL2h3L2N4Z2I0L2NtLmMKQEAgLTczNCw3ICs3MzQsNyBAQCBzdGF0aWMgaW50IHNl bmRfY29ubmVjdChzdHJ1Y3QgYzRpd19lcCAqZXApCiAJCQkJICAgJmVwLT5jb20ucmVtb3RlX2Fk ZHI7CiAJaW50IHJldDsKIAllbnVtIGNoaXBfdHlwZSBhZGFwdGVyX3R5cGUgPSBlcC0+Y29tLmRl di0+cmRldi5sbGRpLmFkYXB0ZXJfdHlwZTsKLQl1MzIgaXNuID0gKHByYW5kb21fdTMyKCkgJiB+ N1VMKSAtIDE7CisJdTMyIGlzbiA9IChnZXRfcmFuZG9tX3UzMigpICYgfjdVTCkgLSAxOwogCXN0 cnVjdCBuZXRfZGV2aWNlICpuZXRkZXY7CiAJdTY0IHBhcmFtczsKIApAQCAtMjQ2OSw3ICsyNDY5 LDcgQEAgc3RhdGljIGludCBhY2NlcHRfY3Ioc3RydWN0IGM0aXdfZXAgKmVwLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiLAogCX0KIAogCWlmICghaXNfdDQoYWRhcHRlcl90eXBlKSkgewotCQl1MzIgaXNu ID0gKHByYW5kb21fdTMyKCkgJiB+N1VMKSAtIDE7CisJCXUzMiBpc24gPSAoZ2V0X3JhbmRvbV91 MzIoKSAmIH43VUwpIC0gMTsKIAogCQlza2IgPSBnZXRfc2tiKHNrYiwgcm91bmR1cChzaXplb2Yo KnJwbDUpLCAxNiksIEdGUF9LRVJORUwpOwogCQlycGw1ID0gX19za2JfcHV0X3plcm8oc2tiLCBy b3VuZHVwKHNpemVvZigqcnBsNSksIDE2KSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJh bmQvaHcvaGZpMS90aWRfcmRtYS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdGlkX3Jk bWEuYwppbmRleCAyYTdhYmY3YTFmN2YuLjE4YjA1ZmZiNDE1YSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9pbmZpbmliYW5kL2h3L2hmaTEvdGlkX3JkbWEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQv aHcvaGZpMS90aWRfcmRtYS5jCkBAIC04NTAsNyArODUwLDcgQEAgdm9pZCBoZmkxX2tlcm5faW5p dF9jdHh0X2dlbmVyYXRpb25zKHN0cnVjdCBoZmkxX2N0eHRkYXRhICpyY2QpCiAJaW50IGk7CiAK IAlmb3IgKGkgPSAwOyBpIDwgUlhFX05VTV9USURfRkxPV1M7IGkrKykgewotCQlyY2QtPmZsb3dz W2ldLmdlbmVyYXRpb24gPSBtYXNrX2dlbmVyYXRpb24ocHJhbmRvbV91MzIoKSk7CisJCXJjZC0+ Zmxvd3NbaV0uZ2VuZXJhdGlvbiA9IG1hc2tfZ2VuZXJhdGlvbihnZXRfcmFuZG9tX3UzMigpKTsK IAkJa2Vybl9zZXRfaHdfZmxvdyhyY2QsIEtFUk5fR0VORVJBVElPTl9SRVNFUlZFRCwgaSk7CiAJ fQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMgYi9kcml2 ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYwppbmRleCBkMTNlY2JkZDQzOTEuLmEzN2NmYWM1 ZTIzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMKKysrIGIv ZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGlj IHZvaWQgX19wcm9wYWdhdGVfcGtleV9ldihzdHJ1Y3QgbWx4NF9pYl9kZXYgKmRldiwgaW50IHBv cnRfbnVtLAogX19iZTY0IG1seDRfaWJfZ2VuX25vZGVfZ3VpZCh2b2lkKQogewogI2RlZmluZSBO T0RFX0dVSURfSEkJKCh1NjQpICgoKHU2NClJQl9PUEVOSUJfT1VJKSA8PCA0MCkpCi0JcmV0dXJu IGNwdV90b19iZTY0KE5PREVfR1VJRF9ISSB8IHByYW5kb21fdTMyKCkpOworCXJldHVybiBjcHVf dG9fYmU2NChOT0RFX0dVSURfSEkgfCBnZXRfcmFuZG9tX3UzMigpKTsKIH0KIAogX19iZTY0IG1s eDRfaWJfZ2V0X25ld19kZW11eF90aWQoc3RydWN0IG1seDRfaWJfZGVtdXhfY3R4ICpjdHgpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMgYi9kcml2 ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKaW5kZXggZmQ5ZDdmMmM0ZDY0Li5h NjA1Y2Y2NmI4M2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBv aWJfY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKQEAg LTQ2NSw3ICs0NjUsNyBAQCBzdGF0aWMgaW50IGlwb2liX2NtX3JlcV9oYW5kbGVyKHN0cnVjdCBp Yl9jbV9pZCAqY21faWQsCiAJCWdvdG8gZXJyX3FwOwogCX0KIAotCXBzbiA9IHByYW5kb21fdTMy KCkgJiAweGZmZmZmZjsKKwlwc24gPSBnZXRfcmFuZG9tX3UzMigpICYgMHhmZmZmZmY7CiAJcmV0 ID0gaXBvaWJfY21fbW9kaWZ5X3J4X3FwKGRldiwgY21faWQsIHAtPnFwLCBwc24pOwogCWlmIChy ZXQpCiAJCWdvdG8gZXJyX21vZGlmeTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDUtY2Fj aGUuYyBiL2RyaXZlcnMvbWQvcmFpZDUtY2FjaGUuYwppbmRleCBmNGUxY2MxZWNlNDMuLjViMGZj NzgzYmYwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9yYWlkNS1jYWNoZS5jCisrKyBiL2RyaXZl cnMvbWQvcmFpZDUtY2FjaGUuYwpAQCAtMjk5Myw3ICsyOTkzLDcgQEAgc3RhdGljIGludCByNWxf bG9hZF9sb2coc3RydWN0IHI1bF9sb2cgKmxvZykKIAl9CiBjcmVhdGU6CiAJaWYgKGNyZWF0ZV9z dXBlcikgewotCQlsb2ctPmxhc3RfY3Bfc2VxID0gcHJhbmRvbV91MzIoKTsKKwkJbG9nLT5sYXN0 X2NwX3NlcSA9IGdldF9yYW5kb21fdTMyKCk7CiAJCWNwID0gMDsKIAkJcjVsX2xvZ193cml0ZV9l bXB0eV9tZXRhX2Jsb2NrKGxvZywgY3AsIGxvZy0+bGFzdF9jcF9zZXEpOwogCQkvKgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdG91Y2gtY2FwLmMg Yi9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC10b3VjaC1jYXAuYwppbmRl eCA3OTI2NjBhODViYzEuLjZjYzMyZWI1NGY5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS90 ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdG91Y2gtY2FwLmMKKysrIGIvZHJpdmVycy9tZWRpYS90 ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdG91Y2gtY2FwLmMKQEAgLTIxMCw3ICsyMTAsNyBAQCBz dGF0aWMgdm9pZCB2aXZpZF9maWxsX2J1ZmZfbm9pc2UoX19zMTYgKnRjaF9idWYsIGludCBzaXpl KQogCiAJLyogRmlsbCAxMCUgb2YgdGhlIHZhbHVlcyB3aXRoaW4gcmFuZ2UgLTMgYW5kIDMsIHpl cm8gdGhlIG90aGVycyAqLwogCWZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLQkJdW5zaWdu ZWQgaW50IHJhbmQgPSBnZXRfcmFuZG9tX2ludCgpOworCQl1bnNpZ25lZCBpbnQgcmFuZCA9IGdl dF9yYW5kb21fdTMyKCk7CiAKIAkJaWYgKHJhbmQgJSAxMCkKIAkJCXRjaF9idWZbaV0gPSAwOwpA QCAtMjcyLDcgKzI3Miw3IEBAIHZvaWQgdml2aWRfZmlsbGJ1ZmZfdGNoKHN0cnVjdCB2aXZpZF9k ZXYgKmRldiwgc3RydWN0IHZpdmlkX2J1ZmZlciAqYnVmKQogCQlyZXR1cm47CiAKIAlpZiAodGVz dF9wYXRfaWR4ID09IDApCi0JCWRldi0+dGNoX3BhdF9yYW5kb20gPSBnZXRfcmFuZG9tX2ludCgp OworCQlkZXYtPnRjaF9wYXRfcmFuZG9tID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlyYW5kID0gZGV2 LT50Y2hfcGF0X3JhbmRvbTsKIAogCXN3aXRjaCAodGVzdF9wYXR0ZXJuKSB7CmRpZmYgLS1naXQg YS9kcml2ZXJzL21pc2MvaGFiYW5hbGFicy9nYXVkaTIvZ2F1ZGkyLmMgYi9kcml2ZXJzL21pc2Mv aGFiYW5hbGFicy9nYXVkaTIvZ2F1ZGkyLmMKaW5kZXggOTgzMzZhMWE4NGIwLi40MTNiMjg0YmYy MjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2dhdWRpMi9nYXVkaTIuYwor KysgYi9kcml2ZXJzL21pc2MvaGFiYW5hbGFicy9nYXVkaTIvZ2F1ZGkyLmMKQEAgLTI5MTcsNyAr MjkxNyw3IEBAIHN0YXRpYyB2b2lkIGdhdWRpMl91c2VyX2ludGVycnVwdF9zZXR1cChzdHJ1Y3Qg aGxfZGV2aWNlICpoZGV2KQogCiBzdGF0aWMgaW5saW5lIGludCBnYXVkaTJfZ2V0X25vbl96ZXJv X3JhbmRvbV9pbnQodm9pZCkKIHsKLQlpbnQgcmFuZCA9IGdldF9yYW5kb21faW50KCk7CisJaW50 IHJhbmQgPSBnZXRfcmFuZG9tX3UzMigpOwogCiAJcmV0dXJuIHJhbmQgPyByYW5kIDogMTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L25hbmRzaW0uYyBiL2RyaXZlcnMvbXRk L25hbmQvcmF3L25hbmRzaW0uYwppbmRleCA1MGJjZjc0NWU4MTYuLjRiZGFmNGFhNzAwNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvbmFuZHNpbS5jCisrKyBiL2RyaXZlcnMvbXRk L25hbmQvcmF3L25hbmRzaW0uYwpAQCAtMTQwMiw3ICsxNDAyLDcgQEAgc3RhdGljIGludCBuc19k b19yZWFkX2Vycm9yKHN0cnVjdCBuYW5kc2ltICpucywgaW50IG51bSkKIAogc3RhdGljIHZvaWQg bnNfZG9fYml0X2ZsaXBzKHN0cnVjdCBuYW5kc2ltICpucywgaW50IG51bSkKIHsKLQlpZiAoYml0 ZmxpcHMgJiYgcHJhbmRvbV91MzIoKSA8ICgxIDw8IDIyKSkgeworCWlmIChiaXRmbGlwcyAmJiBn ZXRfcmFuZG9tX3UzMigpIDwgKDEgPDwgMjIpKSB7CiAJCWludCBmbGlwcyA9IDE7CiAJCWlmIChi aXRmbGlwcyA+IDEpCiAJCQlmbGlwcyA9IHByYW5kb21fdTMyX21heChiaXRmbGlwcykgKyAxOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX21haW4uYyBiL2RyaXZlcnMvbmV0 L2JvbmRpbmcvYm9uZF9tYWluLmMKaW5kZXggODZkNDIzMDZhYTVlLi5jODU0MzM5NGEzYmIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMKKysrIGIvZHJpdmVycy9u ZXQvYm9uZGluZy9ib25kX21haW4uYwpAQCAtNDgwNiw3ICs0ODA2LDcgQEAgc3RhdGljIHUzMiBi b25kX3JyX2dlbl9zbGF2ZV9pZChzdHJ1Y3QgYm9uZGluZyAqYm9uZCkKIAogCXN3aXRjaCAocGFj a2V0c19wZXJfc2xhdmUpIHsKIAljYXNlIDA6Ci0JCXNsYXZlX2lkID0gcHJhbmRvbV91MzIoKTsK KwkJc2xhdmVfaWQgPSBnZXRfcmFuZG9tX3UzMigpOwogCQlicmVhazsKIAljYXNlIDE6CiAJCXNs YXZlX2lkID0gdGhpc19jcHVfaW5jX3JldHVybigqYm9uZC0+cnJfdHhfY291bnRlcik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9jbmljLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9icm9hZGNvbS9jbmljLmMKaW5kZXggZjU5N2IzMTNhY2FhLi4yMTk4ZTM1ZDll MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2NuaWMuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9jbmljLmMKQEAgLTQxNjQsNyArNDE2NCw3 IEBAIHN0YXRpYyBpbnQgY25pY19jbV9pbml0X2JueDJfaHcoc3RydWN0IGNuaWNfZGV2ICpkZXYp CiB7CiAJdTMyIHNlZWQ7CiAKLQlzZWVkID0gcHJhbmRvbV91MzIoKTsKKwlzZWVkID0gZ2V0X3Jh bmRvbV91MzIoKTsKIAljbmljX2N0eF93cihkZXYsIDQ1LCAwLCBzZWVkKTsKIAlyZXR1cm4gMDsK IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5lX2NyeXB0 by9jaHRscy9jaHRsc19jbS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9pbmxpbmVf Y3J5cHRvL2NodGxzL2NodGxzX2NtLmMKaW5kZXggYWM0NTJhMDExMWE5Li5iNzFjZTZjNWI1MTIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5lX2NyeXB0by9j aHRscy9jaHRsc19jbS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5l X2NyeXB0by9jaHRscy9jaHRsc19jbS5jCkBAIC0xMDYzLDcgKzEwNjMsNyBAQCBzdGF0aWMgdm9p ZCBjaHRsc19wYXNzX2FjY2VwdF9ycGwoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAlvcHQyIHw9IFdO RF9TQ0FMRV9FTl9WKFdTQ0FMRV9PSyh0cCkpOwogCXJwbDUtPm9wdDAgPSBjcHVfdG9fYmU2NChv cHQwKTsKIAlycGw1LT5vcHQyID0gY3B1X3RvX2JlMzIob3B0Mik7Ci0JcnBsNS0+aXNzID0gY3B1 X3RvX2JlMzIoKHByYW5kb21fdTMyKCkgJiB+N1VMKSAtIDEpOworCXJwbDUtPmlzcyA9IGNwdV90 b19iZTMyKChnZXRfcmFuZG9tX3UzMigpICYgfjdVTCkgLSAxKTsKIAlzZXRfd3JfdHhxKHNrYiwg Q1BMX1BSSU9SSVRZX1NFVFVQLCBjc2stPnBvcnRfaWQpOwogCXQ0X3NldF9hcnBfZXJyX2hhbmRs ZXIoc2tiLCBzaywgY2h0bHNfYWNjZXB0X3JwbF9hcnBfZmFpbHVyZSk7CiAJY3hnYjRfbDJ0X3Nl bmQoY3NrLT5lZ3Jlc3NfZGV2LCBza2IsIGNzay0+bDJ0X2VudHJ5KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvcm9ja2VyL3JvY2tlcl9tYWluLmMKaW5kZXggZmM4M2VjMjNiZDFkLi44YzNiYmFmYWJi MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5j CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jCkBAIC0xMjks NyArMTI5LDcgQEAgc3RhdGljIGludCByb2NrZXJfcmVnX3Rlc3QoY29uc3Qgc3RydWN0IHJvY2tl ciAqcm9ja2VyKQogCXU2NCB0ZXN0X3JlZzsKIAl1NjQgcm5kOwogCi0Jcm5kID0gcHJhbmRvbV91 MzIoKTsKKwlybmQgPSBnZXRfcmFuZG9tX3UzMigpOwogCXJuZCA+Pj0gMTsKIAlyb2NrZXJfd3Jp dGUzMihyb2NrZXIsIFRFU1RfUkVHLCBybmQpOwogCXRlc3RfcmVnID0gcm9ja2VyX3JlYWQzMihy b2NrZXIsIFRFU1RfUkVHKTsKQEAgLTEzOSw5ICsxMzksOSBAQCBzdGF0aWMgaW50IHJvY2tlcl9y ZWdfdGVzdChjb25zdCBzdHJ1Y3Qgcm9ja2VyICpyb2NrZXIpCiAJCXJldHVybiAtRUlPOwogCX0K IAotCXJuZCA9IHByYW5kb21fdTMyKCk7CisJcm5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlybmQg PDw9IDMxOwotCXJuZCB8PSBwcmFuZG9tX3UzMigpOworCXJuZCB8PSBnZXRfcmFuZG9tX3UzMigp OwogCXJvY2tlcl93cml0ZTY0KHJvY2tlciwgVEVTVF9SRUc2NCwgcm5kKTsKIAl0ZXN0X3JlZyA9 IHJvY2tlcl9yZWFkNjQocm9ja2VyLCBURVNUX1JFRzY0KTsKIAlpZiAodGVzdF9yZWcgIT0gcm5k ICogMikgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgw MjExL2JyY21mbWFjL3Buby5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgw MjExL2JyY21mbWFjL3Buby5jCmluZGV4IGZhYmZiYjBiNDBiMC4uMzc0ZTFjYzA3YTYzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMv cG5vLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21m bWFjL3Buby5jCkBAIC0xNzcsNyArMTc3LDcgQEAgc3RhdGljIGludCBicmNtZl9wbm9fc2V0X3Jh bmRvbShzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwgc3RydWN0IGJyY21mX3Bub19pbmZvICpwaSkKIAlt ZW1jcHkocGZuX21hYy5tYWMsIG1hY19hZGRyLCBFVEhfQUxFTik7CiAJZm9yIChpID0gMDsgaSA8 IEVUSF9BTEVOOyBpKyspIHsKIAkJcGZuX21hYy5tYWNbaV0gJj0gbWFjX21hc2tbaV07Ci0JCXBm bl9tYWMubWFjW2ldIHw9IGdldF9yYW5kb21faW50KCkgJiB+KG1hY19tYXNrW2ldKTsKKwkJcGZu X21hYy5tYWNbaV0gfD0gZ2V0X3JhbmRvbV91MzIoKSAmIH4obWFjX21hc2tbaV0pOwogCX0KIAkv KiBDbGVhciBtdWx0aSBiaXQgKi8KIAlwZm5fbWFjLm1hY1swXSAmPSAweEZFOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L2NmZzgwMjExLmMgYi9kcml2 ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvY2ZnODAyMTEuYwppbmRleCAxMzQxMTRh YzFhYzAuLjRmYmI1Yzg3NmIxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFy dmVsbC9td2lmaWV4L2NmZzgwMjExLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVs bC9td2lmaWV4L2NmZzgwMjExLmMKQEAgLTIzOCw3ICsyMzgsNyBAQCBtd2lmaWV4X2NmZzgwMjEx X21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcmVsZXNzX2RldiAqd2RldiwK IAl0eF9pbmZvLT5wa3RfbGVuID0gcGt0X2xlbjsKIAogCW13aWZpZXhfZm9ybV9tZ210X2ZyYW1l KHNrYiwgYnVmLCBsZW4pOwotCSpjb29raWUgPSBwcmFuZG9tX3UzMigpIHwgMTsKKwkqY29va2ll ID0gZ2V0X3JhbmRvbV91MzIoKSB8IDE7CiAKIAlpZiAoaWVlZTgwMjExX2lzX2FjdGlvbihtZ210 LT5mcmFtZV9jb250cm9sKSkKIAkJc2tiID0gbXdpZmlleF9jbG9uZV9za2JfZm9yX3R4X3N0YXR1 cyhwcml2LApAQCAtMzAyLDcgKzMwMiw3IEBAIG13aWZpZXhfY2ZnODAyMTFfcmVtYWluX29uX2No YW5uZWwoc3RydWN0IHdpcGh5ICp3aXBoeSwKIAkJCQkJIGR1cmF0aW9uKTsKIAogCWlmICghcmV0 KSB7Ci0JCSpjb29raWUgPSBwcmFuZG9tX3UzMigpIHwgMTsKKwkJKmNvb2tpZSA9IGdldF9yYW5k b21fdTMyKCkgfCAxOwogCQlwcml2LT5yb2NfY2ZnLmNvb2tpZSA9ICpjb29raWU7CiAJCXByaXYt PnJvY19jZmcuY2hhbiA9ICpjaGFuOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVz cy9taWNyb2NoaXAvd2lsYzEwMDAvY2ZnODAyMTEuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21p Y3JvY2hpcC93aWxjMTAwMC9jZmc4MDIxMS5jCmluZGV4IDNhYzM3M2QyOWQ5My4uODRiOWQzNDU0 ZTU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAv Y2ZnODAyMTEuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAv Y2ZnODAyMTEuYwpAQCAtMTE1OSw3ICsxMTU5LDcgQEAgc3RhdGljIGludCBtZ210X3R4KHN0cnVj dCB3aXBoeSAqd2lwaHksCiAJY29uc3QgdTggKnZlbmRvcl9pZTsKIAlpbnQgcmV0ID0gMDsKIAot CSpjb29raWUgPSBwcmFuZG9tX3UzMigpOworCSpjb29raWUgPSBnZXRfcmFuZG9tX3UzMigpOwog CXByaXYtPnR4X2Nvb2tpZSA9ICpjb29raWU7CiAJbWdtdCA9IChjb25zdCBzdHJ1Y3QgaWVlZTgw MjExX21nbXQgKilidWY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3F1YW50 ZW5uYS9xdG5mbWFjL2NmZzgwMjExLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9xdWFudGVubmEv cXRuZm1hYy9jZmc4MDIxMS5jCmluZGV4IDE1OTNlODEwYjNjYS4uOWM1NDE2MTQxZDNjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9xdWFudGVubmEvcXRuZm1hYy9jZmc4MDIxMS5j CisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3F1YW50ZW5uYS9xdG5mbWFjL2NmZzgwMjExLmMK QEAgLTQ0OSw3ICs0NDksNyBAQCBxdG5mX21nbXRfdHgoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3Ry dWN0IHdpcmVsZXNzX2RldiAqd2RldiwKIHsKIAlzdHJ1Y3QgcXRuZl92aWYgKnZpZiA9IHF0bmZf bmV0ZGV2X2dldF9wcml2KHdkZXYtPm5ldGRldik7CiAJY29uc3Qgc3RydWN0IGllZWU4MDIxMV9t Z210ICptZ210X2ZyYW1lID0gKHZvaWQgKilwYXJhbXMtPmJ1ZjsKLQl1MzIgc2hvcnRfY29va2ll ID0gcHJhbmRvbV91MzIoKTsKKwl1MzIgc2hvcnRfY29va2llID0gZ2V0X3JhbmRvbV91MzIoKTsK IAl1MTYgZmxhZ3MgPSAwOwogCXUxNiBmcmVxOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93 aXJlbGVzcy90aS93bGNvcmUvbWFpbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvdGkvd2xjb3Jl L21haW4uYwppbmRleCAzZTM5MjJkNGM3ODguLjI4YzBmMDZlMzExZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvd2lyZWxlc3MvdGkvd2xjb3JlL21haW4uYworKysgYi9kcml2ZXJzL25ldC93aXJl bGVzcy90aS93bGNvcmUvbWFpbi5jCkBAIC02MTAwLDcgKzYxMDAsNyBAQCBzdGF0aWMgaW50IHds MTI3MV9yZWdpc3Rlcl9odyhzdHJ1Y3Qgd2wxMjcxICp3bCkKIAkJCXdsMTI3MV93YXJuaW5nKCJG dXNlIG1hYyBhZGRyZXNzIGlzIHplcm8uIHVzaW5nIHJhbmRvbSBtYWMiKTsKIAkJCS8qIFVzZSBU SSBvdWkgYW5kIGEgcmFuZG9tIG5pYyAqLwogCQkJb3VpX2FkZHIgPSBXTENPUkVfVElfT1VJX0FE RFJFU1M7Ci0JCQluaWNfYWRkciA9IGdldF9yYW5kb21faW50KCk7CisJCQluaWNfYWRkciA9IGdl dF9yYW5kb21fdTMyKCk7CiAJCX0gZWxzZSB7CiAJCQlvdWlfYWRkciA9IHdsLT5mdXNlX291aV9h ZGRyOwogCQkJLyogZnVzZSBoYXMgdGhlIEJEX0FERFIsIHRoZSBXTEFOIGFkZHJlc3NlcyBhcmUg dGhlIG5leHQgdHdvICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL252bWUvY29tbW9uL2F1dGguYyBi L2RyaXZlcnMvbnZtZS9jb21tb24vYXV0aC5jCmluZGV4IDA0YmQyOGYxN2RjYy4uZDkwZTRmMGMw OGI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL252bWUvY29tbW9uL2F1dGguYworKysgYi9kcml2ZXJz L252bWUvY29tbW9uL2F1dGguYwpAQCAtMjMsNyArMjMsNyBAQCB1MzIgbnZtZV9hdXRoX2dldF9z ZXFudW0odm9pZCkKIAogCW11dGV4X2xvY2soJm52bWVfZGhjaGFwX211dGV4KTsKIAlpZiAoIW52 bWVfZGhjaGFwX3NlcW51bSkKLQkJbnZtZV9kaGNoYXBfc2VxbnVtID0gcHJhbmRvbV91MzIoKTsK KwkJbnZtZV9kaGNoYXBfc2VxbnVtID0gZ2V0X3JhbmRvbV91MzIoKTsKIAllbHNlIHsKIAkJbnZt ZV9kaGNoYXBfc2VxbnVtKys7CiAJCWlmICghbnZtZV9kaGNoYXBfc2VxbnVtKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zY3NpL2N4Z2JpL2N4Z2I0aS9jeGdiNGkuYyBiL2RyaXZlcnMvc2NzaS9jeGdi aS9jeGdiNGkvY3hnYjRpLmMKaW5kZXggNTNkOTFiZjljMTJhLi5jMDdkMmUzYjRiY2YgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvc2NzaS9jeGdiaS9jeGdiNGkvY3hnYjRpLmMKKysrIGIvZHJpdmVycy9z Y3NpL2N4Z2JpL2N4Z2I0aS9jeGdiNGkuYwpAQCAtMjU0LDcgKzI1NCw3IEBAIHN0YXRpYyB2b2lk IHNlbmRfYWN0X29wZW5fcmVxKHN0cnVjdCBjeGdiaV9zb2NrICpjc2ssIHN0cnVjdCBza19idWZm ICpza2IsCiAJfSBlbHNlIGlmIChpc190NShsbGRpLT5hZGFwdGVyX3R5cGUpKSB7CiAJCXN0cnVj dCBjcGxfdDVfYWN0X29wZW5fcmVxICpyZXEgPQogCQkJCShzdHJ1Y3QgY3BsX3Q1X2FjdF9vcGVu X3JlcSAqKXNrYi0+aGVhZDsKLQkJdTMyIGlzbiA9IChwcmFuZG9tX3UzMigpICYgfjdVTCkgLSAx OworCQl1MzIgaXNuID0gKGdldF9yYW5kb21fdTMyKCkgJiB+N1VMKSAtIDE7CiAKIAkJSU5JVF9U UF9XUihyZXEsIDApOwogCQlPUENPREVfVElEKHJlcSkgPSBjcHVfdG9fYmUzMihNS19PUENPREVf VElEKENQTF9BQ1RfT1BFTl9SRVEsCkBAIC0yODIsNyArMjgyLDcgQEAgc3RhdGljIHZvaWQgc2Vu ZF9hY3Rfb3Blbl9yZXEoc3RydWN0IGN4Z2JpX3NvY2sgKmNzaywgc3RydWN0IHNrX2J1ZmYgKnNr YiwKIAl9IGVsc2UgewogCQlzdHJ1Y3QgY3BsX3Q2X2FjdF9vcGVuX3JlcSAqcmVxID0KIAkJCQko c3RydWN0IGNwbF90Nl9hY3Rfb3Blbl9yZXEgKilza2ItPmhlYWQ7Ci0JCXUzMiBpc24gPSAocHJh bmRvbV91MzIoKSAmIH43VUwpIC0gMTsKKwkJdTMyIGlzbiA9IChnZXRfcmFuZG9tX3UzMigpICYg fjdVTCkgLSAxOwogCiAJCUlOSVRfVFBfV1IocmVxLCAwKTsKIAkJT1BDT0RFX1RJRChyZXEpID0g Y3B1X3RvX2JlMzIoTUtfT1BDT0RFX1RJRChDUExfQUNUX09QRU5fUkVRLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy90YXJnZXQvaXNjc2kvY3hnYml0L2N4Z2JpdF9jbS5jIGIvZHJpdmVycy90YXJnZXQv aXNjc2kvY3hnYml0L2N4Z2JpdF9jbS5jCmluZGV4IDMzMzZkMmI3OGJmNy4uZDkyMDRjNTkwZDlh IDEwMDY0NAotLS0gYS9kcml2ZXJzL3RhcmdldC9pc2NzaS9jeGdiaXQvY3hnYml0X2NtLmMKKysr IGIvZHJpdmVycy90YXJnZXQvaXNjc2kvY3hnYml0L2N4Z2JpdF9jbS5jCkBAIC0xMjAyLDcgKzEy MDIsNyBAQCBjeGdiaXRfcGFzc19hY2NlcHRfcnBsKHN0cnVjdCBjeGdiaXRfc29jayAqY3NrLCBz dHJ1Y3QgY3BsX3Bhc3NfYWNjZXB0X3JlcSAqcmVxKQogCW9wdDIgfD0gQ09OR19DTlRSTF9WKENP TkdfQUxHX05FV1JFTk8pOwogCiAJb3B0MiB8PSBUNV9JU1NfRjsKLQlycGw1LT5pc3MgPSBjcHVf dG9fYmUzMigocHJhbmRvbV91MzIoKSAmIH43VUwpIC0gMSk7CisJcnBsNS0+aXNzID0gY3B1X3Rv X2JlMzIoKGdldF9yYW5kb21fdTMyKCkgJiB+N1VMKSAtIDEpOwogCiAJb3B0MiB8PSBUNV9PUFRf Ml9WQUxJRF9GOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3RodW5kZXJib2x0L3hkb21haW4uYyBi L2RyaXZlcnMvdGh1bmRlcmJvbHQveGRvbWFpbi5jCmluZGV4IGMzMWMwZDk0ZDhiMy4uNzYwNzVl Mjk2OTZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3RodW5kZXJib2x0L3hkb21haW4uYworKysgYi9k cml2ZXJzL3RodW5kZXJib2x0L3hkb21haW4uYwpAQCAtMjQzOCw3ICsyNDM4LDcgQEAgaW50IHRi X3hkb21haW5faW5pdCh2b2lkKQogCXRiX3Byb3BlcnR5X2FkZF9pbW1lZGlhdGUoeGRvbWFpbl9w cm9wZXJ0eV9kaXIsICJkZXZpY2VpZCIsIDB4MSk7CiAJdGJfcHJvcGVydHlfYWRkX2ltbWVkaWF0 ZSh4ZG9tYWluX3Byb3BlcnR5X2RpciwgImRldmljZXJ2IiwgMHg4MDAwMDEwMCk7CiAKLQl4ZG9t YWluX3Byb3BlcnR5X2Jsb2NrX2dlbiA9IHByYW5kb21fdTMyKCk7CisJeGRvbWFpbl9wcm9wZXJ0 eV9ibG9ja19nZW4gPSBnZXRfcmFuZG9tX3UzMigpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv dXZlc2FmYi5jCmluZGV4IDRkZjY3NzI4MDJkNy4uMjg1YjgzYzIwMzI2IDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2 ZXNhZmIuYwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbnQgdXZlc2FmYl9leGVjKHN0cnVj dCB1dmVzYWZiX2t0YXNrICp0YXNrKQogCW1lbWNweSgmbS0+aWQsICZ1dmVzYWZiX2NuX2lkLCBz aXplb2YobS0+aWQpKTsKIAltLT5zZXEgPSBzZXE7CiAJbS0+bGVuID0gbGVuOwotCW0tPmFjayA9 IHByYW5kb21fdTMyKCk7CisJbS0+YWNrID0gZ2V0X3JhbmRvbV91MzIoKTsKIAogCS8qIHV2ZXNh ZmJfdGFzayBzdHJ1Y3R1cmUgKi8KIAltZW1jcHkobSArIDEsICZ0YXNrLT50LCBzaXplb2YodGFz ay0+dCkpOwpkaWZmIC0tZ2l0IGEvZnMvZXhmYXQvaW5vZGUuYyBiL2ZzL2V4ZmF0L2lub2RlLmMK aW5kZXggYTc5NTQzN2I4NmQwLi41NTkwYTFlODMxMjYgMTAwNjQ0Ci0tLSBhL2ZzL2V4ZmF0L2lu b2RlLmMKKysrIGIvZnMvZXhmYXQvaW5vZGUuYwpAQCAtNTUyLDcgKzU1Miw3IEBAIHN0YXRpYyBp bnQgZXhmYXRfZmlsbF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXhmYXRfZGly X2VudHJ5ICppbmZvKQogCWlub2RlLT5pX3VpZCA9IHNiaS0+b3B0aW9ucy5mc191aWQ7CiAJaW5v ZGUtPmlfZ2lkID0gc2JpLT5vcHRpb25zLmZzX2dpZDsKIAlpbm9kZV9pbmNfaXZlcnNpb24oaW5v ZGUpOwotCWlub2RlLT5pX2dlbmVyYXRpb24gPSBwcmFuZG9tX3UzMigpOworCWlub2RlLT5pX2dl bmVyYXRpb24gPSBnZXRfcmFuZG9tX3UzMigpOwogCiAJaWYgKGluZm8tPmF0dHIgJiBBVFRSX1NV QkRJUikgeyAvKiBkaXJlY3RvcnkgKi8KIAkJaW5vZGUtPmlfZ2VuZXJhdGlvbiAmPSB+MTsKZGlm ZiAtLWdpdCBhL2ZzL2V4dDQvaWFsbG9jLmMgYi9mcy9leHQ0L2lhbGxvYy5jCmluZGV4IDM2ZDVi YzU5NWNjMi4uMzk1NmUyNGZhNmU5IDEwMDY0NAotLS0gYS9mcy9leHQ0L2lhbGxvYy5jCisrKyBi L2ZzL2V4dDQvaWFsbG9jLmMKQEAgLTEyNzksNyArMTI3OSw3IEBAIHN0cnVjdCBpbm9kZSAqX19l eHQ0X25ld19pbm9kZShzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm1udF91c2VybnMsCiAJCQkJCUVY VDRfR1JPVVBfSU5GT19JQklUTUFQX0NPUlJVUFQpOwogCQlnb3RvIG91dDsKIAl9Ci0JaW5vZGUt PmlfZ2VuZXJhdGlvbiA9IHByYW5kb21fdTMyKCk7CisJaW5vZGUtPmlfZ2VuZXJhdGlvbiA9IGdl dF9yYW5kb21fdTMyKCk7CiAKIAkvKiBQcmVjb21wdXRlIGNoZWNrc3VtIHNlZWQgZm9yIGlub2Rl IG1ldGFkYXRhICovCiAJaWYgKGV4dDRfaGFzX21ldGFkYXRhX2NzdW0oc2IpKSB7CmRpZmYgLS1n aXQgYS9mcy9leHQ0L2lvY3RsLmMgYi9mcy9leHQ0L2lvY3RsLmMKaW5kZXggM2NmM2VjNGIxYzIx Li45OWRmNWI4YWUxNDkgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaW9jdGwuYworKysgYi9mcy9leHQ0 L2lvY3RsLmMKQEAgLTQ1Myw4ICs0NTMsOCBAQCBzdGF0aWMgbG9uZyBzd2FwX2lub2RlX2Jvb3Rf bG9hZGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAKIAlpbm9kZS0+aV9jdGltZSA9IGlub2Rl X2JsLT5pX2N0aW1lID0gY3VycmVudF90aW1lKGlub2RlKTsKIAotCWlub2RlLT5pX2dlbmVyYXRp b24gPSBwcmFuZG9tX3UzMigpOwotCWlub2RlX2JsLT5pX2dlbmVyYXRpb24gPSBwcmFuZG9tX3Uz MigpOworCWlub2RlLT5pX2dlbmVyYXRpb24gPSBnZXRfcmFuZG9tX3UzMigpOworCWlub2RlX2Js LT5pX2dlbmVyYXRpb24gPSBnZXRfcmFuZG9tX3UzMigpOwogCWV4dDRfcmVzZXRfaW5vZGVfc2Vl ZChpbm9kZSk7CiAJZXh0NF9yZXNldF9pbm9kZV9zZWVkKGlub2RlX2JsKTsKIApkaWZmIC0tZ2l0 IGEvZnMvZXh0NC9tbXAuYyBiL2ZzL2V4dDQvbW1wLmMKaW5kZXggOWFmNjhhN2VjZGNmLi41ODhj YjA5YzUyOTEgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvbW1wLmMKKysrIGIvZnMvZXh0NC9tbXAuYwpA QCAtMjY1LDcgKzI2NSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbW1wX25ld19zZXEodm9pZCkK IAl1MzIgbmV3X3NlcTsKIAogCWRvIHsKLQkJbmV3X3NlcSA9IHByYW5kb21fdTMyKCk7CisJCW5l d19zZXEgPSBnZXRfcmFuZG9tX3UzMigpOwogCX0gd2hpbGUgKG5ld19zZXEgPiBFWFQ0X01NUF9T RVFfTUFYKTsKIAogCXJldHVybiBuZXdfc2VxOwpkaWZmIC0tZ2l0IGEvZnMvZjJmcy9uYW1laS5j IGIvZnMvZjJmcy9uYW1laS5jCmluZGV4IGJmMDBkNTA1N2FiYi4uOTM5NTM2OTgyYzNlIDEwMDY0 NAotLS0gYS9mcy9mMmZzL25hbWVpLmMKKysrIGIvZnMvZjJmcy9uYW1laS5jCkBAIC01MCw3ICs1 MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgaW5vZGUgKmYyZnNfbmV3X2lub2RlKHN0cnVjdCB1c2VyX25h bWVzcGFjZSAqbW50X3VzZXJucywKIAlpbm9kZS0+aV9ibG9ja3MgPSAwOwogCWlub2RlLT5pX210 aW1lID0gaW5vZGUtPmlfYXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IGN1cnJlbnRfdGltZShpbm9k ZSk7CiAJRjJGU19JKGlub2RlKS0+aV9jcnRpbWUgPSBpbm9kZS0+aV9tdGltZTsKLQlpbm9kZS0+ aV9nZW5lcmF0aW9uID0gcHJhbmRvbV91MzIoKTsKKwlpbm9kZS0+aV9nZW5lcmF0aW9uID0gZ2V0 X3JhbmRvbV91MzIoKTsKIAogCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKQogCQlGMkZTX0ko aW5vZGUpLT5pX2N1cnJlbnRfZGVwdGggPSAxOwpkaWZmIC0tZ2l0IGEvZnMvZmF0L2lub2RlLmMg Yi9mcy9mYXQvaW5vZGUuYwppbmRleCBhMzgyMzhkNzVjMDguLjFjYmNjNDYwOGRjNyAxMDA2NDQK LS0tIGEvZnMvZmF0L2lub2RlLmMKKysrIGIvZnMvZmF0L2lub2RlLmMKQEAgLTUyMyw3ICs1MjMs NyBAQCBpbnQgZmF0X2ZpbGxfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IG1zZG9z X2Rpcl9lbnRyeSAqZGUpCiAJaW5vZGUtPmlfdWlkID0gc2JpLT5vcHRpb25zLmZzX3VpZDsKIAlp bm9kZS0+aV9naWQgPSBzYmktPm9wdGlvbnMuZnNfZ2lkOwogCWlub2RlX2luY19pdmVyc2lvbihp bm9kZSk7Ci0JaW5vZGUtPmlfZ2VuZXJhdGlvbiA9IHByYW5kb21fdTMyKCk7CisJaW5vZGUtPmlf Z2VuZXJhdGlvbiA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAlpZiAoKGRlLT5hdHRyICYgQVRUUl9E SVIpICYmICFJU19GUkVFKGRlLT5uYW1lKSkgewogCQlpbm9kZS0+aV9nZW5lcmF0aW9uICY9IH4x OwpkaWZmIC0tZ2l0IGEvZnMvbmZzZC9uZnM0c3RhdGUuYyBiL2ZzL25mc2QvbmZzNHN0YXRlLmMK aW5kZXggYzVkMTk5ZDdlNmI0Li5lMTBjMTZjZDc4ODEgMTAwNjQ0Ci0tLSBhL2ZzL25mc2QvbmZz NHN0YXRlLmMKKysrIGIvZnMvbmZzZC9uZnM0c3RhdGUuYwpAQCAtNDM0Niw4ICs0MzQ2LDggQEAg dm9pZCBuZnNkNF9pbml0X2xlYXNlc19uZXQoc3RydWN0IG5mc2RfbmV0ICpubikKIAlubi0+bmZz ZDRfZ3JhY2UgPSA5MDsKIAlubi0+c29tZWJvZHlfcmVjbGFpbWVkID0gZmFsc2U7CiAJbm4tPnRy YWNrX3JlY2xhaW1fY29tcGxldGVzID0gZmFsc2U7Ci0Jbm4tPmNsdmVyaWZpZXJfY291bnRlciA9 IHByYW5kb21fdTMyKCk7Ci0Jbm4tPmNsaWVudGlkX2Jhc2UgPSBwcmFuZG9tX3UzMigpOworCW5u LT5jbHZlcmlmaWVyX2NvdW50ZXIgPSBnZXRfcmFuZG9tX3UzMigpOworCW5uLT5jbGllbnRpZF9i YXNlID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlubi0+Y2xpZW50aWRfY291bnRlciA9IG5uLT5jbGll bnRpZF9iYXNlICsgMTsKIAlubi0+czJzX2NwX2NsX2lkID0gbm4tPmNsaWVudGlkX2NvdW50ZXIr KzsKIApkaWZmIC0tZ2l0IGEvZnMvbnRmczMvZnNsb2cuYyBiL2ZzL250ZnMzL2ZzbG9nLmMKaW5k ZXggZTdjNDk0MDA1MTIyLi4wZDYxMWE2YzU1MTEgMTAwNjQ0Ci0tLSBhL2ZzL250ZnMzL2ZzbG9n LmMKKysrIGIvZnMvbnRmczMvZnNsb2cuYwpAQCAtMzgxOSw3ICszODE5LDcgQEAgaW50IGxvZ19y ZXBsYXkoc3RydWN0IG50ZnNfaW5vZGUgKm5pLCBib29sICppbml0aWFsaXplZCkKIAkJfQogCiAJ CWxvZ19pbml0X3BnX2hkcihsb2csIHBhZ2Vfc2l6ZSwgcGFnZV9zaXplLCAxLCAxKTsKLQkJbG9n X2NyZWF0ZShsb2csIGxfc2l6ZSwgMCwgZ2V0X3JhbmRvbV9pbnQoKSwgZmFsc2UsIGZhbHNlKTsK KwkJbG9nX2NyZWF0ZShsb2csIGxfc2l6ZSwgMCwgZ2V0X3JhbmRvbV91MzIoKSwgZmFsc2UsIGZh bHNlKTsKIAogCQlsb2ctPnJhID0gcmE7CiAKQEAgLTM4OTMsNyArMzg5Myw3IEBAIGludCBsb2df cmVwbGF5KHN0cnVjdCBudGZzX2lub2RlICpuaSwgYm9vbCAqaW5pdGlhbGl6ZWQpCiAKIAkJLyog RG8gc29tZSBjaGVja3MgYmFzZWQgb24gd2hldGhlciB3ZSBoYXZlIGEgdmFsaWQgbG9nIHBhZ2Uu ICovCiAJCWlmICghcnN0X2luZm8udmFsaWRfcGFnZSkgewotCQkJb3Blbl9sb2dfY291bnQgPSBn ZXRfcmFuZG9tX2ludCgpOworCQkJb3Blbl9sb2dfY291bnQgPSBnZXRfcmFuZG9tX3UzMigpOwog CQkJZ290byBpbml0X2xvZ19pbnN0YW5jZTsKIAkJfQogCQlvcGVuX2xvZ19jb3VudCA9IGxlMzJf dG9fY3B1KHJhMi0+b3Blbl9sb2dfY291bnQpOwpAQCAtNDA0NCw3ICs0MDQ0LDcgQEAgaW50IGxv Z19yZXBsYXkoc3RydWN0IG50ZnNfaW5vZGUgKm5pLCBib29sICppbml0aWFsaXplZCkKIAkJbWVt Y3B5KHJhLT5jbGllbnRzLCBBZGQyUHRyKHJhMiwgdDE2KSwKIAkJICAgICAgIGxlMTZfdG9fY3B1 KHJhMi0+cmFfbGVuKSAtIHQxNik7CiAKLQkJbG9nLT5jdXJyZW50X29wZW5sb2dfY291bnQgPSBn ZXRfcmFuZG9tX2ludCgpOworCQlsb2ctPmN1cnJlbnRfb3BlbmxvZ19jb3VudCA9IGdldF9yYW5k b21fdTMyKCk7CiAJCXJhLT5vcGVuX2xvZ19jb3VudCA9IGNwdV90b19sZTMyKGxvZy0+Y3VycmVu dF9vcGVubG9nX2NvdW50KTsKIAkJbG9nLT5yYV9zaXplID0gb2Zmc2V0b2Yoc3RydWN0IFJFU1RB UlRfQVJFQSwgY2xpZW50cykgKwogCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgQ0xJRU5UX1JFQyk7 CmRpZmYgLS1naXQgYS9mcy91Ymlmcy9qb3VybmFsLmMgYi9mcy91Ymlmcy9qb3VybmFsLmMKaW5k ZXggNzVkYWIwYWUzOTM5Li40NjE5NjUyMDQ2Y2YgMTAwNjQ0Ci0tLSBhL2ZzL3ViaWZzL2pvdXJu YWwuYworKysgYi9mcy91Ymlmcy9qb3VybmFsLmMKQEAgLTUwMyw3ICs1MDMsNyBAQCBzdGF0aWMg dm9pZCBtYXJrX2lub2RlX2NsZWFuKHN0cnVjdCB1Ymlmc19pbmZvICpjLCBzdHJ1Y3QgdWJpZnNf aW5vZGUgKnVpKQogc3RhdGljIHZvaWQgc2V0X2RlbnRfY29va2llKHN0cnVjdCB1Ymlmc19pbmZv ICpjLCBzdHJ1Y3QgdWJpZnNfZGVudF9ub2RlICpkZW50KQogewogCWlmIChjLT5kb3VibGVfaGFz aCkKLQkJZGVudC0+Y29va2llID0gKF9fZm9yY2UgX19sZTMyKSBwcmFuZG9tX3UzMigpOworCQlk ZW50LT5jb29raWUgPSAoX19mb3JjZSBfX2xlMzIpIGdldF9yYW5kb21fdTMyKCk7CiAJZWxzZQog CQlkZW50LT5jb29raWUgPSAwOwogfQpkaWZmIC0tZ2l0IGEvZnMveGZzL2xpYnhmcy94ZnNfaWFs bG9jLmMgYi9mcy94ZnMvbGlieGZzL3hmc19pYWxsb2MuYwppbmRleCA3ODM4YjMxMTI2ZTIuLjk0 ZGI1MGViNzA2YSAxMDA2NDQKLS0tIGEvZnMveGZzL2xpYnhmcy94ZnNfaWFsbG9jLmMKKysrIGIv ZnMveGZzL2xpYnhmcy94ZnNfaWFsbG9jLmMKQEAgLTgwNSw3ICs4MDUsNyBAQCB4ZnNfaWFsbG9j X2FnX2FsbG9jKAogCSAqIG51bWJlciBmcm9tIGJlaW5nIGVhc2lseSBndWVzc2FibGUuCiAJICov CiAJZXJyb3IgPSB4ZnNfaWFsbG9jX2lub2RlX2luaXQoYXJncy5tcCwgdHAsIE5VTEwsIG5ld2xl biwgcGFnLT5wYWdfYWdubywKLQkJCWFyZ3MuYWdibm8sIGFyZ3MubGVuLCBwcmFuZG9tX3UzMigp KTsKKwkJCWFyZ3MuYWdibm8sIGFyZ3MubGVuLCBnZXRfcmFuZG9tX3UzMigpKTsKIAogCWlmIChl cnJvcikKIAkJcmV0dXJuIGVycm9yOwpkaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19pY2FjaGUuYyBi L2ZzL3hmcy94ZnNfaWNhY2hlLmMKaW5kZXggMmJiZTc5MTZhOTk4Li5lYWU3NDI3MDYyY2YgMTAw NjQ0Ci0tLSBhL2ZzL3hmcy94ZnNfaWNhY2hlLmMKKysrIGIvZnMveGZzL3hmc19pY2FjaGUuYwpA QCAtNTk2LDcgKzU5Niw3IEBAIHhmc19pZ2V0X2NhY2hlX21pc3MoCiAJICovCiAJaWYgKHhmc19o YXNfdjNpbm9kZXMobXApICYmCiAJICAgIChmbGFncyAmIFhGU19JR0VUX0NSRUFURSkgJiYgIXhm c19oYXNfaWtlZXAobXApKSB7Ci0JCVZGU19JKGlwKS0+aV9nZW5lcmF0aW9uID0gcHJhbmRvbV91 MzIoKTsKKwkJVkZTX0koaXApLT5pX2dlbmVyYXRpb24gPSBnZXRfcmFuZG9tX3UzMigpOwogCX0g ZWxzZSB7CiAJCXN0cnVjdCB4ZnNfYnVmCQkqYnA7CiAKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNf bG9nLmMgYi9mcy94ZnMveGZzX2xvZy5jCmluZGV4IDM4NmIwMzA3YWVkOC4uYWQ4NjUyY2JmMjQ1 IDEwMDY0NAotLS0gYS9mcy94ZnMveGZzX2xvZy5jCisrKyBiL2ZzL3hmcy94ZnNfbG9nLmMKQEAg LTM1NDQsNyArMzU0NCw3IEBAIHhsb2dfdGlja2V0X2FsbG9jKAogCXRpYy0+dF9jdXJyX3JlcwkJ PSB1bml0X3JlczsKIAl0aWMtPnRfY250CQk9IGNudDsKIAl0aWMtPnRfb2NudAkJPSBjbnQ7Ci0J dGljLT50X3RpZAkJPSBwcmFuZG9tX3UzMigpOworCXRpYy0+dF90aWQJCT0gZ2V0X3JhbmRvbV91 MzIoKTsKIAlpZiAocGVybWFuZW50KQogCQl0aWMtPnRfZmxhZ3MgfD0gWExPR19USUNfUEVSTV9S RVNFUlY7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9xdWV1ZS5oIGIv aW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX3F1ZXVlLmgKaW5kZXggOTgwZGFhNmUxZTNhLi5jODEw MjFhYjA3YWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9xdWV1ZS5oCisr KyBiL2luY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9xdWV1ZS5oCkBAIC00Myw3ICs0Myw3IEBAIHZv aWQgbmZfcXVldWVfZW50cnlfZnJlZShzdHJ1Y3QgbmZfcXVldWVfZW50cnkgKmVudHJ5KTsKIHN0 YXRpYyBpbmxpbmUgdm9pZCBpbml0X2hhc2hyYW5kb20odTMyICpqaGFzaF9pbml0dmFsKQogewog CXdoaWxlICgqamhhc2hfaW5pdHZhbCA9PSAwKQotCQkqamhhc2hfaW5pdHZhbCA9IHByYW5kb21f dTMyKCk7CisJCSpqaGFzaF9pbml0dmFsID0gZ2V0X3JhbmRvbV91MzIoKTsKIH0KIAogc3RhdGlj IGlubGluZSB1MzIgaGFzaF92NChjb25zdCBzdHJ1Y3QgaXBoZHIgKmlwaCwgdTMyIGluaXR2YWwp CmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9yZWQuaCBiL2luY2x1ZGUvbmV0L3JlZC5oCmluZGV4 IGJlMTFkYmQyNjQ5Mi4uNTZkMDY0N2Q3MzU2IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9yZWQu aAorKysgYi9pbmNsdWRlL25ldC9yZWQuaApAQCAtMzY0LDcgKzM2NCw3IEBAIHN0YXRpYyBpbmxp bmUgdW5zaWduZWQgbG9uZyByZWRfY2FsY19xYXZnKGNvbnN0IHN0cnVjdCByZWRfcGFybXMgKnAs CiAKIHN0YXRpYyBpbmxpbmUgdTMyIHJlZF9yYW5kb20oY29uc3Qgc3RydWN0IHJlZF9wYXJtcyAq cCkKIHsKLQlyZXR1cm4gcmVjaXByb2NhbF9kaXZpZGUocHJhbmRvbV91MzIoKSwgcC0+bWF4X1Bf cmVjaXByb2NhbCk7CisJcmV0dXJuIHJlY2lwcm9jYWxfZGl2aWRlKGdldF9yYW5kb21fdTMyKCks IHAtPm1heF9QX3JlY2lwcm9jYWwpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCByZWRfbWFya19w cm9iYWJpbGl0eShjb25zdCBzdHJ1Y3QgcmVkX3Bhcm1zICpwLApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9uZXQvc29jay5oIGIvaW5jbHVkZS9uZXQvc29jay5oCmluZGV4IGQwOGNmZTE5MGE3OC4uY2Ey YjI2Njg2Njc3IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9zb2NrLmgKKysrIGIvaW5jbHVkZS9u ZXQvc29jay5oCkBAIC0yMDkxLDcgKzIwOTEsNyBAQCBzdGF0aWMgaW5saW5lIGt1aWRfdCBzb2Nr X25ldF91aWQoY29uc3Qgc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3Qgc29jayAqc2spCiAK IHN0YXRpYyBpbmxpbmUgdTMyIG5ldF90eF9ybmRoYXNoKHZvaWQpCiB7Ci0JdTMyIHYgPSBwcmFu ZG9tX3UzMigpOworCXUzMiB2ID0gZ2V0X3JhbmRvbV91MzIoKTsKIAogCXJldHVybiB2ID86IDE7 CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2Jsb29tX2ZpbHRlci5jIGIva2VybmVsL2JwZi9i bG9vbV9maWx0ZXIuYwppbmRleCBiOWVhNTM5YTU1NjEuLjQ4ZWU3NTA4NDlmMiAxMDA2NDQKLS0t IGEva2VybmVsL2JwZi9ibG9vbV9maWx0ZXIuYworKysgYi9rZXJuZWwvYnBmL2Jsb29tX2ZpbHRl ci5jCkBAIC0xNTgsNyArMTU4LDcgQEAgc3RhdGljIHN0cnVjdCBicGZfbWFwICpibG9vbV9tYXBf YWxsb2ModW5pb24gYnBmX2F0dHIgKmF0dHIpCiAJCQlhdHRyLT52YWx1ZV9zaXplIC8gc2l6ZW9m KHUzMik7CiAKIAlpZiAoIShhdHRyLT5tYXBfZmxhZ3MgJiBCUEZfRl9aRVJPX1NFRUQpKQotCQli bG9vbS0+aGFzaF9zZWVkID0gZ2V0X3JhbmRvbV9pbnQoKTsKKwkJYmxvb20tPmhhc2hfc2VlZCA9 IGdldF9yYW5kb21fdTMyKCk7CiAKIAlyZXR1cm4gJmJsb29tLT5tYXA7CiB9CmRpZmYgLS1naXQg YS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jCmluZGV4IGFkZTZiMDNiMWQ5 Yi4uZjZiMzQ4NmYwMDFhIDEwMDY0NAotLS0gYS9rZXJuZWwvYnBmL2NvcmUuYworKysgYi9rZXJu ZWwvYnBmL2NvcmUuYwpAQCAtMTIxMSw3ICsxMjExLDcgQEAgc3RhdGljIGludCBicGZfaml0X2Js aW5kX2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICpmcm9tLAogCQkJICAgICAgYm9vbCBlbWl0 X3pleHQpCiB7CiAJc3RydWN0IGJwZl9pbnNuICp0byA9IHRvX2J1ZmY7Ci0JdTMyIGltbV9ybmQg PSBnZXRfcmFuZG9tX2ludCgpOworCXUzMiBpbW1fcm5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlz MTYgb2ZmOwogCiAJQlVJTERfQlVHX09OKEJQRl9SRUdfQVggICsgMSAhPSBNQVhfQlBGX0pJVF9S RUcpOwpkaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9oYXNodGFiLmMgYi9rZXJuZWwvYnBmL2hhc2h0 YWIuYwppbmRleCA2YzUzMGE1ZTU2MGEuLjFkMzYxNzM1OThhMCAxMDA2NDQKLS0tIGEva2VybmVs L2JwZi9oYXNodGFiLmMKKysrIGIva2VybmVsL2JwZi9oYXNodGFiLmMKQEAgLTU0Niw3ICs1NDYs NyBAQCBzdGF0aWMgc3RydWN0IGJwZl9tYXAgKmh0YWJfbWFwX2FsbG9jKHVuaW9uIGJwZl9hdHRy ICphdHRyKQogCWlmIChodGFiLT5tYXAubWFwX2ZsYWdzICYgQlBGX0ZfWkVST19TRUVEKQogCQlo dGFiLT5oYXNocm5kID0gMDsKIAllbHNlCi0JCWh0YWItPmhhc2hybmQgPSBnZXRfcmFuZG9tX2lu dCgpOworCQlodGFiLT5oYXNocm5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAogCWh0YWJfaW5pdF9i dWNrZXRzKGh0YWIpOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL3ZlcmlmaWVyLmMgYi9rZXJu ZWwvYnBmL3ZlcmlmaWVyLmMKaW5kZXggM2VhZGIxNGUwOTBiLi45NDNhZjVhYmRjMTggMTAwNjQ0 Ci0tLSBhL2tlcm5lbC9icGYvdmVyaWZpZXIuYworKysgYi9rZXJuZWwvYnBmL3ZlcmlmaWVyLmMK QEAgLTEzMzE3LDcgKzEzMzE3LDcgQEAgc3RhdGljIGludCBvcHRfc3VicmVnX3pleHRfbG8zMl9y bmRfaGkzMihzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LAogCQkJICAgIGF1eFthZGpfaWR4 XS5wdHJfdHlwZSA9PSBQVFJfVE9fQ1RYKQogCQkJCWNvbnRpbnVlOwogCi0JCQlpbW1fcm5kID0g Z2V0X3JhbmRvbV9pbnQoKTsKKwkJCWltbV9ybmQgPSBnZXRfcmFuZG9tX3UzMigpOwogCQkJcm5k X2hpMzJfcGF0Y2hbMF0gPSBpbnNuOwogCQkJcm5kX2hpMzJfcGF0Y2hbMV0uaW1tID0gaW1tX3Ju ZDsKIAkJCXJuZF9oaTMyX3BhdGNoWzNdLmRzdF9yZWcgPSBsb2FkX3JlZzsKZGlmZiAtLWdpdCBh L2tlcm5lbC9rY3Nhbi9zZWxmdGVzdC5jIGIva2VybmVsL2tjc2FuL3NlbGZ0ZXN0LmMKaW5kZXgg NzU3MTI5NTljODRlLi41OGI5NGRlYWU1YzAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9rY3Nhbi9zZWxm dGVzdC5jCisrKyBiL2tlcm5lbC9rY3Nhbi9zZWxmdGVzdC5jCkBAIC0yNiw3ICsyNiw3IEBACiBz dGF0aWMgYm9vbCBfX2luaXQgdGVzdF9yZXF1aXJlcyh2b2lkKQogewogCS8qIHJhbmRvbSBzaG91 bGQgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBiZWxvdyB0ZXN0cyAqLwotCXJldHVybiBwcmFuZG9t X3UzMigpICsgcHJhbmRvbV91MzIoKSAhPSAwOworCXJldHVybiBnZXRfcmFuZG9tX3UzMigpICsg Z2V0X3JhbmRvbV91MzIoKSAhPSAwOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvbGliL3JhbmRvbTMy LmMgYi9saWIvcmFuZG9tMzIuYwppbmRleCBkNWQ5MDI5MzYyY2IuLmQ0ZjE5ZTFhNjlkNCAxMDA2 NDQKLS0tIGEvbGliL3JhbmRvbTMyLmMKKysrIGIvbGliL3JhbmRvbTMyLmMKQEAgLTQ3LDcgKzQ3 LDcgQEAKICAqCUBzdGF0ZTogcG9pbnRlciB0byBzdGF0ZSBzdHJ1Y3R1cmUgaG9sZGluZyBzZWVk ZWQgc3RhdGUuCiAgKgogICoJVGhpcyBpcyB1c2VkIGZvciBwc2V1ZG8tcmFuZG9tbmVzcyB3aXRo IG5vIG91dHNpZGUgc2VlZGluZy4KLSAqCUZvciBtb3JlIHJhbmRvbSByZXN1bHRzLCB1c2UgcHJh bmRvbV91MzIoKS4KKyAqCUZvciBtb3JlIHJhbmRvbSByZXN1bHRzLCB1c2UgZ2V0X3JhbmRvbV91 MzIoKS4KICAqLwogdTMyIHByYW5kb21fdTMyX3N0YXRlKHN0cnVjdCBybmRfc3RhdGUgKnN0YXRl KQogewpkaWZmIC0tZ2l0IGEvbGliL3JlZWRfc29sb21vbi90ZXN0X3JzbGliLmMgYi9saWIvcmVl ZF9zb2xvbW9uL3Rlc3RfcnNsaWIuYwppbmRleCA0ZDI0MWJkYzg4YWEuLjg0OGU3ZWI1ZGE5MiAx MDA2NDQKLS0tIGEvbGliL3JlZWRfc29sb21vbi90ZXN0X3JzbGliLmMKKysrIGIvbGliL3JlZWRf c29sb21vbi90ZXN0X3JzbGliLmMKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgaW50IGdldF9y Y3dfd2Uoc3RydWN0IHJzX2NvbnRyb2wgKnJzLCBzdHJ1Y3Qgd3NwYWNlICp3cywKIAogCS8qIExv YWQgYyB3aXRoIHJhbmRvbSBkYXRhIGFuZCBlbmNvZGUgKi8KIAlmb3IgKGkgPSAwOyBpIDwgZGxl bjsgaSsrKQotCQljW2ldID0gcHJhbmRvbV91MzIoKSAmIG5uOworCQljW2ldID0gZ2V0X3JhbmRv bV91MzIoKSAmIG5uOwogCiAJbWVtc2V0KGMgKyBkbGVuLCAwLCBucm9vdHMgKiBzaXplb2YoKmMp KTsKIAllbmNvZGVfcnMxNihycywgYywgZGxlbiwgYyArIGRsZW4sIDApOwpAQCAtMTc4LDcgKzE3 OCw3IEBAIHN0YXRpYyBpbnQgZ2V0X3Jjd193ZShzdHJ1Y3QgcnNfY29udHJvbCAqcnMsIHN0cnVj dCB3c3BhY2UgKndzLAogCWZvciAoaSA9IDA7IGkgPCBlcnJzOyBpKyspIHsKIAkJZG8gewogCQkJ LyogRXJyb3IgdmFsdWUgbXVzdCBiZSBub256ZXJvICovCi0JCQllcnJ2YWwgPSBwcmFuZG9tX3Uz MigpICYgbm47CisJCQllcnJ2YWwgPSBnZXRfcmFuZG9tX3UzMigpICYgbm47CiAJCX0gd2hpbGUg KGVycnZhbCA9PSAwKTsKIAogCQlkbyB7CkBAIC0yMDYsNyArMjA2LDcgQEAgc3RhdGljIGludCBn ZXRfcmN3X3dlKHN0cnVjdCByc19jb250cm9sICpycywgc3RydWN0IHdzcGFjZSAqd3MsCiAJCQkv KiBFcmFzdXJlIHdpdGggY29ycnVwdGVkIHN5bWJvbCAqLwogCQkJZG8gewogCQkJCS8qIEVycm9y IHZhbHVlIG11c3QgYmUgbm9uemVybyAqLwotCQkJCWVycnZhbCA9IHByYW5kb21fdTMyKCkgJiBu bjsKKwkJCQllcnJ2YWwgPSBnZXRfcmFuZG9tX3UzMigpICYgbm47CiAJCQl9IHdoaWxlIChlcnJ2 YWwgPT0gMCk7CiAKIAkJCWVycmxvY3NbZXJybG9jXSA9IDE7CmRpZmYgLS1naXQgYS9saWIvdGVz dF9mcHJvYmUuYyBiL2xpYi90ZXN0X2Zwcm9iZS5jCmluZGV4IGVkNzA2MzdhMmZmYS4uZTAzODFi M2VjNDEwIDEwMDY0NAotLS0gYS9saWIvdGVzdF9mcHJvYmUuYworKysgYi9saWIvdGVzdF9mcHJv YmUuYwpAQCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9mdHJhY2Vf bG9jYXRpb24odm9pZCAqZnVuYykKIHN0YXRpYyBpbnQgZnByb2JlX3Rlc3RfaW5pdChzdHJ1Y3Qg a3VuaXQgKnRlc3QpCiB7CiAJZG8gewotCQlyYW5kMSA9IHByYW5kb21fdTMyKCk7CisJCXJhbmQx ID0gZ2V0X3JhbmRvbV91MzIoKTsKIAl9IHdoaWxlIChyYW5kMSA8PSBkaXZfZmFjdG9yKTsKIAog CXRhcmdldCA9IGZwcm9iZV9zZWxmdGVzdF90YXJnZXQ7CmRpZmYgLS1naXQgYS9saWIvdGVzdF9r cHJvYmVzLmMgYi9saWIvdGVzdF9rcHJvYmVzLmMKaW5kZXggYTVlZGMyZWJjOTQ3Li5lZWIxZDcy OGQ5NzQgMTAwNjQ0Ci0tLSBhL2xpYi90ZXN0X2twcm9iZXMuYworKysgYi9saWIvdGVzdF9rcHJv YmVzLmMKQEAgLTM0MSw3ICszNDEsNyBAQCBzdGF0aWMgaW50IGtwcm9iZXNfdGVzdF9pbml0KHN0 cnVjdCBrdW5pdCAqdGVzdCkKIAlzdGFja3RyYWNlX2RyaXZlciA9IGtwcm9iZV9zdGFja3RyYWNl X2RyaXZlcjsKIAogCWRvIHsKLQkJcmFuZDEgPSBwcmFuZG9tX3UzMigpOworCQlyYW5kMSA9IGdl dF9yYW5kb21fdTMyKCk7CiAJfSB3aGlsZSAocmFuZDEgPD0gZGl2X2ZhY3Rvcik7CiAJcmV0dXJu IDA7CiB9CmRpZmYgLS1naXQgYS9saWIvdGVzdF9taW5faGVhcC5jIGIvbGliL3Rlc3RfbWluX2hl YXAuYwppbmRleCBkMTljODA4MGZkNGQuLjdiMDFiNDM4N2NmYiAxMDA2NDQKLS0tIGEvbGliL3Rl c3RfbWluX2hlYXAuYworKysgYi9saWIvdGVzdF9taW5faGVhcC5jCkBAIC04Myw3ICs4Myw3IEBA IHN0YXRpYyBfX2luaXQgaW50IHRlc3RfaGVhcGlmeV9hbGwoYm9vbCBtaW5faGVhcCkKIAkvKiBU ZXN0IHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbHVlcy4gKi8KIAloZWFwLm5yID0gQVJSQVlf U0laRSh2YWx1ZXMpOwogCWZvciAoaSA9IDA7IGkgPCBoZWFwLm5yOyBpKyspCi0JCXZhbHVlc1tp XSA9IGdldF9yYW5kb21faW50KCk7CisJCXZhbHVlc1tpXSA9IGdldF9yYW5kb21fdTMyKCk7CiAK IAltaW5faGVhcGlmeV9hbGwoJmhlYXAsICZmdW5jcyk7CiAJZXJyICs9IHBvcF92ZXJpZnlfaGVh cChtaW5faGVhcCwgJmhlYXAsICZmdW5jcyk7CkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIF9f aW5pdCBpbnQgdGVzdF9oZWFwX3B1c2goYm9vbCBtaW5faGVhcCkKIAogCS8qIFRlc3Qgd2l0aCBy YW5kb21seSBnZW5lcmF0ZWQgdmFsdWVzLiAqLwogCXdoaWxlIChoZWFwLm5yIDwgaGVhcC5zaXpl KSB7Ci0JCXRlbXAgPSBnZXRfcmFuZG9tX2ludCgpOworCQl0ZW1wID0gZ2V0X3JhbmRvbV91MzIo KTsKIAkJbWluX2hlYXBfcHVzaCgmaGVhcCwgJnRlbXAsICZmdW5jcyk7CiAJfQogCWVyciArPSBw b3BfdmVyaWZ5X2hlYXAobWluX2hlYXAsICZoZWFwLCAmZnVuY3MpOwpAQCAtMTU4LDcgKzE1OCw3 IEBAIHN0YXRpYyBfX2luaXQgaW50IHRlc3RfaGVhcF9wb3BfcHVzaChib29sIG1pbl9oZWFwKQog CiAJLyogVGVzdCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWx1ZXMuICovCiAJZm9yIChpID0g MDsgaSA8IEFSUkFZX1NJWkUoZGF0YSk7IGkrKykgewotCQl0ZW1wID0gZ2V0X3JhbmRvbV9pbnQo KTsKKwkJdGVtcCA9IGdldF9yYW5kb21fdTMyKCk7CiAJCW1pbl9oZWFwX3BvcF9wdXNoKCZoZWFw LCAmdGVtcCwgJmZ1bmNzKTsKIAl9CiAJZXJyICs9IHBvcF92ZXJpZnlfaGVhcChtaW5faGVhcCwg JmhlYXAsICZmdW5jcyk7CmRpZmYgLS1naXQgYS9saWIvdGVzdF9yaGFzaHRhYmxlLmMgYi9saWIv dGVzdF9yaGFzaHRhYmxlLmMKaW5kZXggNWExZGQ0NzM2YjU2Li5iMzU4YTc0ZWQ3ZWQgMTAwNjQ0 Ci0tLSBhL2xpYi90ZXN0X3JoYXNodGFibGUuYworKysgYi9saWIvdGVzdF9yaGFzaHRhYmxlLmMK QEAgLTI5MSw3ICsyOTEsNyBAQCBzdGF0aWMgaW50IF9faW5pdCB0ZXN0X3JobHRhYmxlKHVuc2ln bmVkIGludCBlbnRyaWVzKQogCWlmIChXQVJOX09OKGVycikpCiAJCWdvdG8gb3V0X2ZyZWU7CiAK LQlrID0gcHJhbmRvbV91MzIoKTsKKwlrID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlyZXQgPSAwOwog CWZvciAoaSA9IDA7IGkgPCBlbnRyaWVzOyBpKyspIHsKIAkJcmhsX3Rlc3Rfb2JqZWN0c1tpXS52 YWx1ZS5pZCA9IGs7CkBAIC0zNjksMTIgKzM2OSwxMiBAQCBzdGF0aWMgaW50IF9faW5pdCB0ZXN0 X3JobHRhYmxlKHVuc2lnbmVkIGludCBlbnRyaWVzKQogCXByX2luZm8oInRlc3QgJWQgcmFuZG9t IHJobGlzdCBhZGQvZGVsZXRlIG9wZXJhdGlvbnNcbiIsIGVudHJpZXMpOwogCWZvciAoaiA9IDA7 IGogPCBlbnRyaWVzOyBqKyspIHsKIAkJdTMyIGkgPSBwcmFuZG9tX3UzMl9tYXgoZW50cmllcyk7 Ci0JCXUzMiBwcmFuZCA9IHByYW5kb21fdTMyKCk7CisJCXUzMiBwcmFuZCA9IGdldF9yYW5kb21f dTMyKCk7CiAKIAkJY29uZF9yZXNjaGVkKCk7CiAKIAkJaWYgKHByYW5kID09IDApCi0JCQlwcmFu ZCA9IHByYW5kb21fdTMyKCk7CisJCQlwcmFuZCA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAkJaWYg KHByYW5kICYgMSkgewogCQkJcHJhbmQgPj49IDE7CmRpZmYgLS1naXQgYS9tbS9zaG1lbS5jIGIv bW0vc2htZW0uYwppbmRleCA0MmU1ODg4YmY4NGQuLjZmMmNlZjczODA4ZCAxMDA2NDQKLS0tIGEv bW0vc2htZW0uYworKysgYi9tbS9zaG1lbS5jCkBAIC0yMzMwLDcgKzIzMzAsNyBAQCBzdGF0aWMg c3RydWN0IGlub2RlICpzaG1lbV9nZXRfaW5vZGUoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3Ry dWN0IGlub2RlICpkaXIsCiAJCWlub2RlX2luaXRfb3duZXIoJmluaXRfdXNlcl9ucywgaW5vZGUs IGRpciwgbW9kZSk7CiAJCWlub2RlLT5pX2Jsb2NrcyA9IDA7CiAJCWlub2RlLT5pX2F0aW1lID0g aW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IGN1cnJlbnRfdGltZShpbm9kZSk7Ci0J CWlub2RlLT5pX2dlbmVyYXRpb24gPSBwcmFuZG9tX3UzMigpOworCQlpbm9kZS0+aV9nZW5lcmF0 aW9uID0gZ2V0X3JhbmRvbV91MzIoKTsKIAkJaW5mbyA9IFNITUVNX0koaW5vZGUpOwogCQltZW1z ZXQoaW5mbywgMCwgKGNoYXIgKilpbm9kZSAtIChjaGFyICopaW5mbyk7CiAJCXNwaW5fbG9ja19p bml0KCZpbmZvLT5sb2NrKTsKZGlmZiAtLWdpdCBhL21tL3NsYWIuYyBiL21tL3NsYWIuYwppbmRl eCAxMGU5NjEzN2I0NGYuLjM2ZWQ3MTgyYmFkNSAxMDA2NDQKLS0tIGEvbW0vc2xhYi5jCisrKyBi L21tL3NsYWIuYwpAQCAtMjM4MCw3ICsyMzgwLDcgQEAgc3RhdGljIGJvb2wgZnJlZWxpc3Rfc3Rh dGVfaW5pdGlhbGl6ZSh1bmlvbiBmcmVlbGlzdF9pbml0X3N0YXRlICpzdGF0ZSwKIAl1bnNpZ25l ZCBpbnQgcmFuZDsKIAogCS8qIFVzZSBiZXN0IGVudHJvcHkgYXZhaWxhYmxlIHRvIGRlZmluZSBh IHJhbmRvbSBzaGlmdCAqLwotCXJhbmQgPSBnZXRfcmFuZG9tX2ludCgpOworCXJhbmQgPSBnZXRf cmFuZG9tX3UzMigpOwogCiAJLyogVXNlIGEgcmFuZG9tIHN0YXRlIGlmIHRoZSBwcmUtY29tcHV0 ZWQgbGlzdCBpcyBub3QgYXZhaWxhYmxlICovCiAJaWYgKCFjYWNoZXAtPnJhbmRvbV9zZXEpIHsK ZGlmZiAtLWdpdCBhL25ldC84MDIvZ2FycC5jIGIvbmV0LzgwMi9nYXJwLmMKaW5kZXggZjYwMTJm OGU1OWYwLi5jMWJiNjdlMjU0MzAgMTAwNjQ0Ci0tLSBhL25ldC84MDIvZ2FycC5jCisrKyBiL25l dC84MDIvZ2FycC5jCkBAIC00MDcsNyArNDA3LDcgQEAgc3RhdGljIHZvaWQgZ2FycF9qb2luX3Rp bWVyX2FybShzdHJ1Y3QgZ2FycF9hcHBsaWNhbnQgKmFwcCkKIHsKIAl1bnNpZ25lZCBsb25nIGRl bGF5OwogCi0JZGVsYXkgPSAodTY0KW1zZWNzX3RvX2ppZmZpZXMoZ2FycF9qb2luX3RpbWUpICog cHJhbmRvbV91MzIoKSA+PiAzMjsKKwlkZWxheSA9ICh1NjQpbXNlY3NfdG9famlmZmllcyhnYXJw X2pvaW5fdGltZSkgKiBnZXRfcmFuZG9tX3UzMigpID4+IDMyOwogCW1vZF90aW1lcigmYXBwLT5q b2luX3RpbWVyLCBqaWZmaWVzICsgZGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9uZXQvODAyL21y cC5jIGIvbmV0LzgwMi9tcnAuYwppbmRleCAzNWUwNGNjNTM5MGMuLjNlOWZlOWY1ZDliZiAxMDA2 NDQKLS0tIGEvbmV0LzgwMi9tcnAuYworKysgYi9uZXQvODAyL21ycC5jCkBAIC01OTIsNyArNTky LDcgQEAgc3RhdGljIHZvaWQgbXJwX2pvaW5fdGltZXJfYXJtKHN0cnVjdCBtcnBfYXBwbGljYW50 ICphcHApCiB7CiAJdW5zaWduZWQgbG9uZyBkZWxheTsKIAotCWRlbGF5ID0gKHU2NCltc2Vjc190 b19qaWZmaWVzKG1ycF9qb2luX3RpbWUpICogcHJhbmRvbV91MzIoKSA+PiAzMjsKKwlkZWxheSA9 ICh1NjQpbXNlY3NfdG9famlmZmllcyhtcnBfam9pbl90aW1lKSAqIGdldF9yYW5kb21fdTMyKCkg Pj4gMzI7CiAJbW9kX3RpbWVyKCZhcHAtPmpvaW5fdGltZXIsIGppZmZpZXMgKyBkZWxheSk7CiB9 CiAKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3BrdGdlbi5jIGIvbmV0L2NvcmUvcGt0Z2VuLmMKaW5k ZXggNWNhNGY5NTMwMzRjLi5jMzc2MzA1NmM1NTQgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3BrdGdl bi5jCisrKyBiL25ldC9jb3JlL3BrdGdlbi5jCkBAIC0yNDY0LDcgKzI0NjQsNyBAQCBzdGF0aWMg dm9pZCBtb2RfY3VyX2hlYWRlcnMoc3RydWN0IHBrdGdlbl9kZXYgKnBrdF9kZXYpCiAJCWZvciAo aSA9IDA7IGkgPCBwa3RfZGV2LT5ucl9sYWJlbHM7IGkrKykKIAkJCWlmIChwa3RfZGV2LT5sYWJl bHNbaV0gJiBNUExTX1NUQUNLX0JPVFRPTSkKIAkJCQlwa3RfZGV2LT5sYWJlbHNbaV0gPSBNUExT X1NUQUNLX0JPVFRPTSB8Ci0JCQkJCSAgICAgKChfX2ZvcmNlIF9fYmUzMilwcmFuZG9tX3UzMigp ICYKKwkJCQkJICAgICAoKF9fZm9yY2UgX19iZTMyKWdldF9yYW5kb21fdTMyKCkgJgogCQkJCQkJ ICAgICAgaHRvbmwoMHgwMDBmZmZmZikpOwogCX0KIApAQCAtMjU2OCw3ICsyNTY4LDcgQEAgc3Rh dGljIHZvaWQgbW9kX2N1cl9oZWFkZXJzKHN0cnVjdCBwa3RnZW5fZGV2ICpwa3RfZGV2KQogCiAJ CQlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAJCQkJcGt0X2Rldi0+Y3VyX2luNl9kYWRkci5z Nl9hZGRyMzJbaV0gPQotCQkJCSAgICAoKChfX2ZvcmNlIF9fYmUzMilwcmFuZG9tX3UzMigpIHwK KwkJCQkgICAgKCgoX19mb3JjZSBfX2JlMzIpZ2V0X3JhbmRvbV91MzIoKSB8CiAJCQkJICAgICAg cGt0X2Rldi0+bWluX2luNl9kYWRkci5zNl9hZGRyMzJbaV0pICYKIAkJCQkgICAgIHBrdF9kZXYt Pm1heF9pbjZfZGFkZHIuczZfYWRkcjMyW2ldKTsKIAkJCX0KZGlmZiAtLWdpdCBhL25ldC9pcHY0 L3JvdXRlLmMgYi9uZXQvaXB2NC9yb3V0ZS5jCmluZGV4IDc5NWNiZTFkZTkxMi4uMWEzN2EwN2M3 MTYzIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yb3V0ZS5jCisrKyBiL25ldC9pcHY0L3JvdXRlLmMK QEAgLTM2NjQsNyArMzY2NCw3IEBAIHN0YXRpYyBfX25ldF9pbml0IGludCBydF9nZW5pZF9pbml0 KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlhdG9taWNfc2V0KCZuZXQtPmlwdjQucnRfZ2VuaWQsIDAp OwogCWF0b21pY19zZXQoJm5ldC0+Zm5oZV9nZW5pZCwgMCk7Ci0JYXRvbWljX3NldCgmbmV0LT5p cHY0LmRldl9hZGRyX2dlbmlkLCBnZXRfcmFuZG9tX2ludCgpKTsKKwlhdG9taWNfc2V0KCZuZXQt PmlwdjQuZGV2X2FkZHJfZ2VuaWQsIGdldF9yYW5kb21fdTMyKCkpOwogCXJldHVybiAwOwogfQog CmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfY2RnLmMgYi9uZXQvaXB2NC90Y3BfY2RnLmMKaW5k ZXggZGRjN2JhMDU1NGJkLi5lZmNkMTQ1ZjA2ZGIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9j ZGcuYworKysgYi9uZXQvaXB2NC90Y3BfY2RnLmMKQEAgLTI0Myw3ICsyNDMsNyBAQCBzdGF0aWMg Ym9vbCB0Y3BfY2RnX2JhY2tvZmYoc3RydWN0IHNvY2sgKnNrLCB1MzIgZ3JhZCkKIAlzdHJ1Y3Qg Y2RnICpjYSA9IGluZXRfY3NrX2NhKHNrKTsKIAlzdHJ1Y3QgdGNwX3NvY2sgKnRwID0gdGNwX3Nr KHNrKTsKIAotCWlmIChwcmFuZG9tX3UzMigpIDw9IG5leHBfdTMyKGdyYWQgKiBiYWNrb2ZmX2Zh Y3RvcikpCisJaWYgKGdldF9yYW5kb21fdTMyKCkgPD0gbmV4cF91MzIoZ3JhZCAqIGJhY2tvZmZf ZmFjdG9yKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKHVzZV9pbmVmZikgewpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwppbmRleCA1NjBkOWVhZGVhYTUuLjFh NWIyNDY0NTQ4ZSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIvbmV0L2lwdjQvdWRw LmMKQEAgLTI0Niw3ICsyNDYsNyBAQCBpbnQgdWRwX2xpYl9nZXRfcG9ydChzdHJ1Y3Qgc29jayAq c2ssIHVuc2lnbmVkIHNob3J0IHNudW0sCiAJCWluZXRfZ2V0X2xvY2FsX3BvcnRfcmFuZ2UobmV0 LCAmbG93LCAmaGlnaCk7CiAJCXJlbWFpbmluZyA9IChoaWdoIC0gbG93KSArIDE7CiAKLQkJcmFu ZCA9IHByYW5kb21fdTMyKCk7CisJCXJhbmQgPSBnZXRfcmFuZG9tX3UzMigpOwogCQlmaXJzdCA9 IHJlY2lwcm9jYWxfc2NhbGUocmFuZCwgcmVtYWluaW5nKSArIGxvdzsKIAkJLyoKIAkJICogZm9y Y2UgcmFuZCB0byBiZSBhbiBvZGQgbXVsdGlwbGUgb2YgVURQX0hUQUJMRV9TSVpFCmRpZmYgLS1n aXQgYS9uZXQvaXB2Ni9pcDZfZmxvd2xhYmVsLmMgYi9uZXQvaXB2Ni9pcDZfZmxvd2xhYmVsLmMK aW5kZXggY2ViODVjNjdjZTM5Li4xODQ4MWViNzZhMGEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2lw Nl9mbG93bGFiZWwuYworKysgYi9uZXQvaXB2Ni9pcDZfZmxvd2xhYmVsLmMKQEAgLTIyMCw3ICsy MjAsNyBAQCBzdGF0aWMgc3RydWN0IGlwNl9mbG93bGFiZWwgKmZsX2ludGVybihzdHJ1Y3QgbmV0 ICpuZXQsCiAJc3Bpbl9sb2NrX2JoKCZpcDZfZmxfbG9jayk7CiAJaWYgKGxhYmVsID09IDApIHsK IAkJZm9yICg7OykgewotCQkJZmwtPmxhYmVsID0gaHRvbmwocHJhbmRvbV91MzIoKSkmSVBWNl9G TE9XTEFCRUxfTUFTSzsKKwkJCWZsLT5sYWJlbCA9IGh0b25sKGdldF9yYW5kb21fdTMyKCkpJklQ VjZfRkxPV0xBQkVMX01BU0s7CiAJCQlpZiAoZmwtPmxhYmVsKSB7CiAJCQkJbGZsID0gX19mbF9s b29rdXAobmV0LCBmbC0+bGFiZWwpOwogCQkJCWlmICghbGZsKQpkaWZmIC0tZ2l0IGEvbmV0L2lw djYvb3V0cHV0X2NvcmUuYyBiL25ldC9pcHY2L291dHB1dF9jb3JlLmMKaW5kZXggMjg4MGRjN2Q5 YTQ5Li4yNjg1YzNmMTVlOWQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L291dHB1dF9jb3JlLmMKKysr IGIvbmV0L2lwdjYvb3V0cHV0X2NvcmUuYwpAQCAtMTgsNyArMTgsNyBAQCBzdGF0aWMgdTMyIF9f aXB2Nl9zZWxlY3RfaWRlbnQoc3RydWN0IG5ldCAqbmV0LAogCXUzMiBpZDsKIAogCWRvIHsKLQkJ aWQgPSBwcmFuZG9tX3UzMigpOworCQlpZCA9IGdldF9yYW5kb21fdTMyKCk7CiAJfSB3aGlsZSAo IWlkKTsKIAogCXJldHVybiBpZDsKZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvaXB2cy9pcF92 c19jb25uLmMgYi9uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jCmluZGV4IGZiNjdmMWNh MjQ5NS4uOGMwNGJiNTdkZDZmIDEwMDY0NAotLS0gYS9uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNf Y29ubi5jCisrKyBiL25ldC9uZXRmaWx0ZXIvaXB2cy9pcF92c19jb25uLmMKQEAgLTEzMDgsNyAr MTMwOCw3IEBAIHZvaWQgaXBfdnNfcmFuZG9tX2Ryb3BlbnRyeShzdHJ1Y3QgbmV0bnNfaXB2cyAq aXB2cykKIAkgKiBSYW5kb21seSBzY2FuIDEvMzIgb2YgdGhlIHdob2xlIHRhYmxlIGV2ZXJ5IHNl Y29uZAogCSAqLwogCWZvciAoaWR4ID0gMDsgaWR4IDwgKGlwX3ZzX2Nvbm5fdGFiX3NpemU+PjUp OyBpZHgrKykgewotCQl1bnNpZ25lZCBpbnQgaGFzaCA9IHByYW5kb21fdTMyKCkgJiBpcF92c19j b25uX3RhYl9tYXNrOworCQl1bnNpZ25lZCBpbnQgaGFzaCA9IGdldF9yYW5kb21fdTMyKCkgJiBp cF92c19jb25uX3RhYl9tYXNrOwogCiAJCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShjcCwgJmlw X3ZzX2Nvbm5fdGFiW2hhc2hdLCBjX2xpc3QpIHsKIAkJCWlmIChjcC0+aXB2cyAhPSBpcHZzKQpk aWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci94dF9zdGF0aXN0aWMuYyBiL25ldC9uZXRmaWx0ZXIv eHRfc3RhdGlzdGljLmMKaW5kZXggMjAzZTI0YWU0NzJjLi5iMjZjMWRjZmMyN2IgMTAwNjQ0Ci0t LSBhL25ldC9uZXRmaWx0ZXIveHRfc3RhdGlzdGljLmMKKysrIGIvbmV0L25ldGZpbHRlci94dF9z dGF0aXN0aWMuYwpAQCAtMzQsNyArMzQsNyBAQCBzdGF0aXN0aWNfbXQoY29uc3Qgc3RydWN0IHNr X2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKQogCiAJc3dpdGNoIChpbmZv LT5tb2RlKSB7CiAJY2FzZSBYVF9TVEFUSVNUSUNfTU9ERV9SQU5ET006Ci0JCWlmICgocHJhbmRv bV91MzIoKSAmIDB4N0ZGRkZGRkYpIDwgaW5mby0+dS5yYW5kb20ucHJvYmFiaWxpdHkpCisJCWlm ICgoZ2V0X3JhbmRvbV91MzIoKSAmIDB4N0ZGRkZGRkYpIDwgaW5mby0+dS5yYW5kb20ucHJvYmFi aWxpdHkpCiAJCQlyZXQgPSAhcmV0OwogCQlicmVhazsKIAljYXNlIFhUX1NUQVRJU1RJQ19NT0RF X05USDoKZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9hY3Rpb25zLmMgYi9uZXQvb3BlbnZz d2l0Y2gvYWN0aW9ucy5jCmluZGV4IDg2OGRiNDY2OWEyOS4uY2EzZWJmZGIzMDIzIDEwMDY0NAot LS0gYS9uZXQvb3BlbnZzd2l0Y2gvYWN0aW9ucy5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9hY3Rp b25zLmMKQEAgLTEwMzMsNyArMTAzMyw3IEBAIHN0YXRpYyBpbnQgc2FtcGxlKHN0cnVjdCBkYXRh cGF0aCAqZHAsIHN0cnVjdCBza19idWZmICpza2IsCiAJYWN0aW9ucyA9IG5sYV9uZXh0KHNhbXBs ZV9hcmcsICZyZW0pOwogCiAJaWYgKChhcmctPnByb2JhYmlsaXR5ICE9IFUzMl9NQVgpICYmCi0J ICAgICghYXJnLT5wcm9iYWJpbGl0eSB8fCBwcmFuZG9tX3UzMigpID4gYXJnLT5wcm9iYWJpbGl0 eSkpIHsKKwkgICAgKCFhcmctPnByb2JhYmlsaXR5IHx8IGdldF9yYW5kb21fdTMyKCkgPiBhcmct PnByb2JhYmlsaXR5KSkgewogCQlpZiAobGFzdCkKIAkJCWNvbnN1bWVfc2tiKHNrYik7CiAJCXJl dHVybiAwOwpkaWZmIC0tZ2l0IGEvbmV0L3Jkcy9iaW5kLmMgYi9uZXQvcmRzL2JpbmQuYwppbmRl eCA1YjVmYjRjYThkM2UuLjA1Mjc3NmRkY2MzNCAxMDA2NDQKLS0tIGEvbmV0L3Jkcy9iaW5kLmMK KysrIGIvbmV0L3Jkcy9iaW5kLmMKQEAgLTEwNCw3ICsxMDQsNyBAQCBzdGF0aWMgaW50IHJkc19h ZGRfYm91bmQoc3RydWN0IHJkc19zb2NrICpycywgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRy LAogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCWxhc3QgPSByb3ZlcjsKIAl9IGVsc2UgewotCQlyb3Zl ciA9IG1heF90KHUxNiwgcHJhbmRvbV91MzIoKSwgMik7CisJCXJvdmVyID0gbWF4X3QodTE2LCBn ZXRfcmFuZG9tX3UzMigpLCAyKTsKIAkJbGFzdCA9IHJvdmVyIC0gMTsKIAl9CiAKZGlmZiAtLWdp dCBhL25ldC9zY2hlZC9zY2hfY2FrZS5jIGIvbmV0L3NjaGVkL3NjaF9jYWtlLmMKaW5kZXggNjM3 ZWYxNzU3OTMxLi40OGUzZTA1MjI4YTEgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfY2FrZS5j CisrKyBiL25ldC9zY2hlZC9zY2hfY2FrZS5jCkBAIC01NzMsNyArNTczLDcgQEAgc3RhdGljIGJv b2wgY29iYWx0X3Nob3VsZF9kcm9wKHN0cnVjdCBjb2JhbHRfdmFycyAqdmFycywKIAogCS8qIFNp bXBsZSBCTFVFIGltcGxlbWVudGF0aW9uLiAgTGFjayBvZiBFQ04gaXMgZGVsaWJlcmF0ZS4gKi8K IAlpZiAodmFycy0+cF9kcm9wKQotCQlkcm9wIHw9IChwcmFuZG9tX3UzMigpIDwgdmFycy0+cF9k cm9wKTsKKwkJZHJvcCB8PSAoZ2V0X3JhbmRvbV91MzIoKSA8IHZhcnMtPnBfZHJvcCk7CiAKIAkv KiBPdmVybG9hZCB0aGUgZHJvcF9uZXh0IGZpZWxkIGFzIGFuIGFjdGl2aXR5IHRpbWVvdXQgKi8K IAlpZiAoIXZhcnMtPmNvdW50KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9uZXRlbS5jIGIv bmV0L3NjaGVkL3NjaF9uZXRlbS5jCmluZGV4IDNjYTMyMGYxYTAzMS4uODhjMWZhMmUxZDE1IDEw MDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX25ldGVtLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9uZXRl bS5jCkBAIC0xNzEsNyArMTcxLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbmV0ZW1fc2tiX2Ni ICpuZXRlbV9za2JfY2Ioc3RydWN0IHNrX2J1ZmYgKnNrYikKIHN0YXRpYyB2b2lkIGluaXRfY3Jh bmRvbShzdHJ1Y3QgY3JuZHN0YXRlICpzdGF0ZSwgdW5zaWduZWQgbG9uZyByaG8pCiB7CiAJc3Rh dGUtPnJobyA9IHJobzsKLQlzdGF0ZS0+bGFzdCA9IHByYW5kb21fdTMyKCk7CisJc3RhdGUtPmxh c3QgPSBnZXRfcmFuZG9tX3UzMigpOwogfQogCiAvKiBnZXRfY3JhbmRvbSAtIGNvcnJlbGF0ZWQg cmFuZG9tIG51bWJlciBnZW5lcmF0b3IKQEAgLTE4NCw5ICsxODQsOSBAQCBzdGF0aWMgdTMyIGdl dF9jcmFuZG9tKHN0cnVjdCBjcm5kc3RhdGUgKnN0YXRlKQogCXVuc2lnbmVkIGxvbmcgYW5zd2Vy OwogCiAJaWYgKCFzdGF0ZSB8fCBzdGF0ZS0+cmhvID09IDApCS8qIG5vIGNvcnJlbGF0aW9uICov Ci0JCXJldHVybiBwcmFuZG9tX3UzMigpOworCQlyZXR1cm4gZ2V0X3JhbmRvbV91MzIoKTsKIAot CXZhbHVlID0gcHJhbmRvbV91MzIoKTsKKwl2YWx1ZSA9IGdldF9yYW5kb21fdTMyKCk7CiAJcmhv ID0gKHU2NClzdGF0ZS0+cmhvICsgMTsKIAlhbnN3ZXIgPSAodmFsdWUgKiAoKDF1bGw8PDMyKSAt IHJobykgKyBzdGF0ZS0+bGFzdCAqIHJobykgPj4gMzI7CiAJc3RhdGUtPmxhc3QgPSBhbnN3ZXI7 CkBAIC0yMDAsNyArMjAwLDcgQEAgc3RhdGljIHUzMiBnZXRfY3JhbmRvbShzdHJ1Y3QgY3JuZHN0 YXRlICpzdGF0ZSkKIHN0YXRpYyBib29sIGxvc3NfNHN0YXRlKHN0cnVjdCBuZXRlbV9zY2hlZF9k YXRhICpxKQogewogCXN0cnVjdCBjbGdzdGF0ZSAqY2xnID0gJnEtPmNsZzsKLQl1MzIgcm5kID0g cHJhbmRvbV91MzIoKTsKKwl1MzIgcm5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAogCS8qCiAJICog TWFrZXMgYSBjb21wYXJpc29uIGJldHdlZW4gcm5kIGFuZCB0aGUgdHJhbnNpdGlvbgpAQCAtMjY4 LDE1ICsyNjgsMTUgQEAgc3RhdGljIGJvb2wgbG9zc19naWxiX2VsbChzdHJ1Y3QgbmV0ZW1fc2No ZWRfZGF0YSAqcSkKIAogCXN3aXRjaCAoY2xnLT5zdGF0ZSkgewogCWNhc2UgR09PRF9TVEFURToK LQkJaWYgKHByYW5kb21fdTMyKCkgPCBjbGctPmExKQorCQlpZiAoZ2V0X3JhbmRvbV91MzIoKSA8 IGNsZy0+YTEpCiAJCQljbGctPnN0YXRlID0gQkFEX1NUQVRFOwotCQlpZiAocHJhbmRvbV91MzIo KSA8IGNsZy0+YTQpCisJCWlmIChnZXRfcmFuZG9tX3UzMigpIDwgY2xnLT5hNCkKIAkJCXJldHVy biB0cnVlOwogCQlicmVhazsKIAljYXNlIEJBRF9TVEFURToKLQkJaWYgKHByYW5kb21fdTMyKCkg PCBjbGctPmEyKQorCQlpZiAoZ2V0X3JhbmRvbV91MzIoKSA8IGNsZy0+YTIpCiAJCQljbGctPnN0 YXRlID0gR09PRF9TVEFURTsKLQkJaWYgKHByYW5kb21fdTMyKCkgPiBjbGctPmEzKQorCQlpZiAo Z2V0X3JhbmRvbV91MzIoKSA+IGNsZy0+YTMpCiAJCQlyZXR1cm4gdHJ1ZTsKIAl9CiAKQEAgLTYz Miw3ICs2MzIsNyBAQCBzdGF0aWMgdm9pZCBnZXRfc2xvdF9uZXh0KHN0cnVjdCBuZXRlbV9zY2hl ZF9kYXRhICpxLCB1NjQgbm93KQogCiAJaWYgKCFxLT5zbG90X2Rpc3QpCiAJCW5leHRfZGVsYXkg PSBxLT5zbG90X2NvbmZpZy5taW5fZGVsYXkgKwotCQkJCShwcmFuZG9tX3UzMigpICoKKwkJCQko Z2V0X3JhbmRvbV91MzIoKSAqCiAJCQkJIChxLT5zbG90X2NvbmZpZy5tYXhfZGVsYXkgLQogCQkJ CSAgcS0+c2xvdF9jb25maWcubWluX2RlbGF5KSA+PiAzMik7CiAJZWxzZQpkaWZmIC0tZ2l0IGEv bmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFwLmMgYi9uZXQvc3VucnBjL2F1dGhfZ3Nz L2dzc19rcmI1X3dyYXAuYwppbmRleCA1Zjk2ZTc1ZjllZWMuLjQ4MzM3Njg3ODQ4YyAxMDA2NDQK LS0tIGEvbmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFwLmMKKysrIGIvbmV0L3N1bnJw Yy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFwLmMKQEAgLTEzMCw4ICsxMzAsOCBAQCBnc3Nfa3JiNV9t YWtlX2NvbmZvdW5kZXIoY2hhciAqcCwgdTMyIGNvbmZsZW4pCiAKIAkvKiBpbml0aWFsaXplIHRv IHJhbmRvbSB2YWx1ZSAqLwogCWlmIChpID09IDApIHsKLQkJaSA9IHByYW5kb21fdTMyKCk7Ci0J CWkgPSAoaSA8PCAzMikgfCBwcmFuZG9tX3UzMigpOworCQlpID0gZ2V0X3JhbmRvbV91MzIoKTsK KwkJaSA9IChpIDw8IDMyKSB8IGdldF9yYW5kb21fdTMyKCk7CiAJfQogCiAJc3dpdGNoIChjb25m bGVuKSB7CmRpZmYgLS1naXQgYS9uZXQvc3VucnBjL3hwcnQuYyBiL25ldC9zdW5ycGMveHBydC5j CmluZGV4IGY4ZmFlNzgxNTY0OS4uOTQwNzAwN2Y0N2FlIDEwMDY0NAotLS0gYS9uZXQvc3VucnBj L3hwcnQuYworKysgYi9uZXQvc3VucnBjL3hwcnQuYwpAQCAtMTg2OCw3ICsxODY4LDcgQEAgeHBy dF9hbGxvY194aWQoc3RydWN0IHJwY194cHJ0ICp4cHJ0KQogc3RhdGljIHZvaWQKIHhwcnRfaW5p dF94aWQoc3RydWN0IHJwY194cHJ0ICp4cHJ0KQogewotCXhwcnQtPnhpZCA9IHByYW5kb21fdTMy KCk7CisJeHBydC0+eGlkID0gZ2V0X3JhbmRvbV91MzIoKTsKIH0KIAogc3RhdGljIHZvaWQKZGlm ZiAtLWdpdCBhL25ldC91bml4L2FmX3VuaXguYyBiL25ldC91bml4L2FmX3VuaXguYwppbmRleCBi ZjMzOGI3ODJmYzQuLjM1YmQ4MTMyMTEzZiAxMDA2NDQKLS0tIGEvbmV0L3VuaXgvYWZfdW5peC5j CisrKyBiL25ldC91bml4L2FmX3VuaXguYwpAQCAtMTExNiw3ICsxMTE2LDcgQEAgc3RhdGljIGlu dCB1bml4X2F1dG9iaW5kKHN0cnVjdCBzb2NrICpzaykKIAlhZGRyLT5uYW1lLT5zdW5fZmFtaWx5 ID0gQUZfVU5JWDsKIAlyZWZjb3VudF9zZXQoJmFkZHItPnJlZmNudCwgMSk7CiAKLQlvcmRlcm51 bSA9IHByYW5kb21fdTMyKCk7CisJb3JkZXJudW0gPSBnZXRfcmFuZG9tX3UzMigpOwogCWxhc3Ru dW0gPSBvcmRlcm51bSAmIDB4RkZGRkY7CiByZXRyeToKIAlvcmRlcm51bSA9IChvcmRlcm51bSAr IDEpICYgMHhGRkZGRjsKLS0gCjIuMzcuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxp c3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQv Cg==