[PATCH v13 2/5] Add flags option to get xattr method paired to __vfs_getxattr

Mark Salyzyn via Jfs-discussion <[email protected]> Wed, 31 Jul 2019 09:57:57 -0700
Newsgroups gmane.comp.file-systems.jfs.general
Message-ID <20190731165803.4755-3-salyzyn__43455.2773296431$1564595215$gmane$org@android.com>
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
ZmQtZ29vZwoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpKZnMtZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKSmZzLWRpc2N1c3Npb25AbGlzdHMuc291cmNl
Zm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2pm
cy1kaXNjdXNzaW9uCg==