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 E2F00C433FE for ; Sat, 8 Oct 2022 05:56:23 +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=dZz9D8a+ZyfdUK2ZX0+sESGlNuCxwQkkL/n1niWevF8=; b=tqpF6GixqYNAzm EdMTqqvOqoNzAOeNs+wWHS9ey+IkcW7Q0mwST4v05604IKHCljg344f96m6269Wm3z3d2G7L1sdjG Bg5b1nCJ/SzoYxUXGmttc5jzoAHggrDL0qdb11B22cVMtww0zs5Jr5kPbLNLdgpYMHJx9/gU1rqDV 6EJOfcHT0r8bdggRk6V96nRnzR7GNnlnVYb6mNyA7EmERbfqGwbni1lqfAvF2eLCqVcvIC0OOa29m AYZhcaGK8IYwOQQhHUZ2/GuhAve3ucKleXajpI0HIpNiXDHi8SrRLGb4xqYJJQvpA1FClUbNjY/6X qBsAluY94/Wm+n8PI/6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oh2om-00Bzyd-SP; Sat, 08 Oct 2022 05:56:13 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oh2oZ-00Bzl7-7x; Sat, 08 Oct 2022 05:56:07 +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 dfw.source.kernel.org (Postfix) with ESMTPS id 9D0F761156; Sat, 8 Oct 2022 05:55:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8101C433D7; Sat, 8 Oct 2022 05:55:51 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="WWfrrmSj" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665208549; 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=ZCi4598+QwaQDqacrtgsJvzWkBDS5+GYlwevG1UzE6c=; b=WWfrrmSjoPblq2QqBMWSw4oaZdfdO6No2Omf9XZ8/udyKUzyYpspbA4jMxDe7dZ0RAJDlf Ynf7VsUu7tuGzz21N1fdQAOICz/775b8JWr5+WMUss8noNF9fq0TQBx1+sWJrMulnLfB1X f09jmSVLuIXCQ90XJoWkTPD1ytlusa8= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 30f2d951 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 8 Oct 2022 05:55:49 +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 , "Darrick J . Wong" Subject: [PATCH v5 5/7] treewide: use get_random_u32() when possible Date: Fri, 7 Oct 2022 23:53:57 -0600 Message-Id: <20221008055359.286426-6-Jason@zx2c4.com> In-Reply-To: <20221008055359.286426-1-Jason@zx2c4.com> References: <20221008055359.286426-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_225559_513566_8FFA7880 X-CRM114-Status: GOOD ( 21.59 ) 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 YSB3cmFwcGVyIGFyb3VuZCBnZXRfcmFuZG9tX3UzMigpLiBUaGlzIHdhcyBkb25lIGFzIGEgYmFz aWMgZmluZAphbmQgcmVwbGFjZS4KClJldmlld2VkLWJ5OiBLZWVzIENvb2sgPGtlZXNjb29rQGNo cm9taXVtLm9yZz4KQWNrZWQtYnk6IFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUB0b2tl LmRrPiAjIGZvciBzY2hfY2FrZQpBY2tlZC1ieTogQ2h1Y2sgTGV2ZXIgPGNodWNrLmxldmVyQG9y YWNsZS5jb20+ICMgZm9yIG5mc2QKUmV2aWV3ZWQtYnk6IEphbiBLYXJhIDxqYWNrQHN1c2UuY3o+ ICMgZm9yIGV4dDQKQWNrZWQtYnk6IE1pa2EgV2VzdGVyYmVyZyA8bWlrYS53ZXN0ZXJiZXJnQGxp bnV4LmludGVsLmNvbT4gIyBmb3IgdGh1bmRlcmJvbHQKQWNrZWQtYnk6IERhcnJpY2sgSi4gV29u ZyA8ZGp3b25nQGtlcm5lbC5vcmc+ICMgZm9yIHhmcwpTaWduZWQtb2ZmLWJ5OiBKYXNvbiBBLiBE b25lbmZlbGQgPEphc29uQHp4MmM0LmNvbT4KLS0tCiBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcv ZmlsdGVyLnJzdCAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvcGFyaXNjL2tlcm5lbC9wcm9jZXNz LmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9wYXJpc2Mva2VybmVsL3N5c19wYXJp c2MuYyAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGFyY2gvczM5MC9tbS9tbWFwLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYyAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyAgICAgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaTkxNV9zZWxmdGVzdC5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMv dGVzdC1kcm1fYnVkZHkuYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90 ZXN0LWRybV9tbS5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjQv Y20uYyAgICAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEv dGlkX3JkbWEuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9t YWQuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIv aXBvaWJfY20uYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9tZC9yYWlkNS1jYWNoZS5jICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiAuLi4vbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3Zp dmlkLXRvdWNoLWNhcC5jIHwgIDQgKystLQogZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvZ2F1ZGky L2dhdWRpMi5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5kc2ltLmMg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMg ICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vY25p Yy5jICAgICAgICAgICB8ICAyICstCiAuLi4vY2hlbHNpby9pbmxpbmVfY3J5cHRvL2NodGxzL2No dGxzX2NtLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJf bWFpbi5jICAgICAgfCAgNiArKystLS0KIC4uLi93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEv YnJjbWZtYWMvcG5vLmMgfCAgMiArLQogLi4uL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgv Y2ZnODAyMTEuYyAgICB8ICA0ICsrLS0KIC4uLi9uZXQvd2lyZWxlc3MvbWljcm9jaGlwL3dpbGMx MDAwL2NmZzgwMjExLmMgfCAgMiArLQogLi4uL25ldC93aXJlbGVzcy9xdWFudGVubmEvcXRuZm1h Yy9jZmc4MDIxMS5jICB8ICAyICstCiBkcml2ZXJzL25ldC93aXJlbGVzcy90aS93bGNvcmUvbWFp bi5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbnZtZS9jb21tb24vYXV0aC5jICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9zY3NpL2N4Z2JpL2N4Z2I0aS9jeGdiNGkuYyAg ICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvdGFyZ2V0L2lzY3NpL2N4Z2JpdC9jeGdiaXRf Y20uYyAgICAgICAgfCAgMiArLQogZHJpdmVycy90aHVuZGVyYm9sdC94ZG9tYWluLmMgICAgICAg ICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYyAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGZzL2V4ZmF0L2lub2RlLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogZnMvZXh0NC9pYWxsb2MuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBmcy9leHQ0L2lvY3RsLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDQgKystLQogZnMvZXh0NC9tbXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBmcy9mMmZzL25hbWVpLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGZzL2ZhdC9pbm9kZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogZnMvbmZzZC9uZnM0c3RhdGUuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA0ICsrLS0KIGZzL250ZnMzL2ZzbG9nLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgNiArKystLS0KIGZzL3ViaWZzL2pvdXJuYWwuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogZnMveGZzL2xpYnhmcy94ZnNfaWFsbG9jLmMgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBmcy94ZnMveGZzX2ljYWNoZS5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGZzL3hmcy94ZnNfbG9nLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogaW5jbHVkZS9uZXQvbmV0ZmlsdGVyL25mX3F1ZXVlLmggICAgICAgICAg ICAgICB8ICAyICstCiBpbmNsdWRlL25ldC9yZWQuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGluY2x1ZGUvbmV0L3NvY2suaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQoga2VybmVsL2JwZi9ibG9vbV9maWx0ZXIuYyAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBrZXJuZWwvYnBmL2NvcmUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGtlcm5lbC9icGYvaGFzaHRhYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQoga2VybmVsL2JwZi92ZXJpZmllci5jICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBrZXJuZWwva2NzYW4vc2VsZnRlc3QuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGxpYi9yYW5kb20zMi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogbGliL3JlZWRfc29sb21vbi90ZXN0X3JzbGliLmMgICAgICAgICAgICAgICAgICB8ICA2 ICsrKy0tLQogbGliL3Rlc3RfZnByb2JlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBsaWIvdGVzdF9rcHJvYmVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGxpYi90ZXN0X21pbl9oZWFwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NiArKystLS0KIGxpYi90ZXN0X3JoYXNodGFibGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgNiArKystLS0KIG1tL3NobWVtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbW0vc2xhYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBuZXQvODAyL2dhcnAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIG5ldC84MDIvbXJwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogbmV0L2NvcmUvcGt0Z2VuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICsrLS0KIG5ldC9pcHY0L3JvdXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogbmV0L2lwdjQvdGNwX2NkZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBuZXQvaXB2NC91ZHAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIG5ldC9pcHY2L2lwNl9mbG93bGFiZWwuYyAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogbmV0L2lwdjYvb3V0cHV0X2NvcmUuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiBuZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jICAgICAgICAgICAgICAgIHwgIDIg Ky0KIG5ldC9uZXRmaWx0ZXIveHRfc3RhdGlzdGljLmMgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogbmV0L29wZW52c3dpdGNoL2FjdGlvbnMuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICst CiBuZXQvc2NoZWQvc2NoX2Nha2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IG5ldC9zY2hlZC9zY2hfbmV0ZW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOCArKysr KysrKystLS0tLS0tLS0KIG5ldC9zdW5ycGMvYXV0aF9nc3MvZ3NzX2tyYjVfd3JhcC5jICAgICAg ICAgICAgfCAgNCArKy0tCiBuZXQvc3VucnBjL3hwcnQuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIG5ldC91bml4L2FmX3VuaXguYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogNzUgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDEwNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZmlsdGVy LnJzdCBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9maWx0ZXIucnN0CmluZGV4IDQzY2RjNGQz NDc0NS4uZjY5ZGE1MDc0ODYwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcv ZmlsdGVyLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZmlsdGVyLnJzdApAQCAt MzA1LDcgKzMwNSw3IEBAIFBvc3NpYmxlIEJQRiBleHRlbnNpb25zIGFyZSBzaG93biBpbiB0aGUg Zm9sbG93aW5nIHRhYmxlOgogICB2bGFuX3RjaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNrYl92bGFuX3RhZ19nZXQoc2tiKQogICB2bGFuX2F2YWlsICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNrYl92bGFuX3RhZ19wcmVzZW50KHNrYikKICAgdmxhbl90cGlkICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBza2ItPnZsYW5fcHJvdG8KLSAgcmFuZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwcmFuZG9tX3UzMigpCisgIHJhbmQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ2V0X3JhbmRvbV91MzIoKQogICA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PSAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIAogVGhlc2UgZXh0ZW5zaW9ucyBjYW4gYWxzbyBiZSBwcmVmaXhlZCB3aXRoICcj Jy4KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL3Bhcmlz Yy9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDdjMzdlMDljOTJkYS4uMThjNGYwZTNlOTA2IDEwMDY0 NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvcGFyaXNjL2tl cm5lbC9wcm9jZXNzLmMKQEAgLTI4OCw3ICsyODgsNyBAQCBfX2dldF93Y2hhbihzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnApCiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBicmtfcm5kKHZvaWQp CiB7Ci0JcmV0dXJuIChnZXRfcmFuZG9tX2ludCgpICYgQlJLX1JORF9NQVNLKSA8PCBQQUdFX1NI SUZUOworCXJldHVybiAoZ2V0X3JhbmRvbV91MzIoKSAmIEJSS19STkRfTUFTSykgPDwgUEFHRV9T SElGVDsKIH0KIAogdW5zaWduZWQgbG9uZyBhcmNoX3JhbmRvbWl6ZV9icmsoc3RydWN0IG1tX3N0 cnVjdCAqbW0pCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvc3lzX3BhcmlzYy5jIGIv YXJjaC9wYXJpc2Mva2VybmVsL3N5c19wYXJpc2MuYwppbmRleCAyYjM0Mjk0NTE3YTEuLjg0OGIw NzAyMDA1ZCAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3N5c19wYXJpc2MuYworKysg Yi9hcmNoL3BhcmlzYy9rZXJuZWwvc3lzX3BhcmlzYy5jCkBAIC0yMzksMTQgKzIzOSwxNCBAQCBz dGF0aWMgdW5zaWduZWQgbG9uZyBtbWFwX3JuZCh2b2lkKQogCXVuc2lnbmVkIGxvbmcgcm5kID0g MDsKIAogCWlmIChjdXJyZW50LT5mbGFncyAmIFBGX1JBTkRPTUlaRSkKLQkJcm5kID0gZ2V0X3Jh bmRvbV9pbnQoKSAmIE1NQVBfUk5EX01BU0s7CisJCXJuZCA9IGdldF9yYW5kb21fdTMyKCkgJiBN TUFQX1JORF9NQVNLOwogCiAJcmV0dXJuIHJuZCA8PCBQQUdFX1NISUZUOwogfQogCiB1bnNpZ25l ZCBsb25nIGFyY2hfbW1hcF9ybmQodm9pZCkKIHsKLQlyZXR1cm4gKGdldF9yYW5kb21faW50KCkg JiBNTUFQX1JORF9NQVNLKSA8PCBQQUdFX1NISUZUOworCXJldHVybiAoZ2V0X3JhbmRvbV91MzIo KSAmIE1NQVBfUk5EX01BU0spIDw8IFBBR0VfU0hJRlQ7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBs b25nIG1tYXBfbGVnYWN5X2Jhc2Uodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9tbS9tbWFw LmMgYi9hcmNoL3MzOTAvbW0vbW1hcC5jCmluZGV4IDU5ODBjZTM0ODgzMi4uMzMyN2M0N2JjMTgx IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvbW0vbW1hcC5jCisrKyBiL2FyY2gvczM5MC9tbS9tbWFw LmMKQEAgLTM3LDcgKzM3LDcgQEAgc3RhdGljIGlubGluZSBpbnQgbW1hcF9pc19sZWdhY3koc3Ry dWN0IHJsaW1pdCAqcmxpbV9zdGFjaykKIAogdW5zaWduZWQgbG9uZyBhcmNoX21tYXBfcm5kKHZv aWQpCiB7Ci0JcmV0dXJuIChnZXRfcmFuZG9tX2ludCgpICYgTU1BUF9STkRfTUFTSykgPDwgUEFH RV9TSElGVDsKKwlyZXR1cm4gKGdldF9yYW5kb21fdTMyKCkgJiBNTUFQX1JORF9NQVNLKSA8PCBQ QUdFX1NISUZUOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBtbWFwX2Jhc2VfbGVnYWN5KHVu c2lnbmVkIGxvbmcgcm5kKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYyBi L2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMKaW5kZXggNDgyNzZjMGU0NzlkLi44NjBiNjAyNzNk ZjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMKKysrIGIvYXJjaC94ODYv a2VybmVsL2NwdS9hbWQuYwpAQCAtNTAzLDcgKzUwMyw3IEBAIHN0YXRpYyB2b2lkIGJzcF9pbml0 X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAJCXZhX2FsaWduLmZsYWdzICAgID0gQUxJR05f VkFfMzIgfCBBTElHTl9WQV82NDsKIAogCQkvKiBBIHJhbmRvbSB2YWx1ZSBwZXIgYm9vdCBmb3Ig Yml0IHNsaWNlIFsxMjp1cHBlcl9iaXQpICovCi0JCXZhX2FsaWduLmJpdHMgPSBnZXRfcmFuZG9t X2ludCgpICYgdmFfYWxpZ24ubWFzazsKKwkJdmFfYWxpZ24uYml0cyA9IGdldF9yYW5kb21fdTMy KCkgJiB2YV9hbGlnbi5tYXNrOwogCX0KIAogCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01X QUlUWCkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDMyOWZmNzViODBiOS4u N2JkMTg2MWRkYmRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMTM3LDEy ICsxMzcsMTIgQEAgc3RhdGljIHU2NCByYW5kb21fb2Zmc2V0KHU2NCBzdGFydCwgdTY0IGVuZCwg dTY0IGxlbiwgdTY0IGFsaWduKQogCXJhbmdlID0gcm91bmRfZG93bihlbmQgLSBsZW4sIGFsaWdu KSAtIHJvdW5kX3VwKHN0YXJ0LCBhbGlnbik7CiAJaWYgKHJhbmdlKSB7CiAJCWlmIChzaXplb2Yo dW5zaWduZWQgbG9uZykgPT0gc2l6ZW9mKHU2NCkpIHsKLQkJCWFkZHIgPSBnZXRfcmFuZG9tX2xv bmcoKTsKKwkJCWFkZHIgPSBnZXRfcmFuZG9tX3U2NCgpOwogCQl9IGVsc2UgewotCQkJYWRkciA9 IGdldF9yYW5kb21faW50KCk7CisJCQlhZGRyID0gZ2V0X3JhbmRvbV91MzIoKTsKIAkJCWlmIChy YW5nZSA+IFUzMl9NQVgpIHsKIAkJCQlhZGRyIDw8PSAzMjsKLQkJCQlhZGRyIHw9IGdldF9yYW5k b21faW50KCk7CisJCQkJYWRkciB8PSBnZXRfcmFuZG9tX3UzMigpOwogCQkJfQogCQl9CiAJCWRp djY0X3U2NF9yZW0oYWRkciwgcmFuZ2UsICZhZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3NlbGZ0ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9zZWxmdGVzdC5jCmluZGV4IGM0ZTkzMjM2OGIzNy4uMzlkYTBmYjBk NmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9zZWxm dGVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3NlbGZ0ZXN0 LmMKQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgaW50IF9fcnVuX3NlbGZ0ZXN0cyhjb25zdCBj aGFyICpuYW1lLAogCWludCBlcnIgPSAwOwogCiAJd2hpbGUgKCFpOTE1X3NlbGZ0ZXN0LnJhbmRv bV9zZWVkKQotCQlpOTE1X3NlbGZ0ZXN0LnJhbmRvbV9zZWVkID0gZ2V0X3JhbmRvbV9pbnQoKTsK KwkJaTkxNV9zZWxmdGVzdC5yYW5kb21fc2VlZCA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAlpOTE1 X3NlbGZ0ZXN0LnRpbWVvdXRfamlmZmllcyA9CiAJCWk5MTVfc2VsZnRlc3QudGltZW91dF9tcyA/ CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX2J1ZGR5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX2J1ZGR5LmMKaW5kZXggYWNhMGM0 OTEwNDBmLi42MzQwYTcxMTc3M2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVz dHMvdGVzdC1kcm1fYnVkZHkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3Qt ZHJtX2J1ZGR5LmMKQEAgLTk3NCw3ICs5NzQsNyBAQCBzdGF0aWMgaW50IF9faW5pdCB0ZXN0X2Ry bV9idWRkeV9pbml0KHZvaWQpCiAJaW50IGVycjsKIAogCXdoaWxlICghcmFuZG9tX3NlZWQpCi0J CXJhbmRvbV9zZWVkID0gZ2V0X3JhbmRvbV9pbnQoKTsKKwkJcmFuZG9tX3NlZWQgPSBnZXRfcmFu ZG9tX3UzMigpOwogCiAJcHJfaW5mbygiVGVzdGluZyBEUk0gYnVkZHkgbWFuYWdlciAoc3RydWN0 IGRybV9idWRkeSksIHdpdGggcmFuZG9tX3NlZWQ9MHgleFxuIiwKIAkJcmFuZG9tX3NlZWQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jIGIvZHJp dmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCmluZGV4IGI3NjhiNTNjNGFlZS4u MWRjNDFkNzNkMTdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3Qt ZHJtX21tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCkBA IC0yNDYzLDcgKzI0NjMsNyBAQCBzdGF0aWMgaW50IF9faW5pdCB0ZXN0X2RybV9tbV9pbml0KHZv aWQpCiAJaW50IGVycjsKIAogCXdoaWxlICghcmFuZG9tX3NlZWQpCi0JCXJhbmRvbV9zZWVkID0g Z2V0X3JhbmRvbV9pbnQoKTsKKwkJcmFuZG9tX3NlZWQgPSBnZXRfcmFuZG9tX3UzMigpOwogCiAJ cHJfaW5mbygiVGVzdGluZyBEUk0gcmFuZ2UgbWFuYWdlciAoc3RydWN0IGRybV9tbSksIHdpdGgg cmFuZG9tX3NlZWQ9MHgleCBtYXhfaXRlcmF0aW9ucz0ldSBtYXhfcHJpbWU9JXVcbiIsCiAJCXJh bmRvbV9zZWVkLCBtYXhfaXRlcmF0aW9ucywgbWF4X3ByaW1lKTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvaW5maW5pYmFuZC9ody9jeGdiNC9jbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2I0 L2NtLmMKaW5kZXggMTQzOTJjOTQyZjQ5Li40OTlhNDI1YTMzNzkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvaW5maW5pYmFuZC9ody9jeGdiNC9jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9j eGdiNC9jbS5jCkBAIC03MzQsNyArNzM0LDcgQEAgc3RhdGljIGludCBzZW5kX2Nvbm5lY3Qoc3Ry dWN0IGM0aXdfZXAgKmVwKQogCQkJCSAgICZlcC0+Y29tLnJlbW90ZV9hZGRyOwogCWludCByZXQ7 CiAJZW51bSBjaGlwX3R5cGUgYWRhcHRlcl90eXBlID0gZXAtPmNvbS5kZXYtPnJkZXYubGxkaS5h ZGFwdGVyX3R5cGU7Ci0JdTMyIGlzbiA9IChwcmFuZG9tX3UzMigpICYgfjdVTCkgLSAxOworCXUz MiBpc24gPSAoZ2V0X3JhbmRvbV91MzIoKSAmIH43VUwpIC0gMTsKIAlzdHJ1Y3QgbmV0X2Rldmlj ZSAqbmV0ZGV2OwogCXU2NCBwYXJhbXM7CiAKQEAgLTI0NjksNyArMjQ2OSw3IEBAIHN0YXRpYyBp bnQgYWNjZXB0X2NyKHN0cnVjdCBjNGl3X2VwICplcCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAl9 CiAKIAlpZiAoIWlzX3Q0KGFkYXB0ZXJfdHlwZSkpIHsKLQkJdTMyIGlzbiA9IChwcmFuZG9tX3Uz MigpICYgfjdVTCkgLSAxOworCQl1MzIgaXNuID0gKGdldF9yYW5kb21fdTMyKCkgJiB+N1VMKSAt IDE7CiAKIAkJc2tiID0gZ2V0X3NrYihza2IsIHJvdW5kdXAoc2l6ZW9mKCpycGw1KSwgMTYpLCBH RlBfS0VSTkVMKTsKIAkJcnBsNSA9IF9fc2tiX3B1dF96ZXJvKHNrYiwgcm91bmR1cChzaXplb2Yo KnJwbDUpLCAxNikpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdGlk X3JkbWEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9oZmkxL3RpZF9yZG1hLmMKaW5kZXggMmE3 YWJmN2ExZjdmLi4xOGIwNWZmYjQxNWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9o dy9oZmkxL3RpZF9yZG1hLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdGlkX3Jk bWEuYwpAQCAtODUwLDcgKzg1MCw3IEBAIHZvaWQgaGZpMV9rZXJuX2luaXRfY3R4dF9nZW5lcmF0 aW9ucyhzdHJ1Y3QgaGZpMV9jdHh0ZGF0YSAqcmNkKQogCWludCBpOwogCiAJZm9yIChpID0gMDsg aSA8IFJYRV9OVU1fVElEX0ZMT1dTOyBpKyspIHsKLQkJcmNkLT5mbG93c1tpXS5nZW5lcmF0aW9u ID0gbWFza19nZW5lcmF0aW9uKHByYW5kb21fdTMyKCkpOworCQlyY2QtPmZsb3dzW2ldLmdlbmVy YXRpb24gPSBtYXNrX2dlbmVyYXRpb24oZ2V0X3JhbmRvbV91MzIoKSk7CiAJCWtlcm5fc2V0X2h3 X2Zsb3cocmNkLCBLRVJOX0dFTkVSQVRJT05fUkVTRVJWRUQsIGkpOwogCX0KIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5k L2h3L21seDQvbWFkLmMKaW5kZXggZDEzZWNiZGQ0MzkxLi5hMzdjZmFjNWUyM2YgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5p YmFuZC9ody9tbHg0L21hZC5jCkBAIC05Niw3ICs5Niw3IEBAIHN0YXRpYyB2b2lkIF9fcHJvcGFn YXRlX3BrZXlfZXYoc3RydWN0IG1seDRfaWJfZGV2ICpkZXYsIGludCBwb3J0X251bSwKIF9fYmU2 NCBtbHg0X2liX2dlbl9ub2RlX2d1aWQodm9pZCkKIHsKICNkZWZpbmUgTk9ERV9HVUlEX0hJCSgo dTY0KSAoKCh1NjQpSUJfT1BFTklCX09VSSkgPDwgNDApKQotCXJldHVybiBjcHVfdG9fYmU2NChO T0RFX0dVSURfSEkgfCBwcmFuZG9tX3UzMigpKTsKKwlyZXR1cm4gY3B1X3RvX2JlNjQoTk9ERV9H VUlEX0hJIHwgZ2V0X3JhbmRvbV91MzIoKSk7CiB9CiAKIF9fYmU2NCBtbHg0X2liX2dldF9uZXdf ZGVtdXhfdGlkKHN0cnVjdCBtbHg0X2liX2RlbXV4X2N0eCAqY3R4KQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jIGIvZHJpdmVycy9pbmZpbmliYW5k L3VscC9pcG9pYi9pcG9pYl9jbS5jCmluZGV4IGZkOWQ3ZjJjNGQ2NC4uYTYwNWNmNjZiODNlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKKysrIGIv ZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jCkBAIC00NjUsNyArNDY1LDcg QEAgc3RhdGljIGludCBpcG9pYl9jbV9yZXFfaGFuZGxlcihzdHJ1Y3QgaWJfY21faWQgKmNtX2lk LAogCQlnb3RvIGVycl9xcDsKIAl9CiAKLQlwc24gPSBwcmFuZG9tX3UzMigpICYgMHhmZmZmZmY7 CisJcHNuID0gZ2V0X3JhbmRvbV91MzIoKSAmIDB4ZmZmZmZmOwogCXJldCA9IGlwb2liX2NtX21v ZGlmeV9yeF9xcChkZXYsIGNtX2lkLCBwLT5xcCwgcHNuKTsKIAlpZiAocmV0KQogCQlnb3RvIGVy cl9tb2RpZnk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQ1LWNhY2hlLmMgYi9kcml2ZXJz L21kL3JhaWQ1LWNhY2hlLmMKaW5kZXggZjRlMWNjMWVjZTQzLi41YjBmYzc4M2JmMDEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDUtY2FjaGUuYworKysgYi9kcml2ZXJzL21kL3JhaWQ1LWNh Y2hlLmMKQEAgLTI5OTMsNyArMjk5Myw3IEBAIHN0YXRpYyBpbnQgcjVsX2xvYWRfbG9nKHN0cnVj dCByNWxfbG9nICpsb2cpCiAJfQogY3JlYXRlOgogCWlmIChjcmVhdGVfc3VwZXIpIHsKLQkJbG9n LT5sYXN0X2NwX3NlcSA9IHByYW5kb21fdTMyKCk7CisJCWxvZy0+bGFzdF9jcF9zZXEgPSBnZXRf cmFuZG9tX3UzMigpOwogCQljcCA9IDA7CiAJCXI1bF9sb2dfd3JpdGVfZW1wdHlfbWV0YV9ibG9j ayhsb2csIGNwLCBsb2ctPmxhc3RfY3Bfc2VxKTsKIAkJLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXRvdWNoLWNhcC5jIGIvZHJpdmVycy9tZWRp YS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdG91Y2gtY2FwLmMKaW5kZXggNzkyNjYwYTg1YmMx Li42Y2MzMmViNTRmOWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3Zp dmlkL3ZpdmlkLXRvdWNoLWNhcC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3Zp dmlkL3ZpdmlkLXRvdWNoLWNhcC5jCkBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIHZvaWQgdml2 aWRfZmlsbF9idWZmX25vaXNlKF9fczE2ICp0Y2hfYnVmLCBpbnQgc2l6ZSkKIAogCS8qIEZpbGwg MTAlIG9mIHRoZSB2YWx1ZXMgd2l0aGluIHJhbmdlIC0zIGFuZCAzLCB6ZXJvIHRoZSBvdGhlcnMg Ki8KIAlmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7Ci0JCXVuc2lnbmVkIGludCByYW5kID0g Z2V0X3JhbmRvbV9pbnQoKTsKKwkJdW5zaWduZWQgaW50IHJhbmQgPSBnZXRfcmFuZG9tX3UzMigp OwogCiAJCWlmIChyYW5kICUgMTApCiAJCQl0Y2hfYnVmW2ldID0gMDsKQEAgLTI3Miw3ICsyNzIs NyBAQCB2b2lkIHZpdmlkX2ZpbGxidWZmX3RjaChzdHJ1Y3Qgdml2aWRfZGV2ICpkZXYsIHN0cnVj dCB2aXZpZF9idWZmZXIgKmJ1ZikKIAkJcmV0dXJuOwogCiAJaWYgKHRlc3RfcGF0X2lkeCA9PSAw KQotCQlkZXYtPnRjaF9wYXRfcmFuZG9tID0gZ2V0X3JhbmRvbV9pbnQoKTsKKwkJZGV2LT50Y2hf cGF0X3JhbmRvbSA9IGdldF9yYW5kb21fdTMyKCk7CiAJcmFuZCA9IGRldi0+dGNoX3BhdF9yYW5k b207CiAKIAlzd2l0Y2ggKHRlc3RfcGF0dGVybikgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNj L2hhYmFuYWxhYnMvZ2F1ZGkyL2dhdWRpMi5jIGIvZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvZ2F1 ZGkyL2dhdWRpMi5jCmluZGV4IDk4MzM2YTFhODRiMC4uNDEzYjI4NGJmMjI0IDEwMDY0NAotLS0g YS9kcml2ZXJzL21pc2MvaGFiYW5hbGFicy9nYXVkaTIvZ2F1ZGkyLmMKKysrIGIvZHJpdmVycy9t aXNjL2hhYmFuYWxhYnMvZ2F1ZGkyL2dhdWRpMi5jCkBAIC0yOTE3LDcgKzI5MTcsNyBAQCBzdGF0 aWMgdm9pZCBnYXVkaTJfdXNlcl9pbnRlcnJ1cHRfc2V0dXAoc3RydWN0IGhsX2RldmljZSAqaGRl dikKIAogc3RhdGljIGlubGluZSBpbnQgZ2F1ZGkyX2dldF9ub25femVyb19yYW5kb21faW50KHZv aWQpCiB7Ci0JaW50IHJhbmQgPSBnZXRfcmFuZG9tX2ludCgpOworCWludCByYW5kID0gZ2V0X3Jh bmRvbV91MzIoKTsKIAogCXJldHVybiByYW5kID8gcmFuZCA6IDE7CiB9CmRpZmYgLS1naXQgYS9k cml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5kc2ltLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5k c2ltLmMKaW5kZXggNTBiY2Y3NDVlODE2Li40YmRhZjRhYTcwMDcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbXRkL25hbmQvcmF3L25hbmRzaW0uYworKysgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5k c2ltLmMKQEAgLTE0MDIsNyArMTQwMiw3IEBAIHN0YXRpYyBpbnQgbnNfZG9fcmVhZF9lcnJvcihz dHJ1Y3QgbmFuZHNpbSAqbnMsIGludCBudW0pCiAKIHN0YXRpYyB2b2lkIG5zX2RvX2JpdF9mbGlw cyhzdHJ1Y3QgbmFuZHNpbSAqbnMsIGludCBudW0pCiB7Ci0JaWYgKGJpdGZsaXBzICYmIHByYW5k b21fdTMyKCkgPCAoMSA8PCAyMikpIHsKKwlpZiAoYml0ZmxpcHMgJiYgZ2V0X3JhbmRvbV91MzIo KSA8ICgxIDw8IDIyKSkgewogCQlpbnQgZmxpcHMgPSAxOwogCQlpZiAoYml0ZmxpcHMgPiAxKQog CQkJZmxpcHMgPSBwcmFuZG9tX3UzMl9tYXgoYml0ZmxpcHMpICsgMTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMgYi9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRf bWFpbi5jCmluZGV4IDg2ZDQyMzA2YWE1ZS4uYzg1NDMzOTRhM2JiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9u ZF9tYWluLmMKQEAgLTQ4MDYsNyArNDgwNiw3IEBAIHN0YXRpYyB1MzIgYm9uZF9ycl9nZW5fc2xh dmVfaWQoc3RydWN0IGJvbmRpbmcgKmJvbmQpCiAKIAlzd2l0Y2ggKHBhY2tldHNfcGVyX3NsYXZl KSB7CiAJY2FzZSAwOgotCQlzbGF2ZV9pZCA9IHByYW5kb21fdTMyKCk7CisJCXNsYXZlX2lkID0g Z2V0X3JhbmRvbV91MzIoKTsKIAkJYnJlYWs7CiAJY2FzZSAxOgogCQlzbGF2ZV9pZCA9IHRoaXNf Y3B1X2luY19yZXR1cm4oKmJvbmQtPnJyX3R4X2NvdW50ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vY25pYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vY25pYy5jCmluZGV4IGY1OTdiMzEzYWNhYS4uMjE5OGUzNWQ5ZTE4IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9jbmljLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvYnJvYWRjb20vY25pYy5jCkBAIC00MTY0LDcgKzQxNjQsNyBAQCBzdGF0aWMgaW50 IGNuaWNfY21faW5pdF9ibngyX2h3KHN0cnVjdCBjbmljX2RldiAqZGV2KQogewogCXUzMiBzZWVk OwogCi0Jc2VlZCA9IHByYW5kb21fdTMyKCk7CisJc2VlZCA9IGdldF9yYW5kb21fdTMyKCk7CiAJ Y25pY19jdHhfd3IoZGV2LCA0NSwgMCwgc2VlZCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2lubGluZV9jcnlwdG8vY2h0bHMvY2h0bHNf Y20uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5lX2NyeXB0by9jaHRscy9j aHRsc19jbS5jCmluZGV4IGFjNDUyYTAxMTFhOS4uYjcxY2U2YzViNTEyIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2lubGluZV9jcnlwdG8vY2h0bHMvY2h0bHNfY20u YworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2lubGluZV9jcnlwdG8vY2h0bHMv Y2h0bHNfY20uYwpAQCAtMTA2Myw3ICsxMDYzLDcgQEAgc3RhdGljIHZvaWQgY2h0bHNfcGFzc19h Y2NlcHRfcnBsKHN0cnVjdCBza19idWZmICpza2IsCiAJb3B0MiB8PSBXTkRfU0NBTEVfRU5fVihX U0NBTEVfT0sodHApKTsKIAlycGw1LT5vcHQwID0gY3B1X3RvX2JlNjQob3B0MCk7CiAJcnBsNS0+ b3B0MiA9IGNwdV90b19iZTMyKG9wdDIpOwotCXJwbDUtPmlzcyA9IGNwdV90b19iZTMyKChwcmFu ZG9tX3UzMigpICYgfjdVTCkgLSAxKTsKKwlycGw1LT5pc3MgPSBjcHVfdG9fYmUzMigoZ2V0X3Jh bmRvbV91MzIoKSAmIH43VUwpIC0gMSk7CiAJc2V0X3dyX3R4cShza2IsIENQTF9QUklPUklUWV9T RVRVUCwgY3NrLT5wb3J0X2lkKTsKIAl0NF9zZXRfYXJwX2Vycl9oYW5kbGVyKHNrYiwgc2ssIGNo dGxzX2FjY2VwdF9ycGxfYXJwX2ZhaWx1cmUpOwogCWN4Z2I0X2wydF9zZW5kKGNzay0+ZWdyZXNz X2Rldiwgc2tiLCBjc2stPmwydF9lbnRyeSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9yb2NrZXIvcm9ja2VyX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9y b2NrZXJfbWFpbi5jCmluZGV4IGZjODNlYzIzYmQxZC4uOGMzYmJhZmFiYjA3IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yb2NrZXIvcm9ja2VyX21haW4uYworKysgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9yb2NrZXIvcm9ja2VyX21haW4uYwpAQCAtMTI5LDcgKzEyOSw3IEBAIHN0 YXRpYyBpbnQgcm9ja2VyX3JlZ190ZXN0KGNvbnN0IHN0cnVjdCByb2NrZXIgKnJvY2tlcikKIAl1 NjQgdGVzdF9yZWc7CiAJdTY0IHJuZDsKIAotCXJuZCA9IHByYW5kb21fdTMyKCk7CisJcm5kID0g Z2V0X3JhbmRvbV91MzIoKTsKIAlybmQgPj49IDE7CiAJcm9ja2VyX3dyaXRlMzIocm9ja2VyLCBU RVNUX1JFRywgcm5kKTsKIAl0ZXN0X3JlZyA9IHJvY2tlcl9yZWFkMzIocm9ja2VyLCBURVNUX1JF Ryk7CkBAIC0xMzksOSArMTM5LDkgQEAgc3RhdGljIGludCByb2NrZXJfcmVnX3Rlc3QoY29uc3Qg c3RydWN0IHJvY2tlciAqcm9ja2VyKQogCQlyZXR1cm4gLUVJTzsKIAl9CiAKLQlybmQgPSBwcmFu ZG9tX3UzMigpOworCXJuZCA9IGdldF9yYW5kb21fdTMyKCk7CiAJcm5kIDw8PSAzMTsKLQlybmQg fD0gcHJhbmRvbV91MzIoKTsKKwlybmQgfD0gZ2V0X3JhbmRvbV91MzIoKTsKIAlyb2NrZXJfd3Jp dGU2NChyb2NrZXIsIFRFU1RfUkVHNjQsIHJuZCk7CiAJdGVzdF9yZWcgPSByb2NrZXJfcmVhZDY0 KHJvY2tlciwgVEVTVF9SRUc2NCk7CiAJaWYgKHRlc3RfcmVnICE9IHJuZCAqIDIpIHsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9w bm8uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9w bm8uYwppbmRleCBmYWJmYmIwYjQwYjAuLjM3NGUxY2MwN2E2MyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL3Buby5jCisrKyBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9wbm8uYwpAQCAt MTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBpbnQgYnJjbWZfcG5vX3NldF9yYW5kb20oc3RydWN0IGJy Y21mX2lmICppZnAsIHN0cnVjdCBicmNtZl9wbm9faW5mbyAqcGkpCiAJbWVtY3B5KHBmbl9tYWMu bWFjLCBtYWNfYWRkciwgRVRIX0FMRU4pOwogCWZvciAoaSA9IDA7IGkgPCBFVEhfQUxFTjsgaSsr KSB7CiAJCXBmbl9tYWMubWFjW2ldICY9IG1hY19tYXNrW2ldOwotCQlwZm5fbWFjLm1hY1tpXSB8 PSBnZXRfcmFuZG9tX2ludCgpICYgfihtYWNfbWFza1tpXSk7CisJCXBmbl9tYWMubWFjW2ldIHw9 IGdldF9yYW5kb21fdTMyKCkgJiB+KG1hY19tYXNrW2ldKTsKIAl9CiAJLyogQ2xlYXIgbXVsdGkg Yml0ICovCiAJcGZuX21hYy5tYWNbMF0gJj0gMHhGRTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9jZmc4MDIxMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxl c3MvbWFydmVsbC9td2lmaWV4L2NmZzgwMjExLmMKaW5kZXggMTM0MTE0YWMxYWMwLi40ZmJiNWM4 NzZiMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9j Zmc4MDIxMS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9jZmc4 MDIxMS5jCkBAIC0yMzgsNyArMjM4LDcgQEAgbXdpZmlleF9jZmc4MDIxMV9tZ210X3R4KHN0cnVj dCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYsCiAJdHhfaW5mby0+cGt0 X2xlbiA9IHBrdF9sZW47CiAKIAltd2lmaWV4X2Zvcm1fbWdtdF9mcmFtZShza2IsIGJ1ZiwgbGVu KTsKLQkqY29va2llID0gcHJhbmRvbV91MzIoKSB8IDE7CisJKmNvb2tpZSA9IGdldF9yYW5kb21f dTMyKCkgfCAxOwogCiAJaWYgKGllZWU4MDIxMV9pc19hY3Rpb24obWdtdC0+ZnJhbWVfY29udHJv bCkpCiAJCXNrYiA9IG13aWZpZXhfY2xvbmVfc2tiX2Zvcl90eF9zdGF0dXMocHJpdiwKQEAgLTMw Miw3ICszMDIsNyBAQCBtd2lmaWV4X2NmZzgwMjExX3JlbWFpbl9vbl9jaGFubmVsKHN0cnVjdCB3 aXBoeSAqd2lwaHksCiAJCQkJCSBkdXJhdGlvbik7CiAKIAlpZiAoIXJldCkgewotCQkqY29va2ll ID0gcHJhbmRvbV91MzIoKSB8IDE7CisJCSpjb29raWUgPSBnZXRfcmFuZG9tX3UzMigpIHwgMTsK IAkJcHJpdi0+cm9jX2NmZy5jb29raWUgPSAqY29va2llOwogCQlwcml2LT5yb2NfY2ZnLmNoYW4g PSAqY2hhbjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWljcm9jaGlwL3dp bGMxMDAwL2NmZzgwMjExLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEw MDAvY2ZnODAyMTEuYwppbmRleCAzYWMzNzNkMjlkOTMuLjg0YjlkMzQ1NGU1NyAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWljcm9jaGlwL3dpbGMxMDAwL2NmZzgwMjExLmMKKysr IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWljcm9jaGlwL3dpbGMxMDAwL2NmZzgwMjExLmMKQEAg LTExNTksNyArMTE1OSw3IEBAIHN0YXRpYyBpbnQgbWdtdF90eChzdHJ1Y3Qgd2lwaHkgKndpcGh5 LAogCWNvbnN0IHU4ICp2ZW5kb3JfaWU7CiAJaW50IHJldCA9IDA7CiAKLQkqY29va2llID0gcHJh bmRvbV91MzIoKTsKKwkqY29va2llID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlwcml2LT50eF9jb29r aWUgPSAqY29va2llOwogCW1nbXQgPSAoY29uc3Qgc3RydWN0IGllZWU4MDIxMV9tZ210ICopYnVm OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9xdWFudGVubmEvcXRuZm1hYy9j Zmc4MDIxMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcXVhbnRlbm5hL3F0bmZtYWMvY2ZnODAy MTEuYwppbmRleCAxNTkzZTgxMGIzY2EuLjljNTQxNjE0MWQzYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvd2lyZWxlc3MvcXVhbnRlbm5hL3F0bmZtYWMvY2ZnODAyMTEuYworKysgYi9kcml2ZXJz L25ldC93aXJlbGVzcy9xdWFudGVubmEvcXRuZm1hYy9jZmc4MDIxMS5jCkBAIC00NDksNyArNDQ5 LDcgQEAgcXRuZl9tZ210X3R4KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXJlbGVzc19k ZXYgKndkZXYsCiB7CiAJc3RydWN0IHF0bmZfdmlmICp2aWYgPSBxdG5mX25ldGRldl9nZXRfcHJp dih3ZGV2LT5uZXRkZXYpOwogCWNvbnN0IHN0cnVjdCBpZWVlODAyMTFfbWdtdCAqbWdtdF9mcmFt ZSA9ICh2b2lkICopcGFyYW1zLT5idWY7Ci0JdTMyIHNob3J0X2Nvb2tpZSA9IHByYW5kb21fdTMy KCk7CisJdTMyIHNob3J0X2Nvb2tpZSA9IGdldF9yYW5kb21fdTMyKCk7CiAJdTE2IGZsYWdzID0g MDsKIAl1MTYgZnJlcTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvdGkvd2xj b3JlL21haW4uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3RpL3dsY29yZS9tYWluLmMKaW5kZXgg M2UzOTIyZDRjNzg4Li4yOGMwZjA2ZTMxMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVs ZXNzL3RpL3dsY29yZS9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvdGkvd2xjb3Jl L21haW4uYwpAQCAtNjEwMCw3ICs2MTAwLDcgQEAgc3RhdGljIGludCB3bDEyNzFfcmVnaXN0ZXJf aHcoc3RydWN0IHdsMTI3MSAqd2wpCiAJCQl3bDEyNzFfd2FybmluZygiRnVzZSBtYWMgYWRkcmVz cyBpcyB6ZXJvLiB1c2luZyByYW5kb20gbWFjIik7CiAJCQkvKiBVc2UgVEkgb3VpIGFuZCBhIHJh bmRvbSBuaWMgKi8KIAkJCW91aV9hZGRyID0gV0xDT1JFX1RJX09VSV9BRERSRVNTOwotCQkJbmlj X2FkZHIgPSBnZXRfcmFuZG9tX2ludCgpOworCQkJbmljX2FkZHIgPSBnZXRfcmFuZG9tX3UzMigp OwogCQl9IGVsc2UgewogCQkJb3VpX2FkZHIgPSB3bC0+ZnVzZV9vdWlfYWRkcjsKIAkJCS8qIGZ1 c2UgaGFzIHRoZSBCRF9BRERSLCB0aGUgV0xBTiBhZGRyZXNzZXMgYXJlIHRoZSBuZXh0IHR3byAq LwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9udm1lL2NvbW1vbi9hdXRoLmMgYi9kcml2ZXJzL252bWUv Y29tbW9uL2F1dGguYwppbmRleCAwNGJkMjhmMTdkY2MuLmQ5MGU0ZjBjMDhiNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9udm1lL2NvbW1vbi9hdXRoLmMKKysrIGIvZHJpdmVycy9udm1lL2NvbW1vbi9h dXRoLmMKQEAgLTIzLDcgKzIzLDcgQEAgdTMyIG52bWVfYXV0aF9nZXRfc2VxbnVtKHZvaWQpCiAK IAltdXRleF9sb2NrKCZudm1lX2RoY2hhcF9tdXRleCk7CiAJaWYgKCFudm1lX2RoY2hhcF9zZXFu dW0pCi0JCW52bWVfZGhjaGFwX3NlcW51bSA9IHByYW5kb21fdTMyKCk7CisJCW52bWVfZGhjaGFw X3NlcW51bSA9IGdldF9yYW5kb21fdTMyKCk7CiAJZWxzZSB7CiAJCW52bWVfZGhjaGFwX3NlcW51 bSsrOwogCQlpZiAoIW52bWVfZGhjaGFwX3NlcW51bSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2Nz aS9jeGdiaS9jeGdiNGkvY3hnYjRpLmMgYi9kcml2ZXJzL3Njc2kvY3hnYmkvY3hnYjRpL2N4Z2I0 aS5jCmluZGV4IDUzZDkxYmY5YzEyYS4uYzA3ZDJlM2I0YmNmIDEwMDY0NAotLS0gYS9kcml2ZXJz L3Njc2kvY3hnYmkvY3hnYjRpL2N4Z2I0aS5jCisrKyBiL2RyaXZlcnMvc2NzaS9jeGdiaS9jeGdi NGkvY3hnYjRpLmMKQEAgLTI1NCw3ICsyNTQsNyBAQCBzdGF0aWMgdm9pZCBzZW5kX2FjdF9vcGVu X3JlcShzdHJ1Y3QgY3hnYmlfc29jayAqY3NrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCX0gZWxz ZSBpZiAoaXNfdDUobGxkaS0+YWRhcHRlcl90eXBlKSkgewogCQlzdHJ1Y3QgY3BsX3Q1X2FjdF9v cGVuX3JlcSAqcmVxID0KIAkJCQkoc3RydWN0IGNwbF90NV9hY3Rfb3Blbl9yZXEgKilza2ItPmhl YWQ7Ci0JCXUzMiBpc24gPSAocHJhbmRvbV91MzIoKSAmIH43VUwpIC0gMTsKKwkJdTMyIGlzbiA9 IChnZXRfcmFuZG9tX3UzMigpICYgfjdVTCkgLSAxOwogCiAJCUlOSVRfVFBfV1IocmVxLCAwKTsK IAkJT1BDT0RFX1RJRChyZXEpID0gY3B1X3RvX2JlMzIoTUtfT1BDT0RFX1RJRChDUExfQUNUX09Q RU5fUkVRLApAQCAtMjgyLDcgKzI4Miw3IEBAIHN0YXRpYyB2b2lkIHNlbmRfYWN0X29wZW5fcmVx KHN0cnVjdCBjeGdiaV9zb2NrICpjc2ssIHN0cnVjdCBza19idWZmICpza2IsCiAJfSBlbHNlIHsK IAkJc3RydWN0IGNwbF90Nl9hY3Rfb3Blbl9yZXEgKnJlcSA9CiAJCQkJKHN0cnVjdCBjcGxfdDZf YWN0X29wZW5fcmVxICopc2tiLT5oZWFkOwotCQl1MzIgaXNuID0gKHByYW5kb21fdTMyKCkgJiB+ N1VMKSAtIDE7CisJCXUzMiBpc24gPSAoZ2V0X3JhbmRvbV91MzIoKSAmIH43VUwpIC0gMTsKIAog CQlJTklUX1RQX1dSKHJlcSwgMCk7CiAJCU9QQ09ERV9USUQocmVxKSA9IGNwdV90b19iZTMyKE1L X09QQ09ERV9USUQoQ1BMX0FDVF9PUEVOX1JFUSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGFyZ2V0 L2lzY3NpL2N4Z2JpdC9jeGdiaXRfY20uYyBiL2RyaXZlcnMvdGFyZ2V0L2lzY3NpL2N4Z2JpdC9j eGdiaXRfY20uYwppbmRleCAzMzM2ZDJiNzhiZjcuLmQ5MjA0YzU5MGQ5YSAxMDA2NDQKLS0tIGEv ZHJpdmVycy90YXJnZXQvaXNjc2kvY3hnYml0L2N4Z2JpdF9jbS5jCisrKyBiL2RyaXZlcnMvdGFy Z2V0L2lzY3NpL2N4Z2JpdC9jeGdiaXRfY20uYwpAQCAtMTIwMiw3ICsxMjAyLDcgQEAgY3hnYml0 X3Bhc3NfYWNjZXB0X3JwbChzdHJ1Y3QgY3hnYml0X3NvY2sgKmNzaywgc3RydWN0IGNwbF9wYXNz X2FjY2VwdF9yZXEgKnJlcSkKIAlvcHQyIHw9IENPTkdfQ05UUkxfVihDT05HX0FMR19ORVdSRU5P KTsKIAogCW9wdDIgfD0gVDVfSVNTX0Y7Ci0JcnBsNS0+aXNzID0gY3B1X3RvX2JlMzIoKHByYW5k b21fdTMyKCkgJiB+N1VMKSAtIDEpOworCXJwbDUtPmlzcyA9IGNwdV90b19iZTMyKChnZXRfcmFu ZG9tX3UzMigpICYgfjdVTCkgLSAxKTsKIAogCW9wdDIgfD0gVDVfT1BUXzJfVkFMSURfRjsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy90aHVuZGVyYm9sdC94ZG9tYWluLmMgYi9kcml2ZXJzL3RodW5k ZXJib2x0L3hkb21haW4uYwppbmRleCBjMzFjMGQ5NGQ4YjMuLjc2MDc1ZTI5Njk2YyAxMDA2NDQK LS0tIGEvZHJpdmVycy90aHVuZGVyYm9sdC94ZG9tYWluLmMKKysrIGIvZHJpdmVycy90aHVuZGVy Ym9sdC94ZG9tYWluLmMKQEAgLTI0MzgsNyArMjQzOCw3IEBAIGludCB0Yl94ZG9tYWluX2luaXQo dm9pZCkKIAl0Yl9wcm9wZXJ0eV9hZGRfaW1tZWRpYXRlKHhkb21haW5fcHJvcGVydHlfZGlyLCAi ZGV2aWNlaWQiLCAweDEpOwogCXRiX3Byb3BlcnR5X2FkZF9pbW1lZGlhdGUoeGRvbWFpbl9wcm9w ZXJ0eV9kaXIsICJkZXZpY2VydiIsIDB4ODAwMDAxMDApOwogCi0JeGRvbWFpbl9wcm9wZXJ0eV9i bG9ja19nZW4gPSBwcmFuZG9tX3UzMigpOworCXhkb21haW5fcHJvcGVydHlfYmxvY2tfZ2VuID0g Z2V0X3JhbmRvbV91MzIoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy92 aWRlby9mYmRldi91dmVzYWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYwppbmRl eCA0ZGY2NzcyODAyZDcuLjI4NWI4M2MyMDMyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9m YmRldi91dmVzYWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi91dmVzYWZiLmMKQEAgLTE2 Nyw3ICsxNjcsNyBAQCBzdGF0aWMgaW50IHV2ZXNhZmJfZXhlYyhzdHJ1Y3QgdXZlc2FmYl9rdGFz ayAqdGFzaykKIAltZW1jcHkoJm0tPmlkLCAmdXZlc2FmYl9jbl9pZCwgc2l6ZW9mKG0tPmlkKSk7 CiAJbS0+c2VxID0gc2VxOwogCW0tPmxlbiA9IGxlbjsKLQltLT5hY2sgPSBwcmFuZG9tX3UzMigp OworCW0tPmFjayA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAkvKiB1dmVzYWZiX3Rhc2sgc3RydWN0 dXJlICovCiAJbWVtY3B5KG0gKyAxLCAmdGFzay0+dCwgc2l6ZW9mKHRhc2stPnQpKTsKZGlmZiAt LWdpdCBhL2ZzL2V4ZmF0L2lub2RlLmMgYi9mcy9leGZhdC9pbm9kZS5jCmluZGV4IGE3OTU0Mzdi ODZkMC4uNTU5MGExZTgzMTI2IDEwMDY0NAotLS0gYS9mcy9leGZhdC9pbm9kZS5jCisrKyBiL2Zz L2V4ZmF0L2lub2RlLmMKQEAgLTU1Miw3ICs1NTIsNyBAQCBzdGF0aWMgaW50IGV4ZmF0X2ZpbGxf aW5vZGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGV4ZmF0X2Rpcl9lbnRyeSAqaW5mbykK IAlpbm9kZS0+aV91aWQgPSBzYmktPm9wdGlvbnMuZnNfdWlkOwogCWlub2RlLT5pX2dpZCA9IHNi aS0+b3B0aW9ucy5mc19naWQ7CiAJaW5vZGVfaW5jX2l2ZXJzaW9uKGlub2RlKTsKLQlpbm9kZS0+ aV9nZW5lcmF0aW9uID0gcHJhbmRvbV91MzIoKTsKKwlpbm9kZS0+aV9nZW5lcmF0aW9uID0gZ2V0 X3JhbmRvbV91MzIoKTsKIAogCWlmIChpbmZvLT5hdHRyICYgQVRUUl9TVUJESVIpIHsgLyogZGly ZWN0b3J5ICovCiAJCWlub2RlLT5pX2dlbmVyYXRpb24gJj0gfjE7CmRpZmYgLS1naXQgYS9mcy9l eHQ0L2lhbGxvYy5jIGIvZnMvZXh0NC9pYWxsb2MuYwppbmRleCAzNmQ1YmM1OTVjYzIuLjM5NTZl MjRmYTZlOSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9pYWxsb2MuYworKysgYi9mcy9leHQ0L2lhbGxv Yy5jCkBAIC0xMjc5LDcgKzEyNzksNyBAQCBzdHJ1Y3QgaW5vZGUgKl9fZXh0NF9uZXdfaW5vZGUo c3RydWN0IHVzZXJfbmFtZXNwYWNlICptbnRfdXNlcm5zLAogCQkJCQlFWFQ0X0dST1VQX0lORk9f SUJJVE1BUF9DT1JSVVBUKTsKIAkJZ290byBvdXQ7CiAJfQotCWlub2RlLT5pX2dlbmVyYXRpb24g PSBwcmFuZG9tX3UzMigpOworCWlub2RlLT5pX2dlbmVyYXRpb24gPSBnZXRfcmFuZG9tX3UzMigp OwogCiAJLyogUHJlY29tcHV0ZSBjaGVja3N1bSBzZWVkIGZvciBpbm9kZSBtZXRhZGF0YSAqLwog CWlmIChleHQ0X2hhc19tZXRhZGF0YV9jc3VtKHNiKSkgewpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9p b2N0bC5jIGIvZnMvZXh0NC9pb2N0bC5jCmluZGV4IDNjZjNlYzRiMWMyMS4uOTlkZjViOGFlMTQ5 IDEwMDY0NAotLS0gYS9mcy9leHQ0L2lvY3RsLmMKKysrIGIvZnMvZXh0NC9pb2N0bC5jCkBAIC00 NTMsOCArNDUzLDggQEAgc3RhdGljIGxvbmcgc3dhcF9pbm9kZV9ib290X2xvYWRlcihzdHJ1Y3Qg c3VwZXJfYmxvY2sgKnNiLAogCiAJaW5vZGUtPmlfY3RpbWUgPSBpbm9kZV9ibC0+aV9jdGltZSA9 IGN1cnJlbnRfdGltZShpbm9kZSk7CiAKLQlpbm9kZS0+aV9nZW5lcmF0aW9uID0gcHJhbmRvbV91 MzIoKTsKLQlpbm9kZV9ibC0+aV9nZW5lcmF0aW9uID0gcHJhbmRvbV91MzIoKTsKKwlpbm9kZS0+ aV9nZW5lcmF0aW9uID0gZ2V0X3JhbmRvbV91MzIoKTsKKwlpbm9kZV9ibC0+aV9nZW5lcmF0aW9u ID0gZ2V0X3JhbmRvbV91MzIoKTsKIAlleHQ0X3Jlc2V0X2lub2RlX3NlZWQoaW5vZGUpOwogCWV4 dDRfcmVzZXRfaW5vZGVfc2VlZChpbm9kZV9ibCk7CiAKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvbW1w LmMgYi9mcy9leHQ0L21tcC5jCmluZGV4IDlhZjY4YTdlY2RjZi4uNTg4Y2IwOWM1MjkxIDEwMDY0 NAotLS0gYS9mcy9leHQ0L21tcC5jCisrKyBiL2ZzL2V4dDQvbW1wLmMKQEAgLTI2NSw3ICsyNjUs NyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG1tcF9uZXdfc2VxKHZvaWQpCiAJdTMyIG5ld19zZXE7 CiAKIAlkbyB7Ci0JCW5ld19zZXEgPSBwcmFuZG9tX3UzMigpOworCQluZXdfc2VxID0gZ2V0X3Jh bmRvbV91MzIoKTsKIAl9IHdoaWxlIChuZXdfc2VxID4gRVhUNF9NTVBfU0VRX01BWCk7CiAKIAly ZXR1cm4gbmV3X3NlcTsKZGlmZiAtLWdpdCBhL2ZzL2YyZnMvbmFtZWkuYyBiL2ZzL2YyZnMvbmFt ZWkuYwppbmRleCBiZjAwZDUwNTdhYmIuLjkzOTUzNjk4MmMzZSAxMDA2NDQKLS0tIGEvZnMvZjJm cy9uYW1laS5jCisrKyBiL2ZzL2YyZnMvbmFtZWkuYwpAQCAtNTAsNyArNTAsNyBAQCBzdGF0aWMg c3RydWN0IGlub2RlICpmMmZzX25ld19pbm9kZShzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKm1udF91 c2VybnMsCiAJaW5vZGUtPmlfYmxvY2tzID0gMDsKIAlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5p X2F0aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBjdXJyZW50X3RpbWUoaW5vZGUpOwogCUYyRlNfSShp bm9kZSktPmlfY3J0aW1lID0gaW5vZGUtPmlfbXRpbWU7Ci0JaW5vZGUtPmlfZ2VuZXJhdGlvbiA9 IHByYW5kb21fdTMyKCk7CisJaW5vZGUtPmlfZ2VuZXJhdGlvbiA9IGdldF9yYW5kb21fdTMyKCk7 CiAKIAlpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKIAkJRjJGU19JKGlub2RlKS0+aV9jdXJy ZW50X2RlcHRoID0gMTsKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9pbm9kZS5jIGIvZnMvZmF0L2lub2Rl LmMKaW5kZXggYTM4MjM4ZDc1YzA4Li4xY2JjYzQ2MDhkYzcgMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9p bm9kZS5jCisrKyBiL2ZzL2ZhdC9pbm9kZS5jCkBAIC01MjMsNyArNTIzLDcgQEAgaW50IGZhdF9m aWxsX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBtc2Rvc19kaXJfZW50cnkgKmRl KQogCWlub2RlLT5pX3VpZCA9IHNiaS0+b3B0aW9ucy5mc191aWQ7CiAJaW5vZGUtPmlfZ2lkID0g c2JpLT5vcHRpb25zLmZzX2dpZDsKIAlpbm9kZV9pbmNfaXZlcnNpb24oaW5vZGUpOwotCWlub2Rl LT5pX2dlbmVyYXRpb24gPSBwcmFuZG9tX3UzMigpOworCWlub2RlLT5pX2dlbmVyYXRpb24gPSBn ZXRfcmFuZG9tX3UzMigpOwogCiAJaWYgKChkZS0+YXR0ciAmIEFUVFJfRElSKSAmJiAhSVNfRlJF RShkZS0+bmFtZSkpIHsKIAkJaW5vZGUtPmlfZ2VuZXJhdGlvbiAmPSB+MTsKZGlmZiAtLWdpdCBh L2ZzL25mc2QvbmZzNHN0YXRlLmMgYi9mcy9uZnNkL25mczRzdGF0ZS5jCmluZGV4IGM1ZDE5OWQ3 ZTZiNC4uZTEwYzE2Y2Q3ODgxIDEwMDY0NAotLS0gYS9mcy9uZnNkL25mczRzdGF0ZS5jCisrKyBi L2ZzL25mc2QvbmZzNHN0YXRlLmMKQEAgLTQzNDYsOCArNDM0Niw4IEBAIHZvaWQgbmZzZDRfaW5p dF9sZWFzZXNfbmV0KHN0cnVjdCBuZnNkX25ldCAqbm4pCiAJbm4tPm5mc2Q0X2dyYWNlID0gOTA7 CiAJbm4tPnNvbWVib2R5X3JlY2xhaW1lZCA9IGZhbHNlOwogCW5uLT50cmFja19yZWNsYWltX2Nv bXBsZXRlcyA9IGZhbHNlOwotCW5uLT5jbHZlcmlmaWVyX2NvdW50ZXIgPSBwcmFuZG9tX3UzMigp OwotCW5uLT5jbGllbnRpZF9iYXNlID0gcHJhbmRvbV91MzIoKTsKKwlubi0+Y2x2ZXJpZmllcl9j b3VudGVyID0gZ2V0X3JhbmRvbV91MzIoKTsKKwlubi0+Y2xpZW50aWRfYmFzZSA9IGdldF9yYW5k b21fdTMyKCk7CiAJbm4tPmNsaWVudGlkX2NvdW50ZXIgPSBubi0+Y2xpZW50aWRfYmFzZSArIDE7 CiAJbm4tPnMyc19jcF9jbF9pZCA9IG5uLT5jbGllbnRpZF9jb3VudGVyKys7CiAKZGlmZiAtLWdp dCBhL2ZzL250ZnMzL2ZzbG9nLmMgYi9mcy9udGZzMy9mc2xvZy5jCmluZGV4IGU3YzQ5NDAwNTEy Mi4uMGQ2MTFhNmM1NTExIDEwMDY0NAotLS0gYS9mcy9udGZzMy9mc2xvZy5jCisrKyBiL2ZzL250 ZnMzL2ZzbG9nLmMKQEAgLTM4MTksNyArMzgxOSw3IEBAIGludCBsb2dfcmVwbGF5KHN0cnVjdCBu dGZzX2lub2RlICpuaSwgYm9vbCAqaW5pdGlhbGl6ZWQpCiAJCX0KIAogCQlsb2dfaW5pdF9wZ19o ZHIobG9nLCBwYWdlX3NpemUsIHBhZ2Vfc2l6ZSwgMSwgMSk7Ci0JCWxvZ19jcmVhdGUobG9nLCBs X3NpemUsIDAsIGdldF9yYW5kb21faW50KCksIGZhbHNlLCBmYWxzZSk7CisJCWxvZ19jcmVhdGUo bG9nLCBsX3NpemUsIDAsIGdldF9yYW5kb21fdTMyKCksIGZhbHNlLCBmYWxzZSk7CiAKIAkJbG9n LT5yYSA9IHJhOwogCkBAIC0zODkzLDcgKzM4OTMsNyBAQCBpbnQgbG9nX3JlcGxheShzdHJ1Y3Qg bnRmc19pbm9kZSAqbmksIGJvb2wgKmluaXRpYWxpemVkKQogCiAJCS8qIERvIHNvbWUgY2hlY2tz IGJhc2VkIG9uIHdoZXRoZXIgd2UgaGF2ZSBhIHZhbGlkIGxvZyBwYWdlLiAqLwogCQlpZiAoIXJz dF9pbmZvLnZhbGlkX3BhZ2UpIHsKLQkJCW9wZW5fbG9nX2NvdW50ID0gZ2V0X3JhbmRvbV9pbnQo KTsKKwkJCW9wZW5fbG9nX2NvdW50ID0gZ2V0X3JhbmRvbV91MzIoKTsKIAkJCWdvdG8gaW5pdF9s b2dfaW5zdGFuY2U7CiAJCX0KIAkJb3Blbl9sb2dfY291bnQgPSBsZTMyX3RvX2NwdShyYTItPm9w ZW5fbG9nX2NvdW50KTsKQEAgLTQwNDQsNyArNDA0NCw3IEBAIGludCBsb2dfcmVwbGF5KHN0cnVj dCBudGZzX2lub2RlICpuaSwgYm9vbCAqaW5pdGlhbGl6ZWQpCiAJCW1lbWNweShyYS0+Y2xpZW50 cywgQWRkMlB0cihyYTIsIHQxNiksCiAJCSAgICAgICBsZTE2X3RvX2NwdShyYTItPnJhX2xlbikg LSB0MTYpOwogCi0JCWxvZy0+Y3VycmVudF9vcGVubG9nX2NvdW50ID0gZ2V0X3JhbmRvbV9pbnQo KTsKKwkJbG9nLT5jdXJyZW50X29wZW5sb2dfY291bnQgPSBnZXRfcmFuZG9tX3UzMigpOwogCQly YS0+b3Blbl9sb2dfY291bnQgPSBjcHVfdG9fbGUzMihsb2ctPmN1cnJlbnRfb3BlbmxvZ19jb3Vu dCk7CiAJCWxvZy0+cmFfc2l6ZSA9IG9mZnNldG9mKHN0cnVjdCBSRVNUQVJUX0FSRUEsIGNsaWVu dHMpICsKIAkJCSAgICAgICBzaXplb2Yoc3RydWN0IENMSUVOVF9SRUMpOwpkaWZmIC0tZ2l0IGEv ZnMvdWJpZnMvam91cm5hbC5jIGIvZnMvdWJpZnMvam91cm5hbC5jCmluZGV4IDc1ZGFiMGFlMzkz OS4uNDYxOTY1MjA0NmNmIDEwMDY0NAotLS0gYS9mcy91Ymlmcy9qb3VybmFsLmMKKysrIGIvZnMv dWJpZnMvam91cm5hbC5jCkBAIC01MDMsNyArNTAzLDcgQEAgc3RhdGljIHZvaWQgbWFya19pbm9k ZV9jbGVhbihzdHJ1Y3QgdWJpZnNfaW5mbyAqYywgc3RydWN0IHViaWZzX2lub2RlICp1aSkKIHN0 YXRpYyB2b2lkIHNldF9kZW50X2Nvb2tpZShzdHJ1Y3QgdWJpZnNfaW5mbyAqYywgc3RydWN0IHVi aWZzX2RlbnRfbm9kZSAqZGVudCkKIHsKIAlpZiAoYy0+ZG91YmxlX2hhc2gpCi0JCWRlbnQtPmNv b2tpZSA9IChfX2ZvcmNlIF9fbGUzMikgcHJhbmRvbV91MzIoKTsKKwkJZGVudC0+Y29va2llID0g KF9fZm9yY2UgX19sZTMyKSBnZXRfcmFuZG9tX3UzMigpOwogCWVsc2UKIAkJZGVudC0+Y29va2ll ID0gMDsKIH0KZGlmZiAtLWdpdCBhL2ZzL3hmcy9saWJ4ZnMveGZzX2lhbGxvYy5jIGIvZnMveGZz L2xpYnhmcy94ZnNfaWFsbG9jLmMKaW5kZXggNzgzOGIzMTEyNmUyLi45NGRiNTBlYjcwNmEgMTAw NjQ0Ci0tLSBhL2ZzL3hmcy9saWJ4ZnMveGZzX2lhbGxvYy5jCisrKyBiL2ZzL3hmcy9saWJ4ZnMv eGZzX2lhbGxvYy5jCkBAIC04MDUsNyArODA1LDcgQEAgeGZzX2lhbGxvY19hZ19hbGxvYygKIAkg KiBudW1iZXIgZnJvbSBiZWluZyBlYXNpbHkgZ3Vlc3NhYmxlLgogCSAqLwogCWVycm9yID0geGZz X2lhbGxvY19pbm9kZV9pbml0KGFyZ3MubXAsIHRwLCBOVUxMLCBuZXdsZW4sIHBhZy0+cGFnX2Fn bm8sCi0JCQlhcmdzLmFnYm5vLCBhcmdzLmxlbiwgcHJhbmRvbV91MzIoKSk7CisJCQlhcmdzLmFn Ym5vLCBhcmdzLmxlbiwgZ2V0X3JhbmRvbV91MzIoKSk7CiAKIAlpZiAoZXJyb3IpCiAJCXJldHVy biBlcnJvcjsKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfaWNhY2hlLmMgYi9mcy94ZnMveGZzX2lj YWNoZS5jCmluZGV4IDJiYmU3OTE2YTk5OC4uZWFlNzQyNzA2MmNmIDEwMDY0NAotLS0gYS9mcy94 ZnMveGZzX2ljYWNoZS5jCisrKyBiL2ZzL3hmcy94ZnNfaWNhY2hlLmMKQEAgLTU5Niw3ICs1OTYs NyBAQCB4ZnNfaWdldF9jYWNoZV9taXNzKAogCSAqLwogCWlmICh4ZnNfaGFzX3YzaW5vZGVzKG1w KSAmJgogCSAgICAoZmxhZ3MgJiBYRlNfSUdFVF9DUkVBVEUpICYmICF4ZnNfaGFzX2lrZWVwKG1w KSkgewotCQlWRlNfSShpcCktPmlfZ2VuZXJhdGlvbiA9IHByYW5kb21fdTMyKCk7CisJCVZGU19J KGlwKS0+aV9nZW5lcmF0aW9uID0gZ2V0X3JhbmRvbV91MzIoKTsKIAl9IGVsc2UgewogCQlzdHJ1 Y3QgeGZzX2J1ZgkJKmJwOwogCmRpZmYgLS1naXQgYS9mcy94ZnMveGZzX2xvZy5jIGIvZnMveGZz L3hmc19sb2cuYwppbmRleCAzODZiMDMwN2FlZDguLmFkODY1MmNiZjI0NSAxMDA2NDQKLS0tIGEv ZnMveGZzL3hmc19sb2cuYworKysgYi9mcy94ZnMveGZzX2xvZy5jCkBAIC0zNTQ0LDcgKzM1NDQs NyBAQCB4bG9nX3RpY2tldF9hbGxvYygKIAl0aWMtPnRfY3Vycl9yZXMJCT0gdW5pdF9yZXM7CiAJ dGljLT50X2NudAkJPSBjbnQ7CiAJdGljLT50X29jbnQJCT0gY250OwotCXRpYy0+dF90aWQJCT0g cHJhbmRvbV91MzIoKTsKKwl0aWMtPnRfdGlkCQk9IGdldF9yYW5kb21fdTMyKCk7CiAJaWYgKHBl cm1hbmVudCkKIAkJdGljLT50X2ZsYWdzIHw9IFhMT0dfVElDX1BFUk1fUkVTRVJWOwogCmRpZmYg LS1naXQgYS9pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfcXVldWUuaCBiL2luY2x1ZGUvbmV0L25l dGZpbHRlci9uZl9xdWV1ZS5oCmluZGV4IDk4MGRhYTZlMWUzYS4uYzgxMDIxYWIwN2FhIDEwMDY0 NAotLS0gYS9pbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfcXVldWUuaAorKysgYi9pbmNsdWRlL25l dC9uZXRmaWx0ZXIvbmZfcXVldWUuaApAQCAtNDMsNyArNDMsNyBAQCB2b2lkIG5mX3F1ZXVlX2Vu dHJ5X2ZyZWUoc3RydWN0IG5mX3F1ZXVlX2VudHJ5ICplbnRyeSk7CiBzdGF0aWMgaW5saW5lIHZv aWQgaW5pdF9oYXNocmFuZG9tKHUzMiAqamhhc2hfaW5pdHZhbCkKIHsKIAl3aGlsZSAoKmpoYXNo X2luaXR2YWwgPT0gMCkKLQkJKmpoYXNoX2luaXR2YWwgPSBwcmFuZG9tX3UzMigpOworCQkqamhh c2hfaW5pdHZhbCA9IGdldF9yYW5kb21fdTMyKCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIGhh c2hfdjQoY29uc3Qgc3RydWN0IGlwaGRyICppcGgsIHUzMiBpbml0dmFsKQpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9uZXQvcmVkLmggYi9pbmNsdWRlL25ldC9yZWQuaAppbmRleCBiZTExZGJkMjY0OTIu LjU2ZDA2NDdkNzM1NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvcmVkLmgKKysrIGIvaW5jbHVk ZS9uZXQvcmVkLmgKQEAgLTM2NCw3ICszNjQsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxv bmcgcmVkX2NhbGNfcWF2Zyhjb25zdCBzdHJ1Y3QgcmVkX3Bhcm1zICpwLAogCiBzdGF0aWMgaW5s aW5lIHUzMiByZWRfcmFuZG9tKGNvbnN0IHN0cnVjdCByZWRfcGFybXMgKnApCiB7Ci0JcmV0dXJu IHJlY2lwcm9jYWxfZGl2aWRlKHByYW5kb21fdTMyKCksIHAtPm1heF9QX3JlY2lwcm9jYWwpOwor CXJldHVybiByZWNpcHJvY2FsX2RpdmlkZShnZXRfcmFuZG9tX3UzMigpLCBwLT5tYXhfUF9yZWNp cHJvY2FsKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcmVkX21hcmtfcHJvYmFiaWxpdHkoY29u c3Qgc3RydWN0IHJlZF9wYXJtcyAqcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L3NvY2suaCBi L2luY2x1ZGUvbmV0L3NvY2suaAppbmRleCBkMDhjZmUxOTBhNzguLmNhMmIyNjY4NjY3NyAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9uZXQvc29jay5oCisrKyBiL2luY2x1ZGUvbmV0L3NvY2suaApAQCAt MjA5MSw3ICsyMDkxLDcgQEAgc3RhdGljIGlubGluZSBrdWlkX3Qgc29ja19uZXRfdWlkKGNvbnN0 IHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IHNvY2sgKnNrKQogCiBzdGF0aWMgaW5saW5l IHUzMiBuZXRfdHhfcm5kaGFzaCh2b2lkKQogewotCXUzMiB2ID0gcHJhbmRvbV91MzIoKTsKKwl1 MzIgdiA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAlyZXR1cm4gdiA/OiAxOwogfQpkaWZmIC0tZ2l0 IGEva2VybmVsL2JwZi9ibG9vbV9maWx0ZXIuYyBiL2tlcm5lbC9icGYvYmxvb21fZmlsdGVyLmMK aW5kZXggYjllYTUzOWE1NTYxLi40OGVlNzUwODQ5ZjIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9icGYv Ymxvb21fZmlsdGVyLmMKKysrIGIva2VybmVsL2JwZi9ibG9vbV9maWx0ZXIuYwpAQCAtMTU4LDcg KzE1OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgYnBmX21hcCAqYmxvb21fbWFwX2FsbG9jKHVuaW9uIGJw Zl9hdHRyICphdHRyKQogCQkJYXR0ci0+dmFsdWVfc2l6ZSAvIHNpemVvZih1MzIpOwogCiAJaWYg KCEoYXR0ci0+bWFwX2ZsYWdzICYgQlBGX0ZfWkVST19TRUVEKSkKLQkJYmxvb20tPmhhc2hfc2Vl ZCA9IGdldF9yYW5kb21faW50KCk7CisJCWJsb29tLT5oYXNoX3NlZWQgPSBnZXRfcmFuZG9tX3Uz MigpOwogCiAJcmV0dXJuICZibG9vbS0+bWFwOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9j b3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuYwppbmRleCBhZGU2YjAzYjFkOWIuLmY2YjM0ODZmMDAx YSAxMDA2NDQKLS0tIGEva2VybmVsL2JwZi9jb3JlLmMKKysrIGIva2VybmVsL2JwZi9jb3JlLmMK QEAgLTEyMTEsNyArMTIxMSw3IEBAIHN0YXRpYyBpbnQgYnBmX2ppdF9ibGluZF9pbnNuKGNvbnN0 IHN0cnVjdCBicGZfaW5zbiAqZnJvbSwKIAkJCSAgICAgIGJvb2wgZW1pdF96ZXh0KQogewogCXN0 cnVjdCBicGZfaW5zbiAqdG8gPSB0b19idWZmOwotCXUzMiBpbW1fcm5kID0gZ2V0X3JhbmRvbV9p bnQoKTsKKwl1MzIgaW1tX3JuZCA9IGdldF9yYW5kb21fdTMyKCk7CiAJczE2IG9mZjsKIAogCUJV SUxEX0JVR19PTihCUEZfUkVHX0FYICArIDEgIT0gTUFYX0JQRl9KSVRfUkVHKTsKZGlmZiAtLWdp dCBhL2tlcm5lbC9icGYvaGFzaHRhYi5jIGIva2VybmVsL2JwZi9oYXNodGFiLmMKaW5kZXggNmM1 MzBhNWU1NjBhLi4xZDM2MTczNTk4YTAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9icGYvaGFzaHRhYi5j CisrKyBiL2tlcm5lbC9icGYvaGFzaHRhYi5jCkBAIC01NDYsNyArNTQ2LDcgQEAgc3RhdGljIHN0 cnVjdCBicGZfbWFwICpodGFiX21hcF9hbGxvYyh1bmlvbiBicGZfYXR0ciAqYXR0cikKIAlpZiAo aHRhYi0+bWFwLm1hcF9mbGFncyAmIEJQRl9GX1pFUk9fU0VFRCkKIAkJaHRhYi0+aGFzaHJuZCA9 IDA7CiAJZWxzZQotCQlodGFiLT5oYXNocm5kID0gZ2V0X3JhbmRvbV9pbnQoKTsKKwkJaHRhYi0+ aGFzaHJuZCA9IGdldF9yYW5kb21fdTMyKCk7CiAKIAlodGFiX2luaXRfYnVja2V0cyhodGFiKTsK IApkaWZmIC0tZ2l0IGEva2VybmVsL2JwZi92ZXJpZmllci5jIGIva2VybmVsL2JwZi92ZXJpZmll ci5jCmluZGV4IDNlYWRiMTRlMDkwYi4uOTQzYWY1YWJkYzE4IDEwMDY0NAotLS0gYS9rZXJuZWwv YnBmL3ZlcmlmaWVyLmMKKysrIGIva2VybmVsL2JwZi92ZXJpZmllci5jCkBAIC0xMzMxNyw3ICsx MzMxNyw3IEBAIHN0YXRpYyBpbnQgb3B0X3N1YnJlZ196ZXh0X2xvMzJfcm5kX2hpMzIoc3RydWN0 IGJwZl92ZXJpZmllcl9lbnYgKmVudiwKIAkJCSAgICBhdXhbYWRqX2lkeF0ucHRyX3R5cGUgPT0g UFRSX1RPX0NUWCkKIAkJCQljb250aW51ZTsKIAotCQkJaW1tX3JuZCA9IGdldF9yYW5kb21faW50 KCk7CisJCQlpbW1fcm5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAkJCXJuZF9oaTMyX3BhdGNoWzBd ID0gaW5zbjsKIAkJCXJuZF9oaTMyX3BhdGNoWzFdLmltbSA9IGltbV9ybmQ7CiAJCQlybmRfaGkz Ml9wYXRjaFszXS5kc3RfcmVnID0gbG9hZF9yZWc7CmRpZmYgLS1naXQgYS9rZXJuZWwva2NzYW4v c2VsZnRlc3QuYyBiL2tlcm5lbC9rY3Nhbi9zZWxmdGVzdC5jCmluZGV4IDc1NzEyOTU5Yzg0ZS4u NThiOTRkZWFlNWMwIDEwMDY0NAotLS0gYS9rZXJuZWwva2NzYW4vc2VsZnRlc3QuYworKysgYi9r ZXJuZWwva2NzYW4vc2VsZnRlc3QuYwpAQCAtMjYsNyArMjYsNyBAQAogc3RhdGljIGJvb2wgX19p bml0IHRlc3RfcmVxdWlyZXModm9pZCkKIHsKIAkvKiByYW5kb20gc2hvdWxkIGJlIGluaXRpYWxp emVkIGZvciB0aGUgYmVsb3cgdGVzdHMgKi8KLQlyZXR1cm4gcHJhbmRvbV91MzIoKSArIHByYW5k b21fdTMyKCkgIT0gMDsKKwlyZXR1cm4gZ2V0X3JhbmRvbV91MzIoKSArIGdldF9yYW5kb21fdTMy KCkgIT0gMDsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2xpYi9yYW5kb20zMi5jIGIvbGliL3JhbmRv bTMyLmMKaW5kZXggZDVkOTAyOTM2MmNiLi5kNGYxOWUxYTY5ZDQgMTAwNjQ0Ci0tLSBhL2xpYi9y YW5kb20zMi5jCisrKyBiL2xpYi9yYW5kb20zMi5jCkBAIC00Nyw3ICs0Nyw3IEBACiAgKglAc3Rh dGU6IHBvaW50ZXIgdG8gc3RhdGUgc3RydWN0dXJlIGhvbGRpbmcgc2VlZGVkIHN0YXRlLgogICoK ICAqCVRoaXMgaXMgdXNlZCBmb3IgcHNldWRvLXJhbmRvbW5lc3Mgd2l0aCBubyBvdXRzaWRlIHNl ZWRpbmcuCi0gKglGb3IgbW9yZSByYW5kb20gcmVzdWx0cywgdXNlIHByYW5kb21fdTMyKCkuCisg KglGb3IgbW9yZSByYW5kb20gcmVzdWx0cywgdXNlIGdldF9yYW5kb21fdTMyKCkuCiAgKi8KIHUz MiBwcmFuZG9tX3UzMl9zdGF0ZShzdHJ1Y3Qgcm5kX3N0YXRlICpzdGF0ZSkKIHsKZGlmZiAtLWdp dCBhL2xpYi9yZWVkX3NvbG9tb24vdGVzdF9yc2xpYi5jIGIvbGliL3JlZWRfc29sb21vbi90ZXN0 X3JzbGliLmMKaW5kZXggNGQyNDFiZGM4OGFhLi44NDhlN2ViNWRhOTIgMTAwNjQ0Ci0tLSBhL2xp Yi9yZWVkX3NvbG9tb24vdGVzdF9yc2xpYi5jCisrKyBiL2xpYi9yZWVkX3NvbG9tb24vdGVzdF9y c2xpYi5jCkBAIC0xNjQsNyArMTY0LDcgQEAgc3RhdGljIGludCBnZXRfcmN3X3dlKHN0cnVjdCBy c19jb250cm9sICpycywgc3RydWN0IHdzcGFjZSAqd3MsCiAKIAkvKiBMb2FkIGMgd2l0aCByYW5k b20gZGF0YSBhbmQgZW5jb2RlICovCiAJZm9yIChpID0gMDsgaSA8IGRsZW47IGkrKykKLQkJY1tp XSA9IHByYW5kb21fdTMyKCkgJiBubjsKKwkJY1tpXSA9IGdldF9yYW5kb21fdTMyKCkgJiBubjsK IAogCW1lbXNldChjICsgZGxlbiwgMCwgbnJvb3RzICogc2l6ZW9mKCpjKSk7CiAJZW5jb2RlX3Jz MTYocnMsIGMsIGRsZW4sIGMgKyBkbGVuLCAwKTsKQEAgLTE3OCw3ICsxNzgsNyBAQCBzdGF0aWMg aW50IGdldF9yY3dfd2Uoc3RydWN0IHJzX2NvbnRyb2wgKnJzLCBzdHJ1Y3Qgd3NwYWNlICp3cywK IAlmb3IgKGkgPSAwOyBpIDwgZXJyczsgaSsrKSB7CiAJCWRvIHsKIAkJCS8qIEVycm9yIHZhbHVl IG11c3QgYmUgbm9uemVybyAqLwotCQkJZXJydmFsID0gcHJhbmRvbV91MzIoKSAmIG5uOworCQkJ ZXJydmFsID0gZ2V0X3JhbmRvbV91MzIoKSAmIG5uOwogCQl9IHdoaWxlIChlcnJ2YWwgPT0gMCk7 CiAKIAkJZG8gewpAQCAtMjA2LDcgKzIwNiw3IEBAIHN0YXRpYyBpbnQgZ2V0X3Jjd193ZShzdHJ1 Y3QgcnNfY29udHJvbCAqcnMsIHN0cnVjdCB3c3BhY2UgKndzLAogCQkJLyogRXJhc3VyZSB3aXRo IGNvcnJ1cHRlZCBzeW1ib2wgKi8KIAkJCWRvIHsKIAkJCQkvKiBFcnJvciB2YWx1ZSBtdXN0IGJl IG5vbnplcm8gKi8KLQkJCQllcnJ2YWwgPSBwcmFuZG9tX3UzMigpICYgbm47CisJCQkJZXJydmFs ID0gZ2V0X3JhbmRvbV91MzIoKSAmIG5uOwogCQkJfSB3aGlsZSAoZXJydmFsID09IDApOwogCiAJ CQllcnJsb2NzW2VycmxvY10gPSAxOwpkaWZmIC0tZ2l0IGEvbGliL3Rlc3RfZnByb2JlLmMgYi9s aWIvdGVzdF9mcHJvYmUuYwppbmRleCBlZDcwNjM3YTJmZmEuLmUwMzgxYjNlYzQxMCAxMDA2NDQK LS0tIGEvbGliL3Rlc3RfZnByb2JlLmMKKysrIGIvbGliL3Rlc3RfZnByb2JlLmMKQEAgLTE0NSw3 ICsxNDUsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfZnRyYWNlX2xvY2F0aW9uKHZvaWQg KmZ1bmMpCiBzdGF0aWMgaW50IGZwcm9iZV90ZXN0X2luaXQoc3RydWN0IGt1bml0ICp0ZXN0KQog ewogCWRvIHsKLQkJcmFuZDEgPSBwcmFuZG9tX3UzMigpOworCQlyYW5kMSA9IGdldF9yYW5kb21f dTMyKCk7CiAJfSB3aGlsZSAocmFuZDEgPD0gZGl2X2ZhY3Rvcik7CiAKIAl0YXJnZXQgPSBmcHJv YmVfc2VsZnRlc3RfdGFyZ2V0OwpkaWZmIC0tZ2l0IGEvbGliL3Rlc3Rfa3Byb2Jlcy5jIGIvbGli L3Rlc3Rfa3Byb2Jlcy5jCmluZGV4IGE1ZWRjMmViYzk0Ny4uZWViMWQ3MjhkOTc0IDEwMDY0NAot LS0gYS9saWIvdGVzdF9rcHJvYmVzLmMKKysrIGIvbGliL3Rlc3Rfa3Byb2Jlcy5jCkBAIC0zNDEs NyArMzQxLDcgQEAgc3RhdGljIGludCBrcHJvYmVzX3Rlc3RfaW5pdChzdHJ1Y3Qga3VuaXQgKnRl c3QpCiAJc3RhY2t0cmFjZV9kcml2ZXIgPSBrcHJvYmVfc3RhY2t0cmFjZV9kcml2ZXI7CiAKIAlk byB7Ci0JCXJhbmQxID0gcHJhbmRvbV91MzIoKTsKKwkJcmFuZDEgPSBnZXRfcmFuZG9tX3UzMigp OwogCX0gd2hpbGUgKHJhbmQxIDw9IGRpdl9mYWN0b3IpOwogCXJldHVybiAwOwogfQpkaWZmIC0t Z2l0IGEvbGliL3Rlc3RfbWluX2hlYXAuYyBiL2xpYi90ZXN0X21pbl9oZWFwLmMKaW5kZXggZDE5 YzgwODBmZDRkLi43YjAxYjQzODdjZmIgMTAwNjQ0Ci0tLSBhL2xpYi90ZXN0X21pbl9oZWFwLmMK KysrIGIvbGliL3Rlc3RfbWluX2hlYXAuYwpAQCAtODMsNyArODMsNyBAQCBzdGF0aWMgX19pbml0 IGludCB0ZXN0X2hlYXBpZnlfYWxsKGJvb2wgbWluX2hlYXApCiAJLyogVGVzdCB3aXRoIHJhbmRv bWx5IGdlbmVyYXRlZCB2YWx1ZXMuICovCiAJaGVhcC5uciA9IEFSUkFZX1NJWkUodmFsdWVzKTsK IAlmb3IgKGkgPSAwOyBpIDwgaGVhcC5ucjsgaSsrKQotCQl2YWx1ZXNbaV0gPSBnZXRfcmFuZG9t X2ludCgpOworCQl2YWx1ZXNbaV0gPSBnZXRfcmFuZG9tX3UzMigpOwogCiAJbWluX2hlYXBpZnlf YWxsKCZoZWFwLCAmZnVuY3MpOwogCWVyciArPSBwb3BfdmVyaWZ5X2hlYXAobWluX2hlYXAsICZo ZWFwLCAmZnVuY3MpOwpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBfX2luaXQgaW50IHRlc3Rf aGVhcF9wdXNoKGJvb2wgbWluX2hlYXApCiAKIAkvKiBUZXN0IHdpdGggcmFuZG9tbHkgZ2VuZXJh dGVkIHZhbHVlcy4gKi8KIAl3aGlsZSAoaGVhcC5uciA8IGhlYXAuc2l6ZSkgewotCQl0ZW1wID0g Z2V0X3JhbmRvbV9pbnQoKTsKKwkJdGVtcCA9IGdldF9yYW5kb21fdTMyKCk7CiAJCW1pbl9oZWFw X3B1c2goJmhlYXAsICZ0ZW1wLCAmZnVuY3MpOwogCX0KIAllcnIgKz0gcG9wX3ZlcmlmeV9oZWFw KG1pbl9oZWFwLCAmaGVhcCwgJmZ1bmNzKTsKQEAgLTE1OCw3ICsxNTgsNyBAQCBzdGF0aWMgX19p bml0IGludCB0ZXN0X2hlYXBfcG9wX3B1c2goYm9vbCBtaW5faGVhcCkKIAogCS8qIFRlc3Qgd2l0 aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsdWVzLiAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9T SVpFKGRhdGEpOyBpKyspIHsKLQkJdGVtcCA9IGdldF9yYW5kb21faW50KCk7CisJCXRlbXAgPSBn ZXRfcmFuZG9tX3UzMigpOwogCQltaW5faGVhcF9wb3BfcHVzaCgmaGVhcCwgJnRlbXAsICZmdW5j cyk7CiAJfQogCWVyciArPSBwb3BfdmVyaWZ5X2hlYXAobWluX2hlYXAsICZoZWFwLCAmZnVuY3Mp OwpkaWZmIC0tZ2l0IGEvbGliL3Rlc3Rfcmhhc2h0YWJsZS5jIGIvbGliL3Rlc3Rfcmhhc2h0YWJs ZS5jCmluZGV4IDVhMWRkNDczNmI1Ni4uYjM1OGE3NGVkN2VkIDEwMDY0NAotLS0gYS9saWIvdGVz dF9yaGFzaHRhYmxlLmMKKysrIGIvbGliL3Rlc3Rfcmhhc2h0YWJsZS5jCkBAIC0yOTEsNyArMjkx LDcgQEAgc3RhdGljIGludCBfX2luaXQgdGVzdF9yaGx0YWJsZSh1bnNpZ25lZCBpbnQgZW50cmll cykKIAlpZiAoV0FSTl9PTihlcnIpKQogCQlnb3RvIG91dF9mcmVlOwogCi0JayA9IHByYW5kb21f dTMyKCk7CisJayA9IGdldF9yYW5kb21fdTMyKCk7CiAJcmV0ID0gMDsKIAlmb3IgKGkgPSAwOyBp IDwgZW50cmllczsgaSsrKSB7CiAJCXJobF90ZXN0X29iamVjdHNbaV0udmFsdWUuaWQgPSBrOwpA QCAtMzY5LDEyICszNjksMTIgQEAgc3RhdGljIGludCBfX2luaXQgdGVzdF9yaGx0YWJsZSh1bnNp Z25lZCBpbnQgZW50cmllcykKIAlwcl9pbmZvKCJ0ZXN0ICVkIHJhbmRvbSByaGxpc3QgYWRkL2Rl bGV0ZSBvcGVyYXRpb25zXG4iLCBlbnRyaWVzKTsKIAlmb3IgKGogPSAwOyBqIDwgZW50cmllczsg aisrKSB7CiAJCXUzMiBpID0gcHJhbmRvbV91MzJfbWF4KGVudHJpZXMpOwotCQl1MzIgcHJhbmQg PSBwcmFuZG9tX3UzMigpOworCQl1MzIgcHJhbmQgPSBnZXRfcmFuZG9tX3UzMigpOwogCiAJCWNv bmRfcmVzY2hlZCgpOwogCiAJCWlmIChwcmFuZCA9PSAwKQotCQkJcHJhbmQgPSBwcmFuZG9tX3Uz MigpOworCQkJcHJhbmQgPSBnZXRfcmFuZG9tX3UzMigpOwogCiAJCWlmIChwcmFuZCAmIDEpIHsK IAkJCXByYW5kID4+PSAxOwpkaWZmIC0tZ2l0IGEvbW0vc2htZW0uYyBiL21tL3NobWVtLmMKaW5k ZXggNDJlNTg4OGJmODRkLi42ZjJjZWY3MzgwOGQgMTAwNjQ0Ci0tLSBhL21tL3NobWVtLmMKKysr IGIvbW0vc2htZW0uYwpAQCAtMjMzMCw3ICsyMzMwLDcgQEAgc3RhdGljIHN0cnVjdCBpbm9kZSAq c2htZW1fZ2V0X2lub2RlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBpbm9kZSAqZGly LAogCQlpbm9kZV9pbml0X293bmVyKCZpbml0X3VzZXJfbnMsIGlub2RlLCBkaXIsIG1vZGUpOwog CQlpbm9kZS0+aV9ibG9ja3MgPSAwOwogCQlpbm9kZS0+aV9hdGltZSA9IGlub2RlLT5pX210aW1l ID0gaW5vZGUtPmlfY3RpbWUgPSBjdXJyZW50X3RpbWUoaW5vZGUpOwotCQlpbm9kZS0+aV9nZW5l cmF0aW9uID0gcHJhbmRvbV91MzIoKTsKKwkJaW5vZGUtPmlfZ2VuZXJhdGlvbiA9IGdldF9yYW5k b21fdTMyKCk7CiAJCWluZm8gPSBTSE1FTV9JKGlub2RlKTsKIAkJbWVtc2V0KGluZm8sIDAsIChj aGFyICopaW5vZGUgLSAoY2hhciAqKWluZm8pOwogCQlzcGluX2xvY2tfaW5pdCgmaW5mby0+bG9j ayk7CmRpZmYgLS1naXQgYS9tbS9zbGFiLmMgYi9tbS9zbGFiLmMKaW5kZXggMTBlOTYxMzdiNDRm Li4zNmVkNzE4MmJhZDUgMTAwNjQ0Ci0tLSBhL21tL3NsYWIuYworKysgYi9tbS9zbGFiLmMKQEAg LTIzODAsNyArMjM4MCw3IEBAIHN0YXRpYyBib29sIGZyZWVsaXN0X3N0YXRlX2luaXRpYWxpemUo dW5pb24gZnJlZWxpc3RfaW5pdF9zdGF0ZSAqc3RhdGUsCiAJdW5zaWduZWQgaW50IHJhbmQ7CiAK IAkvKiBVc2UgYmVzdCBlbnRyb3B5IGF2YWlsYWJsZSB0byBkZWZpbmUgYSByYW5kb20gc2hpZnQg Ki8KLQlyYW5kID0gZ2V0X3JhbmRvbV9pbnQoKTsKKwlyYW5kID0gZ2V0X3JhbmRvbV91MzIoKTsK IAogCS8qIFVzZSBhIHJhbmRvbSBzdGF0ZSBpZiB0aGUgcHJlLWNvbXB1dGVkIGxpc3QgaXMgbm90 IGF2YWlsYWJsZSAqLwogCWlmICghY2FjaGVwLT5yYW5kb21fc2VxKSB7CmRpZmYgLS1naXQgYS9u ZXQvODAyL2dhcnAuYyBiL25ldC84MDIvZ2FycC5jCmluZGV4IGY2MDEyZjhlNTlmMC4uYzFiYjY3 ZTI1NDMwIDEwMDY0NAotLS0gYS9uZXQvODAyL2dhcnAuYworKysgYi9uZXQvODAyL2dhcnAuYwpA QCAtNDA3LDcgKzQwNyw3IEBAIHN0YXRpYyB2b2lkIGdhcnBfam9pbl90aW1lcl9hcm0oc3RydWN0 IGdhcnBfYXBwbGljYW50ICphcHApCiB7CiAJdW5zaWduZWQgbG9uZyBkZWxheTsKIAotCWRlbGF5 ID0gKHU2NCltc2Vjc190b19qaWZmaWVzKGdhcnBfam9pbl90aW1lKSAqIHByYW5kb21fdTMyKCkg Pj4gMzI7CisJZGVsYXkgPSAodTY0KW1zZWNzX3RvX2ppZmZpZXMoZ2FycF9qb2luX3RpbWUpICog Z2V0X3JhbmRvbV91MzIoKSA+PiAzMjsKIAltb2RfdGltZXIoJmFwcC0+am9pbl90aW1lciwgamlm ZmllcyArIGRlbGF5KTsKIH0KIApkaWZmIC0tZ2l0IGEvbmV0LzgwMi9tcnAuYyBiL25ldC84MDIv bXJwLmMKaW5kZXggMzVlMDRjYzUzOTBjLi4zZTlmZTlmNWQ5YmYgMTAwNjQ0Ci0tLSBhL25ldC84 MDIvbXJwLmMKKysrIGIvbmV0LzgwMi9tcnAuYwpAQCAtNTkyLDcgKzU5Miw3IEBAIHN0YXRpYyB2 b2lkIG1ycF9qb2luX3RpbWVyX2FybShzdHJ1Y3QgbXJwX2FwcGxpY2FudCAqYXBwKQogewogCXVu c2lnbmVkIGxvbmcgZGVsYXk7CiAKLQlkZWxheSA9ICh1NjQpbXNlY3NfdG9famlmZmllcyhtcnBf am9pbl90aW1lKSAqIHByYW5kb21fdTMyKCkgPj4gMzI7CisJZGVsYXkgPSAodTY0KW1zZWNzX3Rv X2ppZmZpZXMobXJwX2pvaW5fdGltZSkgKiBnZXRfcmFuZG9tX3UzMigpID4+IDMyOwogCW1vZF90 aW1lcigmYXBwLT5qb2luX3RpbWVyLCBqaWZmaWVzICsgZGVsYXkpOwogfQogCmRpZmYgLS1naXQg YS9uZXQvY29yZS9wa3RnZW4uYyBiL25ldC9jb3JlL3BrdGdlbi5jCmluZGV4IDVjYTRmOTUzMDM0 Yy4uYzM3NjMwNTZjNTU0IDEwMDY0NAotLS0gYS9uZXQvY29yZS9wa3RnZW4uYworKysgYi9uZXQv Y29yZS9wa3RnZW4uYwpAQCAtMjQ2NCw3ICsyNDY0LDcgQEAgc3RhdGljIHZvaWQgbW9kX2N1cl9o ZWFkZXJzKHN0cnVjdCBwa3RnZW5fZGV2ICpwa3RfZGV2KQogCQlmb3IgKGkgPSAwOyBpIDwgcGt0 X2Rldi0+bnJfbGFiZWxzOyBpKyspCiAJCQlpZiAocGt0X2Rldi0+bGFiZWxzW2ldICYgTVBMU19T VEFDS19CT1RUT00pCiAJCQkJcGt0X2Rldi0+bGFiZWxzW2ldID0gTVBMU19TVEFDS19CT1RUT00g fAotCQkJCQkgICAgICgoX19mb3JjZSBfX2JlMzIpcHJhbmRvbV91MzIoKSAmCisJCQkJCSAgICAg KChfX2ZvcmNlIF9fYmUzMilnZXRfcmFuZG9tX3UzMigpICYKIAkJCQkJCSAgICAgIGh0b25sKDB4 MDAwZmZmZmYpKTsKIAl9CiAKQEAgLTI1NjgsNyArMjU2OCw3IEBAIHN0YXRpYyB2b2lkIG1vZF9j dXJfaGVhZGVycyhzdHJ1Y3QgcGt0Z2VuX2RldiAqcGt0X2RldikKIAogCQkJZm9yIChpID0gMDsg aSA8IDQ7IGkrKykgewogCQkJCXBrdF9kZXYtPmN1cl9pbjZfZGFkZHIuczZfYWRkcjMyW2ldID0K LQkJCQkgICAgKCgoX19mb3JjZSBfX2JlMzIpcHJhbmRvbV91MzIoKSB8CisJCQkJICAgICgoKF9f Zm9yY2UgX19iZTMyKWdldF9yYW5kb21fdTMyKCkgfAogCQkJCSAgICAgIHBrdF9kZXYtPm1pbl9p bjZfZGFkZHIuczZfYWRkcjMyW2ldKSAmCiAJCQkJICAgICBwa3RfZGV2LT5tYXhfaW42X2RhZGRy LnM2X2FkZHIzMltpXSk7CiAJCQl9CmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yb3V0ZS5jIGIvbmV0 L2lwdjQvcm91dGUuYwppbmRleCA3OTVjYmUxZGU5MTIuLjFhMzdhMDdjNzE2MyAxMDA2NDQKLS0t IGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQvaXB2NC9yb3V0ZS5jCkBAIC0zNjY0LDcgKzM2 NjQsNyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgcnRfZ2VuaWRfaW5pdChzdHJ1Y3QgbmV0ICpu ZXQpCiB7CiAJYXRvbWljX3NldCgmbmV0LT5pcHY0LnJ0X2dlbmlkLCAwKTsKIAlhdG9taWNfc2V0 KCZuZXQtPmZuaGVfZ2VuaWQsIDApOwotCWF0b21pY19zZXQoJm5ldC0+aXB2NC5kZXZfYWRkcl9n ZW5pZCwgZ2V0X3JhbmRvbV9pbnQoKSk7CisJYXRvbWljX3NldCgmbmV0LT5pcHY0LmRldl9hZGRy X2dlbmlkLCBnZXRfcmFuZG9tX3UzMigpKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEv bmV0L2lwdjQvdGNwX2NkZy5jIGIvbmV0L2lwdjQvdGNwX2NkZy5jCmluZGV4IGRkYzdiYTA1NTRi ZC4uZWZjZDE0NWYwNmRiIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfY2RnLmMKKysrIGIvbmV0 L2lwdjQvdGNwX2NkZy5jCkBAIC0yNDMsNyArMjQzLDcgQEAgc3RhdGljIGJvb2wgdGNwX2NkZ19i YWNrb2ZmKHN0cnVjdCBzb2NrICpzaywgdTMyIGdyYWQpCiAJc3RydWN0IGNkZyAqY2EgPSBpbmV0 X2Nza19jYShzayk7CiAJc3RydWN0IHRjcF9zb2NrICp0cCA9IHRjcF9zayhzayk7CiAKLQlpZiAo cHJhbmRvbV91MzIoKSA8PSBuZXhwX3UzMihncmFkICogYmFja29mZl9mYWN0b3IpKQorCWlmIChn ZXRfcmFuZG9tX3UzMigpIDw9IG5leHBfdTMyKGdyYWQgKiBiYWNrb2ZmX2ZhY3RvcikpCiAJCXJl dHVybiBmYWxzZTsKIAogCWlmICh1c2VfaW5lZmYpIHsKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3Vk cC5jIGIvbmV0L2lwdjQvdWRwLmMKaW5kZXggNTYwZDllYWRlYWE1Li4xYTViMjQ2NDU0OGUgMTAw NjQ0Ci0tLSBhL25ldC9pcHY0L3VkcC5jCisrKyBiL25ldC9pcHY0L3VkcC5jCkBAIC0yNDYsNyAr MjQ2LDcgQEAgaW50IHVkcF9saWJfZ2V0X3BvcnQoc3RydWN0IHNvY2sgKnNrLCB1bnNpZ25lZCBz aG9ydCBzbnVtLAogCQlpbmV0X2dldF9sb2NhbF9wb3J0X3JhbmdlKG5ldCwgJmxvdywgJmhpZ2gp OwogCQlyZW1haW5pbmcgPSAoaGlnaCAtIGxvdykgKyAxOwogCi0JCXJhbmQgPSBwcmFuZG9tX3Uz MigpOworCQlyYW5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAkJZmlyc3QgPSByZWNpcHJvY2FsX3Nj YWxlKHJhbmQsIHJlbWFpbmluZykgKyBsb3c7CiAJCS8qCiAJCSAqIGZvcmNlIHJhbmQgdG8gYmUg YW4gb2RkIG11bHRpcGxlIG9mIFVEUF9IVEFCTEVfU0laRQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYv aXA2X2Zsb3dsYWJlbC5jIGIvbmV0L2lwdjYvaXA2X2Zsb3dsYWJlbC5jCmluZGV4IGNlYjg1YzY3 Y2UzOS4uMTg0ODFlYjc2YTBhIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfZmxvd2xhYmVsLmMK KysrIGIvbmV0L2lwdjYvaXA2X2Zsb3dsYWJlbC5jCkBAIC0yMjAsNyArMjIwLDcgQEAgc3RhdGlj IHN0cnVjdCBpcDZfZmxvd2xhYmVsICpmbF9pbnRlcm4oc3RydWN0IG5ldCAqbmV0LAogCXNwaW5f bG9ja19iaCgmaXA2X2ZsX2xvY2spOwogCWlmIChsYWJlbCA9PSAwKSB7CiAJCWZvciAoOzspIHsK LQkJCWZsLT5sYWJlbCA9IGh0b25sKHByYW5kb21fdTMyKCkpJklQVjZfRkxPV0xBQkVMX01BU0s7 CisJCQlmbC0+bGFiZWwgPSBodG9ubChnZXRfcmFuZG9tX3UzMigpKSZJUFY2X0ZMT1dMQUJFTF9N QVNLOwogCQkJaWYgKGZsLT5sYWJlbCkgewogCQkJCWxmbCA9IF9fZmxfbG9va3VwKG5ldCwgZmwt PmxhYmVsKTsKIAkJCQlpZiAoIWxmbCkKZGlmZiAtLWdpdCBhL25ldC9pcHY2L291dHB1dF9jb3Jl LmMgYi9uZXQvaXB2Ni9vdXRwdXRfY29yZS5jCmluZGV4IDI4ODBkYzdkOWE0OS4uMjY4NWMzZjE1 ZTlkIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9vdXRwdXRfY29yZS5jCisrKyBiL25ldC9pcHY2L291 dHB1dF9jb3JlLmMKQEAgLTE4LDcgKzE4LDcgQEAgc3RhdGljIHUzMiBfX2lwdjZfc2VsZWN0X2lk ZW50KHN0cnVjdCBuZXQgKm5ldCwKIAl1MzIgaWQ7CiAKIAlkbyB7Ci0JCWlkID0gcHJhbmRvbV91 MzIoKTsKKwkJaWQgPSBnZXRfcmFuZG9tX3UzMigpOwogCX0gd2hpbGUgKCFpZCk7CiAKIAlyZXR1 cm4gaWQ7CmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jIGIvbmV0 L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYwppbmRleCBmYjY3ZjFjYTI0OTUuLjhjMDRiYjU3 ZGQ2ZiAxMDA2NDQKLS0tIGEvbmV0L25ldGZpbHRlci9pcHZzL2lwX3ZzX2Nvbm4uYworKysgYi9u ZXQvbmV0ZmlsdGVyL2lwdnMvaXBfdnNfY29ubi5jCkBAIC0xMzA4LDcgKzEzMDgsNyBAQCB2b2lk IGlwX3ZzX3JhbmRvbV9kcm9wZW50cnkoc3RydWN0IG5ldG5zX2lwdnMgKmlwdnMpCiAJICogUmFu ZG9tbHkgc2NhbiAxLzMyIG9mIHRoZSB3aG9sZSB0YWJsZSBldmVyeSBzZWNvbmQKIAkgKi8KIAlm b3IgKGlkeCA9IDA7IGlkeCA8IChpcF92c19jb25uX3RhYl9zaXplPj41KTsgaWR4KyspIHsKLQkJ dW5zaWduZWQgaW50IGhhc2ggPSBwcmFuZG9tX3UzMigpICYgaXBfdnNfY29ubl90YWJfbWFzazsK KwkJdW5zaWduZWQgaW50IGhhc2ggPSBnZXRfcmFuZG9tX3UzMigpICYgaXBfdnNfY29ubl90YWJf bWFzazsKIAogCQlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoY3AsICZpcF92c19jb25uX3RhYlto YXNoXSwgY19saXN0KSB7CiAJCQlpZiAoY3AtPmlwdnMgIT0gaXB2cykKZGlmZiAtLWdpdCBhL25l dC9uZXRmaWx0ZXIveHRfc3RhdGlzdGljLmMgYi9uZXQvbmV0ZmlsdGVyL3h0X3N0YXRpc3RpYy5j CmluZGV4IDIwM2UyNGFlNDcyYy4uYjI2YzFkY2ZjMjdiIDEwMDY0NAotLS0gYS9uZXQvbmV0Zmls dGVyL3h0X3N0YXRpc3RpYy5jCisrKyBiL25ldC9uZXRmaWx0ZXIveHRfc3RhdGlzdGljLmMKQEAg LTM0LDcgKzM0LDcgQEAgc3RhdGlzdGljX210KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0 cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcikKIAogCXN3aXRjaCAoaW5mby0+bW9kZSkgewogCWNh c2UgWFRfU1RBVElTVElDX01PREVfUkFORE9NOgotCQlpZiAoKHByYW5kb21fdTMyKCkgJiAweDdG RkZGRkZGKSA8IGluZm8tPnUucmFuZG9tLnByb2JhYmlsaXR5KQorCQlpZiAoKGdldF9yYW5kb21f dTMyKCkgJiAweDdGRkZGRkZGKSA8IGluZm8tPnUucmFuZG9tLnByb2JhYmlsaXR5KQogCQkJcmV0 ID0gIXJldDsKIAkJYnJlYWs7CiAJY2FzZSBYVF9TVEFUSVNUSUNfTU9ERV9OVEg6CmRpZmYgLS1n aXQgYS9uZXQvb3BlbnZzd2l0Y2gvYWN0aW9ucy5jIGIvbmV0L29wZW52c3dpdGNoL2FjdGlvbnMu YwppbmRleCA4NjhkYjQ2NjlhMjkuLmNhM2ViZmRiMzAyMyAxMDA2NDQKLS0tIGEvbmV0L29wZW52 c3dpdGNoL2FjdGlvbnMuYworKysgYi9uZXQvb3BlbnZzd2l0Y2gvYWN0aW9ucy5jCkBAIC0xMDMz LDcgKzEwMzMsNyBAQCBzdGF0aWMgaW50IHNhbXBsZShzdHJ1Y3QgZGF0YXBhdGggKmRwLCBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLAogCWFjdGlvbnMgPSBubGFfbmV4dChzYW1wbGVfYXJnLCAmcmVtKTsK IAogCWlmICgoYXJnLT5wcm9iYWJpbGl0eSAhPSBVMzJfTUFYKSAmJgotCSAgICAoIWFyZy0+cHJv YmFiaWxpdHkgfHwgcHJhbmRvbV91MzIoKSA+IGFyZy0+cHJvYmFiaWxpdHkpKSB7CisJICAgICgh YXJnLT5wcm9iYWJpbGl0eSB8fCBnZXRfcmFuZG9tX3UzMigpID4gYXJnLT5wcm9iYWJpbGl0eSkp IHsKIAkJaWYgKGxhc3QpCiAJCQljb25zdW1lX3NrYihza2IpOwogCQlyZXR1cm4gMDsKZGlmZiAt LWdpdCBhL25ldC9zY2hlZC9zY2hfY2FrZS5jIGIvbmV0L3NjaGVkL3NjaF9jYWtlLmMKaW5kZXgg NjM3ZWYxNzU3OTMxLi40OGUzZTA1MjI4YTEgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfY2Fr ZS5jCisrKyBiL25ldC9zY2hlZC9zY2hfY2FrZS5jCkBAIC01NzMsNyArNTczLDcgQEAgc3RhdGlj IGJvb2wgY29iYWx0X3Nob3VsZF9kcm9wKHN0cnVjdCBjb2JhbHRfdmFycyAqdmFycywKIAogCS8q IFNpbXBsZSBCTFVFIGltcGxlbWVudGF0aW9uLiAgTGFjayBvZiBFQ04gaXMgZGVsaWJlcmF0ZS4g Ki8KIAlpZiAodmFycy0+cF9kcm9wKQotCQlkcm9wIHw9IChwcmFuZG9tX3UzMigpIDwgdmFycy0+ cF9kcm9wKTsKKwkJZHJvcCB8PSAoZ2V0X3JhbmRvbV91MzIoKSA8IHZhcnMtPnBfZHJvcCk7CiAK IAkvKiBPdmVybG9hZCB0aGUgZHJvcF9uZXh0IGZpZWxkIGFzIGFuIGFjdGl2aXR5IHRpbWVvdXQg Ki8KIAlpZiAoIXZhcnMtPmNvdW50KQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9uZXRlbS5j IGIvbmV0L3NjaGVkL3NjaF9uZXRlbS5jCmluZGV4IDNjYTMyMGYxYTAzMS4uODhjMWZhMmUxZDE1 IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX25ldGVtLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9u ZXRlbS5jCkBAIC0xNzEsNyArMTcxLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbmV0ZW1fc2ti X2NiICpuZXRlbV9za2JfY2Ioc3RydWN0IHNrX2J1ZmYgKnNrYikKIHN0YXRpYyB2b2lkIGluaXRf Y3JhbmRvbShzdHJ1Y3QgY3JuZHN0YXRlICpzdGF0ZSwgdW5zaWduZWQgbG9uZyByaG8pCiB7CiAJ c3RhdGUtPnJobyA9IHJobzsKLQlzdGF0ZS0+bGFzdCA9IHByYW5kb21fdTMyKCk7CisJc3RhdGUt Pmxhc3QgPSBnZXRfcmFuZG9tX3UzMigpOwogfQogCiAvKiBnZXRfY3JhbmRvbSAtIGNvcnJlbGF0 ZWQgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IKQEAgLTE4NCw5ICsxODQsOSBAQCBzdGF0aWMgdTMy IGdldF9jcmFuZG9tKHN0cnVjdCBjcm5kc3RhdGUgKnN0YXRlKQogCXVuc2lnbmVkIGxvbmcgYW5z d2VyOwogCiAJaWYgKCFzdGF0ZSB8fCBzdGF0ZS0+cmhvID09IDApCS8qIG5vIGNvcnJlbGF0aW9u ICovCi0JCXJldHVybiBwcmFuZG9tX3UzMigpOworCQlyZXR1cm4gZ2V0X3JhbmRvbV91MzIoKTsK IAotCXZhbHVlID0gcHJhbmRvbV91MzIoKTsKKwl2YWx1ZSA9IGdldF9yYW5kb21fdTMyKCk7CiAJ cmhvID0gKHU2NClzdGF0ZS0+cmhvICsgMTsKIAlhbnN3ZXIgPSAodmFsdWUgKiAoKDF1bGw8PDMy KSAtIHJobykgKyBzdGF0ZS0+bGFzdCAqIHJobykgPj4gMzI7CiAJc3RhdGUtPmxhc3QgPSBhbnN3 ZXI7CkBAIC0yMDAsNyArMjAwLDcgQEAgc3RhdGljIHUzMiBnZXRfY3JhbmRvbShzdHJ1Y3QgY3Ju ZHN0YXRlICpzdGF0ZSkKIHN0YXRpYyBib29sIGxvc3NfNHN0YXRlKHN0cnVjdCBuZXRlbV9zY2hl ZF9kYXRhICpxKQogewogCXN0cnVjdCBjbGdzdGF0ZSAqY2xnID0gJnEtPmNsZzsKLQl1MzIgcm5k ID0gcHJhbmRvbV91MzIoKTsKKwl1MzIgcm5kID0gZ2V0X3JhbmRvbV91MzIoKTsKIAogCS8qCiAJ ICogTWFrZXMgYSBjb21wYXJpc29uIGJldHdlZW4gcm5kIGFuZCB0aGUgdHJhbnNpdGlvbgpAQCAt MjY4LDE1ICsyNjgsMTUgQEAgc3RhdGljIGJvb2wgbG9zc19naWxiX2VsbChzdHJ1Y3QgbmV0ZW1f c2NoZWRfZGF0YSAqcSkKIAogCXN3aXRjaCAoY2xnLT5zdGF0ZSkgewogCWNhc2UgR09PRF9TVEFU RToKLQkJaWYgKHByYW5kb21fdTMyKCkgPCBjbGctPmExKQorCQlpZiAoZ2V0X3JhbmRvbV91MzIo KSA8IGNsZy0+YTEpCiAJCQljbGctPnN0YXRlID0gQkFEX1NUQVRFOwotCQlpZiAocHJhbmRvbV91 MzIoKSA8IGNsZy0+YTQpCisJCWlmIChnZXRfcmFuZG9tX3UzMigpIDwgY2xnLT5hNCkKIAkJCXJl dHVybiB0cnVlOwogCQlicmVhazsKIAljYXNlIEJBRF9TVEFURToKLQkJaWYgKHByYW5kb21fdTMy KCkgPCBjbGctPmEyKQorCQlpZiAoZ2V0X3JhbmRvbV91MzIoKSA8IGNsZy0+YTIpCiAJCQljbGct PnN0YXRlID0gR09PRF9TVEFURTsKLQkJaWYgKHByYW5kb21fdTMyKCkgPiBjbGctPmEzKQorCQlp ZiAoZ2V0X3JhbmRvbV91MzIoKSA+IGNsZy0+YTMpCiAJCQlyZXR1cm4gdHJ1ZTsKIAl9CiAKQEAg LTYzMiw3ICs2MzIsNyBAQCBzdGF0aWMgdm9pZCBnZXRfc2xvdF9uZXh0KHN0cnVjdCBuZXRlbV9z Y2hlZF9kYXRhICpxLCB1NjQgbm93KQogCiAJaWYgKCFxLT5zbG90X2Rpc3QpCiAJCW5leHRfZGVs YXkgPSBxLT5zbG90X2NvbmZpZy5taW5fZGVsYXkgKwotCQkJCShwcmFuZG9tX3UzMigpICoKKwkJ CQkoZ2V0X3JhbmRvbV91MzIoKSAqCiAJCQkJIChxLT5zbG90X2NvbmZpZy5tYXhfZGVsYXkgLQog CQkJCSAgcS0+c2xvdF9jb25maWcubWluX2RlbGF5KSA+PiAzMik7CiAJZWxzZQpkaWZmIC0tZ2l0 IGEvbmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFwLmMgYi9uZXQvc3VucnBjL2F1dGhf Z3NzL2dzc19rcmI1X3dyYXAuYwppbmRleCA1Zjk2ZTc1ZjllZWMuLjQ4MzM3Njg3ODQ4YyAxMDA2 NDQKLS0tIGEvbmV0L3N1bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFwLmMKKysrIGIvbmV0L3N1 bnJwYy9hdXRoX2dzcy9nc3Nfa3JiNV93cmFwLmMKQEAgLTEzMCw4ICsxMzAsOCBAQCBnc3Nfa3Ji NV9tYWtlX2NvbmZvdW5kZXIoY2hhciAqcCwgdTMyIGNvbmZsZW4pCiAKIAkvKiBpbml0aWFsaXpl IHRvIHJhbmRvbSB2YWx1ZSAqLwogCWlmIChpID09IDApIHsKLQkJaSA9IHByYW5kb21fdTMyKCk7 Ci0JCWkgPSAoaSA8PCAzMikgfCBwcmFuZG9tX3UzMigpOworCQlpID0gZ2V0X3JhbmRvbV91MzIo KTsKKwkJaSA9IChpIDw8IDMyKSB8IGdldF9yYW5kb21fdTMyKCk7CiAJfQogCiAJc3dpdGNoIChj b25mbGVuKSB7CmRpZmYgLS1naXQgYS9uZXQvc3VucnBjL3hwcnQuYyBiL25ldC9zdW5ycGMveHBy dC5jCmluZGV4IGY4ZmFlNzgxNTY0OS4uOTQwNzAwN2Y0N2FlIDEwMDY0NAotLS0gYS9uZXQvc3Vu cnBjL3hwcnQuYworKysgYi9uZXQvc3VucnBjL3hwcnQuYwpAQCAtMTg2OCw3ICsxODY4LDcgQEAg eHBydF9hbGxvY194aWQoc3RydWN0IHJwY194cHJ0ICp4cHJ0KQogc3RhdGljIHZvaWQKIHhwcnRf aW5pdF94aWQoc3RydWN0IHJwY194cHJ0ICp4cHJ0KQogewotCXhwcnQtPnhpZCA9IHByYW5kb21f dTMyKCk7CisJeHBydC0+eGlkID0gZ2V0X3JhbmRvbV91MzIoKTsKIH0KIAogc3RhdGljIHZvaWQK ZGlmZiAtLWdpdCBhL25ldC91bml4L2FmX3VuaXguYyBiL25ldC91bml4L2FmX3VuaXguYwppbmRl eCBiZjMzOGI3ODJmYzQuLjM1YmQ4MTMyMTEzZiAxMDA2NDQKLS0tIGEvbmV0L3VuaXgvYWZfdW5p eC5jCisrKyBiL25ldC91bml4L2FmX3VuaXguYwpAQCAtMTExNiw3ICsxMTE2LDcgQEAgc3RhdGlj IGludCB1bml4X2F1dG9iaW5kKHN0cnVjdCBzb2NrICpzaykKIAlhZGRyLT5uYW1lLT5zdW5fZmFt aWx5ID0gQUZfVU5JWDsKIAlyZWZjb3VudF9zZXQoJmFkZHItPnJlZmNudCwgMSk7CiAKLQlvcmRl cm51bSA9IHByYW5kb21fdTMyKCk7CisJb3JkZXJudW0gPSBnZXRfcmFuZG9tX3UzMigpOwogCWxh c3RudW0gPSBvcmRlcm51bSAmIDB4RkZGRkY7CiByZXRyeToKIAlvcmRlcm51bSA9IChvcmRlcm51 bSArIDEpICYgMHhGRkZGRjsKLS0gCjIuMzcuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5n IGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1t dGQvCg==