[PATCH v13 5/5] overlayfs: override_creds=off option bypass creator_cred

Mark Salyzyn via Jfs-discussion <[email protected]> Wed, 31 Jul 2019 09:58:00 -0700
Newsgroups gmane.comp.file-systems.jfs.general
Message-ID <20190731165803.4755-6-salyzyn__26853.3899959706$1564595216$gmane$org@android.com>
QnkgZGVmYXVsdCwgYWxsIGFjY2VzcyB0byB0aGUgdXBwZXIsIGxvd2VyIGFuZCB3b3JrIGRpcmVj
dG9yaWVzIGlzIHRoZQpyZWNvcmRlZCBtb3VudGVyJ3MgTUFDIGFuZCBEQUMgY3JlZGVudGlhbHMu
ICBUaGUgaW5jb21pbmcgYWNjZXNzZXMgYXJlCmNoZWNrZWQgYWdhaW5zdCB0aGUgY2FsbGVyJ3Mg
Y3JlZGVudGlhbHMuCgpJZiB0aGUgcHJpbmNpcGxlcyBvZiBsZWFzdCBwcml2aWxlZ2UgYXJlIGFw
cGxpZWQsIHRoZSBtb3VudGVyJ3MKY3JlZGVudGlhbHMgbWlnaHQgbm90IG92ZXJsYXAgdGhlIGNy
ZWRlbnRpYWxzIG9mIHRoZSBjYWxsZXIncyB3aGVuCmFjY2Vzc2luZyB0aGUgb3ZlcmxheWZzIGZp
bGVzeXN0ZW0uICBGb3IgZXhhbXBsZSwgYSBmaWxlIHRoYXQgYSBsb3dlcgpEQUMgcHJpdmlsZWdl
ZCBjYWxsZXIgY2FuIGV4ZWN1dGUsIGlzIE1BQyBkZW5pZWQgdG8gdGhlIGdlbmVyYWxseQpoaWdo
ZXIgREFDIHByaXZpbGVnZWQgbW91bnRlciwgdG8gcHJldmVudCBhbiBhdHRhY2sgdmVjdG9yLgoK
V2UgYWRkIHRoZSBvcHRpb24gdG8gdHVybiBvZmYgb3ZlcnJpZGVfY3JlZHMgaW4gdGhlIG1vdW50
IG9wdGlvbnM7IGFsbApzdWJzZXF1ZW50IG9wZXJhdGlvbnMgYWZ0ZXIgbW91bnQgb24gdGhlIGZp
bGVzeXN0ZW0gd2lsbCBiZSBvbmx5IHRoZQpjYWxsZXIncyBjcmVkZW50aWFscy4gIFRoZSBtb2R1
bGUgYm9vbGVhbiBwYXJhbWV0ZXIgYW5kIG1vdW50IG9wdGlvbgpvdmVycmlkZV9jcmVkcyBpcyBh
bHNvIGFkZGVkIGFzIGEgcHJlc2VuY2UgY2hlY2sgZm9yIHRoaXMgImZlYXR1cmUiLApleGlzdGVu
Y2Ugb2YgL3N5cy9tb2R1bGUvb3ZlcmxheS9wYXJhbWV0ZXJzL292ZXJyaWRlX2NyZWRzLgoKSXQg
d2FzIG5vdCBhbHdheXMgdGhpcyB3YXkuICBDaXJjYSA0LjYgdGhlcmUgd2FzIG5vIHJlY29yZGVk
IG1vdW50ZXIncwpjcmVkZW50aWFscywgaW5zdGVhZCBwcml2aWxlZ2VkIGFjY2VzcyB0byB1cHBl
ciBvciB3b3JrIGRpcmVjdG9yaWVzCndlcmUgdGVtcG9yYXJpbHkgaW5jcmVhc2VkIHRvIHBlcmZv
cm0gdGhlIG9wZXJhdGlvbnMuICBUaGUgTUFDCihzZWxpbnV4KSBwb2xpY2llcyB3ZXJlIGNhbGxl
cidzIGluIGFsbCBjYXNlcy4gIG92ZXJyaWRlX2NyZWRzPW9mZgpwYXJ0aWFsbHkgcmV0dXJucyB1
cyB0byB0aGlzIG9sZGVyIGFjY2VzcyBtb2RlbCBtaW51cyB0aGUgaW5zZWN1cmUKdGVtcG9yYXJ5
IGNyZWRlbnRpYWwgaW5jcmVhc2VzLiAgVGhpcyBpcyB0byBwZXJtaXQgdXNlIGluIGEgc3lzdGVt
CndpdGggbm9uLW92ZXJsYXBwaW5nIHNlY3VyaXR5IG1vZGVscyBmb3IgZWFjaCBleGVjdXRhYmxl
IGluY2x1ZGluZwp0aGUgYWdlbnQgdGhhdCBtb3VudHMgdGhlIG92ZXJsYXlmcyBmaWxlc3lzdGVt
LiAgSW4gQW5kcm9pZAp0aGlzIGlzIHRoZSBjYXNlIHNpbmNlIGluaXQsIHdoaWNoIHBlcmZvcm1z
IHRoZSBtb3VudCBvcGVyYXRpb25zLApoYXMgYSBtaW5pbWFsIE1BQyBzZXQgb2YgcHJpdmlsZWdl
cyB0byByZWR1Y2UgYW55IGF0dGFjayBzdXJmYWNlLAphbmQgc2VydmljZXMgdGhhdCB1c2UgdGhl
IGNvbnRlbnQgaGF2ZSBhIGRpZmZlcmVudCBzZXQgb2YgTUFDCnByaXZpbGVnZXMgKGVnOiByZWFk
LCBmb3IgdmVuZG9yIGxhYmVsbGVkIGNvbmZpZ3VyYXRpb24sIGV4ZWN1dGUgZm9yCnZlbmRvciBs
aWJyYXJpZXMgYW5kIG1vZHVsZXMpLiAgVGhlIGNhdmVhdHMgYXJlIG5vdCBhIHByb2JsZW0gaW4K
dGhlIEFuZHJvaWQgdXNhZ2UgbW9kZWwsIGhvd2V2ZXIgdGhleSBzaG91bGQgYmUgZml4ZWQgZm9y
CmNvbXBsZXRlbmVzcyBhbmQgZm9yIGdlbmVyYWwgdXNlIGluIHRpbWUuCgpTaWduZWQtb2ZmLWJ5
OiBNYXJrIFNhbHl6eW4gPHNhbHl6eW5AYW5kcm9pZC5jb20+CkNjOiBNaWtsb3MgU3plcmVkaSA8
bWlrbG9zQHN6ZXJlZGkuaHU+CkNjOiBKb25hdGhhbiBDb3JiZXQgPGNvcmJldEBsd24ubmV0PgpD
YzogVml2ZWsgR295YWwgPHZnb3lhbEByZWRoYXQuY29tPgpDYzogRXJpYyBXLiBCaWVkZXJtYW4g
PGViaWVkZXJtQHhtaXNzaW9uLmNvbT4KQ2M6IEFtaXIgR29sZHN0ZWluIDxhbWlyNzNpbEBnbWFp
bC5jb20+CkNjOiBSYW5keSBEdW5sYXAgPHJkdW5sYXBAaW5mcmFkZWFkLm9yZz4KQ2M6IFN0ZXBo
ZW4gU21hbGxleSA8c2RzQHR5Y2hvLm5zYS5nb3Y+CkNjOiBsaW51eC11bmlvbmZzQHZnZXIua2Vy
bmVsLm9yZwpDYzogbGludXgtZG9jQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZn
ZXIua2VybmVsLm9yZwpDYzoga2VybmVsLXRlYW1AYW5kcm9pZC5jb20KQ2M6IEVyaWMgVmFuIEhl
bnNiZXJnZW4gPGVyaWN2aEBnbWFpbC5jb20+CkNjOiBMYXRjaGVzYXIgSW9ua292IDxsdWNob0Bp
b25rb3YubmV0PgpDYzogRG9taW5pcXVlIE1hcnRpbmV0IDxhc21hZGV1c0Bjb2Rld3JlY2sub3Jn
PgpDYzogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVkaGF0LmNvbT4KQ2M6IENocmlzIE1hc29u
IDxjbG1AZmIuY29tPgpDYzogSm9zZWYgQmFjaWsgPGpvc2VmQHRveGljcGFuZGEuY29tPgpDYzog
RGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY29tPgpDYzogSmVmZiBMYXl0b24gPGpsYXl0b25A
a2VybmVsLm9yZz4KQ2M6IFNhZ2UgV2VpbCA8c2FnZUByZWRoYXQuY29tPgpDYzogSWx5YSBEcnlv
bW92IDxpZHJ5b21vdkBnbWFpbC5jb20+CkNjOiBTdGV2ZSBGcmVuY2ggPHNmcmVuY2hAc2FtYmEu
b3JnPgpDYzogVHlsZXIgSGlja3MgPHR5aGlja3NAY2Fub25pY2FsLmNvbT4KQ2M6IEphbiBLYXJh
IDxqYWNrQHN1c2UuY29tPgpDYzogVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KQ2M6IEFu
ZHJlYXMgRGlsZ2VyIDxhZGlsZ2VyLmtlcm5lbEBkaWxnZXIuY2E+CkNjOiBKYWVnZXVrIEtpbSA8
amFlZ2V1a0BrZXJuZWwub3JnPgpDYzogQ2hhbyBZdSA8eXVjaGFvMEBodWF3ZWkuY29tPgpDYzog
Qm9iIFBldGVyc29uIDxycGV0ZXJzb0ByZWRoYXQuY29tPgpDYzogQW5kcmVhcyBHcnVlbmJhY2hl
ciA8YWdydWVuYmFAcmVkaGF0LmNvbT4KQ2M6IERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFk
ZWFkLm9yZz4KQ2M6IFJpY2hhcmQgV2VpbmJlcmdlciA8cmljaGFyZEBub2QuYXQ+CkNjOiBEYXZl
IEtsZWlrYW1wIDxzaGFnZ3lAa2VybmVsLm9yZz4KQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3Jl
Z2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CkNjOiBUZWp1biBIZW8gPHRqQGtlcm5lbC5vcmc+CkNj
OiBUcm9uZCBNeWtsZWJ1c3QgPHRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20+CkNjOiBB
bm5hIFNjaHVtYWtlciA8YW5uYS5zY2h1bWFrZXJAbmV0YXBwLmNvbT4KQ2M6IE1hcmsgRmFzaGVo
IDxtYXJrQGZhc2hlaC5jb20+CkNjOiBKb2VsIEJlY2tlciA8amxiZWNAZXZpbHBsYW4ub3JnPgpD
YzogSm9zZXBoIFFpIDxqb3NlcGgucWlAbGludXguYWxpYmFiYS5jb20+CkNjOiBNaWtlIE1hcnNo
YWxsIDxodWJjYXBAb21uaWJvbmQuY29tPgpDYzogTWFydGluIEJyYW5kZW5idXJnIDxtYXJ0aW5A
b21uaWJvbmQuY29tPgpDYzogQWxleGFuZGVyIFZpcm8gPHZpcm9AemVuaXYubGludXgub3JnLnVr
PgpDYzogUGhpbGxpcCBMb3VnaGVyIDxwaGlsbGlwQHNxdWFzaGZzLm9yZy51az4KQ2M6IERhcnJp
Y2sgSi4gV29uZyA8ZGFycmljay53b25nQG9yYWNsZS5jb20+CkNjOiBsaW51eC14ZnNAdmdlci5r
ZXJuZWwub3JnCkNjOiBIdWdoIERpY2tpbnMgPGh1Z2hkQGdvb2dsZS5jb20+CkNjOiBEYXZpZCBT
LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkNjOiBBbmRyZXcgTW9ydG9uIDxha3BtQGxp
bnV4LWZvdW5kYXRpb24ub3JnPgpDYzogTWF0aGlldSBNYWxhdGVycmUgPG1hbGF0QGRlYmlhbi5v
cmc+CkNjOiBFcm5lc3RvIEEuIEZlcm7DoW5kZXogPGVybmVzdG8ubW5kLmZlcm5hbmRlekBnbWFp
bC5jb20+CkNjOiBWeWFjaGVzbGF2IER1YmV5a28gPHNsYXZhQGR1YmV5a28uY29tPgpDYzogdjlm
cy1kZXZlbG9wZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1hZnNAbGlzdHMuaW5m
cmFkZWFkLm9yZwpDYzogbGludXgtYnRyZnNAdmdlci5rZXJuZWwub3JnCkNjOiBjZXBoLWRldmVs
QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtY2lmc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IHNhbWJh
LXRlY2huaWNhbEBsaXN0cy5zYW1iYS5vcmcKQ2M6IGVjcnlwdGZzQHZnZXIua2VybmVsLm9yZwpD
YzogbGludXgtZXh0NEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMu
c291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1mc2RldmVsQHZnZXIua2VybmVsLm9yZwpDYzogY2x1
c3Rlci1kZXZlbEByZWRoYXQuY29tCkNjOiBsaW51eC1tdGRAbGlzdHMuaW5mcmFkZWFkLm9yZwpD
YzogamZzLWRpc2N1c3Npb25AbGlzdHMuc291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1uZnNAdmdl
ci5rZXJuZWwub3JnCkNjOiBvY2ZzMi1kZXZlbEBvc3Mub3JhY2xlLmNvbQpDYzogZGV2ZWxAbGlz
dHMub3JhbmdlZnMub3JnCkNjOiByZWlzZXJmcy1kZXZlbEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxp
bnV4LW1tQGt2YWNrLm9yZwpDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtc2Vj
dXJpdHktbW9kdWxlQHZnZXIua2VybmVsLm9yZwpDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZyAj
IDQuNCwgNC45LCA0LjE0ICYgNC4xOSBOQjogdGhpcyBpcyBhIGRlc2lyZWQgZmVhdHVyZQotLS0K
djEyICsgdjEzOgotIFJlYmFzZQoKdjExOgotIGFkZCBzYiBhcmd1bWVudCB0byBvdmxfcmV2ZXJ0
X2NyZWRzIHRvIG1hdGNoIGZ1dHVyZSB3b3JrCgp2MTA6Ci0gUmViYXNlIChhbmQgZXhwYW5kIGJl
Y2F1c2Ugb2YgaW5jcmVhc2VkIHJldmVydF9jcmVkIHVzYWdlKQoKdjk6Ci0gQWRkIHRvIHRoZSBj
YXZlYXRzCgp2ODoKLSBkcm9wIHByX3dhcm4gbWVzc2FnZSBhZnRlciBzdHJhdyBwb2xsIHRvIHJl
bW92ZSBpdC4KLSBhZGRlZCBhIHVzZSBjYXNlIGluIHRoZSBjb21taXQgbWVzc2FnZQoKdjc6Ci0g
Y2hhbmdlIG5hbWUgb2YgaW50ZXJuYWwgcGFyYW1ldGVyIHRvIG92bF9vdmVycmlkZV9jcmVkc19k
ZWYKLSByZXBvcnQgb3ZlcnJpZGVfY3JlZHMgb25seSBpZiBkaWZmZXJlbnQgdGhhbiBkZWZhdWx0
Cgp2NjoKLSBEcm9wIENPTkZJR19PVkVSTEFZX0ZTX09WRVJSSURFX0NSRURTLgotIERvIGJldHRl
ciB3aXRoIHRoZSBkb2N1bWVudGF0aW9uLgotIHByX3dhcm4gbWVzc2FnZSBhZGp1c3RlZCB0byBy
ZXBvcnQgY29uc2VxdWVuY2VzLgoKdjU6Ci0gYmVlZmVkIHVwIHRoZSBjYXZlYXRzIGluIHRoZSBE
b2N1bWVudGF0aW9uCi0gSXMgZGVwZW5kZW50IG9uCiAgIm92ZXJsYXlmczogY2hlY2sgQ0FQX0RB
Q19SRUFEX1NFQVJDSCBiZWZvcmUgaXNzdWluZyBleHBvcnRmc19kZWNvZGVfZmgiCiAgIm92ZXJs
YXlmczogY2hlY2sgQ0FQX01LTk9EIGJlZm9yZSBpc3N1aW5nIHZmc193aGl0ZW91dCIKLSBBZGRl
ZCBwcndhcm4gd2hlbiBvdmVycmlkZV9jcmVkcz1vZmYKCnY0OgotIHNwZWxsaW5nIGFuZCBncmFt
bWFyIGVycm9ycyBpbiB0ZXh0Cgp2MzoKLSBDaGFuZ2UgbmFtZSBmcm9tIGNhbGxlcl9jcmVkZW50
aWFscyAvIGNyZWF0b3JfY3JlZGVudGlhbHMgdG8gdGhlCiAgYm9vbGVhbiBvdmVycmlkZV9jcmVk
cy4KLSBDaGFuZ2VkIGZyb20gY3JlYXRvciB0byBtb3VudGVyIGNyZWRlbnRpYWxzLgotIFVwZGF0
ZWQgYW5kIGZvcnRpZmllZCB0aGUgZG9jdW1lbnRhdGlvbi4KLSBBZGRlZCBDT05GSUdfT1ZFUkxB
WV9GU19PVkVSUklERV9DUkVEUwoKdjI6Ci0gRm9yd2FyZCBwb3J0IGNoYW5nZWQgYXR0ciB0byBz
dGF0LCByZXN1bHRpbmcgaW4gYSBidWlsZCBlcnJvci4KLSBhbHRlcmVkIGNvbW1pdCBtZXNzYWdl
LgotLS0KIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvb3ZlcmxheWZzLnR4dCB8IDIzICsrKysr
KysrKysrKysrKysrKysrKysrCiBmcy9vdmVybGF5ZnMvY29weV91cC5jICAgICAgICAgICAgICAg
ICAgfCAgMiArLQogZnMvb3ZlcmxheWZzL2Rpci5jICAgICAgICAgICAgICAgICAgICAgIHwgMTEg
KysrKysrLS0tLS0KIGZzL292ZXJsYXlmcy9maWxlLmMgICAgICAgICAgICAgICAgICAgICB8IDIw
ICsrKysrKysrKystLS0tLS0tLS0tCiBmcy9vdmVybGF5ZnMvaW5vZGUuYyAgICAgICAgICAgICAg
ICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KIGZzL292ZXJsYXlmcy9uYW1laS5jICAgICAg
ICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogZnMvb3ZlcmxheWZzL292ZXJsYXlmcy5oICAgICAg
ICAgICAgICAgIHwgIDEgKwogZnMvb3ZlcmxheWZzL292bF9lbnRyeS5oICAgICAgICAgICAgICAg
IHwgIDEgKwogZnMvb3ZlcmxheWZzL3JlYWRkaXIuYyAgICAgICAgICAgICAgICAgIHwgIDQgKyst
LQogZnMvb3ZlcmxheWZzL3N1cGVyLmMgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysrKysr
KysrKysrKysrKysrLQogZnMvb3ZlcmxheWZzL3V0aWwuYyAgICAgICAgICAgICAgICAgICAgIHwg
MTIgKysrKysrKysrKy0tCiAxMSBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCAzMyBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL292ZXJs
YXlmcy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL292ZXJsYXlmcy50eHQKaW5kZXgg
MWRhMmYxNjY4ZjA4Li5kNDgxMjUwNzY2MDIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmls
ZXN5c3RlbXMvb3ZlcmxheWZzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL292
ZXJsYXlmcy50eHQKQEAgLTEwMiw2ICsxMDIsMjkgQEAgT25seSB0aGUgbGlzdHMgb2YgbmFtZXMg
ZnJvbSBkaXJlY3RvcmllcyBhcmUgbWVyZ2VkLiAgT3RoZXIgY29udGVudAogc3VjaCBhcyBtZXRh
ZGF0YSBhbmQgZXh0ZW5kZWQgYXR0cmlidXRlcyBhcmUgcmVwb3J0ZWQgZm9yIHRoZSB1cHBlcgog
ZGlyZWN0b3J5IG9ubHkuICBUaGVzZSBhdHRyaWJ1dGVzIG9mIHRoZSBsb3dlciBkaXJlY3Rvcnkg
YXJlIGhpZGRlbi4KIAorY3JlZGVudGlhbHMKKy0tLS0tLS0tLS0tCisKK0J5IGRlZmF1bHQsIGFs
bCBhY2Nlc3MgdG8gdGhlIHVwcGVyLCBsb3dlciBhbmQgd29yayBkaXJlY3RvcmllcyBpcyB0aGUK
K3JlY29yZGVkIG1vdW50ZXIncyBNQUMgYW5kIERBQyBjcmVkZW50aWFscy4gIFRoZSBpbmNvbWlu
ZyBhY2Nlc3NlcyBhcmUKK2NoZWNrZWQgYWdhaW5zdCB0aGUgY2FsbGVyJ3MgY3JlZGVudGlhbHMu
CisKK0luIHRoZSBjYXNlIHdoZXJlIGNhbGxlciBNQUMgb3IgREFDIGNyZWRlbnRpYWxzIGRvIG5v
dCBvdmVybGFwLCBhCit1c2UgY2FzZSBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMgb2YgdGhl
IGRyaXZlciwgdGhlCitvdmVycmlkZV9jcmVkcyBtb3VudCBmbGFnIGNhbiBiZSB0dXJuZWQgb2Zm
IGFuZCBoZWxwIHdoZW4gdGhlIHVzZQorcGF0dGVybiBoYXMgY2FsbGVyIHdpdGggbGVnaXRpbWF0
ZSBjcmVkZW50aWFscyB3aGVyZSB0aGUgbW91bnRlcgorZG9lcyBub3QuICBTZXZlcmFsIHVuaW50
ZW5kZWQgc2lkZSBlZmZlY3RzIHdpbGwgb2NjdXIgdGhvdWdoLiAgVGhlCitjYWxsZXIgd2l0aG91
dCBjZXJ0YWluIGtleSBjYXBhYmlsaXRpZXMgb3IgbG93ZXIgcHJpdmlsZWdlIHdpbGwgbm90Cith
bHdheXMgYmUgYWJsZSB0byBkZWxldGUgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIGNyZWF0ZSBub2Rl
cywgb3IKK3NlYXJjaCBzb21lIHJlc3RyaWN0ZWQgZGlyZWN0b3JpZXMuICBUaGUgYWJpbGl0eSB0
byBzZWFyY2ggYW5kIHJlYWQKK2EgZGlyZWN0b3J5IGVudHJ5IGlzIHNwb3R0eSBhcyBhIHJlc3Vs
dCBvZiB0aGUgY2FjaGUgbWVjaGFuaXNtIG5vdAorcmV0ZXN0aW5nIHRoZSBjcmVkZW50aWFscyBi
ZWNhdXNlIG9mIHRoZSBhc3N1bXB0aW9uLCBhIHByaXZpbGVnZWQKK2NhbGxlciBjYW4gZmlsbCBj
YWNoZSwgdGhlbiBhIGxvd2VyIHByaXZpbGVnZSBjYW4gcmVhZCB0aGUgZGlyZWN0b3J5CitjYWNo
ZS4gIFRoZSB1bmV2ZW4gc2VjdXJpdHkgbW9kZWwgd2hlcmUgY2FjaGUsIHVwcGVyZGlyIGFuZCB3
b3JrZGlyCithcmUgb3BlbmVkIGF0IHByaXZpbGVnZSwgYnV0IGFjY2Vzc2VkIHdpdGhvdXQgY3Jl
YXRpbmcgYSBmb3JtIG9mCitwcml2aWxlZ2UgZXNjYWxhdGlvbiwgc2hvdWxkIG9ubHkgYmUgdXNl
ZCB3aXRoIHN0cmljdCB1bmRlcnN0YW5kaW5nCitvZiB0aGUgc2lkZSBlZmZlY3RzIGFuZCBvZiB0
aGUgc2VjdXJpdHkgcG9saWNpZXMuCisKIHdoaXRlb3V0cyBhbmQgb3BhcXVlIGRpcmVjdG9yaWVz
CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9mcy9vdmVy
bGF5ZnMvY29weV91cC5jIGIvZnMvb3ZlcmxheWZzL2NvcHlfdXAuYwppbmRleCBiODAxYzYzNTMx
MDAuLjFjMWI5NDE1ZTUzMyAxMDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL2NvcHlfdXAuYworKysg
Yi9mcy9vdmVybGF5ZnMvY29weV91cC5jCkBAIC04ODYsNyArODg2LDcgQEAgaW50IG92bF9jb3B5
X3VwX2ZsYWdzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50IGZsYWdzKQogCQlkcHV0KHBhcmVu
dCk7CiAJCWRwdXQobmV4dCk7CiAJfQotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3Jl
dmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAogCXJldHVybiBlcnI7CiB9CmRp
ZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvZGlyLmMgYi9mcy9vdmVybGF5ZnMvZGlyLmMKaW5kZXgg
NzAyYWE2M2Y2Nzc0Li40OWI4ZmZjMTI5NGYgMTAwNjQ0Ci0tLSBhL2ZzL292ZXJsYXlmcy9kaXIu
YworKysgYi9mcy9vdmVybGF5ZnMvZGlyLmMKQEAgLTU2Myw3ICs1NjMsOCBAQCBzdGF0aWMgaW50
IG92bF9jcmVhdGVfb3JfbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAq
aW5vZGUsCiAJCW92ZXJyaWRlX2NyZWQtPmZzZ2lkID0gaW5vZGUtPmlfZ2lkOwogCQlpZiAoIWF0
dHItPmhhcmRsaW5rKSB7CiAJCQllcnIgPSBzZWN1cml0eV9kZW50cnlfY3JlYXRlX2ZpbGVzX2Fz
KGRlbnRyeSwKLQkJCQkJYXR0ci0+bW9kZSwgJmRlbnRyeS0+ZF9uYW1lLCBvbGRfY3JlZCwKKwkJ
CQkJYXR0ci0+bW9kZSwgJmRlbnRyeS0+ZF9uYW1lLAorCQkJCQlvbGRfY3JlZCA/IG9sZF9jcmVk
IDogY3VycmVudF9jcmVkKCksCiAJCQkJCW92ZXJyaWRlX2NyZWQpOwogCQkJaWYgKGVycikgewog
CQkJCXB1dF9jcmVkKG92ZXJyaWRlX2NyZWQpOwpAQCAtNTc5LDcgKzU4MCw3IEBAIHN0YXRpYyBp
bnQgb3ZsX2NyZWF0ZV9vcl9saW5rKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2Rl
ICppbm9kZSwKIAkJCWVyciA9IG92bF9jcmVhdGVfb3Zlcl93aGl0ZW91dChkZW50cnksIGlub2Rl
LCBhdHRyKTsKIAl9CiBvdXRfcmV2ZXJ0X2NyZWRzOgotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7
CisJb3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAlyZXR1cm4gZXJy
OwogfQogCkBAIC02NTUsNyArNjU2LDcgQEAgc3RhdGljIGludCBvdmxfc2V0X2xpbmtfcmVkaXJl
Y3Qoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogCiAJb2xkX2NyZWQgPSBvdmxfb3ZlcnJpZGVfY3Jl
ZHMoZGVudHJ5LT5kX3NiKTsKIAllcnIgPSBvdmxfc2V0X3JlZGlyZWN0KGRlbnRyeSwgZmFsc2Up
OwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRf
c2IsIG9sZF9jcmVkKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC04NTEsNyArODUyLDcgQEAgc3Rh
dGljIGludCBvdmxfZG9fcmVtb3ZlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgYm9vbCBpc19kaXIp
CiAJCWVyciA9IG92bF9yZW1vdmVfdXBwZXIoZGVudHJ5LCBpc19kaXIsICZsaXN0KTsKIAllbHNl
CiAJCWVyciA9IG92bF9yZW1vdmVfYW5kX3doaXRlb3V0KGRlbnRyeSwgJmxpc3QpOwotCXJldmVy
dF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9j
cmVkKTsKIAlpZiAoIWVycikgewogCQlpZiAoaXNfZGlyKQogCQkJY2xlYXJfbmxpbmsoZGVudHJ5
LT5kX2lub2RlKTsKQEAgLTEyMjEsNyArMTIyMiw3IEBAIHN0YXRpYyBpbnQgb3ZsX3JlbmFtZShz
dHJ1Y3QgaW5vZGUgKm9sZGRpciwgc3RydWN0IGRlbnRyeSAqb2xkLAogb3V0X3VubG9jazoKIAl1
bmxvY2tfcmVuYW1lKG5ld191cHBlcmRpciwgb2xkX3VwcGVyZGlyKTsKIG91dF9yZXZlcnRfY3Jl
ZHM6Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKG9sZC0+ZF9z
Yiwgb2xkX2NyZWQpOwogCWlmICh1cGRhdGVfbmxpbmspCiAJCW92bF9ubGlua19lbmQobmV3KTsK
IG91dF9kcm9wX3dyaXRlOgpkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZzL2ZpbGUuYyBiL2ZzL292
ZXJsYXlmcy9maWxlLmMKaW5kZXggZTIzNWE2MzVkOWVjLi5kOTRkNmVjNzg1YTcgMTAwNjQ0Ci0t
LSBhL2ZzL292ZXJsYXlmcy9maWxlLmMKKysrIGIvZnMvb3ZlcmxheWZzL2ZpbGUuYwpAQCAtMzIs
NyArMzIsNyBAQCBzdGF0aWMgc3RydWN0IGZpbGUgKm92bF9vcGVuX3JlYWxmaWxlKGNvbnN0IHN0
cnVjdCBmaWxlICpmaWxlLAogCW9sZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGlub2RlLT5p
X3NiKTsKIAlyZWFsZmlsZSA9IG9wZW5fd2l0aF9mYWtlX3BhdGgoJmZpbGUtPmZfcGF0aCwgZmxh
Z3MsIHJlYWxpbm9kZSwKIAkJCQkgICAgICAgY3VycmVudF9jcmVkKCkpOwotCXJldmVydF9jcmVk
cyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhpbm9kZS0+aV9zYiwgb2xkX2NyZWQpOwog
CiAJcHJfZGVidWcoIm9wZW4oJXBbJXBEMi8lY10sIDAlbykgLT4gKCVwLCAwJW8pXG4iLAogCQkg
ZmlsZSwgZmlsZSwgb3ZsX3doYXRpc2l0KGlub2RlLCByZWFsaW5vZGUpLCBmaWxlLT5mX2ZsYWdz
LApAQCAtMTc2LDcgKzE3Niw3IEBAIHN0YXRpYyBsb2ZmX3Qgb3ZsX2xsc2VlayhzdHJ1Y3QgZmls
ZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IHdoZW5jZSkKIAogCW9sZF9jcmVkID0gb3ZsX292
ZXJyaWRlX2NyZWRzKGlub2RlLT5pX3NiKTsKIAlyZXQgPSB2ZnNfbGxzZWVrKHJlYWwuZmlsZSwg
b2Zmc2V0LCB3aGVuY2UpOwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9j
cmVkcyhpbm9kZS0+aV9zYiwgb2xkX2NyZWQpOwogCiAJZmlsZS0+Zl9wb3MgPSByZWFsLmZpbGUt
PmZfcG9zOwogCWlub2RlX3VubG9jayhpbm9kZSk7CkBAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGlj
IHNzaXplX3Qgb3ZsX3JlYWRfaXRlcihzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRl
ciAqaXRlcikKIAlvbGRfY3JlZCA9IG92bF9vdmVycmlkZV9jcmVkcyhmaWxlX2lub2RlKGZpbGUp
LT5pX3NiKTsKIAlyZXQgPSB2ZnNfaXRlcl9yZWFkKHJlYWwuZmlsZSwgaXRlciwgJmlvY2ItPmtp
X3BvcywKIAkJCSAgICBvdmxfaW9jYl90b19yd2YoaW9jYikpOwotCXJldmVydF9jcmVkcyhvbGRf
Y3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhmaWxlX2lub2RlKGZpbGUpLT5pX3NiLCBvbGRfY3Jl
ZCk7CiAKIAlvdmxfZmlsZV9hY2Nlc3NlZChmaWxlKTsKIApAQCAtMjc4LDcgKzI3OCw3IEBAIHN0
YXRpYyBzc2l6ZV90IG92bF93cml0ZV9pdGVyKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IGlv
dl9pdGVyICppdGVyKQogCXJldCA9IHZmc19pdGVyX3dyaXRlKHJlYWwuZmlsZSwgaXRlciwgJmlv
Y2ItPmtpX3BvcywKIAkJCSAgICAgb3ZsX2lvY2JfdG9fcndmKGlvY2IpKTsKIAlmaWxlX2VuZF93
cml0ZShyZWFsLmZpbGUpOwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9j
cmVkcyhmaWxlX2lub2RlKGZpbGUpLT5pX3NiLCBvbGRfY3JlZCk7CiAKIAkvKiBVcGRhdGUgc2l6
ZSAqLwogCW92bF9jb3B5YXR0cihvdmxfaW5vZGVfcmVhbChpbm9kZSksIGlub2RlKTsKQEAgLTMw
NSw3ICszMDUsNyBAQCBzdGF0aWMgaW50IG92bF9mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9m
Zl90IHN0YXJ0LCBsb2ZmX3QgZW5kLCBpbnQgZGF0YXN5bmMpCiAJaWYgKGZpbGVfaW5vZGUocmVh
bC5maWxlKSA9PSBvdmxfaW5vZGVfdXBwZXIoZmlsZV9pbm9kZShmaWxlKSkpIHsKIAkJb2xkX2Ny
ZWQgPSBvdmxfb3ZlcnJpZGVfY3JlZHMoZmlsZV9pbm9kZShmaWxlKS0+aV9zYik7CiAJCXJldCA9
IHZmc19mc3luY19yYW5nZShyZWFsLmZpbGUsIHN0YXJ0LCBlbmQsIGRhdGFzeW5jKTsKLQkJcmV2
ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwkJb3ZsX3JldmVydF9jcmVkcyhmaWxlX2lub2RlKGZpbGUp
LT5pX3NiLCBvbGRfY3JlZCk7CiAJfQogCiAJZmRwdXQocmVhbCk7CkBAIC0zMjksNyArMzI5LDcg
QEAgc3RhdGljIGludCBvdmxfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFf
c3RydWN0ICp2bWEpCiAKIAlvbGRfY3JlZCA9IG92bF9vdmVycmlkZV9jcmVkcyhmaWxlX2lub2Rl
KGZpbGUpLT5pX3NiKTsKIAlyZXQgPSBjYWxsX21tYXAodm1hLT52bV9maWxlLCB2bWEpOwotCXJl
dmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhmaWxlX2lub2RlKGZpbGUp
LT5pX3NiLCBvbGRfY3JlZCk7CiAKIAlpZiAocmV0KSB7CiAJCS8qIERyb3AgcmVmZXJlbmNlIGNv
dW50IGZyb20gbmV3IHZtX2ZpbGUgdmFsdWUgKi8KQEAgLTM1Nyw3ICszNTcsNyBAQCBzdGF0aWMg
bG9uZyBvdmxfZmFsbG9jYXRlKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgbW9kZSwgbG9mZl90IG9m
ZnNldCwgbG9mZl90IGxlbgogCiAJb2xkX2NyZWQgPSBvdmxfb3ZlcnJpZGVfY3JlZHMoZmlsZV9p
bm9kZShmaWxlKS0+aV9zYik7CiAJcmV0ID0gdmZzX2ZhbGxvY2F0ZShyZWFsLmZpbGUsIG1vZGUs
IG9mZnNldCwgbGVuKTsKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3Jl
ZHMoZmlsZV9pbm9kZShmaWxlKS0+aV9zYiwgb2xkX2NyZWQpOwogCiAJLyogVXBkYXRlIHNpemUg
Ki8KIAlvdmxfY29weWF0dHIob3ZsX2lub2RlX3JlYWwoaW5vZGUpLCBpbm9kZSk7CkBAIC0zNzks
NyArMzc5LDcgQEAgc3RhdGljIGludCBvdmxfZmFkdmlzZShzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9m
Zl90IG9mZnNldCwgbG9mZl90IGxlbiwgaW50IGFkdmljZSkKIAogCW9sZF9jcmVkID0gb3ZsX292
ZXJyaWRlX2NyZWRzKGZpbGVfaW5vZGUoZmlsZSktPmlfc2IpOwogCXJldCA9IHZmc19mYWR2aXNl
KHJlYWwuZmlsZSwgb2Zmc2V0LCBsZW4sIGFkdmljZSk7Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVk
KTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKGZpbGVfaW5vZGUoZmlsZSktPmlfc2IsIG9sZF9jcmVkKTsK
IAogCWZkcHV0KHJlYWwpOwogCkBAIC0zOTksNyArMzk5LDcgQEAgc3RhdGljIGxvbmcgb3ZsX3Jl
YWxfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCiAKIAlvbGRfY3Jl
ZCA9IG92bF9vdmVycmlkZV9jcmVkcyhmaWxlX2lub2RlKGZpbGUpLT5pX3NiKTsKIAlyZXQgPSB2
ZnNfaW9jdGwocmVhbC5maWxlLCBjbWQsIGFyZyk7Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsK
KwlvdmxfcmV2ZXJ0X2NyZWRzKGZpbGVfaW5vZGUoZmlsZSktPmlfc2IsIG9sZF9jcmVkKTsKIAog
CWZkcHV0KHJlYWwpOwogCkBAIC01ODksNyArNTg5LDcgQEAgc3RhdGljIGxvZmZfdCBvdmxfY29w
eWZpbGUoc3RydWN0IGZpbGUgKmZpbGVfaW4sIGxvZmZfdCBwb3NfaW4sCiAJCQkJCQlmbGFncyk7
CiAJCWJyZWFrOwogCX0KLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3Jl
ZHMoZmlsZV9pbm9kZShmaWxlX291dCktPmlfc2IsIG9sZF9jcmVkKTsKIAogCS8qIFVwZGF0ZSBz
aXplICovCiAJb3ZsX2NvcHlhdHRyKG92bF9pbm9kZV9yZWFsKGlub2RlX291dCksIGlub2RlX291
dCk7CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvaW5vZGUuYyBiL2ZzL292ZXJsYXlmcy9pbm9k
ZS5jCmluZGV4IDFiZjExYWU0NDMxMy4uZmMxODI4YWEzMGVkIDEwMDY0NAotLS0gYS9mcy9vdmVy
bGF5ZnMvaW5vZGUuYworKysgYi9mcy9vdmVybGF5ZnMvaW5vZGUuYwpAQCAtNjEsNyArNjEsNyBA
QCBpbnQgb3ZsX3NldGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmF0
dHIpCiAJCWlub2RlX2xvY2sodXBwZXJkZW50cnktPmRfaW5vZGUpOwogCQlvbGRfY3JlZCA9IG92
bF9vdmVycmlkZV9jcmVkcyhkZW50cnktPmRfc2IpOwogCQllcnIgPSBub3RpZnlfY2hhbmdlKHVw
cGVyZGVudHJ5LCBhdHRyLCBOVUxMKTsKLQkJcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwkJb3Zs
X3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAkJaWYgKCFlcnIpCiAJCQlv
dmxfY29weWF0dHIodXBwZXJkZW50cnktPmRfaW5vZGUsIGRlbnRyeS0+ZF9pbm9kZSk7CiAJCWlu
b2RlX3VubG9jayh1cHBlcmRlbnRyeS0+ZF9pbm9kZSk7CkBAIC0yNTcsNyArMjU3LDcgQEAgaW50
IG92bF9nZXRhdHRyKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qga3N0YXQgKnN0YXQs
CiAJCXN0YXQtPm5saW5rID0gZGVudHJ5LT5kX2lub2RlLT5pX25saW5rOwogCiBvdXQ6Ci0JcmV2
ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKGRlbnRyeS0+ZF9zYiwgb2xk
X2NyZWQpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTI5MSw3ICsyOTEsNyBAQCBpbnQgb3ZsX3Bl
cm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2spCiAJCW1hc2sgfD0gTUFZX1JF
QUQ7CiAJfQogCWVyciA9IGlub2RlX3Blcm1pc3Npb24ocmVhbGlub2RlLCBtYXNrKTsKLQlyZXZl
cnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoaW5vZGUtPmlfc2IsIG9sZF9j
cmVkKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC0zMDgsNyArMzA4LDcgQEAgc3RhdGljIGNvbnN0
IGNoYXIgKm92bF9nZXRfbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCiAKIAlvbGRfY3JlZCA9
IG92bF9vdmVycmlkZV9jcmVkcyhkZW50cnktPmRfc2IpOwogCXAgPSB2ZnNfZ2V0X2xpbmsob3Zs
X2RlbnRyeV9yZWFsKGRlbnRyeSksIGRvbmUpOwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJ
b3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAlyZXR1cm4gcDsKIH0K
IApAQCAtMzUxLDcgKzM1MSw3IEBAIGludCBvdmxfeGF0dHJfc2V0KHN0cnVjdCBkZW50cnkgKmRl
bnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKIAkJV0FSTl9PTihm
bGFncyAhPSBYQVRUUl9SRVBMQUNFKTsKIAkJZXJyID0gdmZzX3JlbW92ZXhhdHRyKHJlYWxkZW50
cnksIG5hbWUpOwogCX0KLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3Jl
ZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAKIAkvKiBjb3B5IGMvbXRpbWUgKi8KIAlvdmxf
Y29weWF0dHIoZF9pbm9kZShyZWFsZGVudHJ5KSwgaW5vZGUpOwpAQCAtMzczLDcgKzM3Myw3IEBA
IGludCBvdmxfeGF0dHJfZ2V0KHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICpp
bm9kZSwgY29uc3QgY2hhciAqbmFtZSwKIAlvbGRfY3JlZCA9IG92bF9vdmVycmlkZV9jcmVkcyhk
ZW50cnktPmRfc2IpOwogCXJlcyA9IF9fdmZzX2dldHhhdHRyKHJlYWxkZW50cnksIGRfaW5vZGUo
cmVhbGRlbnRyeSksIG5hbWUsCiAJCQkgICAgIHZhbHVlLCBzaXplLCBmbGFncyk7Ci0JcmV2ZXJ0
X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKGRlbnRyeS0+ZF9zYiwgb2xkX2Ny
ZWQpOwogCXJldHVybiByZXM7CiB9CiAKQEAgLTM5Nyw3ICszOTcsNyBAQCBzc2l6ZV90IG92bF9s
aXN0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjaGFyICpsaXN0LCBzaXplX3Qgc2l6ZSkK
IAogCW9sZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGRlbnRyeS0+ZF9zYik7CiAJcmVzID0g
dmZzX2xpc3R4YXR0cihyZWFsZGVudHJ5LCBsaXN0LCBzaXplKTsKLQlyZXZlcnRfY3JlZHMob2xk
X2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJaWYg
KHJlcyA8PSAwIHx8IHNpemUgPT0gMCkKIAkJcmV0dXJuIHJlczsKIApAQCAtNDMyLDcgKzQzMiw3
IEBAIHN0cnVjdCBwb3NpeF9hY2wgKm92bF9nZXRfYWNsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGlu
dCB0eXBlKQogCiAJb2xkX2NyZWQgPSBvdmxfb3ZlcnJpZGVfY3JlZHMoaW5vZGUtPmlfc2IpOwog
CWFjbCA9IGdldF9hY2wocmVhbGlub2RlLCB0eXBlKTsKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQp
OworCW92bF9yZXZlcnRfY3JlZHMoaW5vZGUtPmlfc2IsIG9sZF9jcmVkKTsKIAogCXJldHVybiBh
Y2w7CiB9CkBAIC00NzAsNyArNDcwLDcgQEAgc3RhdGljIGludCBvdmxfZmllbWFwKHN0cnVjdCBp
bm9kZSAqaW5vZGUsIHN0cnVjdCBmaWVtYXBfZXh0ZW50X2luZm8gKmZpZWluZm8sCiAJCWZpbGVt
YXBfd3JpdGVfYW5kX3dhaXQocmVhbGlub2RlLT5pX21hcHBpbmcpOwogCiAJZXJyID0gcmVhbGlu
b2RlLT5pX29wLT5maWVtYXAocmVhbGlub2RlLCBmaWVpbmZvLCBzdGFydCwgbGVuKTsKLQlyZXZl
cnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoaW5vZGUtPmlfc2IsIG9sZF9j
cmVkKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvbmFtZWku
YyBiL2ZzL292ZXJsYXlmcy9uYW1laS5jCmluZGV4IGE0YTQ1MmM0ODlmYS4uYmFiMWY5N2RjMjAx
IDEwMDY0NAotLS0gYS9mcy9vdmVybGF5ZnMvbmFtZWkuYworKysgYi9mcy9vdmVybGF5ZnMvbmFt
ZWkuYwpAQCAtMTA3OSw3ICsxMDc5LDcgQEAgc3RydWN0IGRlbnRyeSAqb3ZsX2xvb2t1cChzdHJ1
Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCQkJZ290byBvdXRfZnJlZV9v
ZTsKIAl9CiAKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVu
dHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJaWYgKG9yaWdpbl9wYXRoKSB7CiAJCWRwdXQob3JpZ2lu
X3BhdGgtPmRlbnRyeSk7CiAJCWtmcmVlKG9yaWdpbl9wYXRoKTsKQEAgLTExMDYsNyArMTEwNiw3
IEBAIHN0cnVjdCBkZW50cnkgKm92bF9sb29rdXAoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBk
ZW50cnkgKmRlbnRyeSwKIAlrZnJlZSh1cHBlcnJlZGlyZWN0KTsKIG91dDoKIAlrZnJlZShkLnJl
ZGlyZWN0KTsKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVu
dHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIH0KIApAQCAtMTE2
MCw3ICsxMTYwLDcgQEAgYm9vbCBvdmxfbG93ZXJfcG9zaXRpdmUoc3RydWN0IGRlbnRyeSAqZGVu
dHJ5KQogCQkJZHB1dCh0aGlzKTsKIAkJfQogCX0KLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOwor
CW92bF9yZXZlcnRfY3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAKIAlyZXR1cm4gcG9z
aXRpdmU7CiB9CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvb3ZlcmxheWZzLmggYi9mcy9vdmVy
bGF5ZnMvb3ZlcmxheWZzLmgKaW5kZXggOWQyNmQ4NzU4NTEzLi5hZDFhMTFlN2VjYmQgMTAwNjQ0
Ci0tLSBhL2ZzL292ZXJsYXlmcy9vdmVybGF5ZnMuaAorKysgYi9mcy9vdmVybGF5ZnMvb3Zlcmxh
eWZzLmgKQEAgLTIwNSw2ICsyMDUsNyBAQCBpbnQgb3ZsX3dhbnRfd3JpdGUoc3RydWN0IGRlbnRy
eSAqZGVudHJ5KTsKIHZvaWQgb3ZsX2Ryb3Bfd3JpdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsK
IHN0cnVjdCBkZW50cnkgKm92bF93b3JrZGlyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7CiBjb25z
dCBzdHJ1Y3QgY3JlZCAqb3ZsX292ZXJyaWRlX2NyZWRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2Ip
Owordm9pZCBvdmxfcmV2ZXJ0X2NyZWRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGNvbnN0IHN0
cnVjdCBjcmVkICpvbGRjcmVkKTsKIHNzaXplX3Qgb3ZsX2RvX3Zmc19nZXR4YXR0cihzdHJ1Y3Qg
ZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZiwKIAkJCSAgICBzaXpl
X3Qgc2l6ZSk7CiBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm92bF9zYW1lX3NiKHN0cnVjdCBzdXBlcl9i
bG9jayAqc2IpOwpkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZzL292bF9lbnRyeS5oIGIvZnMvb3Zl
cmxheWZzL292bF9lbnRyeS5oCmluZGV4IDI4YTJkMTJhMTAyOS4uMjYzN2M1YWFkZjdmIDEwMDY0
NAotLS0gYS9mcy9vdmVybGF5ZnMvb3ZsX2VudHJ5LmgKKysrIGIvZnMvb3ZlcmxheWZzL292bF9l
bnRyeS5oCkBAIC0xNyw2ICsxNyw3IEBAIHN0cnVjdCBvdmxfY29uZmlnIHsKIAlib29sIG5mc19l
eHBvcnQ7CiAJaW50IHhpbm87CiAJYm9vbCBtZXRhY29weTsKKwlib29sIG92ZXJyaWRlX2NyZWRz
OwogfTsKIAogc3RydWN0IG92bF9zYiB7CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvcmVhZGRp
ci5jIGIvZnMvb3ZlcmxheWZzL3JlYWRkaXIuYwppbmRleCA0N2E5MWM5NzMzYTUuLjg3NGExYjNm
Zjk5YSAxMDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL3JlYWRkaXIuYworKysgYi9mcy9vdmVybGF5
ZnMvcmVhZGRpci5jCkBAIC0yODYsNyArMjg2LDcgQEAgc3RhdGljIGludCBvdmxfY2hlY2tfd2hp
dGVvdXRzKHN0cnVjdCBkZW50cnkgKmRpciwgc3RydWN0IG92bF9yZWFkZGlyX2RhdGEgKnJkZCkK
IAkJfQogCQlpbm9kZV91bmxvY2soZGlyLT5kX2lub2RlKTsKIAl9Ci0JcmV2ZXJ0X2NyZWRzKG9s
ZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKHJkZC0+ZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7
CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtOTE4LDcgKzkxOCw3IEBAIGludCBvdmxfY2hlY2tfZW1w
dHlfZGlyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGxpc3RfaGVhZCAqbGlzdCkKIAog
CW9sZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGRlbnRyeS0+ZF9zYik7CiAJZXJyID0gb3Zs
X2Rpcl9yZWFkX21lcmdlZChkZW50cnksIGxpc3QsICZyb290KTsKLQlyZXZlcnRfY3JlZHMob2xk
X2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJaWYg
KGVycikKIAkJcmV0dXJuIGVycjsKIApkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZzL3N1cGVyLmMg
Yi9mcy9vdmVybGF5ZnMvc3VwZXIuYwppbmRleCA2ZjA0MWUxZmNlZGEuLjJjMTI3ODQ1MWYzOCAx
MDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL3N1cGVyLmMKKysrIGIvZnMvb3ZlcmxheWZzL3N1cGVy
LmMKQEAgLTUzLDYgKzUzLDExIEBAIG1vZHVsZV9wYXJhbV9uYW1lZCh4aW5vX2F1dG8sIG92bF94
aW5vX2F1dG9fZGVmLCBib29sLCAwNjQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MoeGlub19hdXRvLAog
CQkgIkF1dG8gZW5hYmxlIHhpbm8gZmVhdHVyZSIpOwogCitzdGF0aWMgYm9vbCBfX3JlYWRfbW9z
dGx5IG92bF9vdmVycmlkZV9jcmVkc19kZWYgPSB0cnVlOworbW9kdWxlX3BhcmFtX25hbWVkKG92
ZXJyaWRlX2NyZWRzLCBvdmxfb3ZlcnJpZGVfY3JlZHNfZGVmLCBib29sLCAwNjQ0KTsKK01PRFVM
RV9QQVJNX0RFU0Mob3ZsX292ZXJyaWRlX2NyZWRzX2RlZiwKKwkJICJVc2UgbW91bnRlcidzIGNy
ZWRlbnRpYWxzIGZvciBhY2Nlc3NlcyIpOworCiBzdGF0aWMgdm9pZCBvdmxfZW50cnlfc3RhY2tf
ZnJlZShzdHJ1Y3Qgb3ZsX2VudHJ5ICpvZSkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKQEAgLTM2Miw2
ICszNjcsOSBAQCBzdGF0aWMgaW50IG92bF9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICpt
LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiAJaWYgKG9mcy0+Y29uZmlnLm1ldGFjb3B5ICE9IG92
bF9tZXRhY29weV9kZWYpCiAJCXNlcV9wcmludGYobSwgIixtZXRhY29weT0lcyIsCiAJCQkgICBv
ZnMtPmNvbmZpZy5tZXRhY29weSA/ICJvbiIgOiAib2ZmIik7CisJaWYgKG9mcy0+Y29uZmlnLm92
ZXJyaWRlX2NyZWRzICE9IG92bF9vdmVycmlkZV9jcmVkc19kZWYpCisJCXNlcV9zaG93X29wdGlv
bihtLCAib3ZlcnJpZGVfY3JlZHMiLAorCQkJCW9mcy0+Y29uZmlnLm92ZXJyaWRlX2NyZWRzID8g
Im9uIiA6ICJvZmYiKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDAyLDYgKzQxMCw4IEBAIGVudW0g
ewogCU9QVF9YSU5PX0FVVE8sCiAJT1BUX01FVEFDT1BZX09OLAogCU9QVF9NRVRBQ09QWV9PRkYs
CisJT1BUX09WRVJSSURFX0NSRURTX09OLAorCU9QVF9PVkVSUklERV9DUkVEU19PRkYsCiAJT1BU
X0VSUiwKIH07CiAKQEAgLTQyMCw2ICs0MzAsOCBAQCBzdGF0aWMgY29uc3QgbWF0Y2hfdGFibGVf
dCBvdmxfdG9rZW5zID0gewogCXtPUFRfWElOT19BVVRPLAkJCSJ4aW5vPWF1dG8ifSwKIAl7T1BU
X01FVEFDT1BZX09OLAkJIm1ldGFjb3B5PW9uIn0sCiAJe09QVF9NRVRBQ09QWV9PRkYsCQkibWV0
YWNvcHk9b2ZmIn0sCisJe09QVF9PVkVSUklERV9DUkVEU19PTiwJCSJvdmVycmlkZV9jcmVkcz1v
biJ9LAorCXtPUFRfT1ZFUlJJREVfQ1JFRFNfT0ZGLAkib3ZlcnJpZGVfY3JlZHM9b2ZmIn0sCiAJ
e09QVF9FUlIsCQkJTlVMTH0KIH07CiAKQEAgLTQ3OCw2ICs0OTAsNyBAQCBzdGF0aWMgaW50IG92
bF9wYXJzZV9vcHQoY2hhciAqb3B0LCBzdHJ1Y3Qgb3ZsX2NvbmZpZyAqY29uZmlnKQogCWNvbmZp
Zy0+cmVkaXJlY3RfbW9kZSA9IGtzdHJkdXAob3ZsX3JlZGlyZWN0X21vZGVfZGVmKCksIEdGUF9L
RVJORUwpOwogCWlmICghY29uZmlnLT5yZWRpcmVjdF9tb2RlKQogCQlyZXR1cm4gLUVOT01FTTsK
Kwljb25maWctPm92ZXJyaWRlX2NyZWRzID0gb3ZsX292ZXJyaWRlX2NyZWRzX2RlZjsKIAogCXdo
aWxlICgocCA9IG92bF9uZXh0X29wdCgmb3B0KSkgIT0gTlVMTCkgewogCQlpbnQgdG9rZW47CkBA
IC01NTgsNiArNTcxLDE0IEBAIHN0YXRpYyBpbnQgb3ZsX3BhcnNlX29wdChjaGFyICpvcHQsIHN0
cnVjdCBvdmxfY29uZmlnICpjb25maWcpCiAJCQljb25maWctPm1ldGFjb3B5ID0gZmFsc2U7CiAJ
CQlicmVhazsKIAorCQljYXNlIE9QVF9PVkVSUklERV9DUkVEU19PTjoKKwkJCWNvbmZpZy0+b3Zl
cnJpZGVfY3JlZHMgPSB0cnVlOworCQkJYnJlYWs7CisKKwkJY2FzZSBPUFRfT1ZFUlJJREVfQ1JF
RFNfT0ZGOgorCQkJY29uZmlnLT5vdmVycmlkZV9jcmVkcyA9IGZhbHNlOworCQkJYnJlYWs7CisK
IAkJZGVmYXVsdDoKIAkJCXByX2Vycigib3ZlcmxheWZzOiB1bnJlY29nbml6ZWQgbW91bnQgb3B0
aW9uIFwiJXNcIiBvciBtaXNzaW5nIHZhbHVlXG4iLCBwKTsKIAkJCXJldHVybiAtRUlOVkFMOwpA
QCAtMTY3NCw3ICsxNjk1LDYgQEAgc3RhdGljIGludCBvdmxfZmlsbF9zdXBlcihzdHJ1Y3Qgc3Vw
ZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhLCBpbnQgc2lsZW50KQogCQkgICAgICAgb3ZsX2RlbnRy
eV9sb3dlcihyb290X2RlbnRyeSksIE5VTEwpOwogCiAJc2ItPnNfcm9vdCA9IHJvb3RfZGVudHJ5
OwotCiAJcmV0dXJuIDA7CiAKIG91dF9mcmVlX29lOgpkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZz
L3V0aWwuYyBiL2ZzL292ZXJsYXlmcy91dGlsLmMKaW5kZXggYzU4OGMwZDY2ZDhjLi45ZTk3ZTc4
NWU0NGMgMTAwNjQ0Ci0tLSBhL2ZzL292ZXJsYXlmcy91dGlsLmMKKysrIGIvZnMvb3ZlcmxheWZz
L3V0aWwuYwpAQCAtMzcsOSArMzcsMTcgQEAgY29uc3Qgc3RydWN0IGNyZWQgKm92bF9vdmVycmlk
ZV9jcmVkcyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCXN0cnVjdCBvdmxfZnMgKm9mcyA9
IHNiLT5zX2ZzX2luZm87CiAKKwlpZiAoIW9mcy0+Y29uZmlnLm92ZXJyaWRlX2NyZWRzKQorCQly
ZXR1cm4gTlVMTDsKIAlyZXR1cm4gb3ZlcnJpZGVfY3JlZHMob2ZzLT5jcmVhdG9yX2NyZWQpOwog
fQogCit2b2lkIG92bF9yZXZlcnRfY3JlZHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgY29uc3Qg
c3RydWN0IGNyZWQgKm9sZF9jcmVkKQoreworCWlmIChvbGRfY3JlZCkKKwkJcmV2ZXJ0X2NyZWRz
KG9sZF9jcmVkKTsKK30KKwogc3NpemVfdCBvdmxfZG9fdmZzX2dldHhhdHRyKHN0cnVjdCBkZW50
cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmLAogCQkJICAgIHNpemVfdCBz
aXplKQogewpAQCAtNzk4LDcgKzgwNiw3IEBAIGludCBvdmxfbmxpbmtfc3RhcnQoc3RydWN0IGRl
bnRyeSAqZGVudHJ5KQogCSAqIHZhbHVlIHJlbGF0aXZlIHRvIHRoZSB1cHBlciBpbm9kZSBubGlu
ayBpbiBhbiB1cHBlciBpbm9kZSB4YXR0ci4KIAkgKi8KIAllcnIgPSBvdmxfc2V0X25saW5rX3Vw
cGVyKGRlbnRyeSk7Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRz
KGRlbnRyeS0+ZF9zYiwgb2xkX2NyZWQpOwogCiBvdXQ6CiAJaWYgKGVycikKQEAgLTgxNiw3ICs4
MjQsNyBAQCB2b2lkIG92bF9ubGlua19lbmQoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogCiAJCW9s
ZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGRlbnRyeS0+ZF9zYik7CiAJCW92bF9jbGVhbnVw
X2luZGV4KGRlbnRyeSk7Ci0JCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJCW92bF9yZXZlcnRf
Y3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJfQogCiAJb3ZsX2lub2RlX3VubG9jayhp
bm9kZSk7Ci0tIAoyLjIyLjAuNzcwLmcwZjJjNGEzN2ZkLWdvb2cKCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSmZzLWRpc2N1c3Npb24gbWFpbGluZyBs
aXN0Ckpmcy1kaXNjdXNzaW9uQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNv
dXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9qZnMtZGlzY3Vzc2lvbgo=