From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Jason A. Donenfeld" Subject: [PATCH v6 3/7] treewide: use get_random_{u8,u16}() when possible, part 1 Date: Mon, 10 Oct 2022 17:06:09 -0600 Message-Id: <20221010230613.1076905-4-Jason@zx2c4.com> In-Reply-To: <20221010230613.1076905-1-Jason@zx2c4.com> References: <20221010230613.1076905-1-Jason@zx2c4.com> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org 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?= UmF0aGVyIHRoYW4gdHJ1bmNhdGUgYSAzMi1iaXQgdmFsdWUgdG8gYSAxNi1iaXQgdmFsdWUgb3Ig YW4gOC1iaXQgdmFsdWUsCnNpbXBseSB1c2UgdGhlIGdldF9yYW5kb21fe3U4LHUxNn0oKSBmdW5j dGlvbnMsIHdoaWNoIGFyZSBmYXN0ZXIgdGhhbgp3YXN0aW5nIHRoZSBhZGRpdGlvbmFsIGJ5dGVz IGZyb20gYSAzMi1iaXQgdmFsdWUuIFRoaXMgd2FzIGRvbmUKbWVjaGFuaWNhbGx5IHdpdGggdGhp cyBjb2NjaW5lbGxlIHNjcmlwdDoKCkBACmV4cHJlc3Npb24gRTsKaWRlbnRpZmllciBnZXRfcmFu ZG9tX3UzMiA9fiAiZ2V0X3JhbmRvbV9pbnR8cHJhbmRvbV91MzJ8Z2V0X3JhbmRvbV91MzIiOwp0 eXBlZGVmIHUxNjsKdHlwZWRlZiBfX2JlMTY7CnR5cGVkZWYgX19sZTE2Owp0eXBlZGVmIHU4OwpA QAooCi0gKGdldF9yYW5kb21fdTMyKCkgJiAweGZmZmYpCisgZ2V0X3JhbmRvbV91MTYoKQp8Ci0g KGdldF9yYW5kb21fdTMyKCkgJiAweGZmKQorIGdldF9yYW5kb21fdTgoKQp8Ci0gKGdldF9yYW5k b21fdTMyKCkgJSA2NTUzNikKKyBnZXRfcmFuZG9tX3UxNigpCnwKLSAoZ2V0X3JhbmRvbV91MzIo KSAlIDI1NikKKyBnZXRfcmFuZG9tX3U4KCkKfAotIChnZXRfcmFuZG9tX3UzMigpID4+IDE2KQor IGdldF9yYW5kb21fdTE2KCkKfAotIChnZXRfcmFuZG9tX3UzMigpID4+IDI0KQorIGdldF9yYW5k b21fdTgoKQp8Ci0gKHUxNilnZXRfcmFuZG9tX3UzMigpCisgZ2V0X3JhbmRvbV91MTYoKQp8Ci0g KHU4KWdldF9yYW5kb21fdTMyKCkKKyBnZXRfcmFuZG9tX3U4KCkKfAotIChfX2JlMTYpZ2V0X3Jh bmRvbV91MzIoKQorIChfX2JlMTYpZ2V0X3JhbmRvbV91MTYoKQp8Ci0gKF9fbGUxNilnZXRfcmFu ZG9tX3UzMigpCisgKF9fbGUxNilnZXRfcmFuZG9tX3UxNigpCnwKLSBwcmFuZG9tX3UzMl9tYXgo NjU1MzYpCisgZ2V0X3JhbmRvbV91MTYoKQp8Ci0gcHJhbmRvbV91MzJfbWF4KDI1NikKKyBnZXRf cmFuZG9tX3U4KCkKfAotIEUtPmluZXRfaWQgPSBnZXRfcmFuZG9tX3UzMigpCisgRS0+aW5ldF9p ZCA9IGdldF9yYW5kb21fdTE2KCkKKQoKQEAKaWRlbnRpZmllciBnZXRfcmFuZG9tX3UzMiA9fiAi Z2V0X3JhbmRvbV9pbnR8cHJhbmRvbV91MzJ8Z2V0X3JhbmRvbV91MzIiOwp0eXBlZGVmIHUxNjsK aWRlbnRpZmllciB2OwpAQAotIHUxNiB2ID0gZ2V0X3JhbmRvbV91MzIoKTsKKyB1MTYgdiA9IGdl dF9yYW5kb21fdTE2KCk7CgpAQAppZGVudGlmaWVyIGdldF9yYW5kb21fdTMyID1+ICJnZXRfcmFu ZG9tX2ludHxwcmFuZG9tX3UzMnxnZXRfcmFuZG9tX3UzMiI7CnR5cGVkZWYgdTg7CmlkZW50aWZp ZXIgdjsKQEAKLSB1OCB2ID0gZ2V0X3JhbmRvbV91MzIoKTsKKyB1OCB2ID0gZ2V0X3JhbmRvbV91 OCgpOwoKQEAKaWRlbnRpZmllciBnZXRfcmFuZG9tX3UzMiA9fiAiZ2V0X3JhbmRvbV9pbnR8cHJh bmRvbV91MzJ8Z2V0X3JhbmRvbV91MzIiOwp0eXBlZGVmIHUxNjsKdTE2IHY7CkBACi0gIHYgPSBn ZXRfcmFuZG9tX3UzMigpOworICB2ID0gZ2V0X3JhbmRvbV91MTYoKTsKCkBACmlkZW50aWZpZXIg Z2V0X3JhbmRvbV91MzIgPX4gImdldF9yYW5kb21faW50fHByYW5kb21fdTMyfGdldF9yYW5kb21f dTMyIjsKdHlwZWRlZiB1ODsKdTggdjsKQEAKLSAgdiA9IGdldF9yYW5kb21fdTMyKCk7CisgIHYg PSBnZXRfcmFuZG9tX3U4KCk7CgovLyBGaW5kIGEgcG90ZW50aWFsIGxpdGVyYWwKQGxpdGVyYWxf bWFza0AKZXhwcmVzc2lvbiBMSVRFUkFMOwp0eXBlIFQ7CmlkZW50aWZpZXIgZ2V0X3JhbmRvbV91 MzIgPX4gImdldF9yYW5kb21faW50fHByYW5kb21fdTMyfGdldF9yYW5kb21fdTMyIjsKcG9zaXRp b24gcDsKQEAKCiAgICAgICAgKChUKWdldF9yYW5kb21fdTMyKClAcCAmIChMSVRFUkFMKSkKCi8v IEV4YW1pbmUgbGltaXRzCkBzY3JpcHQ6cHl0aG9uIGFkZF9vbmVACmxpdGVyYWwgPDwgbGl0ZXJh bF9tYXNrLkxJVEVSQUw7ClJFU1VMVDsKQEAKCnZhbHVlID0gTm9uZQppZiBsaXRlcmFsLnN0YXJ0 c3dpdGgoJzB4Jyk6CiAgICAgICAgdmFsdWUgPSBpbnQobGl0ZXJhbCwgMTYpCmVsaWYgbGl0ZXJh bFswXSBpbiAnMTIzNDU2Nzg5JzoKICAgICAgICB2YWx1ZSA9IGludChsaXRlcmFsLCAxMCkKaWYg dmFsdWUgaXMgTm9uZToKICAgICAgICBwcmludCgiSSBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUg JXMiICUgKGxpdGVyYWwpKQogICAgICAgIGNvY2NpLmluY2x1ZGVfbWF0Y2goRmFsc2UpCmVsaWYg dmFsdWUgPCAyNTY6CiAgICAgICAgY29jY2luZWxsZS5SRVNVTFQgPSBjb2NjaS5tYWtlX2lkZW50 KCJnZXRfcmFuZG9tX3U4IikKZWxpZiB2YWx1ZSA8IDY1NTM2OgogICAgICAgIGNvY2NpbmVsbGUu UkVTVUxUID0gY29jY2kubWFrZV9pZGVudCgiZ2V0X3JhbmRvbV91MTYiKQplbHNlOgogICAgICAg IHByaW50KCJTa2lwcGluZyBsYXJnZSBtYXNrIG9mICVzIiAlIChsaXRlcmFsKSkKICAgICAgICBj b2NjaS5pbmNsdWRlX21hdGNoKEZhbHNlKQoKLy8gUmVwbGFjZSB0aGUgbGl0ZXJhbCBtYXNrIHdp dGggdGhlIGNhbGN1bGF0ZWQgcmVzdWx0LgpAcGx1c19vbmVACmV4cHJlc3Npb24gbGl0ZXJhbF9t YXNrLkxJVEVSQUw7CnBvc2l0aW9uIGxpdGVyYWxfbWFzay5wOwppZGVudGlmaWVyIGFkZF9vbmUu UkVTVUxUOwppZGVudGlmaWVyIEZVTkM7CkBACgotICAgICAgIChGVU5DKClAcCAmIChMSVRFUkFM KSkKKyAgICAgICAoUkVTVUxUKCkgJiBMSVRFUkFMKQoKUmV2aWV3ZWQtYnk6IEdyZWcgS3JvYWgt SGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ClJldmlld2VkLWJ5OiBLZWVzIENv b2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KUmV2aWV3ZWQtYnk6IFl1cnkgTm9yb3YgPHl1cnku bm9yb3ZAZ21haWwuY29tPgpBY2tlZC1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tl QHRva2UuZGs+ICMgZm9yIHNjaF9jYWtlClNpZ25lZC1vZmYtYnk6IEphc29uIEEuIERvbmVuZmVs ZCA8SmFzb25AengyYzQuY29tPgotLS0KIGFyY2gvYXJtL2tlcm5lbC9zaWduYWwuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGFyY2gvYXJtNjQva2VybmVsL3N5c2Nh bGwuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGNyeXB0by90ZXN0bWdy LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDggKysrKy0tLS0K IGRyaXZlcnMvbWVkaWEvY29tbW9uL3Y0bDItdHBnL3Y0bDItdHBnLWNvcmUuYyAgICAgICAgICAg ICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXJhZGlvLXJ4 LmMgICAgICAgICB8IDQgKystLQogLi4uL25ldC9ldGhlcm5ldC9jaGVsc2lvL2lubGluZV9jcnlw dG8vY2h0bHMvY2h0bHNfY20uYyAgIHwgMiArLQogZHJpdmVycy9uZXQvaGFtcmFkaW8vYmF5Y29t X2VwcC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9uZXQvaGFtcmFk aW8vaGRsY2Rydi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9u ZXQvaGFtcmFkaW8veWFtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy9uZXQvd2lyZWd1YXJkL3NlbGZ0ZXN0L2FsbG93ZWRpcHMuYyAgICAgICAgICAgICAg IHwgNCArKy0tCiBkcml2ZXJzL25ldC93aXJlbGVzcy9zdC9jdzEyMDAvd3NtLmMgICAgICAgICAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Njc2kvbHBmYy9scGZjX2hiYWRpc2MuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0tLQogbGliL2NtZGxpbmVfa3VuaXQuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBuZXQvZGNjcC9pcHY0 LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIG5l dC9pcHY0L2RhdGFncmFtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDIgKy0KIG5ldC9pcHY0L2lwX291dHB1dC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDIgKy0KIG5ldC9pcHY0L3RjcF9pcHY0LmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDQgKystLQogbmV0L21hYzgwMjExL3NjYW4uYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogbmV0L25ldGZpbHRlci9uZl9uYXRf Y29yZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBuZXQvc2NoZWQv c2NoX2Nha2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0t LQogbmV0L3NjdHAvc29ja2V0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMiArLQogMjEgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3NpZ25hbC5jIGIvYXJjaC9hcm0v a2VybmVsL3NpZ25hbC5jCmluZGV4IGVhMTI4ZTMyZThjYS4uZTA3ZjM1OTI1NGMzIDEwMDY0NAot LS0gYS9hcmNoL2FybS9rZXJuZWwvc2lnbmFsLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3NpZ25h bC5jCkBAIC02NTUsNyArNjU1LDcgQEAgc3RydWN0IHBhZ2UgKmdldF9zaWduYWxfcGFnZSh2b2lk KQogCQkgUEFHRV9TSVpFIC8gc2l6ZW9mKHUzMikpOwogCiAJLyogR2l2ZSB0aGUgc2lnbmFsIHJl dHVybiBjb2RlIHNvbWUgcmFuZG9tbmVzcyAqLwotCW9mZnNldCA9IDB4MjAwICsgKGdldF9yYW5k b21faW50KCkgJiAweDdmYyk7CisJb2Zmc2V0ID0gMHgyMDAgKyAoZ2V0X3JhbmRvbV91MTYoKSAm IDB4N2ZjKTsKIAlzaWduYWxfcmV0dXJuX29mZnNldCA9IG9mZnNldDsKIAogCS8qIENvcHkgc2ln bmFsIHJldHVybiBoYW5kbGVycyBpbnRvIHRoZSBwYWdlICovCmRpZmYgLS1naXQgYS9hcmNoL2Fy bTY0L2tlcm5lbC9zeXNjYWxsLmMgYi9hcmNoL2FybTY0L2tlcm5lbC9zeXNjYWxsLmMKaW5kZXgg NzMzNDUxZmU3ZTQxLi5kNzJlOGYyMzQyMmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQva2VybmVs L3N5c2NhbGwuYworKysgYi9hcmNoL2FybTY0L2tlcm5lbC9zeXNjYWxsLmMKQEAgLTY3LDcgKzY3 LDcgQEAgc3RhdGljIHZvaWQgaW52b2tlX3N5c2NhbGwoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVu c2lnbmVkIGludCBzY25vLAogCSAqCiAJICogVGhlIHJlc3VsdGluZyA1IGJpdHMgb2YgZW50cm9w eSBpcyBzZWVuIGluIFNQWzg6NF0uCiAJICovCi0JY2hvb3NlX3JhbmRvbV9rc3RhY2tfb2Zmc2V0 KGdldF9yYW5kb21faW50KCkgJiAweDFGRik7CisJY2hvb3NlX3JhbmRvbV9rc3RhY2tfb2Zmc2V0 KGdldF9yYW5kb21fdTE2KCkgJiAweDFGRik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNf c3lzY2FsbF93b3JrKHVuc2lnbmVkIGxvbmcgZmxhZ3MpCmRpZmYgLS1naXQgYS9jcnlwdG8vdGVz dG1nci5jIGIvY3J5cHRvL3Rlc3RtZ3IuYwppbmRleCBiZTQ1MjE3YWNkZTQuLjk4MWM2MzdmYTJl ZCAxMDA2NDQKLS0tIGEvY3J5cHRvL3Rlc3RtZ3IuYworKysgYi9jcnlwdG8vdGVzdG1nci5jCkBA IC05MjcsNyArOTI3LDcgQEAgc3RhdGljIHZvaWQgZ2VuZXJhdGVfcmFuZG9tX2J5dGVzKHU4ICpi dWYsIHNpemVfdCBjb3VudCkKIAkJCWIgPSAweGZmOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0J CQliID0gKHU4KXByYW5kb21fdTMyKCk7CisJCQliID0gZ2V0X3JhbmRvbV91OCgpOwogCQkJYnJl YWs7CiAJCX0KIAkJbWVtc2V0KGJ1ZiwgYiwgY291bnQpOwpAQCAtOTM1LDggKzkzNSw4IEBAIHN0 YXRpYyB2b2lkIGdlbmVyYXRlX3JhbmRvbV9ieXRlcyh1OCAqYnVmLCBzaXplX3QgY291bnQpCiAJ CWJyZWFrOwogCWNhc2UgMjoKIAkJLyogQXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgYnl0ZXMsIHBs dXMgb3B0aW9uYWwgbXV0YXRpb25zICovCi0JCWluY3JlbWVudCA9ICh1OClwcmFuZG9tX3UzMigp OwotCQliID0gKHU4KXByYW5kb21fdTMyKCk7CisJCWluY3JlbWVudCA9IGdldF9yYW5kb21fdTgo KTsKKwkJYiA9IGdldF9yYW5kb21fdTgoKTsKIAkJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyss IGIgKz0gaW5jcmVtZW50KQogCQkJYnVmW2ldID0gYjsKIAkJbXV0YXRlX2J1ZmZlcihidWYsIGNv dW50KTsKQEAgLTk0NCw3ICs5NDQsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9yYW5kb21fYnl0 ZXModTggKmJ1Ziwgc2l6ZV90IGNvdW50KQogCWRlZmF1bHQ6CiAJCS8qIEZ1bGx5IHJhbmRvbSBi eXRlcyAqLwogCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKLQkJCWJ1ZltpXSA9ICh1OClw cmFuZG9tX3UzMigpOworCQkJYnVmW2ldID0gZ2V0X3JhbmRvbV91OCgpOwogCX0KIH0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9jb21tb24vdjRsMi10cGcvdjRsMi10cGctY29yZS5jIGIv ZHJpdmVycy9tZWRpYS9jb21tb24vdjRsMi10cGcvdjRsMi10cGctY29yZS5jCmluZGV4IDliN2Jj ZGNlNmU0NC4uMzAzZDAyYjFkNzFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92 NGwyLXRwZy92NGwyLXRwZy1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdjRsMi10 cGcvdjRsMi10cGctY29yZS5jCkBAIC04NzAsNyArODcwLDcgQEAgc3RhdGljIHZvaWQgcHJlY2Fs Y3VsYXRlX2NvbG9yKHN0cnVjdCB0cGdfZGF0YSAqdHBnLCBpbnQgaykKIAkJZyA9IHRwZ19jb2xv cnNbY29sXS5nOwogCQliID0gdHBnX2NvbG9yc1tjb2xdLmI7CiAJfSBlbHNlIGlmICh0cGctPnBh dHRlcm4gPT0gVFBHX1BBVF9OT0lTRSkgewotCQlyID0gZyA9IGIgPSBwcmFuZG9tX3UzMl9tYXgo MjU2KTsKKwkJciA9IGcgPSBiID0gZ2V0X3JhbmRvbV91OCgpOwogCX0gZWxzZSBpZiAoayA9PSBU UEdfQ09MT1JfUkFORE9NKSB7CiAJCXIgPSBnID0gYiA9IHRwZy0+cXVhbF9vZmZzZXQgKyBwcmFu ZG9tX3UzMl9tYXgoMTk2KTsKIAl9IGVsc2UgaWYgKGsgPj0gVFBHX0NPTE9SX1JBTVApIHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXJhZGlvLXJ4 LmMgYi9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC1yYWRpby1yeC5jCmlu ZGV4IDIzMmNhYjUwOGY0OC4uOGJkMDk1ODlmYjE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlh L3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC1yYWRpby1yeC5jCisrKyBiL2RyaXZlcnMvbWVkaWEv dGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXJhZGlvLXJ4LmMKQEAgLTEwNCw4ICsxMDQsOCBAQCBz c2l6ZV90IHZpdmlkX3JhZGlvX3J4X3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2Vy ICpidWYsCiAJCQkJYnJlYWs7CiAJCQljYXNlIDI6CiAJCQkJcmRzLmJsb2NrIHw9IFY0TDJfUkRT X0JMT0NLX0VSUk9SOwotCQkJCXJkcy5sc2IgPSBwcmFuZG9tX3UzMl9tYXgoMjU2KTsKLQkJCQly ZHMubXNiID0gcHJhbmRvbV91MzJfbWF4KDI1Nik7CisJCQkJcmRzLmxzYiA9IGdldF9yYW5kb21f dTgoKTsKKwkJCQlyZHMubXNiID0gZ2V0X3JhbmRvbV91OCgpOwogCQkJCWJyZWFrOwogCQkJY2Fz ZSAzOiAvKiBTa2lwIGJsb2NrIGFsdG9nZXRoZXIgKi8KIAkJCQlpZiAoaSkKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5lX2NyeXB0by9jaHRscy9jaHRsc19j bS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9pbmxpbmVfY3J5cHRvL2NodGxzL2No dGxzX2NtLmMKaW5kZXggZjkwYmZiYTRiMzAzLi5lZGExMjlkMDE0M2UgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5lX2NyeXB0by9jaHRscy9jaHRsc19jbS5j CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vaW5saW5lX2NyeXB0by9jaHRscy9j aHRsc19jbS5jCkBAIC0xNDY2LDcgKzE0NjYsNyBAQCBzdGF0aWMgdm9pZCBtYWtlX2VzdGFibGlz aGVkKHN0cnVjdCBzb2NrICpzaywgdTMyIHNuZF9pc24sIHVuc2lnbmVkIGludCBvcHQpCiAJdHAt PndyaXRlX3NlcSA9IHNuZF9pc247CiAJdHAtPnNuZF9ueHQgPSBzbmRfaXNuOwogCXRwLT5zbmRf dW5hID0gc25kX2lzbjsKLQlpbmV0X3NrKHNrKS0+aW5ldF9pZCA9IHByYW5kb21fdTMyKCk7CisJ aW5ldF9zayhzayktPmluZXRfaWQgPSBnZXRfcmFuZG9tX3UxNigpOwogCWFzc2lnbl9yeG9wdChz aywgb3B0KTsKIAogCWlmICh0cC0+cmN2X3duZCA+IChSQ1ZfQlVGU0laX00gPDwgMTApKQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvaGFtcmFkaW8vYmF5Y29tX2VwcC5jIGIvZHJpdmVycy9uZXQv aGFtcmFkaW8vYmF5Y29tX2VwcC5jCmluZGV4IDdkZjc4YTcyMWIwNC4uNzkxYjRhNTNkNjlmIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9oYW1yYWRpby9iYXljb21fZXBwLmMKKysrIGIvZHJpdmVy cy9uZXQvaGFtcmFkaW8vYmF5Y29tX2VwcC5jCkBAIC00MzgsNyArNDM4LDcgQEAgc3RhdGljIGlu dCB0cmFuc21pdChzdHJ1Y3QgYmF5Y29tX3N0YXRlICpiYywgaW50IGNudCwgdW5zaWduZWQgY2hh ciBzdGF0KQogCQkJaWYgKCgtLWJjLT5oZGxjdHguc2xvdGNudCkgPiAwKQogCQkJCXJldHVybiAw OwogCQkJYmMtPmhkbGN0eC5zbG90Y250ID0gYmMtPmNoX3BhcmFtcy5zbG90dGltZTsKLQkJCWlm IChwcmFuZG9tX3UzMl9tYXgoMjU2KSA+IGJjLT5jaF9wYXJhbXMucHBlcnNpc3QpCisJCQlpZiAo Z2V0X3JhbmRvbV91OCgpID4gYmMtPmNoX3BhcmFtcy5wcGVyc2lzdCkKIAkJCQlyZXR1cm4gMDsK IAkJfQogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2hhbXJhZGlvL2hkbGNkcnYuYyBiL2Ry aXZlcnMvbmV0L2hhbXJhZGlvL2hkbGNkcnYuYwppbmRleCBiZWY5MDQzMjVhMGYuLjIyNjMwMjlk MWEyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaGFtcmFkaW8vaGRsY2Rydi5jCisrKyBiL2Ry aXZlcnMvbmV0L2hhbXJhZGlvL2hkbGNkcnYuYwpAQCAtMzc3LDcgKzM3Nyw3IEBAIHZvaWQgaGRs Y2Rydl9hcmJpdHJhdGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGhkbGNkcnZfc3Rh dGUgKnMpCiAJaWYgKCgtLXMtPmhkbGN0eC5zbG90Y250KSA+IDApCiAJCXJldHVybjsKIAlzLT5o ZGxjdHguc2xvdGNudCA9IHMtPmNoX3BhcmFtcy5zbG90dGltZTsKLQlpZiAocHJhbmRvbV91MzJf bWF4KDI1NikgPiBzLT5jaF9wYXJhbXMucHBlcnNpc3QpCisJaWYgKGdldF9yYW5kb21fdTgoKSA+ IHMtPmNoX3BhcmFtcy5wcGVyc2lzdCkKIAkJcmV0dXJuOwogCXN0YXJ0X3R4KGRldiwgcyk7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oYW1yYWRpby95YW0uYyBiL2RyaXZlcnMvbmV0L2hh bXJhZGlvL3lhbS5jCmluZGV4IDk3YTZjYzVjN2FlOC4uMmVkMmY4MzZmMDlhIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9oYW1yYWRpby95YW0uYworKysgYi9kcml2ZXJzL25ldC9oYW1yYWRpby95 YW0uYwpAQCAtNjI2LDcgKzYyNiw3IEBAIHN0YXRpYyB2b2lkIHlhbV9hcmJpdHJhdGUoc3RydWN0 IG5ldF9kZXZpY2UgKmRldikKIAl5cC0+c2xvdGNudCA9IHlwLT5zbG90IC8gMTA7CiAKIAkvKiBp cyByYW5kb20gPiBwZXJzaXN0ID8gKi8KLQlpZiAocHJhbmRvbV91MzJfbWF4KDI1NikgPiB5cC0+ cGVycykKKwlpZiAoZ2V0X3JhbmRvbV91OCgpID4geXAtPnBlcnMpCiAJCXJldHVybjsKIAogCXlh bV9zdGFydF90eChkZXYsIHlwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVndWFyZC9z ZWxmdGVzdC9hbGxvd2VkaXBzLmMgYi9kcml2ZXJzL25ldC93aXJlZ3VhcmQvc2VsZnRlc3QvYWxs b3dlZGlwcy5jCmluZGV4IDQxZGIxMGY5YmU0OS4uZGQ4OTdjMDc0MGEyIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC93aXJlZ3VhcmQvc2VsZnRlc3QvYWxsb3dlZGlwcy5jCisrKyBiL2RyaXZlcnMv bmV0L3dpcmVndWFyZC9zZWxmdGVzdC9hbGxvd2VkaXBzLmMKQEAgLTMxMCw3ICszMTAsNyBAQCBz dGF0aWMgX19pbml0IGJvb2wgcmFuZG9taXplZF90ZXN0KHZvaWQpCiAJCQlmb3IgKGsgPSAwOyBr IDwgNDsgKytrKQogCQkJCW11dGF0ZWRba10gPSAobXV0YXRlZFtrXSAmIG11dGF0ZV9tYXNrW2td KSB8CiAJCQkJCSAgICAgKH5tdXRhdGVfbWFza1trXSAmCi0JCQkJCSAgICAgIHByYW5kb21fdTMy X21heCgyNTYpKTsKKwkJCQkJICAgICAgZ2V0X3JhbmRvbV91OCgpKTsKIAkJCWNpZHIgPSBwcmFu ZG9tX3UzMl9tYXgoMzIpICsgMTsKIAkJCXBlZXIgPSBwZWVyc1twcmFuZG9tX3UzMl9tYXgoTlVN X1BFRVJTKV07CiAJCQlpZiAod2dfYWxsb3dlZGlwc19pbnNlcnRfdjQoJnQsCkBAIC0zNTQsNyAr MzU0LDcgQEAgc3RhdGljIF9faW5pdCBib29sIHJhbmRvbWl6ZWRfdGVzdCh2b2lkKQogCQkJZm9y IChrID0gMDsgayA8IDQ7ICsraykKIAkJCQltdXRhdGVkW2tdID0gKG11dGF0ZWRba10gJiBtdXRh dGVfbWFza1trXSkgfAogCQkJCQkgICAgICh+bXV0YXRlX21hc2tba10gJgotCQkJCQkgICAgICBw cmFuZG9tX3UzMl9tYXgoMjU2KSk7CisJCQkJCSAgICAgIGdldF9yYW5kb21fdTgoKSk7CiAJCQlj aWRyID0gcHJhbmRvbV91MzJfbWF4KDEyOCkgKyAxOwogCQkJcGVlciA9IHBlZXJzW3ByYW5kb21f dTMyX21heChOVU1fUEVFUlMpXTsKIAkJCWlmICh3Z19hbGxvd2VkaXBzX2luc2VydF92NigmdCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3N0L2N3MTIwMC93c20uYyBiL2RyaXZl cnMvbmV0L3dpcmVsZXNzL3N0L2N3MTIwMC93c20uYwppbmRleCA1YTNlN2E2MjY3MDIuLjRhOWU0 YjVkMzU0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mvc3QvY3cxMjAwL3dzbS5j CisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3N0L2N3MTIwMC93c20uYwpAQCAtMTU5NCw3ICsx NTk0LDcgQEAgc3RhdGljIGludCBjdzEyMDBfZ2V0X3ByaW9fcXVldWUoc3RydWN0IGN3MTIwMF9j b21tb24gKnByaXYsCiAJCWVkY2EgPSAmcHJpdi0+ZWRjYS5wYXJhbXNbaV07CiAJCXNjb3JlID0g KChlZGNhLT5haWZucyArIGVkY2EtPmN3bWluKSA8PCAxNikgKwogCQkJKChlZGNhLT5jd21heCAt IGVkY2EtPmN3bWluKSAqCi0JCQkgKGdldF9yYW5kb21faW50KCkgJiAweEZGRkYpKTsKKwkJCSBn ZXRfcmFuZG9tX3UxNigpKTsKIAkJaWYgKHNjb3JlIDwgYmVzdCAmJiAod2lubmVyIDwgMCB8fCBp ICE9IDMpKSB7CiAJCQliZXN0ID0gc2NvcmU7CiAJCQl3aW5uZXIgPSBpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zY3NpL2xwZmMvbHBmY19oYmFkaXNjLmMgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZj X2hiYWRpc2MuYwppbmRleCBjN2Y4MzRiYThlZGIuLmQzOGViZDcyODFiOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9zY3NpL2xwZmMvbHBmY19oYmFkaXNjLmMKKysrIGIvZHJpdmVycy9zY3NpL2xwZmMv bHBmY19oYmFkaXNjLmMKQEAgLTIxNTYsOCArMjE1Niw4IEBAIGxwZmNfY2hlY2tfcGVuZGluZ19m Y29lX2V2ZW50KHN0cnVjdCBscGZjX2hiYSAqcGhiYSwgdWludDhfdCB1bnJlZ19mY2YpCiAgKiBU aGlzIGZ1bmN0aW9uIG1ha2VzIGFuIHJ1bm5pbmcgcmFuZG9tIHNlbGVjdGlvbiBkZWNpc2lvbiBv biBGQ0YgcmVjb3JkIHRvCiAgKiB1c2UgdGhyb3VnaCBhIHNlcXVlbmNlIG9mIEBmY2ZfY250IGVs aWdpYmxlIEZDRiByZWNvcmRzIHdpdGggZXF1YWwKICAqIHByb2JhYmlsaXR5LiBUbyBwZXJmb3Jt IGludGVnZXIgbWFudW5pcHVsYXRpb24gb2YgcmFuZG9tIG51bWJlcnMgd2l0aAotICogc2l6ZSB1 bml0MzJfdCwgdGhlIGxvd2VyIDE2IGJpdHMgb2YgdGhlIDMyLWJpdCByYW5kb20gbnVtYmVyIHJl dHVybmVkCi0gKiBmcm9tIHByYW5kb21fdTMyKCkgYXJlIHRha2VuIGFzIHRoZSByYW5kb20gcmFu ZG9tIG51bWJlciBnZW5lcmF0ZWQuCisgKiBzaXplIHVuaXQzMl90LCBhIDE2LWJpdCByYW5kb20g bnVtYmVyIHJldHVybmVkIGZyb20gZ2V0X3JhbmRvbV91MTYoKSBpcworICogdGFrZW4gYXMgdGhl IHJhbmRvbSByYW5kb20gbnVtYmVyIGdlbmVyYXRlZC4KICAqCiAgKiBSZXR1cm5zIHRydWUgd2hl biBvdXRjb21lIGlzIGZvciB0aGUgbmV3bHkgcmVhZCBGQ0YgcmVjb3JkIHNob3VsZCBiZQogICog Y2hvc2VuOyBvdGhlcndpc2UsIHJldHVybiBmYWxzZSB3aGVuIG91dGNvbWUgaXMgZm9yIGtlZXBp bmcgdGhlIHByZXZpb3VzbHkKQEAgLTIxNjksNyArMjE2OSw3IEBAIGxwZmNfc2xpNF9uZXdfZmNm X3JhbmRvbV9zZWxlY3Qoc3RydWN0IGxwZmNfaGJhICpwaGJhLCB1aW50MzJfdCBmY2ZfY250KQog CXVpbnQzMl90IHJhbmRfbnVtOwogCiAJLyogR2V0IDE2LWJpdCB1bmlmb3JtIHJhbmRvbSBudW1i ZXIgKi8KLQlyYW5kX251bSA9IDB4RkZGRiAmIHByYW5kb21fdTMyKCk7CisJcmFuZF9udW0gPSBn ZXRfcmFuZG9tX3UxNigpOwogCiAJLyogRGVjaXNpb24gd2l0aCBwcm9iYWJpbGl0eSAxL2ZjZl9j bnQgKi8KIAlpZiAoKGZjZl9jbnQgKiByYW5kX251bSkgPCAweEZGRkYpCmRpZmYgLS1naXQgYS9s aWIvY21kbGluZV9rdW5pdC5jIGIvbGliL2NtZGxpbmVfa3VuaXQuYwppbmRleCBhNzJhMmMxNjA2 NmUuLmQ0NTcyZGJjOTE0NSAxMDA2NDQKLS0tIGEvbGliL2NtZGxpbmVfa3VuaXQuYworKysgYi9s aWIvY21kbGluZV9rdW5pdC5jCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyB2b2lkIGNtZGxpbmVf dGVzdF9sZWFkX2ludChzdHJ1Y3Qga3VuaXQgKnRlc3QpCiAJCWludCByYyA9IGNtZGxpbmVfdGVz dF92YWx1ZXNbaV07CiAJCWludCBvZmZzZXQ7CiAKLQkJc3ByaW50ZihpbiwgIiV1JXMiLCBnZXRf cmFuZG9tX2ludCgpICUgMjU2LCBzdHIpOworCQlzcHJpbnRmKGluLCAiJXUlcyIsIGdldF9yYW5k b21fdTgoKSwgc3RyKTsKIAkJLyogT25seSBmaXJzdCAnLScgYWZ0ZXIgdGhlIG51bWJlciB3aWxs IGFkdmFuY2UgdGhlIHBvaW50ZXIgKi8KIAkJb2Zmc2V0ID0gc3RybGVuKGluKSAtIHN0cmxlbihz dHIpICsgISEocmMgPT0gMik7CiAJCWNtZGxpbmVfZG9fb25lX3Rlc3QodGVzdCwgaW4sIHJjLCBv ZmZzZXQpOwpAQCAtOTQsNyArOTQsNyBAQCBzdGF0aWMgdm9pZCBjbWRsaW5lX3Rlc3RfdGFpbF9p bnQoc3RydWN0IGt1bml0ICp0ZXN0KQogCQlpbnQgcmMgPSBzdHJjbXAoc3RyLCAiIikgPyAoc3Ry Y21wKHN0ciwgIi0iKSA/IDAgOiAxKSA6IDE7CiAJCWludCBvZmZzZXQ7CiAKLQkJc3ByaW50Zihp biwgIiVzJXUiLCBzdHIsIGdldF9yYW5kb21faW50KCkgJSAyNTYpOworCQlzcHJpbnRmKGluLCAi JXMldSIsIHN0ciwgZ2V0X3JhbmRvbV91OCgpKTsKIAkJLyoKIAkJICogT25seSBmaXJzdCBhbmQg bGVhZGluZyAnLScgbm90IGZvbGxvd2VkIGJ5IGludGVnZXIKIAkJICogd2lsbCBhZHZhbmNlIHRo ZSBwb2ludGVyLgpkaWZmIC0tZ2l0IGEvbmV0L2RjY3AvaXB2NC5jIGIvbmV0L2RjY3AvaXB2NC5j CmluZGV4IDZhNmUxMjFkYzAwYy4uNzEzYjdiOGRhZDdlIDEwMDY0NAotLS0gYS9uZXQvZGNjcC9p cHY0LmMKKysrIGIvbmV0L2RjY3AvaXB2NC5jCkBAIC0xNDQsNyArMTQ0LDcgQEAgaW50IGRjY3Bf djRfY29ubmVjdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBh ZGRyX2xlbikKIAkJCQkJCSAgICBpbmV0LT5pbmV0X2RhZGRyLAogCQkJCQkJICAgIGluZXQtPmlu ZXRfc3BvcnQsCiAJCQkJCQkgICAgaW5ldC0+aW5ldF9kcG9ydCk7Ci0JaW5ldC0+aW5ldF9pZCA9 IHByYW5kb21fdTMyKCk7CisJaW5ldC0+aW5ldF9pZCA9IGdldF9yYW5kb21fdTE2KCk7CiAKIAll cnIgPSBkY2NwX2Nvbm5lY3Qoc2spOwogCXJ0ID0gTlVMTDsKQEAgLTQ0Myw3ICs0NDMsNyBAQCBz dHJ1Y3Qgc29jayAqZGNjcF92NF9yZXF1ZXN0X3JlY3Zfc29jayhjb25zdCBzdHJ1Y3Qgc29jayAq c2ssCiAJUkNVX0lOSVRfUE9JTlRFUihuZXdpbmV0LT5pbmV0X29wdCwgcmN1X2RlcmVmZXJlbmNl KGlyZXEtPmlyZXFfb3B0KSk7CiAJbmV3aW5ldC0+bWNfaW5kZXggID0gaW5ldF9paWYoc2tiKTsK IAluZXdpbmV0LT5tY190dGwJICAgPSBpcF9oZHIoc2tiKS0+dHRsOwotCW5ld2luZXQtPmluZXRf aWQgICA9IHByYW5kb21fdTMyKCk7CisJbmV3aW5ldC0+aW5ldF9pZCAgID0gZ2V0X3JhbmRvbV91 MTYoKTsKIAogCWlmIChkc3QgPT0gTlVMTCAmJiAoZHN0ID0gaW5ldF9jc2tfcm91dGVfY2hpbGRf c29jayhzaywgbmV3c2ssIHJlcSkpID09IE5VTEwpCiAJCWdvdG8gcHV0X2FuZF9leGl0OwpkaWZm IC0tZ2l0IGEvbmV0L2lwdjQvZGF0YWdyYW0uYyBiL25ldC9pcHY0L2RhdGFncmFtLmMKaW5kZXgg NDA1YThjMmFlYTY0Li4wZWU3ZmQyNTk3MzAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2RhdGFncmFt LmMKKysrIGIvbmV0L2lwdjQvZGF0YWdyYW0uYwpAQCAtNzMsNyArNzMsNyBAQCBpbnQgX19pcDRf ZGF0YWdyYW1fY29ubmVjdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIs IGludCBhZGRyX2xlbgogCXJldXNlcG9ydF9oYXNfY29ubnMoc2ssIHRydWUpOwogCXNrLT5za19z dGF0ZSA9IFRDUF9FU1RBQkxJU0hFRDsKIAlza19zZXRfdHhoYXNoKHNrKTsKLQlpbmV0LT5pbmV0 X2lkID0gcHJhbmRvbV91MzIoKTsKKwlpbmV0LT5pbmV0X2lkID0gZ2V0X3JhbmRvbV91MTYoKTsK IAogCXNrX2RzdF9zZXQoc2ssICZydC0+ZHN0KTsKIAllcnIgPSAwOwpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjQvaXBfb3V0cHV0LmMgYi9uZXQvaXB2NC9pcF9vdXRwdXQuYwppbmRleCAxYWU4M2FkNjI5 YjIuLjkyMmM4N2VmMWFiNSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvaXBfb3V0cHV0LmMKKysrIGIv bmV0L2lwdjQvaXBfb3V0cHV0LmMKQEAgLTE3Miw3ICsxNzIsNyBAQCBpbnQgaXBfYnVpbGRfYW5k X3NlbmRfcGt0KHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0IHN0cnVjdCBzb2NrICpzaywKIAkJ ICogQXZvaWQgdXNpbmcgdGhlIGhhc2hlZCBJUCBpZGVudCBnZW5lcmF0b3IuCiAJCSAqLwogCQlp ZiAoc2stPnNrX3Byb3RvY29sID09IElQUFJPVE9fVENQKQotCQkJaXBoLT5pZCA9IChfX2ZvcmNl IF9fYmUxNilwcmFuZG9tX3UzMigpOworCQkJaXBoLT5pZCA9IChfX2ZvcmNlIF9fYmUxNilnZXRf cmFuZG9tX3UxNigpOwogCQllbHNlCiAJCQlfX2lwX3NlbGVjdF9pZGVudChuZXQsIGlwaCwgMSk7 CiAJfQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2lwdjQuYyBiL25ldC9pcHY0L3RjcF9pcHY0 LmMKaW5kZXggNjM3NmFkOTE1NzY1Li43YTI1MGVmOWQxYjcgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0 L3RjcF9pcHY0LmMKKysrIGIvbmV0L2lwdjQvdGNwX2lwdjQuYwpAQCAtMzIzLDcgKzMyMyw3IEBA IGludCB0Y3BfdjRfY29ubmVjdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrYWRkciAqdWFk ZHIsIGludCBhZGRyX2xlbikKIAkJCQkJCSBpbmV0LT5pbmV0X2RhZGRyKTsKIAl9CiAKLQlpbmV0 LT5pbmV0X2lkID0gcHJhbmRvbV91MzIoKTsKKwlpbmV0LT5pbmV0X2lkID0gZ2V0X3JhbmRvbV91 MTYoKTsKIAogCWlmICh0Y3BfZmFzdG9wZW5fZGVmZXJfY29ubmVjdChzaywgJmVycikpCiAJCXJl dHVybiBlcnI7CkBAIC0xNTQzLDcgKzE1NDMsNyBAQCBzdHJ1Y3Qgc29jayAqdGNwX3Y0X3N5bl9y ZWN2X3NvY2soY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCWlu ZXRfY3NrKG5ld3NrKS0+aWNza19leHRfaGRyX2xlbiA9IDA7CiAJaWYgKGluZXRfb3B0KQogCQlp bmV0X2NzayhuZXdzayktPmljc2tfZXh0X2hkcl9sZW4gPSBpbmV0X29wdC0+b3B0Lm9wdGxlbjsK LQluZXdpbmV0LT5pbmV0X2lkID0gcHJhbmRvbV91MzIoKTsKKwluZXdpbmV0LT5pbmV0X2lkID0g Z2V0X3JhbmRvbV91MTYoKTsKIAogCS8qIFNldCBUb1Mgb2YgdGhlIG5ldyBzb2NrZXQgYmFzZWQg dXBvbiB0aGUgdmFsdWUgb2YgaW5jb21pbmcgU1lOLgogCSAqIEVDVCBiaXRzIGFyZSBzZXQgbGF0 ZXIgaW4gdGNwX2luaXRfdHJhbnNmZXIoKS4KZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9zY2Fu LmMgYi9uZXQvbWFjODAyMTEvc2Nhbi5jCmluZGV4IDBlOGM0ZjQ4YzM2ZC4uZGMzY2RlZTUxZTY2 IDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvc2Nhbi5jCisrKyBiL25ldC9tYWM4MDIxMS9zY2Fu LmMKQEAgLTY0MSw3ICs2NDEsNyBAQCBzdGF0aWMgdm9pZCBpZWVlODAyMTFfc2VuZF9zY2FuX3By b2JlX3JlcShzdHJ1Y3QgaWVlZTgwMjExX3N1Yl9pZl9kYXRhICpzZGF0YSwKIAkJaWYgKGZsYWdz ICYgSUVFRTgwMjExX1BST0JFX0ZMQUdfUkFORE9NX1NOKSB7CiAJCQlzdHJ1Y3QgaWVlZTgwMjEx X2hkciAqaGRyID0gKHZvaWQgKilza2ItPmRhdGE7CiAJCQlzdHJ1Y3QgaWVlZTgwMjExX3R4X2lu Zm8gKmluZm8gPSBJRUVFODAyMTFfU0tCX0NCKHNrYik7Ci0JCQl1MTYgc24gPSBnZXRfcmFuZG9t X3UzMigpOworCQkJdTE2IHNuID0gZ2V0X3JhbmRvbV91MTYoKTsKIAogCQkJaW5mby0+Y29udHJv bC5mbGFncyB8PSBJRUVFODAyMTFfVFhfQ1RSTF9OT19TRVFOTzsKIAkJCWhkci0+c2VxX2N0cmwg PQpkaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9uYXRfY29yZS5jIGIvbmV0L25ldGZpbHRl ci9uZl9uYXRfY29yZS5jCmluZGV4IGQ4ZTYzODBmNjMzNy4uMTgzMTlhNmU2ODA2IDEwMDY0NAot LS0gYS9uZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9u YXRfY29yZS5jCkBAIC00NjgsNyArNDY4LDcgQEAgc3RhdGljIHZvaWQgbmZfbmF0X2w0cHJvdG9f dW5pcXVlX3R1cGxlKHN0cnVjdCBuZl9jb25udHJhY2tfdHVwbGUgKnR1cGxlLAogCWlmIChyYW5n ZS0+ZmxhZ3MgJiBORl9OQVRfUkFOR0VfUFJPVE9fT0ZGU0VUKQogCQlvZmYgPSAobnRvaHMoKmtl eXB0cikgLSBudG9ocyhyYW5nZS0+YmFzZV9wcm90by5hbGwpKTsKIAllbHNlCi0JCW9mZiA9IHBy YW5kb21fdTMyKCk7CisJCW9mZiA9IGdldF9yYW5kb21fdTE2KCk7CiAKIAlhdHRlbXB0cyA9IHJh bmdlX3NpemU7CiAJaWYgKGF0dGVtcHRzID4gbWF4X2F0dGVtcHRzKQpAQCAtNDkwLDcgKzQ5MCw3 IEBAIHN0YXRpYyB2b2lkIG5mX25hdF9sNHByb3RvX3VuaXF1ZV90dXBsZShzdHJ1Y3QgbmZfY29u bnRyYWNrX3R1cGxlICp0dXBsZSwKIAlpZiAoYXR0ZW1wdHMgPj0gcmFuZ2Vfc2l6ZSB8fCBhdHRl bXB0cyA8IDE2KQogCQlyZXR1cm47CiAJYXR0ZW1wdHMgLz0gMjsKLQlvZmYgPSBwcmFuZG9tX3Uz MigpOworCW9mZiA9IGdldF9yYW5kb21fdTE2KCk7CiAJZ290byBhbm90aGVyX3JvdW5kOwogfQog CmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2Nha2UuYyBiL25ldC9zY2hlZC9zY2hfY2FrZS5j CmluZGV4IDU1YzY4NzlkMmM3ZS4uNzE5M2QyNTkzMmNlIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQv c2NoX2Nha2UuYworKysgYi9uZXQvc2NoZWQvc2NoX2Nha2UuYwpAQCAtMjA5MiwxMSArMjA5Miwx MSBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmNha2VfZGVxdWV1ZShzdHJ1Y3QgUWRpc2MgKnNj aCkKIAogCQlXQVJOX09OKGhvc3RfbG9hZCA+IENBS0VfUVVFVUVTKTsKIAotCQkvKiBUaGUgc2hp ZnRlZCBwcmFuZG9tX3UzMigpIGlzIGEgd2F5IHRvIGFwcGx5IGRpdGhlcmluZyB0bwotCQkgKiBh dm9pZCBhY2N1bXVsYXRpbmcgcm91bmRvZmYgZXJyb3JzCisJCS8qIFRoZSBnZXRfcmFuZG9tX3Ux NigpIGlzIGEgd2F5IHRvIGFwcGx5IGRpdGhlcmluZyB0byBhdm9pZAorCQkgKiBhY2N1bXVsYXRp bmcgcm91bmRvZmYgZXJyb3JzCiAJCSAqLwogCQlmbG93LT5kZWZpY2l0ICs9IChiLT5mbG93X3F1 YW50dW0gKiBxdWFudHVtX2Rpdltob3N0X2xvYWRdICsKLQkJCQkgIChwcmFuZG9tX3UzMigpID4+ IDE2KSkgPj4gMTY7CisJCQkJICBnZXRfcmFuZG9tX3UxNigpKSA+PiAxNjsKIAkJbGlzdF9tb3Zl X3RhaWwoJmZsb3ctPmZsb3djaGFpbiwgJmItPm9sZF9mbG93cyk7CiAKIAkJZ290byByZXRyeTsK ZGlmZiAtLWdpdCBhL25ldC9zY3RwL3NvY2tldC5jIGIvbmV0L3NjdHAvc29ja2V0LmMKaW5kZXgg MWUzNTRiYTQ0OTYwLi44MzYyOGMzNDc3NDQgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3NvY2tldC5j CisrKyBiL25ldC9zY3RwL3NvY2tldC5jCkBAIC05NDQ4LDcgKzk0NDgsNyBAQCB2b2lkIHNjdHBf Y29weV9zb2NrKHN0cnVjdCBzb2NrICpuZXdzaywgc3RydWN0IHNvY2sgKnNrLAogCW5ld2luZXQt PmluZXRfcmN2X3NhZGRyID0gaW5ldC0+aW5ldF9yY3Zfc2FkZHI7CiAJbmV3aW5ldC0+aW5ldF9k cG9ydCA9IGh0b25zKGFzb2MtPnBlZXIucG9ydCk7CiAJbmV3aW5ldC0+cG10dWRpc2MgPSBpbmV0 LT5wbXR1ZGlzYzsKLQluZXdpbmV0LT5pbmV0X2lkID0gcHJhbmRvbV91MzIoKTsKKwluZXdpbmV0 LT5pbmV0X2lkID0gZ2V0X3JhbmRvbV91MTYoKTsKIAogCW5ld2luZXQtPnVjX3R0bCA9IGluZXQt PnVjX3R0bDsKIAluZXdpbmV0LT5tY19sb29wID0gMTsKLS0gCjIuMzcuMwoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXVtIG1haWxpbmcgbGlz dApsaW51eC11bUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtdW0K