From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Salyzyn Subject: [PATCH v13 2/5] Add flags option to get xattr method paired to __vfs_getxattr Date: Wed, 31 Jul 2019 09:57:57 -0700 Message-ID: <20190731165803.4755-3-salyzyn@android.com> References: <20190731165803.4755-1-salyzyn@android.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190731165803.4755-1-salyzyn@android.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cluster-devel-bounces@redhat.com Errors-To: cluster-devel-bounces@redhat.com Content-Type: text/plain; charset="macroman" To: linux-kernel@vger.kernel.org Cc: Latchesar Ionkov , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, Randy Dunlap , linux-doc@vger.kernel.org, Martin Brandenburg , samba-technical@lists.samba.org, Dominique Martinet , Amir Goldstein , Mimi Zohar , James Morris , David Howells , Chris Mason , "David S . Miller" , Andreas Dilger , ocfs2-devel@oss.oracle.com, Eric Paris , netdev@vger.kernel.org, Tyler Hicks , linux-afs@lists.infradead.org, Mike Marshall , linux-xfs@vger.kernel.org, Sage Weil , Jonathan Corbet , Richard Weinberger , Mark QWRkIGEgZmxhZyBvcHRpb24gdG8gZ2V0IHhhdHRyIG1ldGhvZCB0aGF0IGNvdWxkIGhhdmUgYSBi aXQgZmxhZyBvZgpYQVRUUl9OT1NFQ1VSSVRZIHBhc3NlZCB0byBpdC4gIFhBVFRSX05PU0VDVVJJ VFkgaXMgZ2VuZXJhbGx5IHRoZW4Kc2V0IGluIHRoZSBfX3Zmc19nZXR4YXR0ciBwYXRoLgoKVGhp cyBoYW5kbGVzIHRoZSBjYXNlIG9mIGEgdW5pb24gZmlsZXN5c3RlbSBkcml2ZXIgdGhhdCBpcyBi ZWluZwpyZXF1ZXN0ZWQgYnkgdGhlIHNlY3VyaXR5IGxheWVyIHRvIHJlcG9ydCBiYWNrIHRoZSBk YXRhIHRoYXQgaXMgdGhlCnRhcmdldCBsYWJlbCBvciBjb250ZXh0IGVtYmVkZGVkIGludG8gd3Jh cHBlZCBmaWxlc3lzdGVtJ3MgeGF0dHIuCgpGb3IgdGhlIHVzZSBjYXNlIHdoZXJlIGFjY2VzcyBp cyB0byBiZSBibG9ja2VkIGJ5IHRoZSBzZWN1cml0eSBsYXllci4KClRoZSBwYXRoIHRoZW4gY291 bGQgYmUgc2VjdXJpdHkoZGVudHJ5KSAtPgpfX3Zmc19nZXR4YXR0cihkZW50cnkuLi5YQVRUUl9O T1NFQ1VJUlRZKSAtPgpoYW5kbGVyLT5nZXQoZGVudHJ5Li4uWEFUVFJfTk9TRUNVUklUWSkgLT4K X192ZnNfZ2V0eGF0dHIobG93ZXJfZGVudHJ5Li4uWEFUVFJfTk9TRUNVSVJUWSkgLT4KbG93ZXJf aGFuZGxlci0+Z2V0KGxvd2VyX2RlbnRyeS4uLlhBVFRSX05PU0VDVUlSVFkpCndoaWNoIHdvdWxk IHJlcG9ydCBiYWNrIHRocm91Z2ggdGhlIGNoYWluIGRhdGEgYW5kIHN1Y2Nlc3MgYXMKZXhwZWN0 ZWQsIGJ1dCB0aGUgbG9nZ2luZyBzZWN1cml0eSBsYXllciBhdCB0aGUgdG9wIHdvdWxkIGhhdmUg dGhlCmRhdGEgdG8gZGV0ZXJtaW5lIHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgYW5kIHJlcG9ydCBi YWNrIHRoZSB0YXJnZXQKY29udGV4dCB0aGF0IHdhcyBibG9ja2VkLgoKV2l0aG91dCB0aGUgZ2V0 IGhhbmRsZXIgZmxhZywgdGhlIHBhdGggb24gYSB1bmlvbiBmaWxlc3lzdGVtIHdvdWxkIGJlCnRo ZSBlcnJhbnQgc2VjdXJpdHkoZGVudHJ5KSAtPiBfX3Zmc19nZXR4YXR0cihkZW50cnkpIC0+Cmhh bmRsZXItPmdldChkZW50cnkpIC0+IHZmc19nZXR4YXR0cihsb3dlcl9kZW50cnkpIC0+IG5lc3Rl ZCAtPgpzZWN1cml0eShsb3dlcl9kZW50cnksIGxvZyBvZmYpIC0+IGxvd2VyX2hhbmRsZXItPmdl dChsb3dlcl9kZW50cnkpCndoaWNoIHdvdWxkIHJlcG9ydCBiYWNrIHRocm91Z2ggdGhlIGNoYWlu IG5vIGRhdGEsIGFuZCAtRUFDQ0VTLgoKRm9yIHNlbGludXggZm9yIGJvdGggY2FzZXMsIHRoaXMg d291bGQgdHJhbnNsYXRlIHRvIGEgY29ycmVjdGx5CmRldGVybWluZWQgYmxvY2tlZCBhY2Nlc3Mu IEluIHRoZSBmaXJzdCBjb3JyZWN0ZWQgY2FzZSBhIGNvcnJlY3QgYXZjCmxvZyB3b3VsZCBiZSBy ZXBvcnRlZCwgaW4gdGhlIHNlY29uZCBsZWdhY3kgY2FzZSBhbiBpbmNvcnJlY3QgYXZjIGxvZwp3 b3VsZCBiZSByZXBvcnRlZCBhZ2FpbnN0IGFuIHVuaW5pdGlhbGl6ZWQgdTpvYmplY3Rfcjp1bmxh YmVsZWQ6czAKY29udGV4dCBtYWtpbmcgdGhlIGxvZ3MgY29zbWV0aWNhbGx5IHVzZWxlc3MgZm9y IGF1ZGl0MmFsbG93LgoKVGhpcyBwYXRjaCBzZXJpZXMgaXMgaW5lcnQgYW5kIGlzIHRoZSB3aWRl LXNwcmVhZCBhZGRpdGlvbiBvZiB0aGUKZmxhZ3Mgb3B0aW9uIGZvciB4YXR0ciBmdW5jdGlvbnMs IGFuZCBhIHJlcGxhY2VtZW50IG9mIF92ZnNfZ2V0eGF0dHIKd2l0aCBfX3Zmc19nZXR4YXR0cigu Li5YQVRUUl9OT1NFQ1VSSVRZKS4KClNpZ25lZC1vZmYtYnk6IE1hcmsgU2FseXp5biA8c2FseXp5 bkBhbmRyb2lkLmNvbT4KQ2M6IE1pa2xvcyBTemVyZWRpIDxtaWtsb3NAc3plcmVkaS5odT4KQ2M6 IEpvbmF0aGFuIENvcmJldCA8Y29yYmV0QGx3bi5uZXQ+CkNjOiBWaXZlayBHb3lhbCA8dmdveWFs QHJlZGhhdC5jb20+CkNjOiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AeG1pc3Npb24uY29t PgpDYzogQW1pciBHb2xkc3RlaW4gPGFtaXI3M2lsQGdtYWlsLmNvbT4KQ2M6IFJhbmR5IER1bmxh cCA8cmR1bmxhcEBpbmZyYWRlYWQub3JnPgpDYzogU3RlcGhlbiBTbWFsbGV5IDxzZHNAdHljaG8u bnNhLmdvdj4KQ2M6IGxpbnV4LXVuaW9uZnNAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1kb2NA dmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkNjOiBrZXJu ZWwtdGVhbUBhbmRyb2lkLmNvbQpDYzogRXJpYyBWYW4gSGVuc2JlcmdlbiA8ZXJpY3ZoQGdtYWls LmNvbT4KQ2M6IExhdGNoZXNhciBJb25rb3YgPGx1Y2hvQGlvbmtvdi5uZXQ+CkNjOiBEb21pbmlx dWUgTWFydGluZXQgPGFzbWFkZXVzQGNvZGV3cmVjay5vcmc+CkNjOiBEYXZpZCBIb3dlbGxzIDxk aG93ZWxsc0ByZWRoYXQuY29tPgpDYzogQ2hyaXMgTWFzb24gPGNsbUBmYi5jb20+CkNjOiBKb3Nl ZiBCYWNpayA8am9zZWZAdG94aWNwYW5kYS5jb20+CkNjOiBEYXZpZCBTdGVyYmEgPGRzdGVyYmFA c3VzZS5jb20+CkNjOiBKZWZmIExheXRvbiA8amxheXRvbkBrZXJuZWwub3JnPgpDYzogU2FnZSBX ZWlsIDxzYWdlQHJlZGhhdC5jb20+CkNjOiBJbHlhIERyeW9tb3YgPGlkcnlvbW92QGdtYWlsLmNv bT4KQ2M6IFN0ZXZlIEZyZW5jaCA8c2ZyZW5jaEBzYW1iYS5vcmc+CkNjOiBUeWxlciBIaWNrcyA8 dHloaWNrc0BjYW5vbmljYWwuY29tPgpDYzogSmFuIEthcmEgPGphY2tAc3VzZS5jb20+CkNjOiBU aGVvZG9yZSBUcydvIDx0eXRzb0BtaXQuZWR1PgpDYzogQW5kcmVhcyBEaWxnZXIgPGFkaWxnZXIu a2VybmVsQGRpbGdlci5jYT4KQ2M6IEphZWdldWsgS2ltIDxqYWVnZXVrQGtlcm5lbC5vcmc+CkNj OiBDaGFvIFl1IDx5dWNoYW8wQGh1YXdlaS5jb20+CkNjOiBCb2IgUGV0ZXJzb24gPHJwZXRlcnNv QHJlZGhhdC5jb20+CkNjOiBBbmRyZWFzIEdydWVuYmFjaGVyIDxhZ3J1ZW5iYUByZWRoYXQuY29t PgpDYzogRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPgpDYzogUmljaGFyZCBX ZWluYmVyZ2VyIDxyaWNoYXJkQG5vZC5hdD4KQ2M6IERhdmUgS2xlaWthbXAgPHNoYWdneUBrZXJu ZWwub3JnPgpDYzogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9y Zz4KQ2M6IFRlanVuIEhlbyA8dGpAa2VybmVsLm9yZz4KQ2M6IFRyb25kIE15a2xlYnVzdCA8dHJv bmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNvbT4KQ2M6IEFubmEgU2NodW1ha2VyIDxhbm5hLnNj aHVtYWtlckBuZXRhcHAuY29tPgpDYzogTWFyayBGYXNoZWggPG1hcmtAZmFzaGVoLmNvbT4KQ2M6 IEpvZWwgQmVja2VyIDxqbGJlY0BldmlscGxhbi5vcmc+CkNjOiBKb3NlcGggUWkgPGpvc2VwaC5x aUBsaW51eC5hbGliYWJhLmNvbT4KQ2M6IE1pa2UgTWFyc2hhbGwgPGh1YmNhcEBvbW5pYm9uZC5j b20+CkNjOiBNYXJ0aW4gQnJhbmRlbmJ1cmcgPG1hcnRpbkBvbW5pYm9uZC5jb20+CkNjOiBBbGV4 YW5kZXIgVmlybyA8dmlyb0B6ZW5pdi5saW51eC5vcmcudWs+CkNjOiBQaGlsbGlwIExvdWdoZXIg PHBoaWxsaXBAc3F1YXNoZnMub3JnLnVrPgpDYzogRGFycmljayBKLiBXb25nIDxkYXJyaWNrLndv bmdAb3JhY2xlLmNvbT4KQ2M6IGxpbnV4LXhmc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IEh1Z2ggRGlj a2lucyA8aHVnaGRAZ29vZ2xlLmNvbT4KQ2M6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+CkNj OiBNYXRoaWV1IE1hbGF0ZXJyZSA8bWFsYXRAZGViaWFuLm9yZz4KQ2M6IEVybmVzdG8gQS4gRmVy bsOhbmRleiA8ZXJuZXN0by5tbmQuZmVybmFuZGV6QGdtYWlsLmNvbT4KQ2M6IFZ5YWNoZXNsYXYg RHViZXlrbyA8c2xhdmFAZHViZXlrby5jb20+CkNjOiB2OWZzLWRldmVsb3BlckBsaXN0cy5zb3Vy Y2Vmb3JnZS5uZXQKQ2M6IGxpbnV4LWFmc0BsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1i dHJmc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGNlcGgtZGV2ZWxAdmdlci5rZXJuZWwub3JnCkNjOiBs aW51eC1jaWZzQHZnZXIua2VybmVsLm9yZwpDYzogc2FtYmEtdGVjaG5pY2FsQGxpc3RzLnNhbWJh Lm9yZwpDYzogZWNyeXB0ZnNAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1leHQ0QHZnZXIua2Vy bmVsLm9yZwpDYzogbGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKQ2M6IGxp bnV4LWZzZGV2ZWxAdmdlci5rZXJuZWwub3JnCkNjOiBjbHVzdGVyLWRldmVsQHJlZGhhdC5jb20K Q2M6IGxpbnV4LW10ZEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBqZnMtZGlzY3Vzc2lvbkBsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQKQ2M6IGxpbnV4LW5mc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IG9jZnMy LWRldmVsQG9zcy5vcmFjbGUuY29tCkNjOiBkZXZlbEBsaXN0cy5vcmFuZ2Vmcy5vcmcKQ2M6IHJl aXNlcmZzLWRldmVsQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbW1Aa3ZhY2sub3JnCkNjOiBu ZXRkZXZAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1zZWN1cml0eS1tb2R1bGVAdmdlci5rZXJu ZWwub3JnCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnICMgNC40LCA0LjksIDQuMTQgJiA0LjE5 Ci0tLQp2MTMgLSBhZGRlZCBmbGFncyB0byBfX3Zmc19nZXR4YXR0ciBjYWxsLCBhbmQgbW92ZWQg YWxsIHRoZSBzZWN1cml0eQogICAgICBjb2RlIGZyb20gdmZzX2dldHhhdHRyIGludG8gaXQuCgp2 MTIgLSBBZGRlZCBiYWNrIHRvIHBhdGNoIHNlcmllcyBhcyBnZXQgeGF0dHIgd2l0aCBmbGFnIG9w dGlvbi4KCnYxMSAtIFNxdWFzaGVkIG91dCBvZiBwYXRjaCBzZXJpZXMgYW5kIHJlcGxhY2VkIHdp dGggcGVyLXRocmVhZCBmbGFnCiAgICAgIHNvbHV0aW9uLgoKdjEwIC0gQWRkZWQgdG8gcGF0Y2gg c2VyaWVzIGFzIF9fZ2V0IHhhdHRyIG1ldGhvZC4KLS0tCiBmcy85cC9hY2wuYyAgICAgICAgICAg ICAgICAgICAgICAgfCAgMyArKy0KIGZzLzlwL3hhdHRyLmMgICAgICAgICAgICAgICAgICAgICB8 ICAzICsrLQogZnMvYWZzL3hhdHRyLmMgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBm cy9idHJmcy94YXR0ci5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0KIGZzL2NlcGgveGF0dHIu YyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQogZnMvY2lmcy94YXR0ci5jICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGZzL2VjcnlwdGZzL2lub2RlLmMgICAgICAgICAgICAgICB8ICA2ICsr KystLQogZnMvZWNyeXB0ZnMvbW1hcC5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIGZzL2V4dDIv eGF0dHJfdHJ1c3RlZC5jICAgICAgICAgICB8ICAyICstCiBmcy9leHQyL3hhdHRyX3VzZXIuYyAg ICAgICAgICAgICAgfCAgMiArLQogZnMvZXh0NC94YXR0cl9zZWN1cml0eS5jICAgICAgICAgIHwg IDIgKy0KIGZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jICAgICAgICAgICB8ICAyICstCiBmcy9leHQ0 L3hhdHRyX3VzZXIuYyAgICAgICAgICAgICAgfCAgMiArLQogZnMvZjJmcy94YXR0ci5jICAgICAg ICAgICAgICAgICAgIHwgIDQgKystLQogZnMvZnVzZS94YXR0ci5jICAgICAgICAgICAgICAgICAg IHwgIDQgKystLQogZnMvZ2ZzMi94YXR0ci5jICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiBm cy9oZnMvYXR0ci5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZnMvaGZzcGx1cy94YXR0 ci5jICAgICAgICAgICAgICAgIHwgIDMgKystCiBmcy9oZnNwbHVzL3hhdHRyX3RydXN0ZWQuYyAg ICAgICAgfCAgMyArKy0KIGZzL2hmc3BsdXMveGF0dHJfdXNlci5jICAgICAgICAgICB8ICAzICsr LQogZnMvamZmczIvc2VjdXJpdHkuYyAgICAgICAgICAgICAgIHwgIDMgKystCiBmcy9qZmZzMi94 YXR0cl90cnVzdGVkLmMgICAgICAgICAgfCAgMyArKy0KIGZzL2pmZnMyL3hhdHRyX3VzZXIuYyAg ICAgICAgICAgICB8ICAzICsrLQogZnMvamZzL3hhdHRyLmMgICAgICAgICAgICAgICAgICAgIHwg IDUgKysrLS0KIGZzL2tlcm5mcy9pbm9kZS5jICAgICAgICAgICAgICAgICB8ICAzICsrLQogZnMv bmZzL25mczRwcm9jLmMgICAgICAgICAgICAgICAgIHwgIDYgKysrKy0tCiBmcy9vY2ZzMi94YXR0 ci5jICAgICAgICAgICAgICAgICAgfCAgOSArKysrKy0tLQogZnMvb3JhbmdlZnMveGF0dHIuYyAg ICAgICAgICAgICAgIHwgIDMgKystCiBmcy9vdmVybGF5ZnMvc3VwZXIuYyAgICAgICAgICAgICAg fCAgOCArKysrLS0tCiBmcy9wb3NpeF9hY2wuYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQog ZnMvcmVpc2VyZnMveGF0dHJfc2VjdXJpdHkuYyAgICAgIHwgIDMgKystCiBmcy9yZWlzZXJmcy94 YXR0cl90cnVzdGVkLmMgICAgICAgfCAgMyArKy0KIGZzL3JlaXNlcmZzL3hhdHRyX3VzZXIuYyAg ICAgICAgICB8ICAzICsrLQogZnMvc3F1YXNoZnMveGF0dHIuYyAgICAgICAgICAgICAgIHwgIDIg Ky0KIGZzL3hhdHRyLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDM2ICsrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0KIGZzL3hmcy94ZnNfeGF0dHIuYyAgICAgICAgICAgICAgICB8ICAz ICsrLQogaW5jbHVkZS9saW51eC94YXR0ci5oICAgICAgICAgICAgIHwgIDkgKysrKy0tLS0KIGlu Y2x1ZGUvdWFwaS9saW51eC94YXR0ci5oICAgICAgICB8ICA1ICsrKy0tCiBtbS9zaG1lbS5jICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KIG5ldC9zb2NrZXQuYyAgICAgICAgICAgICAg ICAgICAgICB8ICAzICsrLQogc2VjdXJpdHkvY29tbW9uY2FwLmMgICAgICAgICAgICAgIHwgIDYg KysrKy0tCiBzZWN1cml0eS9pbnRlZ3JpdHkvZXZtL2V2bV9tYWluLmMgfCAgMyArKy0KIHNlY3Vy aXR5L3NlbGludXgvaG9va3MuYyAgICAgICAgICB8IDExICsrKysrKy0tLS0KIHNlY3VyaXR5L3Nt YWNrL3NtYWNrX2xzbS5jICAgICAgICB8ICA1ICsrKy0tCiA0NCBmaWxlcyBjaGFuZ2VkLCAxMTkg aW5zZXJ0aW9ucygrKSwgODEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvOXAvYWNsLmMg Yi9mcy85cC9hY2wuYwppbmRleCA2MjYxNzE5ZjZmMmEuLmNiMTRlOGIzMTJiYyAxMDA2NDQKLS0t IGEvZnMvOXAvYWNsLmMKKysrIGIvZnMvOXAvYWNsLmMKQEAgLTIxNCw3ICsyMTQsOCBAQCBpbnQg djlmc19hY2xfbW9kZShzdHJ1Y3QgaW5vZGUgKmRpciwgdW1vZGVfdCAqbW9kZXAsCiAKIHN0YXRp YyBpbnQgdjlmc194YXR0cl9nZXRfYWNsKGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5k bGVyLAogCQkJICAgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2Rl LAotCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkK KwkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUsCisJ CQkgICAgICBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IHY5ZnNfc2Vzc2lvbl9pbmZvICp2OXNlczsK IAlzdHJ1Y3QgcG9zaXhfYWNsICphY2w7CmRpZmYgLS1naXQgYS9mcy85cC94YXR0ci5jIGIvZnMv OXAveGF0dHIuYwppbmRleCBhYzhmZjhjYTRjMTEuLjVjZmE3NzI0NTJmZCAxMDA2NDQKLS0tIGEv ZnMvOXAveGF0dHIuYworKysgYi9mcy85cC94YXR0ci5jCkBAIC0xMzksNyArMTM5LDggQEAgc3Np emVfdCB2OWZzX2xpc3R4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNoYXIgKmJ1ZmZlciwg c2l6ZV90IGJ1ZmZlcl9zaXplKQogCiBzdGF0aWMgaW50IHY5ZnNfeGF0dHJfaGFuZGxlcl9nZXQo Y29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkJICBzdHJ1Y3QgZGVudHJ5 ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkJICBjb25zdCBjaGFyICpuYW1lLCB2 b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQorCQkJCSAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAq YnVmZmVyLCBzaXplX3Qgc2l6ZSwKKwkJCQkgIGludCBmbGFncykKIHsKIAljb25zdCBjaGFyICpm dWxsX25hbWUgPSB4YXR0cl9mdWxsX25hbWUoaGFuZGxlciwgbmFtZSk7CiAKZGlmZiAtLWdpdCBh L2ZzL2Fmcy94YXR0ci5jIGIvZnMvYWZzL3hhdHRyLmMKaW5kZXggNTU1MmQwMzQwOTBhLi5lNjUw OWMyMWYwOGEgMTAwNjQ0Ci0tLSBhL2ZzL2Fmcy94YXR0ci5jCisrKyBiL2ZzL2Fmcy94YXR0ci5j CkBAIC0zMzQsNyArMzM0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyIGFm c194YXR0cl95ZnNfaGFuZGxlciA9IHsKIHN0YXRpYyBpbnQgYWZzX3hhdHRyX2dldF9jZWxsKGNv bnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJICAgICAgc3RydWN0IGRlbnRy eSAqZGVudHJ5LAogCQkJICAgICAgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFt ZSwKLQkJCSAgICAgIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCisJCQkgICAgICB2b2lkICpi dWZmZXIsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGFmc192bm9kZSAqdm5v ZGUgPSBBRlNfRlNfSShpbm9kZSk7CiAJc3RydWN0IGFmc19jZWxsICpjZWxsID0gdm5vZGUtPnZv bHVtZS0+Y2VsbDsKQEAgLTM2MSw3ICszNjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhhdHRy X2hhbmRsZXIgYWZzX3hhdHRyX2Fmc19jZWxsX2hhbmRsZXIgPSB7CiBzdGF0aWMgaW50IGFmc194 YXR0cl9nZXRfZmlkKGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJICAg ICBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCiAJCQkgICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNv bnN0IGNoYXIgKm5hbWUsCi0JCQkgICAgIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCisJCQkg ICAgIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgYWZz X3Zub2RlICp2bm9kZSA9IEFGU19GU19JKGlub2RlKTsKIAljaGFyIHRleHRbMTYgKyAxICsgMjQg KyAxICsgOCArIDFdOwpAQCAtMzk3LDcgKzM5Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeGF0 dHJfaGFuZGxlciBhZnNfeGF0dHJfYWZzX2ZpZF9oYW5kbGVyID0gewogc3RhdGljIGludCBhZnNf eGF0dHJfZ2V0X3ZvbHVtZShjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwKIAkJ CSAgICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKIAkJCSAgICAgIHN0cnVjdCBpbm9kZSAqaW5v ZGUsIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkgICAgICB2b2lkICpidWZmZXIsIHNpemVfdCBzaXpl KQorCQkJICAgICAgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQogewogCXN0 cnVjdCBhZnNfdm5vZGUgKnZub2RlID0gQUZTX0ZTX0koaW5vZGUpOwogCWNvbnN0IGNoYXIgKnZv bG5hbWUgPSB2bm9kZS0+dm9sdW1lLT5uYW1lOwpkaWZmIC0tZ2l0IGEvZnMvYnRyZnMveGF0dHIu YyBiL2ZzL2J0cmZzL3hhdHRyLmMKaW5kZXggOTVkOWFlYmZmMmM0Li4xZTUyMmUxNDUzNDQgMTAw NjQ0Ci0tLSBhL2ZzL2J0cmZzL3hhdHRyLmMKKysrIGIvZnMvYnRyZnMveGF0dHIuYwpAQCAtMzUz LDcgKzM1Myw4IEBAIHNzaXplX3QgYnRyZnNfbGlzdHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRy eSwgY2hhciAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKIAogc3RhdGljIGludCBidHJmc194YXR0cl9o YW5kbGVyX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwKIAkJCQkgICBz dHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkJICAgY29uc3Qg Y2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJCQkgICBjb25zdCBjaGFy ICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJCSAgIGludCBmbGFncykKIHsK IAluYW1lID0geGF0dHJfZnVsbF9uYW1lKGhhbmRsZXIsIG5hbWUpOwogCXJldHVybiBidHJmc19n ZXR4YXR0cihpbm9kZSwgbmFtZSwgYnVmZmVyLCBzaXplKTsKZGlmZiAtLWdpdCBhL2ZzL2NlcGgv eGF0dHIuYyBiL2ZzL2NlcGgveGF0dHIuYwppbmRleCAzN2I0NThhOWFmM2EuLmVkYjdlYjlhZTgz ZSAxMDA2NDQKLS0tIGEvZnMvY2VwaC94YXR0ci5jCisrKyBiL2ZzL2NlcGgveGF0dHIuYwpAQCAt MTE3MSw3ICsxMTcxLDggQEAgaW50IF9fY2VwaF9zZXR4YXR0cihzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBjb25zdCBjaGFyICpuYW1lLAogCiBzdGF0aWMgaW50IGNlcGhfZ2V0X3hhdHRyX2hhbmRsZXIo Y29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkJICBzdHJ1Y3QgZGVudHJ5 ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkJICBjb25zdCBjaGFyICpuYW1lLCB2 b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUpCisJCQkJICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICp2 YWx1ZSwgc2l6ZV90IHNpemUsCisJCQkJICBpbnQgZmxhZ3MpCiB7CiAJaWYgKCFjZXBoX2lzX3Zh bGlkX3hhdHRyKG5hbWUpKQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CmRpZmYgLS1naXQgYS9mcy9j aWZzL3hhdHRyLmMgYi9mcy9jaWZzL3hhdHRyLmMKaW5kZXggOTA3NjE1MDc1OGQ4Li43ZjcxYzA2 Y2U2MzEgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMveGF0dHIuYworKysgYi9mcy9jaWZzL3hhdHRyLmMK QEAgLTE5OSw3ICsxOTksNyBAQCBzdGF0aWMgaW50IGNpZnNfY3JlYXRpb25fdGltZV9nZXQoc3Ry dWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCiBzdGF0aWMgaW50IGNp ZnNfeGF0dHJfZ2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJICBz dHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkgIGNvbnN0IGNo YXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKKwkJCSAgY29uc3QgY2hhciAqbmFt ZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCiB7CiAJc3NpemVfdCByYyA9 IC1FT1BOT1RTVVBQOwogCXVuc2lnbmVkIGludCB4aWQ7CmRpZmYgLS1naXQgYS9mcy9lY3J5cHRm cy9pbm9kZS5jIGIvZnMvZWNyeXB0ZnMvaW5vZGUuYwppbmRleCAxODQyNmY0ODU1ZjEuLmM3MTBj NzUzMzcyOSAxMDA2NDQKLS0tIGEvZnMvZWNyeXB0ZnMvaW5vZGUuYworKysgYi9mcy9lY3J5cHRm cy9pbm9kZS5jCkBAIC0xMDE4LDcgKzEwMTgsOCBAQCBlY3J5cHRmc19nZXR4YXR0cl9sb3dlcihz dHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnksIHN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUsCiAJ CWdvdG8gb3V0OwogCX0KIAlpbm9kZV9sb2NrKGxvd2VyX2lub2RlKTsKLQlyYyA9IF9fdmZzX2dl dHhhdHRyKGxvd2VyX2RlbnRyeSwgbG93ZXJfaW5vZGUsIG5hbWUsIHZhbHVlLCBzaXplKTsKKwly YyA9IF9fdmZzX2dldHhhdHRyKGxvd2VyX2RlbnRyeSwgbG93ZXJfaW5vZGUsIG5hbWUsIHZhbHVl LCBzaXplLAorCQkJICAgIFhBVFRSX05PU0VDVVJJVFkpOwogCWlub2RlX3VubG9jayhsb3dlcl9p bm9kZSk7CiBvdXQ6CiAJcmV0dXJuIHJjOwpAQCAtMTEwMyw3ICsxMTA0LDggQEAgY29uc3Qgc3Ry dWN0IGlub2RlX29wZXJhdGlvbnMgZWNyeXB0ZnNfbWFpbl9pb3BzID0gewogCiBzdGF0aWMgaW50 IGVjcnlwdGZzX3hhdHRyX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwK IAkJCSAgICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJ CSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCisJCQkg ICAgICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJICAg ICAgaW50IGZsYWdzKQogewogCXJldHVybiBlY3J5cHRmc19nZXR4YXR0cihkZW50cnksIGlub2Rl LCBuYW1lLCBidWZmZXIsIHNpemUpOwogfQpkaWZmIC0tZ2l0IGEvZnMvZWNyeXB0ZnMvbW1hcC5j IGIvZnMvZWNyeXB0ZnMvbW1hcC5jCmluZGV4IGNmZmEwYzFlYzgyOS4uMjM2MmJlM2UzYjRkIDEw MDY0NAotLS0gYS9mcy9lY3J5cHRmcy9tbWFwLmMKKysrIGIvZnMvZWNyeXB0ZnMvbW1hcC5jCkBA IC00MjIsNyArNDIyLDcgQEAgc3RhdGljIGludCBlY3J5cHRmc193cml0ZV9pbm9kZV9zaXplX3Rv X3hhdHRyKHN0cnVjdCBpbm9kZSAqZWNyeXB0ZnNfaW5vZGUpCiAJfQogCWlub2RlX2xvY2sobG93 ZXJfaW5vZGUpOwogCXNpemUgPSBfX3Zmc19nZXR4YXR0cihsb3dlcl9kZW50cnksIGxvd2VyX2lu b2RlLCBFQ1JZUFRGU19YQVRUUl9OQU1FLAotCQkJICAgICAgeGF0dHJfdmlydCwgUEFHRV9TSVpF KTsKKwkJCSAgICAgIHhhdHRyX3ZpcnQsIFBBR0VfU0laRSwgWEFUVFJfTk9TRUNVUklUWSk7CiAJ aWYgKHNpemUgPCAwKQogCQlzaXplID0gODsKIAlwdXRfdW5hbGlnbmVkX2JlNjQoaV9zaXplX3Jl YWQoZWNyeXB0ZnNfaW5vZGUpLCB4YXR0cl92aXJ0KTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDIveGF0 dHJfdHJ1c3RlZC5jIGIvZnMvZXh0Mi94YXR0cl90cnVzdGVkLmMKaW5kZXggNDlhZGQxMTA3ODUw Li44ZDMxMzY2NGYwZmEgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDIveGF0dHJfdHJ1c3RlZC5jCisrKyBi L2ZzL2V4dDIveGF0dHJfdHJ1c3RlZC5jCkBAIC0xOCw3ICsxOCw3IEBAIGV4dDJfeGF0dHJfdHJ1 c3RlZF9saXN0KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHN0YXRpYyBpbnQKIGV4dDJfeGF0dHJf dHJ1c3RlZF9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCSAgICAg ICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCSAgICAgICBj b25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQorCQkgICAgICAgY29u c3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQogewog CXJldHVybiBleHQyX3hhdHRyX2dldChpbm9kZSwgRVhUMl9YQVRUUl9JTkRFWF9UUlVTVEVELCBu YW1lLAogCQkJICAgICAgYnVmZmVyLCBzaXplKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDIveGF0dHJf dXNlci5jIGIvZnMvZXh0Mi94YXR0cl91c2VyLmMKaW5kZXggYzI0M2EzYjRkNjlkLi43MTJiN2M5 NWNjNjQgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDIveGF0dHJfdXNlci5jCisrKyBiL2ZzL2V4dDIveGF0 dHJfdXNlci5jCkBAIC0yMCw3ICsyMCw3IEBAIGV4dDJfeGF0dHJfdXNlcl9saXN0KHN0cnVjdCBk ZW50cnkgKmRlbnRyeSkKIHN0YXRpYyBpbnQKIGV4dDJfeGF0dHJfdXNlcl9nZXQoY29uc3Qgc3Ry dWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCSAgICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQs IHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCSAgICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZm ZXIsIHNpemVfdCBzaXplKQorCQkgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBz aXplX3Qgc2l6ZSwgaW50IGZsYWdzKQogewogCWlmICghdGVzdF9vcHQoaW5vZGUtPmlfc2IsIFhB VFRSX1VTRVIpKQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CmRpZmYgLS1naXQgYS9mcy9leHQ0L3hh dHRyX3NlY3VyaXR5LmMgYi9mcy9leHQ0L3hhdHRyX3NlY3VyaXR5LmMKaW5kZXggMTk3YTlkOGEx NWVmLi41MGZiNzEzOTNmYjYgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHJfc2VjdXJpdHkuYwor KysgYi9mcy9leHQ0L3hhdHRyX3NlY3VyaXR5LmMKQEAgLTE1LDcgKzE1LDcgQEAKIHN0YXRpYyBp bnQKIGV4dDRfeGF0dHJfc2VjdXJpdHlfZ2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpo YW5kbGVyLAogCQkJc3RydWN0IGRlbnRyeSAqdW51c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAot CQkJY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJCWNvbnN0 IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGludCBmbGFncykKIHsKIAly ZXR1cm4gZXh0NF94YXR0cl9nZXQoaW5vZGUsIEVYVDRfWEFUVFJfSU5ERVhfU0VDVVJJVFksCiAJ CQkgICAgICBuYW1lLCBidWZmZXIsIHNpemUpOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0cl90 cnVzdGVkLmMgYi9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYwppbmRleCBlOTM4OWU1ZDc1YzMuLjY0 YmQ4Zjg2YzFmMSAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0cl90cnVzdGVkLmMKKysrIGIvZnMv ZXh0NC94YXR0cl90cnVzdGVkLmMKQEAgLTIyLDcgKzIyLDcgQEAgZXh0NF94YXR0cl90cnVzdGVk X2xpc3Qoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogc3RhdGljIGludAogZXh0NF94YXR0cl90cnVz dGVkX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwKIAkJICAgICAgIHN0 cnVjdCBkZW50cnkgKnVudXNlZCwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJICAgICAgIGNvbnN0 IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCisJCSAgICAgICBjb25zdCBj aGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCiB7CiAJcmV0 dXJuIGV4dDRfeGF0dHJfZ2V0KGlub2RlLCBFWFQ0X1hBVFRSX0lOREVYX1RSVVNURUQsCiAJCQkg ICAgICBuYW1lLCBidWZmZXIsIHNpemUpOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0cl91c2Vy LmMgYi9mcy9leHQ0L3hhdHRyX3VzZXIuYwppbmRleCBkNDU0NjE4NGIzNGIuLmI3MzAxMzczODIw ZSAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0cl91c2VyLmMKKysrIGIvZnMvZXh0NC94YXR0cl91 c2VyLmMKQEAgLTIxLDcgKzIxLDcgQEAgZXh0NF94YXR0cl91c2VyX2xpc3Qoc3RydWN0IGRlbnRy eSAqZGVudHJ5KQogc3RhdGljIGludAogZXh0NF94YXR0cl91c2VyX2dldChjb25zdCBzdHJ1Y3Qg eGF0dHJfaGFuZGxlciAqaGFuZGxlciwKIAkJICAgIHN0cnVjdCBkZW50cnkgKnVudXNlZCwgc3Ry dWN0IGlub2RlICppbm9kZSwKLQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwg c2l6ZV90IHNpemUpCisJCSAgICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVf dCBzaXplLCBpbnQgZmxhZ3MpCiB7CiAJaWYgKCF0ZXN0X29wdChpbm9kZS0+aV9zYiwgWEFUVFJf VVNFUikpCiAJCXJldHVybiAtRU9QTk9UU1VQUDsKZGlmZiAtLWdpdCBhL2ZzL2YyZnMveGF0dHIu YyBiL2ZzL2YyZnMveGF0dHIuYwppbmRleCBiMzJjNDU2MjE2NzkuLjc2NTU5ZGE4ZGZiYSAxMDA2 NDQKLS0tIGEvZnMvZjJmcy94YXR0ci5jCisrKyBiL2ZzL2YyZnMveGF0dHIuYwpAQCAtMjQsNyAr MjQsNyBAQAogCiBzdGF0aWMgaW50IGYyZnNfeGF0dHJfZ2VuZXJpY19nZXQoY29uc3Qgc3RydWN0 IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCXN0cnVjdCBkZW50cnkgKnVudXNlZCwgc3RydWN0 IGlub2RlICppbm9kZSwKLQkJY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qg c2l6ZSkKKwkJY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50 IGZsYWdzKQogewogCXN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSA9IEYyRlNfU0IoaW5vZGUtPmlf c2IpOwogCkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBib29sIGYyZnNfeGF0dHJfdHJ1c3RlZF9s aXN0KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIAogc3RhdGljIGludCBmMmZzX3hhdHRyX2Fkdmlz ZV9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCXN0cnVjdCBkZW50 cnkgKnVudXNlZCwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJY29uc3QgY2hhciAqbmFtZSwgdm9p ZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVy LCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQogewogCWlmIChidWZmZXIpCiAJCSooKGNoYXIgKili dWZmZXIpID0gRjJGU19JKGlub2RlKS0+aV9hZHZpc2U7CmRpZmYgLS1naXQgYS9mcy9mdXNlL3hh dHRyLmMgYi9mcy9mdXNlL3hhdHRyLmMKaW5kZXggNDMzNzE3NjQwZjc4Li5kMWVmNzgwODMwNGUg MTAwNjQ0Ci0tLSBhL2ZzL2Z1c2UveGF0dHIuYworKysgYi9mcy9mdXNlL3hhdHRyLmMKQEAgLTE3 Niw3ICsxNzYsNyBAQCBpbnQgZnVzZV9yZW1vdmV4YXR0cihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBj b25zdCBjaGFyICpuYW1lKQogCiBzdGF0aWMgaW50IGZ1c2VfeGF0dHJfZ2V0KGNvbnN0IHN0cnVj dCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3Ry dWN0IGlub2RlICppbm9kZSwKLQkJCSBjb25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwgc2l6 ZV90IHNpemUpCisJCQkgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXpl LCBpbnQgZmxhZ3MpCiB7CiAJcmV0dXJuIGZ1c2VfZ2V0eGF0dHIoaW5vZGUsIG5hbWUsIHZhbHVl LCBzaXplKTsKIH0KQEAgLTE5OSw3ICsxOTksNyBAQCBzdGF0aWMgYm9vbCBub194YXR0cl9saXN0 KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIAogc3RhdGljIGludCBub194YXR0cl9nZXQoY29uc3Qg c3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQlzdHJ1Y3QgZGVudHJ5ICpkZW50cnks IHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQljb25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwg c2l6ZV90IHNpemUpCisJCQljb25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNp emUsIGludCBmbGFncykKIHsKIAlyZXR1cm4gLUVPUE5PVFNVUFA7CiB9CmRpZmYgLS1naXQgYS9m cy9nZnMyL3hhdHRyLmMgYi9mcy9nZnMyL3hhdHRyLmMKaW5kZXggYmJlNTkzZDE2YmVhLi5hOWRi MDY3YTk5YzEgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIveGF0dHIuYworKysgYi9mcy9nZnMyL3hhdHRy LmMKQEAgLTU4OCw3ICs1ODgsOCBAQCBzdGF0aWMgaW50IF9fZ2ZzMl94YXR0cl9nZXQoc3RydWN0 IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKIAogc3RhdGljIGludCBnZnMyX3hhdHRy X2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwKIAkJCSAgc3RydWN0IGRl bnRyeSAqdW51c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJICBjb25zdCBjaGFyICpuYW1l LCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQorCQkJICBjb25zdCBjaGFyICpuYW1lLCB2b2lk ICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJICBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGdmczJf aW5vZGUgKmlwID0gR0ZTMl9JKGlub2RlKTsKIAlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgZ2g7CmRpZmYg LS1naXQgYS9mcy9oZnMvYXR0ci5jIGIvZnMvaGZzL2F0dHIuYwppbmRleCA3NGZhNjI2NDMxMzYu LjA4MjIyYTljNWQzMSAxMDA2NDQKLS0tIGEvZnMvaGZzL2F0dHIuYworKysgYi9mcy9oZnMvYXR0 ci5jCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIHNzaXplX3QgX19oZnNfZ2V0eGF0dHIoc3Ry dWN0IGlub2RlICppbm9kZSwgZW51bSBoZnNfeGF0dHJfdHlwZSB0eXBlLAogCiBzdGF0aWMgaW50 IGhmc194YXR0cl9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkg c3RydWN0IGRlbnRyeSAqdW51c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJIGNvbnN0IGNo YXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKKwkJCSBjb25zdCBjaGFyICpuYW1l LCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKIHsKIAlyZXR1cm4gX19oZnNf Z2V0eGF0dHIoaW5vZGUsIGhhbmRsZXItPmZsYWdzLCB2YWx1ZSwgc2l6ZSk7CiB9CmRpZmYgLS1n aXQgYS9mcy9oZnNwbHVzL3hhdHRyLmMgYi9mcy9oZnNwbHVzL3hhdHRyLmMKaW5kZXggYmIwYjI3 ZDg4ZTUwLi4zODFjMmFhZWRiYzggMTAwNjQ0Ci0tLSBhL2ZzL2hmc3BsdXMveGF0dHIuYworKysg Yi9mcy9oZnNwbHVzL3hhdHRyLmMKQEAgLTgzOSw3ICs4MzksOCBAQCBzdGF0aWMgaW50IGhmc3Bs dXNfcmVtb3ZleGF0dHIoc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSkKIAog c3RhdGljIGludCBoZnNwbHVzX29zeF9nZXR4YXR0cihjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxl ciAqaGFuZGxlciwKIAkJCQlzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5v ZGUsCi0JCQkJY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJ CQljb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJCWludCBm bGFncykKIHsKIAkvKgogCSAqIERvbid0IGFsbG93IHJldHJpZXZpbmcgcHJvcGVybHkgcHJlZml4 ZWQgYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvZnMvaGZzcGx1cy94YXR0cl90cnVzdGVkLmMgYi9m cy9oZnNwbHVzL3hhdHRyX3RydXN0ZWQuYwppbmRleCBmYmFkOTFlMWRhZGEuLjU0ZDkyNjMxNGY4 YyAxMDA2NDQKLS0tIGEvZnMvaGZzcGx1cy94YXR0cl90cnVzdGVkLmMKKysrIGIvZnMvaGZzcGx1 cy94YXR0cl90cnVzdGVkLmMKQEAgLTE0LDcgKzE0LDggQEAKIAogc3RhdGljIGludCBoZnNwbHVz X3RydXN0ZWRfZ2V0eGF0dHIoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJ CQkJICAgIHN0cnVjdCBkZW50cnkgKnVudXNlZCwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJCQkg ICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJCQkgICAg Y29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLAorCQkJCSAgICBzaXplX3Qgc2l6ZSwgaW50 IGZsYWdzKQogewogCXJldHVybiBoZnNwbHVzX2dldHhhdHRyKGlub2RlLCBuYW1lLCBidWZmZXIs IHNpemUsCiAJCQkJWEFUVFJfVFJVU1RFRF9QUkVGSVgsCmRpZmYgLS1naXQgYS9mcy9oZnNwbHVz L3hhdHRyX3VzZXIuYyBiL2ZzL2hmc3BsdXMveGF0dHJfdXNlci5jCmluZGV4IDc0ZDE5ZmFmMjU1 ZS4uNGQyYjFmZmZmODg3IDEwMDY0NAotLS0gYS9mcy9oZnNwbHVzL3hhdHRyX3VzZXIuYworKysg Yi9mcy9oZnNwbHVzL3hhdHRyX3VzZXIuYwpAQCAtMTQsNyArMTQsOCBAQAogCiBzdGF0aWMgaW50 IGhmc3BsdXNfdXNlcl9nZXR4YXR0cihjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxl ciwKIAkJCQkgc3RydWN0IGRlbnRyeSAqdW51c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJ CSBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQorCQkJCSBjb25z dCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJCSBpbnQgZmxhZ3Mp CiB7CiAKIAlyZXR1cm4gaGZzcGx1c19nZXR4YXR0cihpbm9kZSwgbmFtZSwgYnVmZmVyLCBzaXpl LApkaWZmIC0tZ2l0IGEvZnMvamZmczIvc2VjdXJpdHkuYyBiL2ZzL2pmZnMyL3NlY3VyaXR5LmMK aW5kZXggYzIzMzJlMzBmMjE4Li5lNmY0MmZlNDM1YWYgMTAwNjQ0Ci0tLSBhL2ZzL2pmZnMyL3Nl Y3VyaXR5LmMKKysrIGIvZnMvamZmczIvc2VjdXJpdHkuYwpAQCAtNTAsNyArNTAsOCBAQCBpbnQg amZmczJfaW5pdF9zZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaW5vZGUgKmRp ciwKIC8qIC0tLS0gWEFUVFIgSGFuZGxlciBmb3IgInNlY3VyaXR5LioiIC0tLS0tLS0tLS0tLS0t LS0tICovCiBzdGF0aWMgaW50IGpmZnMyX3NlY3VyaXR5X2dldHhhdHRyKGNvbnN0IHN0cnVjdCB4 YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJCSAgIHN0cnVjdCBkZW50cnkgKnVudXNlZCwgc3Ry dWN0IGlub2RlICppbm9kZSwKLQkJCQkgICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIs IHNpemVfdCBzaXplKQorCQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6 ZV90IHNpemUsCisJCQkJICAgaW50IGZsYWdzKQogewogCXJldHVybiBkb19qZmZzMl9nZXR4YXR0 cihpbm9kZSwgSkZGUzJfWFBSRUZJWF9TRUNVUklUWSwKIAkJCQkgbmFtZSwgYnVmZmVyLCBzaXpl KTsKZGlmZiAtLWdpdCBhL2ZzL2pmZnMyL3hhdHRyX3RydXN0ZWQuYyBiL2ZzL2pmZnMyL3hhdHRy X3RydXN0ZWQuYwppbmRleCA1ZDYwMzA4MjZjNTIuLjlkY2NhYWU1NDlmNSAxMDA2NDQKLS0tIGEv ZnMvamZmczIveGF0dHJfdHJ1c3RlZC5jCisrKyBiL2ZzL2pmZnMyL3hhdHRyX3RydXN0ZWQuYwpA QCAtMTgsNyArMTgsOCBAQAogCiBzdGF0aWMgaW50IGpmZnMyX3RydXN0ZWRfZ2V0eGF0dHIoY29u c3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkJICBzdHJ1Y3QgZGVudHJ5ICp1 bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkJICBjb25zdCBjaGFyICpuYW1lLCB2b2lk ICpidWZmZXIsIHNpemVfdCBzaXplKQorCQkJCSAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVm ZmVyLCBzaXplX3Qgc2l6ZSwKKwkJCQkgIGludCBmbGFncykKIHsKIAlyZXR1cm4gZG9famZmczJf Z2V0eGF0dHIoaW5vZGUsIEpGRlMyX1hQUkVGSVhfVFJVU1RFRCwKIAkJCQkgbmFtZSwgYnVmZmVy LCBzaXplKTsKZGlmZiAtLWdpdCBhL2ZzL2pmZnMyL3hhdHRyX3VzZXIuYyBiL2ZzL2pmZnMyL3hh dHRyX3VzZXIuYwppbmRleCA5ZDAyN2I0YWJjZjkuLmMwOTgzYTNlODEwYiAxMDA2NDQKLS0tIGEv ZnMvamZmczIveGF0dHJfdXNlci5jCisrKyBiL2ZzL2pmZnMyL3hhdHRyX3VzZXIuYwpAQCAtMTgs NyArMTgsOCBAQAogCiBzdGF0aWMgaW50IGpmZnMyX3VzZXJfZ2V0eGF0dHIoY29uc3Qgc3RydWN0 IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkgICAgICAgc3RydWN0IGRlbnRyeSAqdW51c2Vk LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQg KmJ1ZmZlciwgc2l6ZV90IHNpemUpCisJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAq YnVmZmVyLCBzaXplX3Qgc2l6ZSwKKwkJCSAgICAgICBpbnQgZmxhZ3MpCiB7CiAJcmV0dXJuIGRv X2pmZnMyX2dldHhhdHRyKGlub2RlLCBKRkZTMl9YUFJFRklYX1VTRVIsCiAJCQkJIG5hbWUsIGJ1 ZmZlciwgc2l6ZSk7CmRpZmYgLS1naXQgYS9mcy9qZnMveGF0dHIuYyBiL2ZzL2pmcy94YXR0ci5j CmluZGV4IGRiNDFlNzgwMzE2My4uNWM3OWEzNWJmNjJmIDEwMDY0NAotLS0gYS9mcy9qZnMveGF0 dHIuYworKysgYi9mcy9qZnMveGF0dHIuYwpAQCAtOTI1LDcgKzkyNSw3IEBAIHN0YXRpYyBpbnQg X19qZnNfeGF0dHJfc2V0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsCiAK IHN0YXRpYyBpbnQgamZzX3hhdHRyX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFu ZGxlciwKIAkJCSBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0J CQkgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplKQorCQkJIGNvbnN0 IGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQogewogCW5h bWUgPSB4YXR0cl9mdWxsX25hbWUoaGFuZGxlciwgbmFtZSk7CiAJcmV0dXJuIF9famZzX2dldHhh dHRyKGlub2RlLCBuYW1lLCB2YWx1ZSwgc2l6ZSk7CkBAIC05NDIsNyArOTQyLDggQEAgc3RhdGlj IGludCBqZnNfeGF0dHJfc2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAog CiBzdGF0aWMgaW50IGpmc194YXR0cl9nZXRfb3MyKGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVy ICpoYW5kbGVyLAogCQkJICAgICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAq aW5vZGUsCi0JCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6 ZSkKKwkJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLAor CQkJICAgICBpbnQgZmxhZ3MpCiB7CiAJaWYgKGlzX2tub3duX25hbWVzcGFjZShuYW1lKSkKIAkJ cmV0dXJuIC1FT1BOT1RTVVBQOwpkaWZmIC0tZ2l0IGEvZnMva2VybmZzL2lub2RlLmMgYi9mcy9r ZXJuZnMvaW5vZGUuYwppbmRleCBmM2YzOTg0Y2NlODAuLjg5ZGIyNGNlNjQ0ZSAxMDA2NDQKLS0t IGEvZnMva2VybmZzL2lub2RlLmMKKysrIGIvZnMva2VybmZzL2lub2RlLmMKQEAgLTMwOSw3ICsz MDksOCBAQCBpbnQga2VybmZzX3hhdHRyX3NldChzdHJ1Y3Qga2VybmZzX25vZGUgKmtuLCBjb25z dCBjaGFyICpuYW1lLAogCiBzdGF0aWMgaW50IGtlcm5mc192ZnNfeGF0dHJfZ2V0KGNvbnN0IHN0 cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJCXN0cnVjdCBkZW50cnkgKnVudXNlZCwg c3RydWN0IGlub2RlICppbm9kZSwKLQkJCQljb25zdCBjaGFyICpzdWZmaXgsIHZvaWQgKnZhbHVl LCBzaXplX3Qgc2l6ZSkKKwkJCQljb25zdCBjaGFyICpzdWZmaXgsIHZvaWQgKnZhbHVlLCBzaXpl X3Qgc2l6ZSwKKwkJCQlpbnQgZmxhZ3MpCiB7CiAJY29uc3QgY2hhciAqbmFtZSA9IHhhdHRyX2Z1 bGxfbmFtZShoYW5kbGVyLCBzdWZmaXgpOwogCXN0cnVjdCBrZXJuZnNfbm9kZSAqa24gPSBpbm9k ZS0+aV9wcml2YXRlOwpkaWZmIC0tZ2l0IGEvZnMvbmZzL25mczRwcm9jLmMgYi9mcy9uZnMvbmZz NHByb2MuYwppbmRleCAzOTg5NmFmYzZlZGYuLjVlNmE1ODY4NWNkMCAxMDA2NDQKLS0tIGEvZnMv bmZzL25mczRwcm9jLmMKKysrIGIvZnMvbmZzL25mczRwcm9jLmMKQEAgLTcyMDMsNyArNzIwMyw4 IEBAIHN0YXRpYyBpbnQgbmZzNF94YXR0cl9zZXRfbmZzNF9hY2woY29uc3Qgc3RydWN0IHhhdHRy X2hhbmRsZXIgKmhhbmRsZXIsCiAKIHN0YXRpYyBpbnQgbmZzNF94YXR0cl9nZXRfbmZzNF9hY2wo Y29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkJICAgc3RydWN0IGRlbnRy eSAqdW51c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJCSAgIGNvbnN0IGNoYXIgKmtleSwg dm9pZCAqYnVmLCBzaXplX3QgYnVmbGVuKQorCQkJCSAgIGNvbnN0IGNoYXIgKmtleSwgdm9pZCAq YnVmLCBzaXplX3QgYnVmbGVuLAorCQkJCSAgIGludCBmbGFncykKIHsKIAlyZXR1cm4gbmZzNF9w cm9jX2dldF9hY2woaW5vZGUsIGJ1ZiwgYnVmbGVuKTsKIH0KQEAgLTcyMjgsNyArNzIyOSw4IEBA IHN0YXRpYyBpbnQgbmZzNF94YXR0cl9zZXRfbmZzNF9sYWJlbChjb25zdCBzdHJ1Y3QgeGF0dHJf aGFuZGxlciAqaGFuZGxlciwKIAogc3RhdGljIGludCBuZnM0X3hhdHRyX2dldF9uZnM0X2xhYmVs KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJCSAgICAgc3RydWN0IGRl bnRyeSAqdW51c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJCSAgICAgY29uc3QgY2hhciAq a2V5LCB2b2lkICpidWYsIHNpemVfdCBidWZsZW4pCisJCQkJICAgICBjb25zdCBjaGFyICprZXks IHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwKKwkJCQkgICAgIGludCBmbGFncykKIHsKIAlpZiAo c2VjdXJpdHlfaXNtYWNsYWJlbChrZXkpKQogCQlyZXR1cm4gbmZzNF9nZXRfc2VjdXJpdHlfbGFi ZWwoaW5vZGUsIGJ1ZiwgYnVmbGVuKTsKZGlmZiAtLWdpdCBhL2ZzL29jZnMyL3hhdHRyLmMgYi9m cy9vY2ZzMi94YXR0ci5jCmluZGV4IDM4NWYzYWFhMjQ0OC4uMDZlNjE1NjQyNDIyIDEwMDY0NAot LS0gYS9mcy9vY2ZzMi94YXR0ci5jCisrKyBiL2ZzL29jZnMyL3hhdHRyLmMKQEAgLTcyNDUsNyAr NzI0NSw4IEBAIGludCBvY2ZzMl9pbml0X3NlY3VyaXR5X2FuZF9hY2woc3RydWN0IGlub2RlICpk aXIsCiAgKi8KIHN0YXRpYyBpbnQgb2NmczJfeGF0dHJfc2VjdXJpdHlfZ2V0KGNvbnN0IHN0cnVj dCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJCSAgICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQs IHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1 ZmZlciwgc2l6ZV90IHNpemUpCisJCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZl ciwgc2l6ZV90IHNpemUsCisJCQkJICAgIGludCBmbGFncykKIHsKIAlyZXR1cm4gb2NmczJfeGF0 dHJfZ2V0KGlub2RlLCBPQ0ZTMl9YQVRUUl9JTkRFWF9TRUNVUklUWSwKIAkJCSAgICAgICBuYW1l LCBidWZmZXIsIHNpemUpOwpAQCAtNzMxNyw3ICs3MzE4LDggQEAgY29uc3Qgc3RydWN0IHhhdHRy X2hhbmRsZXIgb2NmczJfeGF0dHJfc2VjdXJpdHlfaGFuZGxlciA9IHsKICAqLwogc3RhdGljIGlu dCBvY2ZzMl94YXR0cl90cnVzdGVkX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFu ZGxlciwKIAkJCQkgICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUs Ci0JCQkJICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJ CQkgICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJCSAg IGludCBmbGFncykKIHsKIAlyZXR1cm4gb2NmczJfeGF0dHJfZ2V0KGlub2RlLCBPQ0ZTMl9YQVRU Ul9JTkRFWF9UUlVTVEVELAogCQkJICAgICAgIG5hbWUsIGJ1ZmZlciwgc2l6ZSk7CkBAIC03MzQz LDcgKzczNDUsOCBAQCBjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciBvY2ZzMl94YXR0cl90cnVz dGVkX2hhbmRsZXIgPSB7CiAgKi8KIHN0YXRpYyBpbnQgb2NmczJfeGF0dHJfdXNlcl9nZXQoY29u c3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkJc3RydWN0IGRlbnRyeSAqdW51 c2VkLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJCWNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1 ZmZlciwgc2l6ZV90IHNpemUpCisJCQkJY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBz aXplX3Qgc2l6ZSwKKwkJCQlpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IG9jZnMyX3N1cGVyICpvc2Ig PSBPQ0ZTMl9TQihpbm9kZS0+aV9zYik7CiAKZGlmZiAtLWdpdCBhL2ZzL29yYW5nZWZzL3hhdHRy LmMgYi9mcy9vcmFuZ2Vmcy94YXR0ci5jCmluZGV4IGJkYzI4NWFlYTM2MC4uZWY0MTgwYmZmN2Ji IDEwMDY0NAotLS0gYS9mcy9vcmFuZ2Vmcy94YXR0ci5jCisrKyBiL2ZzL29yYW5nZWZzL3hhdHRy LmMKQEAgLTU0MSw3ICs1NDEsOCBAQCBzdGF0aWMgaW50IG9yYW5nZWZzX3hhdHRyX2dldF9kZWZh dWx0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJCSAgICAgIHN0cnVj dCBpbm9kZSAqaW5vZGUsCiAJCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwKIAkJCQkgICAgICB2 b2lkICpidWZmZXIsCi0JCQkJICAgICAgc2l6ZV90IHNpemUpCisJCQkJICAgICAgc2l6ZV90IHNp emUsCisJCQkJICAgICAgaW50IGZsYWdzKQogewogCXJldHVybiBvcmFuZ2Vmc19pbm9kZV9nZXR4 YXR0cihpbm9kZSwgbmFtZSwgYnVmZmVyLCBzaXplKTsKIApkaWZmIC0tZ2l0IGEvZnMvb3Zlcmxh eWZzL3N1cGVyLmMgYi9mcy9vdmVybGF5ZnMvc3VwZXIuYwppbmRleCBiMzY4ZTJlMTAyZmEuLmE3 YjIxZjJlYTJkZCAxMDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL3N1cGVyLmMKKysrIGIvZnMvb3Zl cmxheWZzL3N1cGVyLmMKQEAgLTg1NCw3ICs4NTQsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG92 bF9zcGxpdF9sb3dlcmRpcnMoY2hhciAqc3RyKQogc3RhdGljIGludCBfX21heWJlX3VudXNlZAog b3ZsX3Bvc2l4X2FjbF94YXR0cl9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRs ZXIsCiAJCQlzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQlj b25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQorCQkJY29uc3QgY2hh ciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQogewogCXJldHVy biBvdmxfeGF0dHJfZ2V0KGRlbnRyeSwgaW5vZGUsIGhhbmRsZXItPm5hbWUsIGJ1ZmZlciwgc2l6 ZSk7CiB9CkBAIC05MTksNyArOTE5LDggQEAgb3ZsX3Bvc2l4X2FjbF94YXR0cl9zZXQoY29uc3Qg c3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAKIHN0YXRpYyBpbnQgb3ZsX293bl94YXR0 cl9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCiAJCQkgICAgIHN0cnVj dCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJCSAgICAgY29uc3QgY2hh ciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJCSAgICAgY29uc3QgY2hhciAq bmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwKKwkJCSAgICAgaW50IGZsYWdzKQogewog CXJldHVybiAtRU9QTk9UU1VQUDsKIH0KQEAgLTkzNCw3ICs5MzUsOCBAQCBzdGF0aWMgaW50IG92 bF9vd25feGF0dHJfc2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCiBz dGF0aWMgaW50IG92bF9vdGhlcl94YXR0cl9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIg KmhhbmRsZXIsCiAJCQkgICAgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUg Kmlub2RlLAotCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90 IHNpemUpCisJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qg c2l6ZSwKKwkJCSAgICAgICBpbnQgZmxhZ3MpCiB7CiAJcmV0dXJuIG92bF94YXR0cl9nZXQoZGVu dHJ5LCBpbm9kZSwgbmFtZSwgYnVmZmVyLCBzaXplKTsKIH0KZGlmZiAtLWdpdCBhL2ZzL3Bvc2l4 X2FjbC5jIGIvZnMvcG9zaXhfYWNsLmMKaW5kZXggODRhZDFjOTBkNTM1Li5jZDU1NjIxZTU3MGIg MTAwNjQ0Ci0tLSBhL2ZzL3Bvc2l4X2FjbC5jCisrKyBiL2ZzL3Bvc2l4X2FjbC5jCkBAIC04MzIs NyArODMyLDcgQEAgRVhQT1JUX1NZTUJPTCAocG9zaXhfYWNsX3RvX3hhdHRyKTsKIHN0YXRpYyBp bnQKIHBvc2l4X2FjbF94YXR0cl9nZXQoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRs ZXIsCiAJCSAgICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0J CSAgICBjb25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUpCisJCSAgICBj b25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKIHsK IAlzdHJ1Y3QgcG9zaXhfYWNsICphY2w7CiAJaW50IGVycm9yOwpkaWZmIC0tZ2l0IGEvZnMvcmVp c2VyZnMveGF0dHJfc2VjdXJpdHkuYyBiL2ZzL3JlaXNlcmZzL3hhdHRyX3NlY3VyaXR5LmMKaW5k ZXggMjBiZTlhMGU1ODcwLi5lZWRmYTA3YTRmZDAgMTAwNjQ0Ci0tLSBhL2ZzL3JlaXNlcmZzL3hh dHRyX3NlY3VyaXR5LmMKKysrIGIvZnMvcmVpc2VyZnMveGF0dHJfc2VjdXJpdHkuYwpAQCAtMTEs NyArMTEsOCBAQAogCiBzdGF0aWMgaW50CiBzZWN1cml0eV9nZXQoY29uc3Qgc3RydWN0IHhhdHRy X2hhbmRsZXIgKmhhbmRsZXIsIHN0cnVjdCBkZW50cnkgKnVudXNlZCwKLQkgICAgIHN0cnVjdCBp bm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUp CisJICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZm ZXIsIHNpemVfdCBzaXplLAorCSAgICAgaW50IGZsYWdzKQogewogCWlmIChJU19QUklWQVRFKGlu b2RlKSkKIAkJcmV0dXJuIC1FUEVSTTsKZGlmZiAtLWdpdCBhL2ZzL3JlaXNlcmZzL3hhdHRyX3Ry dXN0ZWQuYyBiL2ZzL3JlaXNlcmZzL3hhdHRyX3RydXN0ZWQuYwppbmRleCA1ZWQ0OGRhM2QwMmIu LjJkMTFkOTg2MDVkZCAxMDA2NDQKLS0tIGEvZnMvcmVpc2VyZnMveGF0dHJfdHJ1c3RlZC5jCisr KyBiL2ZzL3JlaXNlcmZzL3hhdHRyX3RydXN0ZWQuYwpAQCAtMTAsNyArMTAsOCBAQAogCiBzdGF0 aWMgaW50CiB0cnVzdGVkX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwg c3RydWN0IGRlbnRyeSAqdW51c2VkLAotCSAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBj aGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQorCSAgICBzdHJ1Y3QgaW5vZGUg Kmlub2RlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCSAg ICBpbnQgZmxhZ3MpCiB7CiAJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pIHx8IElTX1BSSVZB VEUoaW5vZGUpKQogCQlyZXR1cm4gLUVQRVJNOwpkaWZmIC0tZ2l0IGEvZnMvcmVpc2VyZnMveGF0 dHJfdXNlci5jIGIvZnMvcmVpc2VyZnMveGF0dHJfdXNlci5jCmluZGV4IGE1NzNjYTQ1YmFjYy4u MmE1OWQ4NWM2OWM5IDEwMDY0NAotLS0gYS9mcy9yZWlzZXJmcy94YXR0cl91c2VyLmMKKysrIGIv ZnMvcmVpc2VyZnMveGF0dHJfdXNlci5jCkBAIC05LDcgKzksOCBAQAogCiBzdGF0aWMgaW50CiB1 c2VyX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwgc3RydWN0IGRlbnRy eSAqdW51c2VkLAotCSBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lk ICpidWZmZXIsIHNpemVfdCBzaXplKQorCSBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFy ICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCSBpbnQgZmxhZ3MpCiB7CiAJaWYg KCFyZWlzZXJmc194YXR0cnNfdXNlcihpbm9kZS0+aV9zYikpCiAJCXJldHVybiAtRU9QTk9UU1VQ UDsKZGlmZiAtLWdpdCBhL2ZzL3NxdWFzaGZzL3hhdHRyLmMgYi9mcy9zcXVhc2hmcy94YXR0ci5j CmluZGV4IGUxZTNmM2RkNWEwNi4uZDhkNThjOTkwNjUyIDEwMDY0NAotLS0gYS9mcy9zcXVhc2hm cy94YXR0ci5jCisrKyBiL2ZzL3NxdWFzaGZzL3hhdHRyLmMKQEAgLTIwNCw3ICsyMDQsNyBAQCBz dGF0aWMgaW50IHNxdWFzaGZzX3hhdHRyX2hhbmRsZXJfZ2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9o YW5kbGVyICpoYW5kbGVyLAogCQkJCSAgICAgIHN0cnVjdCBkZW50cnkgKnVudXNlZCwKIAkJCQkg ICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsCi0J CQkJICAgICAgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJCQkgICAgICB2b2lkICpidWZm ZXIsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCiB7CiAJcmV0dXJuIHNxdWFzaGZzX3hhdHRyX2dl dChpbm9kZSwgaGFuZGxlci0+ZmxhZ3MsIG5hbWUsCiAJCWJ1ZmZlciwgc2l6ZSk7CmRpZmYgLS1n aXQgYS9mcy94YXR0ci5jIGIvZnMveGF0dHIuYwppbmRleCA5MGRkNzhmMGViMjcuLjcxZjg4NzUx OGQ2ZiAxMDA2NDQKLS0tIGEvZnMveGF0dHIuYworKysgYi9mcy94YXR0ci5jCkBAIC0yODEsNyAr MjgxLDcgQEAgdmZzX2dldHhhdHRyX2FsbG9jKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3Qg Y2hhciAqbmFtZSwgY2hhciAqKnhhdHRyX3ZhbHVlLAogCQlyZXR1cm4gUFRSX0VSUihoYW5kbGVy KTsKIAlpZiAoIWhhbmRsZXItPmdldCkKIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwotCWVycm9yID0g aGFuZGxlci0+Z2V0KGhhbmRsZXIsIGRlbnRyeSwgaW5vZGUsIG5hbWUsIE5VTEwsIDApOworCWVy cm9yID0gaGFuZGxlci0+Z2V0KGhhbmRsZXIsIGRlbnRyeSwgaW5vZGUsIG5hbWUsIE5VTEwsIDAs IDApOwogCWlmIChlcnJvciA8IDApCiAJCXJldHVybiBlcnJvcjsKIApAQCAtMjkyLDMyICsyOTIs MjAgQEAgdmZzX2dldHhhdHRyX2FsbG9jKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hh ciAqbmFtZSwgY2hhciAqKnhhdHRyX3ZhbHVlLAogCQltZW1zZXQodmFsdWUsIDAsIGVycm9yICsg MSk7CiAJfQogCi0JZXJyb3IgPSBoYW5kbGVyLT5nZXQoaGFuZGxlciwgZGVudHJ5LCBpbm9kZSwg bmFtZSwgdmFsdWUsIGVycm9yKTsKKwllcnJvciA9IGhhbmRsZXItPmdldChoYW5kbGVyLCBkZW50 cnksIGlub2RlLCBuYW1lLCB2YWx1ZSwgZXJyb3IsIDApOwogCSp4YXR0cl92YWx1ZSA9IHZhbHVl OwogCXJldHVybiBlcnJvcjsKIH0KIAogc3NpemVfdAogX192ZnNfZ2V0eGF0dHIoc3RydWN0IGRl bnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLAotCSAg ICAgICB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUpCisJICAgICAgIHZvaWQgKnZhbHVlLCBzaXpl X3Qgc2l6ZSwgaW50IGZsYWdzKQogewogCWNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5k bGVyOwotCi0JaGFuZGxlciA9IHhhdHRyX3Jlc29sdmVfbmFtZShpbm9kZSwgJm5hbWUpOwotCWlm IChJU19FUlIoaGFuZGxlcikpCi0JCXJldHVybiBQVFJfRVJSKGhhbmRsZXIpOwotCWlmICghaGFu ZGxlci0+Z2V0KQotCQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci0JcmV0dXJuIGhhbmRsZXItPmdldCho YW5kbGVyLCBkZW50cnksIGlub2RlLCBuYW1lLCB2YWx1ZSwgc2l6ZSk7Ci19Ci1FWFBPUlRfU1lN Qk9MKF9fdmZzX2dldHhhdHRyKTsKLQotc3NpemVfdAotdmZzX2dldHhhdHRyKHN0cnVjdCBkZW50 cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplKQot ewotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CiAJaW50IGVycm9yOwog CisJaWYgKGZsYWdzICYgWEFUVFJfTk9TRUNVUklUWSkKKwkJZ290byBub2xzbTsKIAllcnJvciA9 IHhhdHRyX3Blcm1pc3Npb24oaW5vZGUsIG5hbWUsIE1BWV9SRUFEKTsKIAlpZiAoZXJyb3IpCiAJ CXJldHVybiBlcnJvcjsKQEAgLTMzOSw3ICszMjcsMTkgQEAgdmZzX2dldHhhdHRyKHN0cnVjdCBk ZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXpl KQogCQlyZXR1cm4gcmV0OwogCX0KIG5vbHNtOgotCXJldHVybiBfX3Zmc19nZXR4YXR0cihkZW50 cnksIGlub2RlLCBuYW1lLCB2YWx1ZSwgc2l6ZSk7CisJaGFuZGxlciA9IHhhdHRyX3Jlc29sdmVf bmFtZShpbm9kZSwgJm5hbWUpOworCWlmIChJU19FUlIoaGFuZGxlcikpCisJCXJldHVybiBQVFJf RVJSKGhhbmRsZXIpOworCWlmICghaGFuZGxlci0+Z2V0KQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7 CisJcmV0dXJuIGhhbmRsZXItPmdldChoYW5kbGVyLCBkZW50cnksIGlub2RlLCBuYW1lLCB2YWx1 ZSwgc2l6ZSwgZmxhZ3MpOworfQorRVhQT1JUX1NZTUJPTChfX3Zmc19nZXR4YXR0cik7CisKK3Nz aXplX3QKK3Zmc19nZXR4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5h bWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKK3sKKwlyZXR1cm4gX192ZnNfZ2V0eGF0dHIo ZGVudHJ5LCBkZW50cnktPmRfaW5vZGUsIG5hbWUsIHZhbHVlLCBzaXplLCAwKTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKHZmc19nZXR4YXR0cik7CiAKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfeGF0 dHIuYyBiL2ZzL3hmcy94ZnNfeGF0dHIuYwppbmRleCAzMTIzYjVhYWFkMmEuLmNhZmM5OWM0OGUy MCAxMDA2NDQKLS0tIGEvZnMveGZzL3hmc194YXR0ci5jCisrKyBiL2ZzL3hmcy94ZnNfeGF0dHIu YwpAQCAtMTgsNyArMTgsOCBAQAogCiBzdGF0aWMgaW50CiB4ZnNfeGF0dHJfZ2V0KGNvbnN0IHN0 cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLCBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsCi0JCXN0 cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qg c2l6ZSkKKwkJc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdmFs dWUsIHNpemVfdCBzaXplLAorCQlpbnQgZmxhZ3MpCiB7CiAJaW50IHhmbGFncyA9IGhhbmRsZXIt PmZsYWdzOwogCXN0cnVjdCB4ZnNfaW5vZGUgKmlwID0gWEZTX0koaW5vZGUpOwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9saW51eC94YXR0ci5oIGIvaW5jbHVkZS9saW51eC94YXR0ci5oCmluZGV4IDZk YWQwMzFiZTNjMi4uZTVjMTkxYjMwODE4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3hhdHRy LmgKKysrIGIvaW5jbHVkZS9saW51eC94YXR0ci5oCkBAIC0zMCwxMCArMzAsMTAgQEAgc3RydWN0 IHhhdHRyX2hhbmRsZXIgewogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlpbnQgZmxhZ3M7ICAgICAg LyogZnMgcHJpdmF0ZSBmbGFncyAqLwogCWJvb2wgKCpsaXN0KShzdHJ1Y3QgZGVudHJ5ICpkZW50 cnkpOwotCWludCAoKmdldCkoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKiwgc3RydWN0IGRl bnRyeSAqZGVudHJ5LAorCWludCAoKmdldCkoY29uc3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhh bmRsZXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKIAkJICAgc3RydWN0IGlub2RlICppbm9kZSwg Y29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLAotCQkgICBzaXplX3Qgc2l6ZSk7Ci0JaW50 ICgqc2V0KShjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqLCBzdHJ1Y3QgZGVudHJ5ICpkZW50 cnksCisJCSAgIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpOworCWludCAoKnNldCkoY29uc3Qgc3Ry dWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKIAkJICAg c3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9pZCAqYnVmZmVy LAogCQkgICBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKTsKIH07CkBAIC00Niw3ICs0Niw4IEBAIHN0 cnVjdCB4YXR0ciB7CiAJc2l6ZV90IHZhbHVlX2xlbjsKIH07CiAKLXNzaXplX3QgX192ZnNfZ2V0 eGF0dHIoc3RydWN0IGRlbnRyeSAqLCBzdHJ1Y3QgaW5vZGUgKiwgY29uc3QgY2hhciAqLCB2b2lk ICosIHNpemVfdCk7Citzc2l6ZV90IF9fdmZzX2dldHhhdHRyKHN0cnVjdCBkZW50cnkgKiwgc3Ry dWN0IGlub2RlICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqLAorCQkgICAgICAgc2l6ZV90LCBpbnQp Owogc3NpemVfdCB2ZnNfZ2V0eGF0dHIoc3RydWN0IGRlbnRyeSAqLCBjb25zdCBjaGFyICosIHZv aWQgKiwgc2l6ZV90KTsKIHNzaXplX3QgdmZzX2xpc3R4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkLCBj aGFyICpsaXN0LCBzaXplX3Qgc2l6ZSk7CiBpbnQgX192ZnNfc2V0eGF0dHIoc3RydWN0IGRlbnRy eSAqLCBzdHJ1Y3QgaW5vZGUgKiwgY29uc3QgY2hhciAqLCBjb25zdCB2b2lkICosIHNpemVfdCwg aW50KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC94YXR0ci5oIGIvaW5jbHVkZS91 YXBpL2xpbnV4L3hhdHRyLmgKaW5kZXggYzEzOTViNWJkNDMyLi4xMjE2ZDc3N2QyMTAgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC94YXR0ci5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51 eC94YXR0ci5oCkBAIC0xNyw4ICsxNyw5IEBACiAjaWYgX19VQVBJX0RFRl9YQVRUUgogI2RlZmlu ZSBfX1VTRV9LRVJORUxfWEFUVFJfREVGUwogCi0jZGVmaW5lIFhBVFRSX0NSRUFURQkweDEJLyog c2V0IHZhbHVlLCBmYWlsIGlmIGF0dHIgYWxyZWFkeSBleGlzdHMgKi8KLSNkZWZpbmUgWEFUVFJf UkVQTEFDRQkweDIJLyogc2V0IHZhbHVlLCBmYWlsIGlmIGF0dHIgZG9lcyBub3QgZXhpc3QgKi8K KyNkZWZpbmUgWEFUVFJfQ1JFQVRFCSAweDEJLyogc2V0IHZhbHVlLCBmYWlsIGlmIGF0dHIgYWxy ZWFkeSBleGlzdHMgKi8KKyNkZWZpbmUgWEFUVFJfUkVQTEFDRQkgMHgyCS8qIHNldCB2YWx1ZSwg ZmFpbCBpZiBhdHRyIGRvZXMgbm90IGV4aXN0ICovCisjZGVmaW5lIFhBVFRSX05PU0VDVVJJVFkg MHg0CS8qIGdldCB2YWx1ZSwgZG8gbm90IGludm9sdmUgc2VjdXJpdHkgY2hlY2sgKi8KICNlbmRp ZgogCiAvKiBOYW1lc3BhY2VzICovCmRpZmYgLS1naXQgYS9tbS9zaG1lbS5jIGIvbW0vc2htZW0u YwppbmRleCA2MjZkOGM3NGI5NzMuLjM0ZDM4MThiNDQyNCAxMDA2NDQKLS0tIGEvbW0vc2htZW0u YworKysgYi9tbS9zaG1lbS5jCkBAIC0zMjA2LDcgKzMyMDYsOCBAQCBzdGF0aWMgaW50IHNobWVt X2luaXR4YXR0cnMoc3RydWN0IGlub2RlICppbm9kZSwKIAogc3RhdGljIGludCBzaG1lbV94YXR0 cl9oYW5kbGVyX2dldChjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFuZGxlciwKIAkJCQkg ICBzdHJ1Y3QgZGVudHJ5ICp1bnVzZWQsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkJICAgY29u c3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKKwkJCQkgICBjb25zdCBj aGFyICpuYW1lLCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLAorCQkJCSAgIGludCBmbGFncykK IHsKIAlzdHJ1Y3Qgc2htZW1faW5vZGVfaW5mbyAqaW5mbyA9IFNITUVNX0koaW5vZGUpOwogCmRp ZmYgLS1naXQgYS9uZXQvc29ja2V0LmMgYi9uZXQvc29ja2V0LmMKaW5kZXggNmE5YWI3YThiMWQy Li42YjBmZWE5MmRkMDIgMTAwNjQ0Ci0tLSBhL25ldC9zb2NrZXQuYworKysgYi9uZXQvc29ja2V0 LmMKQEAgLTMwMCw3ICszMDAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRlbnRyeV9vcGVyYXRp b25zIHNvY2tmc19kZW50cnlfb3BlcmF0aW9ucyA9IHsKIAogc3RhdGljIGludCBzb2NrZnNfeGF0 dHJfZ2V0KGNvbnN0IHN0cnVjdCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLAogCQkJICAgIHN0cnVj dCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJCSAgICBjb25zdCBjaGFy ICpzdWZmaXgsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKKwkJCSAgICBjb25zdCBjaGFyICpz dWZmaXgsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKKwkJCSAgICBpbnQgZmxhZ3MpCiB7CiAJ aWYgKHZhbHVlKSB7CiAJCWlmIChkZW50cnktPmRfbmFtZS5sZW4gKyAxID4gc2l6ZSkKZGlmZiAt LWdpdCBhL3NlY3VyaXR5L2NvbW1vbmNhcC5jIGIvc2VjdXJpdHkvY29tbW9uY2FwLmMKaW5kZXgg ZjRlZTBhZTEwNmIyLi4zNzhhMmY2NmE3M2QgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2NvbW1vbmNh cC5jCisrKyBiL3NlY3VyaXR5L2NvbW1vbmNhcC5jCkBAIC0yOTcsNyArMjk3LDggQEAgaW50IGNh cF9pbm9kZV9uZWVkX2tpbGxwcml2KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIAlzdHJ1Y3QgaW5v ZGUgKmlub2RlID0gZF9iYWNraW5nX2lub2RlKGRlbnRyeSk7CiAJaW50IGVycm9yOwogCi0JZXJy b3IgPSBfX3Zmc19nZXR4YXR0cihkZW50cnksIGlub2RlLCBYQVRUUl9OQU1FX0NBUFMsIE5VTEws IDApOworCWVycm9yID0gX192ZnNfZ2V0eGF0dHIoZGVudHJ5LCBpbm9kZSwgWEFUVFJfTkFNRV9D QVBTLCBOVUxMLCAwLAorCQkJICAgICAgIFhBVFRSX05PU0VDVVJJVFkpOwogCXJldHVybiBlcnJv ciA+IDA7CiB9CiAKQEAgLTU4Niw3ICs1ODcsOCBAQCBpbnQgZ2V0X3Zmc19jYXBzX2Zyb21fZGlz ayhjb25zdCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBjcHVfdmZzX2NhcF9kYXRhCiAK IAlmc19ucyA9IGlub2RlLT5pX3NiLT5zX3VzZXJfbnM7CiAJc2l6ZSA9IF9fdmZzX2dldHhhdHRy KChzdHJ1Y3QgZGVudHJ5ICopZGVudHJ5LCBpbm9kZSwKLQkJCSAgICAgIFhBVFRSX05BTUVfQ0FQ UywgJmRhdGEsIFhBVFRSX0NBUFNfU1opOworCQkJICAgICAgWEFUVFJfTkFNRV9DQVBTLCAmZGF0 YSwgWEFUVFJfQ0FQU19TWiwKKwkJCSAgICAgIFhBVFRSX05PU0VDVVJJVFkpOwogCWlmIChzaXpl ID09IC1FTk9EQVRBIHx8IHNpemUgPT0gLUVPUE5PVFNVUFApCiAJCS8qIG5vIGRhdGEsIHRoYXQn cyBvayAqLwogCQlyZXR1cm4gLUVOT0RBVEE7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9pbnRlZ3Jp dHkvZXZtL2V2bV9tYWluLmMgYi9zZWN1cml0eS9pbnRlZ3JpdHkvZXZtL2V2bV9tYWluLmMKaW5k ZXggZjlhODFiMTg3ZmFlLi45MjFjOGYyYWZjYWYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2ludGVn cml0eS9ldm0vZXZtX21haW4uYworKysgYi9zZWN1cml0eS9pbnRlZ3JpdHkvZXZtL2V2bV9tYWlu LmMKQEAgLTEwMCw3ICsxMDAsOCBAQCBzdGF0aWMgaW50IGV2bV9maW5kX3Byb3RlY3RlZF94YXR0 cnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAKIAlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3JjdSh4YXR0ciwgJmV2bV9jb25maWdfeGF0dHJuYW1lcywgbGlzdCkg ewotCQllcnJvciA9IF9fdmZzX2dldHhhdHRyKGRlbnRyeSwgaW5vZGUsIHhhdHRyLT5uYW1lLCBO VUxMLCAwKTsKKwkJZXJyb3IgPSBfX3Zmc19nZXR4YXR0cihkZW50cnksIGlub2RlLCB4YXR0ci0+ bmFtZSwgTlVMTCwgMCwKKwkJCQkgICAgICAgWEFUVFJfTk9TRUNVUklUWSk7CiAJCWlmIChlcnJv ciA8IDApIHsKIAkJCWlmIChlcnJvciA9PSAtRU5PREFUQSkKIAkJCQljb250aW51ZTsKZGlmZiAt LWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYyBiL3NlY3VyaXR5L3NlbGludXgvaG9va3Mu YwppbmRleCA3NGRkNDZkZTAxYjYuLmIwODIyZGEwNjU4ZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkv c2VsaW51eC9ob29rcy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYwpAQCAtNTUyLDcg KzU1Miw4IEBAIHN0YXRpYyBpbnQgc2JfZmluaXNoX3NldF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9j ayAqc2IpCiAJCQlnb3RvIG91dDsKIAkJfQogCi0JCXJjID0gX192ZnNfZ2V0eGF0dHIocm9vdCwg cm9vdF9pbm9kZSwgWEFUVFJfTkFNRV9TRUxJTlVYLCBOVUxMLCAwKTsKKwkJcmMgPSBfX3Zmc19n ZXR4YXR0cihyb290LCByb290X2lub2RlLCBYQVRUUl9OQU1FX1NFTElOVVgsIE5VTEwsCisJCQkJ ICAgIDAsIFhBVFRSX05PU0VDVVJJVFkpOwogCQlpZiAocmMgPCAwICYmIHJjICE9IC1FTk9EQVRB KSB7CiAJCQlpZiAocmMgPT0gLUVPUE5PVFNVUFApCiAJCQkJcHJfd2FybigiU0VMaW51eDogKGRl diAlcywgdHlwZSAiCkBAIC0xMzc4LDEyICsxMzc5LDE0IEBAIHN0YXRpYyBpbnQgaW5vZGVfZG9p bml0X3VzZV94YXR0cihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnks CiAJCXJldHVybiAtRU5PTUVNOwogCiAJY29udGV4dFtsZW5dID0gJ1wwJzsKLQlyYyA9IF9fdmZz X2dldHhhdHRyKGRlbnRyeSwgaW5vZGUsIFhBVFRSX05BTUVfU0VMSU5VWCwgY29udGV4dCwgbGVu KTsKKwlyYyA9IF9fdmZzX2dldHhhdHRyKGRlbnRyeSwgaW5vZGUsIFhBVFRSX05BTUVfU0VMSU5V WCwgY29udGV4dCwgbGVuLAorCQkJICAgIFhBVFRSX05PU0VDVVJJVFkpOwogCWlmIChyYyA9PSAt RVJBTkdFKSB7CiAJCWtmcmVlKGNvbnRleHQpOwogCiAJCS8qIE5lZWQgYSBsYXJnZXIgYnVmZmVy LiAgUXVlcnkgZm9yIHRoZSByaWdodCBzaXplLiAqLwotCQlyYyA9IF9fdmZzX2dldHhhdHRyKGRl bnRyeSwgaW5vZGUsIFhBVFRSX05BTUVfU0VMSU5VWCwgTlVMTCwgMCk7CisJCXJjID0gX192ZnNf Z2V0eGF0dHIoZGVudHJ5LCBpbm9kZSwgWEFUVFJfTkFNRV9TRUxJTlVYLCBOVUxMLCAwLAorCQkJ CSAgICBYQVRUUl9OT1NFQ1VSSVRZKTsKIAkJaWYgKHJjIDwgMCkKIAkJCXJldHVybiByYzsKIApA QCAtMTM5NCw3ICsxMzk3LDcgQEAgc3RhdGljIGludCBpbm9kZV9kb2luaXRfdXNlX3hhdHRyKHN0 cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKIAogCQljb250ZXh0W2xl bl0gPSAnXDAnOwogCQlyYyA9IF9fdmZzX2dldHhhdHRyKGRlbnRyeSwgaW5vZGUsIFhBVFRSX05B TUVfU0VMSU5VWCwKLQkJCQkgICAgY29udGV4dCwgbGVuKTsKKwkJCQkgICAgY29udGV4dCwgbGVu LCBYQVRUUl9OT1NFQ1VSSVRZKTsKIAl9CiAJaWYgKHJjIDwgMCkgewogCQlrZnJlZShjb250ZXh0 KTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jIGIvc2VjdXJpdHkvc21h Y2svc21hY2tfbHNtLmMKaW5kZXggNGM1ZTVhNDM4ZjhiLi4xNThiMzU3NzJiZTEgMTAwNjQ0Ci0t LSBhL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCisrKyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNr X2xzbS5jCkBAIC0yOTIsNyArMjkyLDggQEAgc3RhdGljIHN0cnVjdCBzbWFja19rbm93biAqc21r X2ZldGNoKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBpbm9kZSAqaXAsCiAJaWYgKGJ1ZmZlciA9 PSBOVUxMKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJjID0gX192ZnNfZ2V0eGF0 dHIoZHAsIGlwLCBuYW1lLCBidWZmZXIsIFNNS19MT05HTEFCRUwpOworCXJjID0gX192ZnNfZ2V0 eGF0dHIoZHAsIGlwLCBuYW1lLCBidWZmZXIsIFNNS19MT05HTEFCRUwsCisJCQkgICAgWEFUVFJf Tk9TRUNVUklUWSk7CiAJaWYgKHJjIDwgMCkKIAkJc2twID0gRVJSX1BUUihyYyk7CiAJZWxzZSBp ZiAocmMgPT0gMCkKQEAgLTM0NDIsNyArMzQ0Myw3IEBAIHN0YXRpYyB2b2lkIHNtYWNrX2RfaW5z dGFudGlhdGUoc3RydWN0IGRlbnRyeSAqb3B0X2RlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSkK IAkJCX0gZWxzZSB7CiAJCQkJcmMgPSBfX3Zmc19nZXR4YXR0cihkcCwgaW5vZGUsCiAJCQkJCVhB VFRSX05BTUVfU01BQ0tUUkFOU01VVEUsIHRyYXR0ciwKLQkJCQkJVFJBTlNfVFJVRV9TSVpFKTsK KwkJCQkJVFJBTlNfVFJVRV9TSVpFLCBYQVRUUl9OT1NFQ1VSSVRZKTsKIAkJCQlpZiAocmMgPj0g MCAmJiBzdHJuY21wKHRyYXR0ciwgVFJBTlNfVFJVRSwKIAkJCQkJCSAgICAgICBUUkFOU19UUlVF X1NJWkUpICE9IDApCiAJCQkJCXJjID0gLUVJTlZBTDsKLS0gCjIuMjIuMC43NzAuZzBmMmM0YTM3 ZmQtZ29vZwoK