Xen Security Advisory 501 v4 (CVE-2026-62435,CVE-2026-62436) - grant-table: version change racing with other operations
Xen.org security team <[email protected]> Tue, 28 Jul 2026 12:05:10 +0000
| Newsgroups | gmane.comp.emulators.xen.announce |
|---|---|
| Message-ID | <E1wogYY-003Dm1-2W__31837.9677644529$1785240411$gmane$org@xenbits.xenproject.org> |
--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Xen Security Advisory CVE-2026-62435,CVE-2026-62436 / XSA-501
version 4
grant-table: version change racing with other operations
UPDATES IN VERSION 4
====================
Properly sync backports with staging patch (there was no functional issue,
just a code arrangement one).
Public release.
ISSUE DESCRIPTION
=================
With the introduction of Grant Table v2 came the requirement to be able to
switch between versions. Switching from v1 to v2 reduces the number of
valid grant references, as a bigger shared entry structure is then needed
while the shared table doesn't change size. Switching from v2 back to v1
the status frames, which are separate in v2, go away.
Code holding, but intermediately dropping and then re-acquiring the grant
table lock, sometimes wrongly assumes that said properties wouldn't change
across the window in time where the lock is not being held.
The v1 -> v2 issue is CVE-2026-62435.
The v2 -> v1 issue is CVE-2026-62436.
IMPACT
======
An unprivileged guest may be able to elevate its privileges to that of the
host. Information leaks and Denial of Service (DoS) are possible as well.
VULNERABLE SYSTEMS
==================
All Xen versions from 4.0 onwards are vulnerable. Xen versions 3.4 and
earlier are not vulnerable.
Only x86 guests permitted to use grant table version 2 interfaces can
leverage this vulnerability. On Arm, grant table v2 use is explicitly
unsupported.
Only multi-vCPU guests can leverage this vulnerability.
Xen versions 4.13 and newer offer a way to build Xen without grant table
support. Such hypervisors (CONFIG_GRANT_TABLE turned off) are not
vulnerable.
MITIGATION
==========
Using the "gnttab=max-ver:1" hypervisor command line option will avoid
the vulnerability.
Using the "max_grant_version=1" guest configuration option for guests will
also avoid the vulnerability.
CREDITS
=======
This issue was discovered by Mark Esler.
RESOLUTION
==========
Applying the appropriate attached patch resolves this issue.
Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball. Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.
xsa501.patch xen-unstable - Xen 4.19.x
xsa501-4.18.patch Xen 4.18.x
xsa501-4.17.patch Xen 4.17.x
$ sha256sum xsa501*
e856d64f5b1a16dbb3d7ec19140f24eca508b62de0d25036fa5735cdd5b72be6 xsa501.patch
e006c4fe0a35698318eca59ce828202cac19327f5139d51645116124fc3126e8 xsa501-4.17.patch
10477adfd82fa09123f08497d6a5d44ae61f48d026590ce262cac65f482b2d97 xsa501-4.18.patch
$
DEPLOYMENT DURING EMBARGO
=========================
Deployment of the patches described above (or others which are
substantially similar) is permitted during the embargo, even on public-
facing systems with untrusted guest users and administrators.
HOWEVER, deployment of the mitigation is NOT permitted (except where
all the affected systems and VMs are administered and used only by
organisations which are members of the Xen Project Security Issues
Predisclosure List). Specifically, deployment on public cloud systems
is NOT permitted.
This is because restricting the available grant table version is a guest
visible configuration change, which may lead to re-discovery of the issue.
Deployment of this mitigation is permitted only AFTER the embargo ends.
AND: Distribution of updated software is prohibited (except to other
members of the predisclosure list).
Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.
(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable. This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)
For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----
iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmpomrIMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZc98H/0wOjr4aa/IMxNH41B8p6vx1ayiBDvTV8qWgmjf9
AyjNGWG5sAjViMDjtFMUE/CeOeoby+gPRfzop9L7cjlHzy8+y/5s9oRUzC+0VIDq
1V5SBbD0XzhqujoLj5LBF0M1a/EyAJzYeVIV3t1DL6yFAz9YRpUGz6pNAwnF0dui
bfNZcT2K0+BV0YHUQMrEkAUd+PV/mObG8AiVDS8j9BU8sGN4m1Wx2hsYzqYBCXpK
T3lT8dG9qaYcnlH+m9jfWFIE2Srr9a2rLdCMs4dHY1CB/FmZLRrWe304yFuQntET
OGiyZWW86cjmANEKAjrYHSD/CRa81gBqdxiAH/N13zBxZ7I=
=VVHS
-----END PGP SIGNATURE-----
--=separator
Content-Type: application/octet-stream; name="xsa501.patch"
Content-Disposition: attachment; filename="xsa501.patch"
Content-Transfer-Encoding: base64
RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGNvcGUgd2l0aCB2ZXJzaW9uIGNoYW5nZXMgcmFjaW5nIG90
aGVyIG9wZXJhdGlvbnMKCkRyb3BwaW5nIGFuZCByZS1hY3F1aXJpbmcgdGhl
IGdyYW50IHRhYmxlIGxvY2sgZm9yIGEgcGFydGljdWxhciBvcGVyYXRpb24K
cmVxdWlyZXMgc3BlY2lhbCBjYXJlLCBhcyBpbiB0aGUgbWVhbnRpbWUgdGhl
IGdyYW50IHRhYmxlIHZlcnNpb24gY2FuCmNoYW5nZS4KCkR1cmluZyBhIHYy
IC0+IHYxIGNoYW5nZSwgc3RhdHVzIGZyYW1lcyBnb2luZyBhd2F5IG1lYW5z
IHRoYXQgcHJlLQpjYWxjdWxhdGVkIHN0YXR1cyBwb2ludGVycyBnbyBzdGFs
ZSwgcmVmZXJlbmNpbmcgZnJlZWQgKGFuZCBwb3NzaWJseQphbHJlYWR5IHJl
LXVzZWQpIG1lbW9yeS4gUmVjb3JkIGluLWZsaWdodCB2MiBvcGVyYXRpb25z
LCBwZXJtaXR0aW5nIHRoZQp2ZXJzaW9uIGNoYW5nZSBvbmx5IHdoZW4gdGhl
cmUgYXJlIG5vbmUgb2YgdGhlbS4gUmVjYWxjdWxhdGUgInN0YXR1cyIgaW4K
dGhlIG9uZSBwbGFjZSAobWFwX2dyYW50X3JlZigpJ3MgZXJyb3IgcGF0aCkg
d2hlcmUgaXQgY291bGQgYmUgc3RhbGUsIGJ1dApjb25maW5lIHRoaXMgdG8g
cmVzZXJ2ZWQgZW50cmllcy4KClRoaXMgaXMgQ1ZFLTIwMjYtNjI0MzYuCgpS
ZXBvcnRlZC1ieTogTWFyayBFc2xlciA8bWFya0BoZXhwcm9vZi5kZXY+CgpE
dXJpbmcgYSB2MSAtPiB2MiBjaGFuZ2UsIHRoZSBudW1iZXIgb2Ygc2hhcmVk
IHRhYmxlIGVudHJpZXMgcmVkdWNlcywKbWVhbmluZyB0aGF0IHByZXZpb3Vz
bHkgdmFsaWRhdGVkIGdyYW50IHJlZmVyZW5jZXMgbWF5IG5vdyBiZSBvdXQg
b2YKYm91bmRzLiBCZWNhdXNlIG9mIHRoZSBjaGVja2luZyBvZiBwaW4gY291
bnRzIGluIGdudHRhYl9zZXRfdmVyc2lvbigpCih3aXRoIHRoZSBncmFudCB0
YWJsZSBsb2NrIGhlbGQgZm9yIHdyaXRpbmcpLCBmb3Igbm93LW91dC1vZi1i
b3VuZHMgZ3JlZi1zCm5laXRoZXIgYWN0aXZlIG1hcHBpbmdzIGNhbiBleGlz
dCwgbm9yIGNhbiB0aGVyZSBiZSBpbi1wcm9ncmVzcyBjb3B5Cm9wZXJhdGlv
bnMuIE5ldmVydGhlbGVzcyBib3VuZHMgY2hlY2tzIGFyZSBhZGRlZCB0aGVy
ZSwganVzdCB0byBiZSBvbiB0aGUKc2FmZSBzaWRlLgoKRm9yIGdudHRhYl90
cmFuc2ZlcigpLCB0byBjb3ZlciB0aGUgZ2FwIGJldHdlZW4gdGhlIGxvY2sg
YmVpbmcgZHJvcHBlZCBieQpnbnR0YWJfcHJlcGFyZV9mb3JfdHJhbnNmZXIo
KSBhbmQgaXQgYmVpbmcgcmUtYWNxdWlyZWQsIGhhdmUgdGhlIGhlbHBlcgpy
ZXR1cm4gdGhlIHZlcnNpb24gaXQgZm91bmQsIGFuZCBmYWlsIHRoZSBvcGVy
YXRpb24gaWYgdGhlIHZlcnNpb24gdHVybnMKb3V0IHRvIGhhdmUgY2hhbmdl
ZCBhZnRlciByZS1hY3F1aXJpbmcgdGhlIGxvY2suCgpGdXJ0aGVyIGF2b2lk
IG5lZWRsZXNzIHVzZSBvZiBzaGFyZWRfZW50cnlfaGVhZGVyKCksIGFzIGl0
IGludm9sdmVzCnBvaW50ZXIgYXJpdGhtZXRpYyB3aGljaCwgd2hlbiB1c2lu
ZyBhbiBvdXQtb2YtYm91bmRzIHJlZiwgaXMgVUIuCgpUaGlzIGlzIENWRS0y
MDI2LTYyNDM1LgoKRXZlcnl0aGluZyB0b2dldGhlciBpcyBYU0EtNTAxLgoK
Rml4ZXM6IGE5OGRjMTM3MDNlMCAoIkludHJvZHVjZSBhIGdyYW50X2VudHJ5
X3YyIHN0cnVjdHVyZSIpClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KVGVzdGVkLWJ5OiBNYXJrIEVzbGVyIDxtYXJr
QGhleHByb29mLmRldj4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEveGVuL2Nv
bW1vbi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5j
CmluZGV4IGI4M2RkN2JjMmFmMi4uMzNlZjVmNjUxYmU4IDEwMDY0NAotLS0g
YS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKKysrIGIveGVuL2NvbW1vbi9n
cmFudF90YWJsZS5jCkBAIC03MSw2ICs3MSwxMCBAQCBzdHJ1Y3QgZ3JhbnRf
dGFibGUgewogICAgIHVuc2lnbmVkIGludCAgICAgICAgICBucl9ncmFudF9m
cmFtZXM7CiAgICAgLyogTnVtYmVyIG9mIGdyYW50IHN0YXR1cyBmcmFtZXMg
c2hhcmVkIHdpdGggZ3Vlc3QgKGZvciB2ZXJzaW9uIDIpICovCiAgICAgdW5z
aWduZWQgaW50ICAgICAgICAgIG5yX3N0YXR1c19mcmFtZXM7CisKKyAgICAv
KiBOdW1iZXIgb2YgdmVyc2lvbiAyIG9wZXJhdGlvbnMgaW4gcHJvZ3Jlc3Mu
ICovCisgICAgYXRvbWljX3QgICAgICAgICAgICAgIG5yX3YyX29wczsKKwog
ICAgIC8qCiAgICAgICogTnVtYmVyIG9mIGF2YWlsYWJsZSBtYXB0cmFjayBl
bnRyaWVzLiAgRm9yIGNsZWFudXAgcHVycG9zZXMgaXQgaXMKICAgICAgKiBp
bXBvcnRhbnQgdG8gcmVhbGl6ZSB0aGF0IHRoaXMgZmllbGQgYW5kIEBtYXB0
cmFjayBmdXJ0aGVyIGRvd24gd2lsbApAQCAtOTMzLDYgKzkzNyw5IEBAIHN0
YXRpYyB2b2lkIHJlZHVjZV9zdGF0dXNfZm9yX3BpbihzdHJ1Y3QgZG9tYWlu
ICpyZCwKIHsKICAgICB1bnNpZ25lZCBpbnQgY2xlYXJfZmxhZ3MgPSBhY3Qt
PnBpbiA/IDAgOiBHVEZfcmVhZGluZzsKIAorICAgIGlmICggdW5saWtlbHko
IXN0YXR1cykgKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAoICFyZWFk
b25seSAmJiAhKGFjdC0+cGluICYgKEdOVFBJTl9oc3R3X21hc2sgfCBHTlRQ
SU5fZGV2d19tYXNrKSkgKQogICAgICAgICBjbGVhcl9mbGFncyB8PSBHVEZf
d3JpdGluZzsKIApAQCAtMTM0Myw2ICsxMzUwLDIyIEBAIG1hcF9ncmFudF9y
ZWYoCiAKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsKIAorICAgIGlmICgg
dW5saWtlbHkoZXZhbHVhdGVfbm9zcGVjKChyZ3QtPmd0X3ZlcnNpb24gPT0g
MSkgIT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Rh
dHVzID09ICZzaGFoLT5mbGFncykpKSApCisgICAgeworICAgICAgICAvKgor
ICAgICAgICAgKiBBZnRlciBhIHYxIC0+IHYyIGNoYW5nZSBiZWhpbmQgb3Vy
IGJhY2tzICJyZWYiIG1heSBub3cgYmUgb3V0IG9mCisgICAgICAgICAqIGJv
dW5kcy4gIFJlY2FsY3VsYXRlIGl0LCBidXQgb25seSBmb3IgcmVzZXJ2ZWQg
ZW50cmllcy4gIE90aGVycworICAgICAgICAgKiB3aWxsIGhhdmUgYmVlbiBj
bGVhcmVkIGFueXdheSBieSB0aGUgdmVyc2lvbiBjaGFuZ2UuCisgICAgICAg
ICAqLworICAgICAgICBpZiAoIHJlZiA8IEdOVFRBQl9OUl9SRVNFUlZFRF9F
TlRSSUVTICkKKyAgICAgICAgICAgIHN0YXR1cyA9IGV2YWx1YXRlX25vc3Bl
YyhyZ3QtPmd0X3ZlcnNpb24gPT0gMSkKKyAgICAgICAgICAgICAgICAgICAg
ID8gJnNoYWgtPmZsYWdzCisgICAgICAgICAgICAgICAgICAgICA6ICZzdGF0
dXNfZW50cnkocmd0LCByZWYpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBzdGF0dXMgPSBOVUxMOworICAgIH0KKwogICAgIGFjdCA9IGFjdGl2ZV9l
bnRyeV9hY3F1aXJlKHJndCwgb3AtPnJlZik7CiAgICAgYWN0LT5waW4gLT0g
cGluX2luY3I7CiAKQEAgLTE1ODYsOSArMTYwOSw4IEBAIHVubWFwX2NvbW1v
bl9jb21wbGV0ZShzdHJ1Y3QgZ250dGFiX3VubWFwX2NvbW1vbiAqb3ApCiAg
ICAgc3RydWN0IGRvbWFpbiAqbGQsICpyZCA9IG9wLT5yZDsKICAgICBzdHJ1
Y3QgZ3JhbnRfdGFibGUgKnJndDsKICAgICBzdHJ1Y3QgYWN0aXZlX2dyYW50
X2VudHJ5ICphY3Q7Ci0gICAgZ3JhbnRfZW50cnlfaGVhZGVyX3QgKnNoYTsK
ICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKLSAgICB1aW50MTZfdCAqc3Rh
dHVzOworICAgIHVpbnQxNl90ICpzdGF0dXMgPSBOVUxMOwogCiAgICAgaWYg
KCBldmFsdWF0ZV9ub3NwZWMoIW9wLT5kb25lKSApCiAgICAgewpAQCAtMTYw
NCwxMSArMTYyNiwxMCBAQCB1bm1hcF9jb21tb25fY29tcGxldGUoc3RydWN0
IGdudHRhYl91bm1hcF9jb21tb24gKm9wKQogICAgIGdyYW50X3JlYWRfbG9j
ayhyZ3QpOwogCiAgICAgYWN0ID0gYWN0aXZlX2VudHJ5X2FjcXVpcmUocmd0
LCBvcC0+cmVmKTsKLSAgICBzaGEgPSBzaGFyZWRfZW50cnlfaGVhZGVyKHJn
dCwgb3AtPnJlZik7CiAKICAgICBpZiAoIGV2YWx1YXRlX25vc3BlYyhyZ3Qt
Pmd0X3ZlcnNpb24gPT0gMSkgKQotICAgICAgICBzdGF0dXMgPSAmc2hhLT5m
bGFnczsKLSAgICBlbHNlCisgICAgICAgIHN0YXR1cyA9ICZzaGFyZWRfZW50
cnlfdjEocmd0LCBvcC0+cmVmKS5mbGFnczsKKyAgICBlbHNlIGlmICggZXZh
bHVhdGVfbm9zcGVjKG9wLT5yZWYgPCBucl9ncmFudF9lbnRyaWVzKHJndCkp
ICkKICAgICAgICAgc3RhdHVzID0gJnN0YXR1c19lbnRyeShyZ3QsIG9wLT5y
ZWYpOwogCiAgICAgcGcgPSAhaXNfaW9tZW1fcGFnZShhY3QtPm1mbikgPyBt
Zm5fdG9fcGFnZShvcC0+bWZuKSA6IE5VTEw7CkBAIC0yMTk2LDE0ICsyMjE3
LDE0IEBAIGdudHRhYl9xdWVyeV9zaXplKAogICogQ2hlY2sgdGhhdCB0aGUg
Z2l2ZW4gZ3JhbnQgcmVmZXJlbmNlIChyZCxyZWYpIGFsbG93cyAnbGQnIHRv
IHRyYW5zZmVyCiAgKiBvd25lcnNoaXAgb2YgYSBwYWdlIGZyYW1lLiBJZiBz
bywgbG9jayBkb3duIHRoZSBncmFudCBlbnRyeS4KICAqLwotc3RhdGljIGlu
dAorc3RhdGljIHVuc2lnbmVkIGludAogZ250dGFiX3ByZXBhcmVfZm9yX3Ry
YW5zZmVyKAogICAgIHN0cnVjdCBkb21haW4gKnJkLCBzdHJ1Y3QgZG9tYWlu
ICpsZCwgZ3JhbnRfcmVmX3QgcmVmKQogewogICAgIHN0cnVjdCBncmFudF90
YWJsZSAqcmd0ID0gcmQtPmdyYW50X3RhYmxlOwogICAgIHVpbnQzMl90ICpy
YXdfc2hhaDsKICAgICB1bmlvbiBncmFudF9jb21ibyBzY29tYm87Ci0gICAg
aW50ICAgICAgICAgICAgICAgICByZXRyaWVzID0gMDsKKyAgICB1bnNpZ25l
ZCBpbnQgcmV0cmllcyA9IDAsIHZlcjsKIAogICAgIGdyYW50X3JlYWRfbG9j
ayhyZ3QpOwogCkBAIC0yMjQ4LDggKzIyNjksMTEgQEAgZ250dGFiX3ByZXBh
cmVfZm9yX3RyYW5zZmVyKAogICAgICAgICBzY29tYm8gPSBwcmV2OwogICAg
IH0KIAorICAgIHZlciA9IHJndC0+Z3RfdmVyc2lvbjsKKwogICAgIGdyYW50
X3JlYWRfdW5sb2NrKHJndCk7Ci0gICAgcmV0dXJuIDE7CisKKyAgICByZXR1
cm4gdmVyOwogCiAgZmFpbDoKICAgICBncmFudF9yZWFkX3VubG9jayhyZ3Qp
OwpAQCAtMjI3NCw3ICsyMjk4LDcgQEAgZ250dGFiX3RyYW5zZmVyKAogCiAg
ICAgZm9yICggaSA9IDA7IGkgPCBjb3VudDsgaSsrICkKICAgICB7Ci0gICAg
ICAgIGJvb2wgb2theTsKKyAgICAgICAgdW5zaWduZWQgaW50IHZlcjsKICAg
ICAgICAgaW50IHJjOwogCiAgICAgICAgIGlmICggaSAmJiBoeXBlcmNhbGxf
cHJlZW1wdF9jaGVjaygpICkKQEAgLTI0MTQsMTQgKzI0MzgsMTQgQEAgZ250
dGFiX3RyYW5zZmVyKAogICAgICAgICAgKiBwYWdlbGlzdC4KICAgICAgICAg
ICovCiAgICAgICAgIG5yc3Bpbl91bmxvY2soJmUtPnBhZ2VfYWxsb2NfbG9j
ayk7Ci0gICAgICAgIG9rYXkgPSBnbnR0YWJfcHJlcGFyZV9mb3JfdHJhbnNm
ZXIoZSwgZCwgZ29wLnJlZik7CisgICAgICAgIHZlciA9IGdudHRhYl9wcmVw
YXJlX2Zvcl90cmFuc2ZlcihlLCBkLCBnb3AucmVmKTsKIAogICAgICAgICAv
KgogICAgICAgICAgKiBNYWtlIHN1cmUgdGhlIHJlZmVyZW5jZSBib3VuZCBj
aGVjayBpbiBnbnR0YWJfcHJlcGFyZV9mb3JfdHJhbnNmZXIKICAgICAgICAg
ICogaXMgcmVzcGVjdGVkIGFuZCBzcGVjdWxhdGl2ZSBleGVjdXRpb24gaXMg
YmxvY2tlZCBhY2NvcmRpbmdseQogICAgICAgICAgKi8KLSAgICAgICAgaWYg
KCB1bmxpa2VseSghZXZhbHVhdGVfbm9zcGVjKG9rYXkpKSB8fAotICAgICAg
ICAgICAgdW5saWtlbHkoYXNzaWduX3BhZ2VzKHBhZ2UsIDEsIGUsIE1FTUZf
bm9fcmVmY291bnQpKSApCisgICAgICAgIGlmICggdW5saWtlbHkoIWV2YWx1
YXRlX25vc3BlYyh2ZXIpKSB8fAorICAgICAgICAgICAgIHVubGlrZWx5KGFz
c2lnbl9wYWdlcyhwYWdlLCAxLCBlLCBNRU1GX25vX3JlZmNvdW50KSkgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBib29sIGRyb3BfZG9tX3JlZjsKIApA
QCAtMjQzMyw3ICsyNDU3LDcgQEAgZ250dGFiX3RyYW5zZmVyKAogICAgICAg
ICAgICAgZHJvcF9kb21fcmVmID0gIWRvbWFpbl9hZGp1c3RfdG90X3BhZ2Vz
KGUsIC0xKTsKICAgICAgICAgICAgIG5yc3Bpbl91bmxvY2soJmUtPnBhZ2Vf
YWxsb2NfbG9jayk7CiAKLSAgICAgICAgICAgIGlmICggb2theSAvKiBpLmUu
IGUtPmlzX2R5aW5nIGR1ZSB0byB0aGUgc3Vycm91bmRpbmcgaWYoKSAqLyAp
CisgICAgICAgICAgICBpZiAoIHZlciAvKiBpLmUuIGUtPmlzX2R5aW5nIGR1
ZSB0byB0aGUgc3Vycm91bmRpbmcgaWYoKSAqLyApCiAgICAgICAgICAgICAg
ICAgZ2RwcmludGsoWEVOTE9HX0lORk8sICJUcmFuc2ZlcmVlIGQlZCBpcyBu
b3cgZHlpbmdcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZS0+ZG9t
YWluX2lkKTsKIApAQCAtMjQ1Myw3ICsyNDc3LDEzIEBAIGdudHRhYl90cmFu
c2ZlcigKICAgICAgICAgZ3JhbnRfcmVhZF9sb2NrKGUtPmdyYW50X3RhYmxl
KTsKICAgICAgICAgYWN0ID0gYWN0aXZlX2VudHJ5X2FjcXVpcmUoZS0+Z3Jh
bnRfdGFibGUsIGdvcC5yZWYpOwogCi0gICAgICAgIGlmICggZXZhbHVhdGVf
bm9zcGVjKGUtPmdyYW50X3RhYmxlLT5ndF92ZXJzaW9uID09IDEpICkKKyAg
ICAgICAgaWYgKCB1bmxpa2VseShldmFsdWF0ZV9ub3NwZWMoZS0+Z3JhbnRf
dGFibGUtPmd0X3ZlcnNpb24gIT0gdmVyKSkgKQorICAgICAgICB7CisgICAg
ICAgICAgICByYyA9IC1FSUxTRVE7CisgICAgICAgICAgICBnb3RvIHJlbGVh
c2U7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIGV2YWx1YXRlX25vc3Bl
Yyh2ZXIgPT0gMSkgKQogICAgICAgICB7CiAgICAgICAgICAgICBncmFudF9l
bnRyeV92MV90ICpzaGEgPSAmc2hhcmVkX2VudHJ5X3YxKGUtPmdyYW50X3Rh
YmxlLCBnb3AucmVmKTsKIApAQCAtMjQ3Myw2ICsyNTAzLDcgQEAgZ250dGFi
X3RyYW5zZmVyKAogICAgICAgICBzaGFyZWRfZW50cnlfaGVhZGVyKGUtPmdy
YW50X3RhYmxlLCBnb3AucmVmKS0+ZmxhZ3MgfD0KICAgICAgICAgICAgIEdU
Rl90cmFuc2Zlcl9jb21wbGV0ZWQ7CiAKKyAgICByZWxlYXNlOgogICAgICAg
ICBhY3RpdmVfZW50cnlfcmVsZWFzZShhY3QpOwogICAgICAgICBncmFudF9y
ZWFkX3VubG9jayhlLT5ncmFudF90YWJsZSk7CiAKQEAgLTI1MDEsMjggKzI1
MzIsMjcgQEAgcmVsZWFzZV9ncmFudF9mb3JfY29weSgKICAgICBzdHJ1Y3Qg
ZG9tYWluICpyZCwgZ3JhbnRfcmVmX3QgZ3JlZiwgYm9vbCByZWFkb25seSkK
IHsKICAgICBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnJndCA9IHJkLT5ncmFudF90
YWJsZTsKLSAgICBncmFudF9lbnRyeV9oZWFkZXJfdCAqc2hhOwogICAgIHN0
cnVjdCBhY3RpdmVfZ3JhbnRfZW50cnkgKmFjdDsKICAgICBtZm5fdCBtZm47
Ci0gICAgdWludDE2X3QgKnN0YXR1czsKKyAgICB1aW50MTZfdCAqc3RhdHVz
ID0gTlVMTDsKICAgICBncmFudF9yZWZfdCB0cmFuc19ncmVmOwogICAgIHN0
cnVjdCBkb21haW4gKnRkOwogCiAgICAgZ3JhbnRfcmVhZF9sb2NrKHJndCk7
CiAKICAgICBhY3QgPSBhY3RpdmVfZW50cnlfYWNxdWlyZShyZ3QsIGdyZWYp
OwotICAgIHNoYSA9IHNoYXJlZF9lbnRyeV9oZWFkZXIocmd0LCBncmVmKTsK
ICAgICBtZm4gPSBhY3QtPm1mbjsKIAogICAgIGlmICggZXZhbHVhdGVfbm9z
cGVjKHJndC0+Z3RfdmVyc2lvbiA9PSAxKSApCiAgICAgewotICAgICAgICBz
dGF0dXMgPSAmc2hhLT5mbGFnczsKKyAgICAgICAgc3RhdHVzID0gJnNoYXJl
ZF9lbnRyeV92MShyZ3QsIGdyZWYpLmZsYWdzOwogICAgICAgICB0ZCA9IHJk
OwogICAgICAgICB0cmFuc19ncmVmID0gZ3JlZjsKICAgICB9CiAgICAgZWxz
ZQogICAgIHsKLSAgICAgICAgc3RhdHVzID0gJnN0YXR1c19lbnRyeShyZ3Qs
IGdyZWYpOworICAgICAgICBpZiAoIGV2YWx1YXRlX25vc3BlYyhncmVmIDwg
bnJfZ3JhbnRfZW50cmllcyhyZ3QpKSApCisgICAgICAgICAgICBzdGF0dXMg
PSAmc3RhdHVzX2VudHJ5KHJndCwgZ3JlZik7CiAgICAgICAgIHRkID0gKGFj
dC0+c3JjX2RvbWlkID09IHJkLT5kb21haW5faWQpCiAgICAgICAgICAgICAg
PyByZCA6IGtub3duYWxpdmVfZG9tYWluX2Zyb21fZG9taWQoYWN0LT5zcmNf
ZG9taWQpOwogICAgICAgICB0cmFuc19ncmVmID0gYWN0LT50cmFuc19ncmVm
OwpAQCAtMjU0MSw2ICsyNTcxLDkgQEAgcmVsZWFzZV9ncmFudF9mb3JfY29w
eSgKIAogICAgIHJlZHVjZV9zdGF0dXNfZm9yX3BpbihyZCwgYWN0LCBzdGF0
dXMsIHJlYWRvbmx5KTsKIAorICAgIGlmICggIWFjdC0+cGluICYmIGFjdC0+
aXNfc3ViX3BhZ2UgKQorICAgICAgICBhdG9taWNfZGVjKCZyZ3QtPm5yX3Yy
X29wcyk7CisKICAgICBhY3RpdmVfZW50cnlfcmVsZWFzZShhY3QpOwogICAg
IGdyYW50X3JlYWRfdW5sb2NrKHJndCk7CiAKQEAgLTI2NzIsOCArMjcwNSwx
MCBAQCBhY3F1aXJlX2dyYW50X2Zvcl9jb3B5KAogCiAgICAgICAgIC8qCiAg
ICAgICAgICAqIGFjcXVpcmVfZ3JhbnRfZm9yX2NvcHkoKSB3aWxsIHRha2Ug
dGhlIGxvY2sgb24gdGhlIHJlbW90ZSB0YWJsZSwKLSAgICAgICAgICogc28g
d2UgaGF2ZSB0byBkcm9wIHRoZSBsb2NrIGhlcmUgYW5kIHJlYWNxdWlyZS4K
KyAgICAgICAgICogc28gd2UgaGF2ZSB0byBkcm9wIHRoZSBsb2NrIGhlcmUg
YW5kIHJlYWNxdWlyZS4gIEJlZm9yZSBkb2luZyBzbywKKyAgICAgICAgICog
cmVjb3JkIHRoYXQgYSB2MiBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuCiAg
ICAgICAgICAqLworICAgICAgICBhdG9taWNfaW5jKCZyZ3QtPm5yX3YyX29w
cyk7CiAgICAgICAgIGFjdGl2ZV9lbnRyeV9yZWxlYXNlKGFjdCk7CiAgICAg
ICAgIGdyYW50X3JlYWRfdW5sb2NrKHJndCk7CiAKQEAgLTI2ODcsNiArMjcy
Miw3IEBAIGFjcXVpcmVfZ3JhbnRfZm9yX2NvcHkoCiAKICAgICAgICAgaWYg
KCByYyAhPSBHTlRTVF9va2F5ICkKICAgICAgICAgeworICAgICAgICAgICAg
YXRvbWljX2RlYygmcmd0LT5ucl92Ml9vcHMpOwogICAgICAgICAgICAgcmN1
X3VubG9ja19kb21haW4odGQpOwogICAgICAgICAgICAgcmVkdWNlX3N0YXR1
c19mb3JfcGluKHJkLCBhY3QsIHN0YXR1cywgcmVhZG9ubHkpOwogICAgICAg
ICAgICAgYWN0aXZlX2VudHJ5X3JlbGVhc2UoYWN0KTsKQEAgLTI3MjMsNiAr
Mjc1OSw4IEBAIGFjcXVpcmVfZ3JhbnRfZm9yX2NvcHkoCiAgICAgICAgICAg
ICByY3VfdW5sb2NrX2RvbWFpbih0ZCk7CiAKICAgICAgICAgICAgIGdyYW50
X3JlYWRfbG9jayhyZ3QpOworICAgICAgICAgICAgYXRvbWljX2RlYygmcmd0
LT5ucl92Ml9vcHMpOworCiAgICAgICAgICAgICBhY3QgPSBhY3RpdmVfZW50
cnlfYWNxdWlyZShyZ3QsIGdyZWYpOwogICAgICAgICAgICAgcmVkdWNlX3N0
YXR1c19mb3JfcGluKHJkLCBhY3QsIHN0YXR1cywgcmVhZG9ubHkpOwogICAg
ICAgICAgICAgYWN0aXZlX2VudHJ5X3JlbGVhc2UoYWN0KTsKQEAgLTI3NDks
NiArMjc4Nyw4IEBAIGFjcXVpcmVfZ3JhbnRfZm9yX2NvcHkoCiAgICAgICAg
ICAgICAgKi8KICAgICAgICAgICAgIGFjdC0+aXNfc3ViX3BhZ2UgPSB0cnVl
OwogICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGF0b21p
Y19kZWMoJnJndC0+bnJfdjJfb3BzKTsKICAgICB9CiAgICAgZWxzZSBpZiAo
ICFvbGRfcGluIHx8CiAgICAgICAgICAgICAgICghcmVhZG9ubHkgJiYgIShv
bGRfcGluICYgKEdOVFBJTl9kZXZ3X21hc2t8R05UUElOX2hzdHdfbWFzaykp
KSApCkBAIC0yODAzLDYgKzI4NDMsOSBAQCBhY3F1aXJlX2dyYW50X2Zvcl9j
b3B5KAogICAgICAgICAgICAgYWN0LT5zcmNfZG9taWQgPSB0ZC0+ZG9tYWlu
X2lkOwogICAgICAgICAgICAgYWN0LT50cmFuc19ncmVmID0gdHJhbnNfZ3Jl
ZjsKICAgICAgICAgICAgIGFjdC0+bWZuID0gZ3JhbnRfbWZuOworCisgICAg
ICAgICAgICBpZiAoIGlzX3N1Yl9wYWdlICkKKyAgICAgICAgICAgICAgICBh
dG9taWNfaW5jKCZyZ3QtPm5yX3YyX29wcyk7CiAgICAgICAgIH0KICAgICAg
ICAgZWxzZSBpZiAoICFtZm5fZXEoYWN0LT5tZm4sIGdyYW50X21mbikgfHwK
ICAgICAgICAgICAgICAgICAgIGFjdC0+c3JjX2RvbWlkICE9IHRkLT5kb21h
aW5faWQgfHwKQEAgLTMyMzIsNyArMzI3NSwxNyBAQCBnbnR0YWJfc2V0X3Zl
cnNpb24oWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShnbnR0YWJfc2V0X3ZlcnNp
b25fdCkgdW9wKQogICAgICAgICBpZiAoIHJlcyA8IDApCiAgICAgICAgICAg
ICBnb3RvIG91dF91bmxvY2s7CiAgICAgICAgIGJyZWFrOworCiAgICAgY2Fz
ZSAyOgorICAgICAgICBpZiAoIGF0b21pY19yZWFkKCZndC0+bnJfdjJfb3Bz
KSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19X
QVJOSU5HLAorICAgICAgICAgICAgICAgICAgICAgInRyaWVkIHRvIGNoYW5n
ZSB0byBncmFudCB0YWJsZSB2MSwgYnV0ICVkIHYyIG9wZXJhdGlvbnMgc3Rp
bGwgaW4gcHJvZ3Jlc3NcbiIsCisgICAgICAgICAgICAgICAgICAgICBhdG9t
aWNfcmVhZCgmZ3QtPm5yX3YyX29wcykpOworICAgICAgICAgICAgcmVzID0g
LUVBR0FJTjsKKyAgICAgICAgICAgIGdvdG8gb3V0X3VubG9jazsKKyAgICAg
ICAgfQorCiAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgR05UVEFCX05SX1JF
U0VSVkVEX0VOVFJJRVM7IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAg
IHN3aXRjaCAoIHNoYXJlZF9lbnRyeV92MihndCwgaSkuaGRyLmZsYWdzICYg
R1RGX3R5cGVfbWFzayApCg==
--=separator
Content-Type: application/octet-stream; name="xsa501-4.17.patch"
Content-Disposition: attachment; filename="xsa501-4.17.patch"
Content-Transfer-Encoding: base64
RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGNvcGUgd2l0aCB2ZXJzaW9uIGNoYW5nZXMgcmFjaW5nIG90
aGVyIG9wZXJhdGlvbnMKCkRyb3BwaW5nIGFuZCByZS1hY3F1aXJpbmcgdGhl
IGdyYW50IHRhYmxlIGxvY2sgZm9yIGEgcGFydGljdWxhciBvcGVyYXRpb24K
cmVxdWlyZXMgc3BlY2lhbCBjYXJlLCBhcyBpbiB0aGUgbWVhbnRpbWUgdGhl
IGdyYW50IHRhYmxlIHZlcnNpb24gY2FuCmNoYW5nZS4KCkR1cmluZyBhIHYy
IC0+IHYxIGNoYW5nZSwgc3RhdHVzIGZyYW1lcyBnb2luZyBhd2F5IG1lYW5z
IHRoYXQgcHJlLQpjYWxjdWxhdGVkIHN0YXR1cyBwb2ludGVycyBnbyBzdGFs
ZSwgcmVmZXJlbmNpbmcgZnJlZWQgKGFuZCBwb3NzaWJseQphbHJlYWR5IHJl
LXVzZWQpIG1lbW9yeS4gUmVjb3JkIGluLWZsaWdodCB2MiBvcGVyYXRpb25z
LCBwZXJtaXR0aW5nIHRoZQp2ZXJzaW9uIGNoYW5nZSBvbmx5IHdoZW4gdGhl
cmUgYXJlIG5vbmUgb2YgdGhlbS4gUmVjYWxjdWxhdGUgInN0YXR1cyIgaW4K
dGhlIG9uZSBwbGFjZSAobWFwX2dyYW50X3JlZigpJ3MgZXJyb3IgcGF0aCkg
d2hlcmUgaXQgY291bGQgYmUgc3RhbGUsIGJ1dApjb25maW5lIHRoaXMgdG8g
cmVzZXJ2ZWQgZW50cmllcy4KClRoaXMgaXMgQ1ZFLTIwMjYtNjI0MzYuCgpS
ZXBvcnRlZC1ieTogTWFyayBFc2xlciA8bWFya0BoZXhwcm9vZi5kZXY+CgpE
dXJpbmcgYSB2MSAtPiB2MiBjaGFuZ2UsIHRoZSBudW1iZXIgb2Ygc2hhcmVk
IHRhYmxlIGVudHJpZXMgcmVkdWNlcywKbWVhbmluZyB0aGF0IHByZXZpb3Vz
bHkgdmFsaWRhdGVkIGdyYW50IHJlZmVyZW5jZXMgbWF5IG5vdyBiZSBvdXQg
b2YKYm91bmRzLiBCZWNhdXNlIG9mIHRoZSBjaGVja2luZyBvZiBwaW4gY291
bnRzIGluIGdudHRhYl9zZXRfdmVyc2lvbigpCih3aXRoIHRoZSBncmFudCB0
YWJsZSBsb2NrIGhlbGQgZm9yIHdyaXRpbmcpLCBmb3Igbm93LW91dC1vZi1i
b3VuZHMgZ3JlZi1zCm5laXRoZXIgYWN0aXZlIG1hcHBpbmdzIGNhbiBleGlz
dCwgbm9yIGNhbiB0aGVyZSBiZSBpbi1wcm9ncmVzcyBjb3B5Cm9wZXJhdGlv
bnMuIE5ldmVydGhlbGVzcyBib3VuZHMgY2hlY2tzIGFyZSBhZGRlZCB0aGVy
ZSwganVzdCB0byBiZSBvbiB0aGUKc2FmZSBzaWRlLgoKRm9yIGdudHRhYl90
cmFuc2ZlcigpLCB0byBjb3ZlciB0aGUgZ2FwIGJldHdlZW4gdGhlIGxvY2sg
YmVpbmcgZHJvcHBlZCBieQpnbnR0YWJfcHJlcGFyZV9mb3JfdHJhbnNmZXIo
KSBhbmQgaXQgYmVpbmcgcmUtYWNxdWlyZWQsIGhhdmUgdGhlIGhlbHBlcgpy
ZXR1cm4gdGhlIHZlcnNpb24gaXQgZm91bmQsIGFuZCBmYWlsIHRoZSBvcGVy
YXRpb24gaWYgdGhlIHZlcnNpb24gdHVybnMKb3V0IHRvIGhhdmUgY2hhbmdl
ZCBhZnRlciByZS1hY3F1aXJpbmcgdGhlIGxvY2suCgpGdXJ0aGVyIGF2b2lk
IG5lZWRsZXNzIHVzZSBvZiBzaGFyZWRfZW50cnlfaGVhZGVyKCksIGFzIGl0
IGludm9sdmVzCnBvaW50ZXIgYXJpdGhtZXRpYyB3aGljaCwgd2hlbiB1c2lu
ZyBhbiBvdXQtb2YtYm91bmRzIHJlZiwgaXMgVUIuCgpUaGlzIGlzIENWRS0y
MDI2LTYyNDM1LgoKRXZlcnl0aGluZyB0b2dldGhlciBpcyBYU0EtNTAxLgoK
Rml4ZXM6IGE5OGRjMTM3MDNlMCAoIkludHJvZHVjZSBhIGdyYW50X2VudHJ5
X3YyIHN0cnVjdHVyZSIpClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KVGVzdGVkLWJ5OiBNYXJrIEVzbGVyIDxtYXJr
QGhleHByb29mLmRldj4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2dy
YW50X3RhYmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBA
IC03MSw2ICs3MSwxMCBAQCBzdHJ1Y3QgZ3JhbnRfdGFibGUgewogICAgIHVu
c2lnbmVkIGludCAgICAgICAgICBucl9ncmFudF9mcmFtZXM7CiAgICAgLyog
TnVtYmVyIG9mIGdyYW50IHN0YXR1cyBmcmFtZXMgc2hhcmVkIHdpdGggZ3Vl
c3QgKGZvciB2ZXJzaW9uIDIpICovCiAgICAgdW5zaWduZWQgaW50ICAgICAg
ICAgIG5yX3N0YXR1c19mcmFtZXM7CisKKyAgICAvKiBOdW1iZXIgb2YgdmVy
c2lvbiAyIG9wZXJhdGlvbnMgaW4gcHJvZ3Jlc3MuICovCisgICAgYXRvbWlj
X3QgICAgICAgICAgICAgIG5yX3YyX29wczsKKwogICAgIC8qCiAgICAgICog
TnVtYmVyIG9mIGF2YWlsYWJsZSBtYXB0cmFjayBlbnRyaWVzLiAgRm9yIGNs
ZWFudXAgcHVycG9zZXMgaXQgaXMKICAgICAgKiBpbXBvcnRhbnQgdG8gcmVh
bGl6ZSB0aGF0IHRoaXMgZmllbGQgYW5kIEBtYXB0cmFjayBmdXJ0aGVyIGRv
d24gd2lsbApAQCAtOTE4LDYgKzkyMiw5IEBAIHN0YXRpYyB2b2lkIHJlZHVj
ZV9zdGF0dXNfZm9yX3BpbihzdHJ1Y3QKIHsKICAgICB1bnNpZ25lZCBpbnQg
Y2xlYXJfZmxhZ3MgPSBhY3QtPnBpbiA/IDAgOiBHVEZfcmVhZGluZzsKIAor
ICAgIGlmICggdW5saWtlbHkoIXN0YXR1cykgKQorICAgICAgICByZXR1cm47
CisKICAgICBpZiAoICFyZWFkb25seSAmJiAhKGFjdC0+cGluICYgKEdOVFBJ
Tl9oc3R3X21hc2sgfCBHTlRQSU5fZGV2d19tYXNrKSkgKQogICAgICAgICBj
bGVhcl9mbGFncyB8PSBHVEZfd3JpdGluZzsKIApAQCAtMTMxOCw2ICsxMzI1
LDIyIEBAIG1hcF9ncmFudF9yZWYoCiAKICAgICBncmFudF9yZWFkX2xvY2so
cmd0KTsKIAorICAgIGlmICggdW5saWtlbHkoZXZhbHVhdGVfbm9zcGVjKChy
Z3QtPmd0X3ZlcnNpb24gPT0gMSkgIT0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoc3RhdHVzID09ICZzaGFoLT5mbGFncykpKSApCisg
ICAgeworICAgICAgICAvKgorICAgICAgICAgKiBBZnRlciBhIHYxIC0+IHYy
IGNoYW5nZSBiZWhpbmQgb3VyIGJhY2tzICJyZWYiIG1heSBub3cgYmUgb3V0
IG9mCisgICAgICAgICAqIGJvdW5kcy4gIFJlY2FsY3VsYXRlIGl0LCBidXQg
b25seSBmb3IgcmVzZXJ2ZWQgZW50cmllcy4gIE90aGVycworICAgICAgICAg
KiB3aWxsIGhhdmUgYmVlbiBjbGVhcmVkIGFueXdheSBieSB0aGUgdmVyc2lv
biBjaGFuZ2UuCisgICAgICAgICAqLworICAgICAgICBpZiAoIHJlZiA8IEdO
VFRBQl9OUl9SRVNFUlZFRF9FTlRSSUVTICkKKyAgICAgICAgICAgIHN0YXR1
cyA9IGV2YWx1YXRlX25vc3BlYyhyZ3QtPmd0X3ZlcnNpb24gPT0gMSkKKyAg
ICAgICAgICAgICAgICAgICAgID8gJnNoYWgtPmZsYWdzCisgICAgICAgICAg
ICAgICAgICAgICA6ICZzdGF0dXNfZW50cnkocmd0LCByZWYpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBzdGF0dXMgPSBOVUxMOworICAgIH0KKwog
ICAgIGFjdCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJlKHJndCwgb3AtPnJlZik7
CiAgICAgYWN0LT5waW4gLT0gcGluX2luY3I7CiAKQEAgLTE1NTcsOSArMTU4
MCw4IEBAIHVubWFwX2NvbW1vbl9jb21wbGV0ZShzdHJ1Y3QgZ250dGFiX3Vu
bWEKICAgICBzdHJ1Y3QgZG9tYWluICpsZCwgKnJkID0gb3AtPnJkOwogICAg
IHN0cnVjdCBncmFudF90YWJsZSAqcmd0OwogICAgIHN0cnVjdCBhY3RpdmVf
Z3JhbnRfZW50cnkgKmFjdDsKLSAgICBncmFudF9lbnRyeV9oZWFkZXJfdCAq
c2hhOwogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOwotICAgIHVpbnQxNl90
ICpzdGF0dXM7CisgICAgdWludDE2X3QgKnN0YXR1cyA9IE5VTEw7CiAKICAg
ICBpZiAoIGV2YWx1YXRlX25vc3BlYyghb3AtPmRvbmUpICkKICAgICB7CkBA
IC0xNTc1LDExICsxNTk3LDEwIEBAIHVubWFwX2NvbW1vbl9jb21wbGV0ZShz
dHJ1Y3QgZ250dGFiX3VubWEKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsK
IAogICAgIGFjdCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJlKHJndCwgb3AtPnJl
Zik7Ci0gICAgc2hhID0gc2hhcmVkX2VudHJ5X2hlYWRlcihyZ3QsIG9wLT5y
ZWYpOwogCiAgICAgaWYgKCBldmFsdWF0ZV9ub3NwZWMocmd0LT5ndF92ZXJz
aW9uID09IDEpICkKLSAgICAgICAgc3RhdHVzID0gJnNoYS0+ZmxhZ3M7Ci0g
ICAgZWxzZQorICAgICAgICBzdGF0dXMgPSAmc2hhcmVkX2VudHJ5X3YxKHJn
dCwgb3AtPnJlZikuZmxhZ3M7CisgICAgZWxzZSBpZiAoIGV2YWx1YXRlX25v
c3BlYyhvcC0+cmVmIDwgbnJfZ3JhbnRfZW50cmllcyhyZ3QpKSApCiAgICAg
ICAgIHN0YXR1cyA9ICZzdGF0dXNfZW50cnkocmd0LCBvcC0+cmVmKTsKIAog
ICAgIHBnID0gIWlzX2lvbWVtX3BhZ2UoYWN0LT5tZm4pID8gbWZuX3RvX3Bh
Z2Uob3AtPm1mbikgOiBOVUxMOwpAQCAtMjE2NywxNCArMjE4OCwxNCBAQCBn
bnR0YWJfcXVlcnlfc2l6ZSgKICAqIENoZWNrIHRoYXQgdGhlIGdpdmVuIGdy
YW50IHJlZmVyZW5jZSAocmQscmVmKSBhbGxvd3MgJ2xkJyB0byB0cmFuc2Zl
cgogICogb3duZXJzaGlwIG9mIGEgcGFnZSBmcmFtZS4gSWYgc28sIGxvY2sg
ZG93biB0aGUgZ3JhbnQgZW50cnkuCiAgKi8KLXN0YXRpYyBpbnQKK3N0YXRp
YyB1bnNpZ25lZCBpbnQKIGdudHRhYl9wcmVwYXJlX2Zvcl90cmFuc2ZlcigK
ICAgICBzdHJ1Y3QgZG9tYWluICpyZCwgc3RydWN0IGRvbWFpbiAqbGQsIGdy
YW50X3JlZl90IHJlZikKIHsKICAgICBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnJn
dCA9IHJkLT5ncmFudF90YWJsZTsKICAgICB1aW50MzJfdCAqcmF3X3NoYWg7
CiAgICAgdW5pb24gZ3JhbnRfY29tYm8gc2NvbWJvOwotICAgIGludCAgICAg
ICAgICAgICAgICAgcmV0cmllcyA9IDA7CisgICAgdW5zaWduZWQgaW50IHJl
dHJpZXMgPSAwLCB2ZXI7CiAKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsK
IApAQCAtMjIxOSw4ICsyMjQwLDExIEBAIGdudHRhYl9wcmVwYXJlX2Zvcl90
cmFuc2ZlcigKICAgICAgICAgc2NvbWJvID0gcHJldjsKICAgICB9CiAKKyAg
ICB2ZXIgPSByZ3QtPmd0X3ZlcnNpb247CisKICAgICBncmFudF9yZWFkX3Vu
bG9jayhyZ3QpOwotICAgIHJldHVybiAxOworCisgICAgcmV0dXJuIHZlcjsK
IAogIGZhaWw6CiAgICAgZ3JhbnRfcmVhZF91bmxvY2socmd0KTsKQEAgLTIy
NDUsNyArMjI2OSw3IEBAIGdudHRhYl90cmFuc2ZlcigKIAogICAgIGZvciAo
IGkgPSAwOyBpIDwgY291bnQ7IGkrKyApCiAgICAgewotICAgICAgICBib29s
X3Qgb2theTsKKyAgICAgICAgdW5zaWduZWQgaW50IHZlcjsKICAgICAgICAg
aW50IHJjOwogCiAgICAgICAgIGlmICggaSAmJiBoeXBlcmNhbGxfcHJlZW1w
dF9jaGVjaygpICkKQEAgLTIzODUsMTQgKzI0MDksMTQgQEAgZ250dGFiX3Ry
YW5zZmVyKAogICAgICAgICAgKiBwYWdlbGlzdC4KICAgICAgICAgICovCiAg
ICAgICAgIHNwaW5fdW5sb2NrKCZlLT5wYWdlX2FsbG9jX2xvY2spOwotICAg
ICAgICBva2F5ID0gZ250dGFiX3ByZXBhcmVfZm9yX3RyYW5zZmVyKGUsIGQs
IGdvcC5yZWYpOworICAgICAgICB2ZXIgPSBnbnR0YWJfcHJlcGFyZV9mb3Jf
dHJhbnNmZXIoZSwgZCwgZ29wLnJlZik7CiAKICAgICAgICAgLyoKICAgICAg
ICAgICogTWFrZSBzdXJlIHRoZSByZWZlcmVuY2UgYm91bmQgY2hlY2sgaW4g
Z250dGFiX3ByZXBhcmVfZm9yX3RyYW5zZmVyCiAgICAgICAgICAqIGlzIHJl
c3BlY3RlZCBhbmQgc3BlY3VsYXRpdmUgZXhlY3V0aW9uIGlzIGJsb2NrZWQg
YWNjb3JkaW5nbHkKICAgICAgICAgICovCi0gICAgICAgIGlmICggdW5saWtl
bHkoIWV2YWx1YXRlX25vc3BlYyhva2F5KSkgfHwKLSAgICAgICAgICAgIHVu
bGlrZWx5KGFzc2lnbl9wYWdlcyhwYWdlLCAxLCBlLCBNRU1GX25vX3JlZmNv
dW50KSkgKQorICAgICAgICBpZiAoIHVubGlrZWx5KCFldmFsdWF0ZV9ub3Nw
ZWModmVyKSkgfHwKKyAgICAgICAgICAgICB1bmxpa2VseShhc3NpZ25fcGFn
ZXMocGFnZSwgMSwgZSwgTUVNRl9ub19yZWZjb3VudCkpICkKICAgICAgICAg
ewogICAgICAgICAgICAgYm9vbCBkcm9wX2RvbV9yZWY7CiAKQEAgLTI0MDQs
NyArMjQyOCw3IEBAIGdudHRhYl90cmFuc2ZlcigKICAgICAgICAgICAgIGRy
b3BfZG9tX3JlZiA9ICFkb21haW5fYWRqdXN0X3RvdF9wYWdlcyhlLCAtMSk7
CiAgICAgICAgICAgICBzcGluX3VubG9jaygmZS0+cGFnZV9hbGxvY19sb2Nr
KTsKIAotICAgICAgICAgICAgaWYgKCBva2F5IC8qIGkuZS4gZS0+aXNfZHlp
bmcgZHVlIHRvIHRoZSBzdXJyb3VuZGluZyBpZigpICovICkKKyAgICAgICAg
ICAgIGlmICggdmVyIC8qIGkuZS4gZS0+aXNfZHlpbmcgZHVlIHRvIHRoZSBz
dXJyb3VuZGluZyBpZigpICovICkKICAgICAgICAgICAgICAgICBnZHByaW50
ayhYRU5MT0dfSU5GTywgIlRyYW5zZmVyZWUgZCVkIGlzIG5vdyBkeWluZ1xu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICBlLT5kb21haW5faWQpOwog
CkBAIC0yNDI0LDcgKzI0NDgsMTMgQEAgZ250dGFiX3RyYW5zZmVyKAogICAg
ICAgICBncmFudF9yZWFkX2xvY2soZS0+Z3JhbnRfdGFibGUpOwogICAgICAg
ICBhY3QgPSBhY3RpdmVfZW50cnlfYWNxdWlyZShlLT5ncmFudF90YWJsZSwg
Z29wLnJlZik7CiAKLSAgICAgICAgaWYgKCBldmFsdWF0ZV9ub3NwZWMoZS0+
Z3JhbnRfdGFibGUtPmd0X3ZlcnNpb24gPT0gMSkgKQorICAgICAgICBpZiAo
IHVubGlrZWx5KGV2YWx1YXRlX25vc3BlYyhlLT5ncmFudF90YWJsZS0+Z3Rf
dmVyc2lvbiAhPSB2ZXIpKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJj
ID0gLUVJTFNFUTsKKyAgICAgICAgICAgIGdvdG8gcmVsZWFzZTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICggZXZhbHVhdGVfbm9zcGVjKHZlciA9PSAx
KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGdyYW50X2VudHJ5X3YxX3Qg
KnNoYSA9ICZzaGFyZWRfZW50cnlfdjEoZS0+Z3JhbnRfdGFibGUsIGdvcC5y
ZWYpOwogCkBAIC0yNDQ0LDYgKzI0NzQsNyBAQCBnbnR0YWJfdHJhbnNmZXIo
CiAgICAgICAgIHNoYXJlZF9lbnRyeV9oZWFkZXIoZS0+Z3JhbnRfdGFibGUs
IGdvcC5yZWYpLT5mbGFncyB8PQogICAgICAgICAgICAgR1RGX3RyYW5zZmVy
X2NvbXBsZXRlZDsKIAorICAgIHJlbGVhc2U6CiAgICAgICAgIGFjdGl2ZV9l
bnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgICAgIGdyYW50X3JlYWRfdW5sb2Nr
KGUtPmdyYW50X3RhYmxlKTsKIApAQCAtMjQ3MiwyOCArMjUwMywyNyBAQCBy
ZWxlYXNlX2dyYW50X2Zvcl9jb3B5KAogICAgIHN0cnVjdCBkb21haW4gKnJk
LCBncmFudF9yZWZfdCBncmVmLCBib29sIHJlYWRvbmx5KQogewogICAgIHN0
cnVjdCBncmFudF90YWJsZSAqcmd0ID0gcmQtPmdyYW50X3RhYmxlOwotICAg
IGdyYW50X2VudHJ5X2hlYWRlcl90ICpzaGE7CiAgICAgc3RydWN0IGFjdGl2
ZV9ncmFudF9lbnRyeSAqYWN0OwogICAgIG1mbl90IG1mbjsKLSAgICB1aW50
MTZfdCAqc3RhdHVzOworICAgIHVpbnQxNl90ICpzdGF0dXMgPSBOVUxMOwog
ICAgIGdyYW50X3JlZl90IHRyYW5zX2dyZWY7CiAgICAgc3RydWN0IGRvbWFp
biAqdGQ7CiAKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsKIAogICAgIGFj
dCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJlKHJndCwgZ3JlZik7Ci0gICAgc2hh
ID0gc2hhcmVkX2VudHJ5X2hlYWRlcihyZ3QsIGdyZWYpOwogICAgIG1mbiA9
IGFjdC0+bWZuOwogCiAgICAgaWYgKCBldmFsdWF0ZV9ub3NwZWMocmd0LT5n
dF92ZXJzaW9uID09IDEpICkKICAgICB7Ci0gICAgICAgIHN0YXR1cyA9ICZz
aGEtPmZsYWdzOworICAgICAgICBzdGF0dXMgPSAmc2hhcmVkX2VudHJ5X3Yx
KHJndCwgZ3JlZikuZmxhZ3M7CiAgICAgICAgIHRkID0gcmQ7CiAgICAgICAg
IHRyYW5zX2dyZWYgPSBncmVmOwogICAgIH0KICAgICBlbHNlCiAgICAgewot
ICAgICAgICBzdGF0dXMgPSAmc3RhdHVzX2VudHJ5KHJndCwgZ3JlZik7Cisg
ICAgICAgIGlmICggZXZhbHVhdGVfbm9zcGVjKGdyZWYgPCBucl9ncmFudF9l
bnRyaWVzKHJndCkpICkKKyAgICAgICAgICAgIHN0YXR1cyA9ICZzdGF0dXNf
ZW50cnkocmd0LCBncmVmKTsKICAgICAgICAgdGQgPSBhY3QtPnRyYW5zX2Rv
bWFpbjsKICAgICAgICAgdHJhbnNfZ3JlZiA9IGFjdC0+dHJhbnNfZ3JlZjsK
ICAgICB9CkBAIC0yNTExLDYgKzI1NDEsOSBAQCByZWxlYXNlX2dyYW50X2Zv
cl9jb3B5KAogCiAgICAgcmVkdWNlX3N0YXR1c19mb3JfcGluKHJkLCBhY3Qs
IHN0YXR1cywgcmVhZG9ubHkpOwogCisgICAgaWYgKCAhYWN0LT5waW4gJiYg
YWN0LT5pc19zdWJfcGFnZSApCisgICAgICAgIGF0b21pY19kZWMoJnJndC0+
bnJfdjJfb3BzKTsKKwogICAgIGFjdGl2ZV9lbnRyeV9yZWxlYXNlKGFjdCk7
CiAgICAgZ3JhbnRfcmVhZF91bmxvY2socmd0KTsKIApAQCAtMjYyMyw4ICsy
NjU2LDEwIEBAIGFjcXVpcmVfZ3JhbnRfZm9yX2NvcHkoCiAKICAgICAgICAg
LyoKICAgICAgICAgICogYWNxdWlyZV9ncmFudF9mb3JfY29weSgpIHdpbGwg
dGFrZSB0aGUgbG9jayBvbiB0aGUgcmVtb3RlIHRhYmxlLAotICAgICAgICAg
KiBzbyB3ZSBoYXZlIHRvIGRyb3AgdGhlIGxvY2sgaGVyZSBhbmQgcmVhY3F1
aXJlLgorICAgICAgICAgKiBzbyB3ZSBoYXZlIHRvIGRyb3AgdGhlIGxvY2sg
aGVyZSBhbmQgcmVhY3F1aXJlLiAgQmVmb3JlIGRvaW5nIHNvLAorICAgICAg
ICAgKiByZWNvcmQgdGhhdCBhIHYyIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVz
cy4KICAgICAgICAgICovCisgICAgICAgIGF0b21pY19pbmMoJnJndC0+bnJf
djJfb3BzKTsKICAgICAgICAgYWN0aXZlX2VudHJ5X3JlbGVhc2UoYWN0KTsK
ICAgICAgICAgZ3JhbnRfcmVhZF91bmxvY2socmd0KTsKIApAQCAtMjYzOCw2
ICsyNjczLDcgQEAgYWNxdWlyZV9ncmFudF9mb3JfY29weSgKIAogICAgICAg
ICBpZiAoIHJjICE9IEdOVFNUX29rYXkgKQogICAgICAgICB7CisgICAgICAg
ICAgICBhdG9taWNfZGVjKCZyZ3QtPm5yX3YyX29wcyk7CiAgICAgICAgICAg
ICByY3VfdW5sb2NrX2RvbWFpbih0ZCk7CiAgICAgICAgICAgICByZWR1Y2Vf
c3RhdHVzX2Zvcl9waW4ocmQsIGFjdCwgc3RhdHVzLCByZWFkb25seSk7CiAg
ICAgICAgICAgICBhY3RpdmVfZW50cnlfcmVsZWFzZShhY3QpOwpAQCAtMjY3
NCw2ICsyNzEwLDggQEAgYWNxdWlyZV9ncmFudF9mb3JfY29weSgKICAgICAg
ICAgICAgIHJjdV91bmxvY2tfZG9tYWluKHRkKTsKIAogICAgICAgICAgICAg
Z3JhbnRfcmVhZF9sb2NrKHJndCk7CisgICAgICAgICAgICBhdG9taWNfZGVj
KCZyZ3QtPm5yX3YyX29wcyk7CisKICAgICAgICAgICAgIGFjdCA9IGFjdGl2
ZV9lbnRyeV9hY3F1aXJlKHJndCwgZ3JlZik7CiAgICAgICAgICAgICByZWR1
Y2Vfc3RhdHVzX2Zvcl9waW4ocmQsIGFjdCwgc3RhdHVzLCByZWFkb25seSk7
CiAgICAgICAgICAgICBhY3RpdmVfZW50cnlfcmVsZWFzZShhY3QpOwpAQCAt
MjcwMCw2ICsyNzM4LDggQEAgYWNxdWlyZV9ncmFudF9mb3JfY29weSgKICAg
ICAgICAgICAgICAqLwogICAgICAgICAgICAgYWN0LT5pc19zdWJfcGFnZSA9
IHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
YXRvbWljX2RlYygmcmd0LT5ucl92Ml9vcHMpOwogICAgIH0KICAgICBlbHNl
IGlmICggIW9sZF9waW4gfHwKICAgICAgICAgICAgICAgKCFyZWFkb25seSAm
JiAhKG9sZF9waW4gJiAoR05UUElOX2RldndfbWFza3xHTlRQSU5faHN0d19t
YXNrKSkpICkKQEAgLTI3NTQsNiArMjc5NCw5IEBAIGFjcXVpcmVfZ3JhbnRf
Zm9yX2NvcHkoCiAgICAgICAgICAgICBhY3QtPnRyYW5zX2RvbWFpbiA9IHRk
OwogICAgICAgICAgICAgYWN0LT50cmFuc19ncmVmID0gdHJhbnNfZ3JlZjsK
ICAgICAgICAgICAgIGFjdC0+bWZuID0gZ3JhbnRfbWZuOworCisgICAgICAg
ICAgICBpZiAoIGlzX3N1Yl9wYWdlICkKKyAgICAgICAgICAgICAgICBhdG9t
aWNfaW5jKCZyZ3QtPm5yX3YyX29wcyk7CiAgICAgICAgIH0KICAgICAgICAg
ZWxzZSBpZiAoICFtZm5fZXEoYWN0LT5tZm4sIGdyYW50X21mbikgfHwKICAg
ICAgICAgICAgICAgICAgIGFjdC0+dHJhbnNfZG9tYWluICE9IHRkIHx8CkBA
IC0zMTczLDcgKzMyMTYsMTcgQEAgZ250dGFiX3NldF92ZXJzaW9uKFhFTl9H
VUVTVF9IQU5ETEVfUEFSQQogICAgICAgICBpZiAoIHJlcyA8IDApCiAgICAg
ICAgICAgICBnb3RvIG91dF91bmxvY2s7CiAgICAgICAgIGJyZWFrOworCiAg
ICAgY2FzZSAyOgorICAgICAgICBpZiAoIGF0b21pY19yZWFkKCZndC0+bnJf
djJfb3BzKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGdkcHJpbnRrKFhF
TkxPR19XQVJOSU5HLAorICAgICAgICAgICAgICAgICAgICAgInRyaWVkIHRv
IGNoYW5nZSB0byBncmFudCB0YWJsZSB2MSwgYnV0ICVkIHYyIG9wZXJhdGlv
bnMgc3RpbGwgaW4gcHJvZ3Jlc3NcbiIsCisgICAgICAgICAgICAgICAgICAg
ICBhdG9taWNfcmVhZCgmZ3QtPm5yX3YyX29wcykpOworICAgICAgICAgICAg
cmVzID0gLUVBR0FJTjsKKyAgICAgICAgICAgIGdvdG8gb3V0X3VubG9jazsK
KyAgICAgICAgfQorCiAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgR05UVEFC
X05SX1JFU0VSVkVEX0VOVFJJRVM7IGkrKyApCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHN3aXRjaCAoIHNoYXJlZF9lbnRyeV92MihndCwgaSkuaGRyLmZs
YWdzICYgR1RGX3R5cGVfbWFzayApCg==
--=separator
Content-Type: application/octet-stream; name="xsa501-4.18.patch"
Content-Disposition: attachment; filename="xsa501-4.18.patch"
Content-Transfer-Encoding: base64
RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGNvcGUgd2l0aCB2ZXJzaW9uIGNoYW5nZXMgcmFjaW5nIG90
aGVyIG9wZXJhdGlvbnMKCkRyb3BwaW5nIGFuZCByZS1hY3F1aXJpbmcgdGhl
IGdyYW50IHRhYmxlIGxvY2sgZm9yIGEgcGFydGljdWxhciBvcGVyYXRpb24K
cmVxdWlyZXMgc3BlY2lhbCBjYXJlLCBhcyBpbiB0aGUgbWVhbnRpbWUgdGhl
IGdyYW50IHRhYmxlIHZlcnNpb24gY2FuCmNoYW5nZS4KCkR1cmluZyBhIHYy
IC0+IHYxIGNoYW5nZSwgc3RhdHVzIGZyYW1lcyBnb2luZyBhd2F5IG1lYW5z
IHRoYXQgcHJlLQpjYWxjdWxhdGVkIHN0YXR1cyBwb2ludGVycyBnbyBzdGFs
ZSwgcmVmZXJlbmNpbmcgZnJlZWQgKGFuZCBwb3NzaWJseQphbHJlYWR5IHJl
LXVzZWQpIG1lbW9yeS4gUmVjb3JkIGluLWZsaWdodCB2MiBvcGVyYXRpb25z
LCBwZXJtaXR0aW5nIHRoZQp2ZXJzaW9uIGNoYW5nZSBvbmx5IHdoZW4gdGhl
cmUgYXJlIG5vbmUgb2YgdGhlbS4gUmVjYWxjdWxhdGUgInN0YXR1cyIgaW4K
dGhlIG9uZSBwbGFjZSAobWFwX2dyYW50X3JlZigpJ3MgZXJyb3IgcGF0aCkg
d2hlcmUgaXQgY291bGQgYmUgc3RhbGUsIGJ1dApjb25maW5lIHRoaXMgdG8g
cmVzZXJ2ZWQgZW50cmllcy4KClRoaXMgaXMgQ1ZFLTIwMjYtNjI0MzYuCgpS
ZXBvcnRlZC1ieTogTWFyayBFc2xlciA8bWFya0BoZXhwcm9vZi5kZXY+CgpE
dXJpbmcgYSB2MSAtPiB2MiBjaGFuZ2UsIHRoZSBudW1iZXIgb2Ygc2hhcmVk
IHRhYmxlIGVudHJpZXMgcmVkdWNlcywKbWVhbmluZyB0aGF0IHByZXZpb3Vz
bHkgdmFsaWRhdGVkIGdyYW50IHJlZmVyZW5jZXMgbWF5IG5vdyBiZSBvdXQg
b2YKYm91bmRzLiBCZWNhdXNlIG9mIHRoZSBjaGVja2luZyBvZiBwaW4gY291
bnRzIGluIGdudHRhYl9zZXRfdmVyc2lvbigpCih3aXRoIHRoZSBncmFudCB0
YWJsZSBsb2NrIGhlbGQgZm9yIHdyaXRpbmcpLCBmb3Igbm93LW91dC1vZi1i
b3VuZHMgZ3JlZi1zCm5laXRoZXIgYWN0aXZlIG1hcHBpbmdzIGNhbiBleGlz
dCwgbm9yIGNhbiB0aGVyZSBiZSBpbi1wcm9ncmVzcyBjb3B5Cm9wZXJhdGlv
bnMuIE5ldmVydGhlbGVzcyBib3VuZHMgY2hlY2tzIGFyZSBhZGRlZCB0aGVy
ZSwganVzdCB0byBiZSBvbiB0aGUKc2FmZSBzaWRlLgoKRm9yIGdudHRhYl90
cmFuc2ZlcigpLCB0byBjb3ZlciB0aGUgZ2FwIGJldHdlZW4gdGhlIGxvY2sg
YmVpbmcgZHJvcHBlZCBieQpnbnR0YWJfcHJlcGFyZV9mb3JfdHJhbnNmZXIo
KSBhbmQgaXQgYmVpbmcgcmUtYWNxdWlyZWQsIGhhdmUgdGhlIGhlbHBlcgpy
ZXR1cm4gdGhlIHZlcnNpb24gaXQgZm91bmQsIGFuZCBmYWlsIHRoZSBvcGVy
YXRpb24gaWYgdGhlIHZlcnNpb24gdHVybnMKb3V0IHRvIGhhdmUgY2hhbmdl
ZCBhZnRlciByZS1hY3F1aXJpbmcgdGhlIGxvY2suCgpGdXJ0aGVyIGF2b2lk
IG5lZWRsZXNzIHVzZSBvZiBzaGFyZWRfZW50cnlfaGVhZGVyKCksIGFzIGl0
IGludm9sdmVzCnBvaW50ZXIgYXJpdGhtZXRpYyB3aGljaCwgd2hlbiB1c2lu
ZyBhbiBvdXQtb2YtYm91bmRzIHJlZiwgaXMgVUIuCgpUaGlzIGlzIENWRS0y
MDI2LTYyNDM1LgoKRXZlcnl0aGluZyB0b2dldGhlciBpcyBYU0EtNTAxLgoK
Rml4ZXM6IGE5OGRjMTM3MDNlMCAoIkludHJvZHVjZSBhIGdyYW50X2VudHJ5
X3YyIHN0cnVjdHVyZSIpClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KVGVzdGVkLWJ5OiBNYXJrIEVzbGVyIDxtYXJr
QGhleHByb29mLmRldj4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2dy
YW50X3RhYmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBA
IC03MSw2ICs3MSwxMCBAQCBzdHJ1Y3QgZ3JhbnRfdGFibGUgewogICAgIHVu
c2lnbmVkIGludCAgICAgICAgICBucl9ncmFudF9mcmFtZXM7CiAgICAgLyog
TnVtYmVyIG9mIGdyYW50IHN0YXR1cyBmcmFtZXMgc2hhcmVkIHdpdGggZ3Vl
c3QgKGZvciB2ZXJzaW9uIDIpICovCiAgICAgdW5zaWduZWQgaW50ICAgICAg
ICAgIG5yX3N0YXR1c19mcmFtZXM7CisKKyAgICAvKiBOdW1iZXIgb2YgdmVy
c2lvbiAyIG9wZXJhdGlvbnMgaW4gcHJvZ3Jlc3MuICovCisgICAgYXRvbWlj
X3QgICAgICAgICAgICAgIG5yX3YyX29wczsKKwogICAgIC8qCiAgICAgICog
TnVtYmVyIG9mIGF2YWlsYWJsZSBtYXB0cmFjayBlbnRyaWVzLiAgRm9yIGNs
ZWFudXAgcHVycG9zZXMgaXQgaXMKICAgICAgKiBpbXBvcnRhbnQgdG8gcmVh
bGl6ZSB0aGF0IHRoaXMgZmllbGQgYW5kIEBtYXB0cmFjayBmdXJ0aGVyIGRv
d24gd2lsbApAQCAtOTMzLDYgKzkzNyw5IEBAIHN0YXRpYyB2b2lkIHJlZHVj
ZV9zdGF0dXNfZm9yX3BpbihzdHJ1Y3QKIHsKICAgICB1bnNpZ25lZCBpbnQg
Y2xlYXJfZmxhZ3MgPSBhY3QtPnBpbiA/IDAgOiBHVEZfcmVhZGluZzsKIAor
ICAgIGlmICggdW5saWtlbHkoIXN0YXR1cykgKQorICAgICAgICByZXR1cm47
CisKICAgICBpZiAoICFyZWFkb25seSAmJiAhKGFjdC0+cGluICYgKEdOVFBJ
Tl9oc3R3X21hc2sgfCBHTlRQSU5fZGV2d19tYXNrKSkgKQogICAgICAgICBj
bGVhcl9mbGFncyB8PSBHVEZfd3JpdGluZzsKIApAQCAtMTM0MSw2ICsxMzQ4
LDIyIEBAIG1hcF9ncmFudF9yZWYoCiAKICAgICBncmFudF9yZWFkX2xvY2so
cmd0KTsKIAorICAgIGlmICggdW5saWtlbHkoZXZhbHVhdGVfbm9zcGVjKChy
Z3QtPmd0X3ZlcnNpb24gPT0gMSkgIT0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoc3RhdHVzID09ICZzaGFoLT5mbGFncykpKSApCisg
ICAgeworICAgICAgICAvKgorICAgICAgICAgKiBBZnRlciBhIHYxIC0+IHYy
IGNoYW5nZSBiZWhpbmQgb3VyIGJhY2tzICJyZWYiIG1heSBub3cgYmUgb3V0
IG9mCisgICAgICAgICAqIGJvdW5kcy4gIFJlY2FsY3VsYXRlIGl0LCBidXQg
b25seSBmb3IgcmVzZXJ2ZWQgZW50cmllcy4gIE90aGVycworICAgICAgICAg
KiB3aWxsIGhhdmUgYmVlbiBjbGVhcmVkIGFueXdheSBieSB0aGUgdmVyc2lv
biBjaGFuZ2UuCisgICAgICAgICAqLworICAgICAgICBpZiAoIHJlZiA8IEdO
VFRBQl9OUl9SRVNFUlZFRF9FTlRSSUVTICkKKyAgICAgICAgICAgIHN0YXR1
cyA9IGV2YWx1YXRlX25vc3BlYyhyZ3QtPmd0X3ZlcnNpb24gPT0gMSkKKyAg
ICAgICAgICAgICAgICAgICAgID8gJnNoYWgtPmZsYWdzCisgICAgICAgICAg
ICAgICAgICAgICA6ICZzdGF0dXNfZW50cnkocmd0LCByZWYpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBzdGF0dXMgPSBOVUxMOworICAgIH0KKwog
ICAgIGFjdCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJlKHJndCwgb3AtPnJlZik7
CiAgICAgYWN0LT5waW4gLT0gcGluX2luY3I7CiAKQEAgLTE1ODQsOSArMTYw
Nyw4IEBAIHVubWFwX2NvbW1vbl9jb21wbGV0ZShzdHJ1Y3QgZ250dGFiX3Vu
bWEKICAgICBzdHJ1Y3QgZG9tYWluICpsZCwgKnJkID0gb3AtPnJkOwogICAg
IHN0cnVjdCBncmFudF90YWJsZSAqcmd0OwogICAgIHN0cnVjdCBhY3RpdmVf
Z3JhbnRfZW50cnkgKmFjdDsKLSAgICBncmFudF9lbnRyeV9oZWFkZXJfdCAq
c2hhOwogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOwotICAgIHVpbnQxNl90
ICpzdGF0dXM7CisgICAgdWludDE2X3QgKnN0YXR1cyA9IE5VTEw7CiAKICAg
ICBpZiAoIGV2YWx1YXRlX25vc3BlYyghb3AtPmRvbmUpICkKICAgICB7CkBA
IC0xNjAyLDExICsxNjI0LDEwIEBAIHVubWFwX2NvbW1vbl9jb21wbGV0ZShz
dHJ1Y3QgZ250dGFiX3VubWEKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsK
IAogICAgIGFjdCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJlKHJndCwgb3AtPnJl
Zik7Ci0gICAgc2hhID0gc2hhcmVkX2VudHJ5X2hlYWRlcihyZ3QsIG9wLT5y
ZWYpOwogCiAgICAgaWYgKCBldmFsdWF0ZV9ub3NwZWMocmd0LT5ndF92ZXJz
aW9uID09IDEpICkKLSAgICAgICAgc3RhdHVzID0gJnNoYS0+ZmxhZ3M7Ci0g
ICAgZWxzZQorICAgICAgICBzdGF0dXMgPSAmc2hhcmVkX2VudHJ5X3YxKHJn
dCwgb3AtPnJlZikuZmxhZ3M7CisgICAgZWxzZSBpZiAoIGV2YWx1YXRlX25v
c3BlYyhvcC0+cmVmIDwgbnJfZ3JhbnRfZW50cmllcyhyZ3QpKSApCiAgICAg
ICAgIHN0YXR1cyA9ICZzdGF0dXNfZW50cnkocmd0LCBvcC0+cmVmKTsKIAog
ICAgIHBnID0gIWlzX2lvbWVtX3BhZ2UoYWN0LT5tZm4pID8gbWZuX3RvX3Bh
Z2Uob3AtPm1mbikgOiBOVUxMOwpAQCAtMjE5NCwxNCArMjIxNSwxNCBAQCBn
bnR0YWJfcXVlcnlfc2l6ZSgKICAqIENoZWNrIHRoYXQgdGhlIGdpdmVuIGdy
YW50IHJlZmVyZW5jZSAocmQscmVmKSBhbGxvd3MgJ2xkJyB0byB0cmFuc2Zl
cgogICogb3duZXJzaGlwIG9mIGEgcGFnZSBmcmFtZS4gSWYgc28sIGxvY2sg
ZG93biB0aGUgZ3JhbnQgZW50cnkuCiAgKi8KLXN0YXRpYyBpbnQKK3N0YXRp
YyB1bnNpZ25lZCBpbnQKIGdudHRhYl9wcmVwYXJlX2Zvcl90cmFuc2ZlcigK
ICAgICBzdHJ1Y3QgZG9tYWluICpyZCwgc3RydWN0IGRvbWFpbiAqbGQsIGdy
YW50X3JlZl90IHJlZikKIHsKICAgICBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnJn
dCA9IHJkLT5ncmFudF90YWJsZTsKICAgICB1aW50MzJfdCAqcmF3X3NoYWg7
CiAgICAgdW5pb24gZ3JhbnRfY29tYm8gc2NvbWJvOwotICAgIGludCAgICAg
ICAgICAgICAgICAgcmV0cmllcyA9IDA7CisgICAgdW5zaWduZWQgaW50IHJl
dHJpZXMgPSAwLCB2ZXI7CiAKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsK
IApAQCAtMjI0Niw4ICsyMjY3LDExIEBAIGdudHRhYl9wcmVwYXJlX2Zvcl90
cmFuc2ZlcigKICAgICAgICAgc2NvbWJvID0gcHJldjsKICAgICB9CiAKKyAg
ICB2ZXIgPSByZ3QtPmd0X3ZlcnNpb247CisKICAgICBncmFudF9yZWFkX3Vu
bG9jayhyZ3QpOwotICAgIHJldHVybiAxOworCisgICAgcmV0dXJuIHZlcjsK
IAogIGZhaWw6CiAgICAgZ3JhbnRfcmVhZF91bmxvY2socmd0KTsKQEAgLTIy
NzIsNyArMjI5Niw3IEBAIGdudHRhYl90cmFuc2ZlcigKIAogICAgIGZvciAo
IGkgPSAwOyBpIDwgY291bnQ7IGkrKyApCiAgICAgewotICAgICAgICBib29s
X3Qgb2theTsKKyAgICAgICAgdW5zaWduZWQgaW50IHZlcjsKICAgICAgICAg
aW50IHJjOwogCiAgICAgICAgIGlmICggaSAmJiBoeXBlcmNhbGxfcHJlZW1w
dF9jaGVjaygpICkKQEAgLTI0MTIsMTQgKzI0MzYsMTQgQEAgZ250dGFiX3Ry
YW5zZmVyKAogICAgICAgICAgKiBwYWdlbGlzdC4KICAgICAgICAgICovCiAg
ICAgICAgIHNwaW5fdW5sb2NrKCZlLT5wYWdlX2FsbG9jX2xvY2spOwotICAg
ICAgICBva2F5ID0gZ250dGFiX3ByZXBhcmVfZm9yX3RyYW5zZmVyKGUsIGQs
IGdvcC5yZWYpOworICAgICAgICB2ZXIgPSBnbnR0YWJfcHJlcGFyZV9mb3Jf
dHJhbnNmZXIoZSwgZCwgZ29wLnJlZik7CiAKICAgICAgICAgLyoKICAgICAg
ICAgICogTWFrZSBzdXJlIHRoZSByZWZlcmVuY2UgYm91bmQgY2hlY2sgaW4g
Z250dGFiX3ByZXBhcmVfZm9yX3RyYW5zZmVyCiAgICAgICAgICAqIGlzIHJl
c3BlY3RlZCBhbmQgc3BlY3VsYXRpdmUgZXhlY3V0aW9uIGlzIGJsb2NrZWQg
YWNjb3JkaW5nbHkKICAgICAgICAgICovCi0gICAgICAgIGlmICggdW5saWtl
bHkoIWV2YWx1YXRlX25vc3BlYyhva2F5KSkgfHwKLSAgICAgICAgICAgIHVu
bGlrZWx5KGFzc2lnbl9wYWdlcyhwYWdlLCAxLCBlLCBNRU1GX25vX3JlZmNv
dW50KSkgKQorICAgICAgICBpZiAoIHVubGlrZWx5KCFldmFsdWF0ZV9ub3Nw
ZWModmVyKSkgfHwKKyAgICAgICAgICAgICB1bmxpa2VseShhc3NpZ25fcGFn
ZXMocGFnZSwgMSwgZSwgTUVNRl9ub19yZWZjb3VudCkpICkKICAgICAgICAg
ewogICAgICAgICAgICAgYm9vbCBkcm9wX2RvbV9yZWY7CiAKQEAgLTI0MzEs
NyArMjQ1NSw3IEBAIGdudHRhYl90cmFuc2ZlcigKICAgICAgICAgICAgIGRy
b3BfZG9tX3JlZiA9ICFkb21haW5fYWRqdXN0X3RvdF9wYWdlcyhlLCAtMSk7
CiAgICAgICAgICAgICBzcGluX3VubG9jaygmZS0+cGFnZV9hbGxvY19sb2Nr
KTsKIAotICAgICAgICAgICAgaWYgKCBva2F5IC8qIGkuZS4gZS0+aXNfZHlp
bmcgZHVlIHRvIHRoZSBzdXJyb3VuZGluZyBpZigpICovICkKKyAgICAgICAg
ICAgIGlmICggdmVyIC8qIGkuZS4gZS0+aXNfZHlpbmcgZHVlIHRvIHRoZSBz
dXJyb3VuZGluZyBpZigpICovICkKICAgICAgICAgICAgICAgICBnZHByaW50
ayhYRU5MT0dfSU5GTywgIlRyYW5zZmVyZWUgZCVkIGlzIG5vdyBkeWluZ1xu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICBlLT5kb21haW5faWQpOwog
CkBAIC0yNDUxLDcgKzI0NzUsMTMgQEAgZ250dGFiX3RyYW5zZmVyKAogICAg
ICAgICBncmFudF9yZWFkX2xvY2soZS0+Z3JhbnRfdGFibGUpOwogICAgICAg
ICBhY3QgPSBhY3RpdmVfZW50cnlfYWNxdWlyZShlLT5ncmFudF90YWJsZSwg
Z29wLnJlZik7CiAKLSAgICAgICAgaWYgKCBldmFsdWF0ZV9ub3NwZWMoZS0+
Z3JhbnRfdGFibGUtPmd0X3ZlcnNpb24gPT0gMSkgKQorICAgICAgICBpZiAo
IHVubGlrZWx5KGV2YWx1YXRlX25vc3BlYyhlLT5ncmFudF90YWJsZS0+Z3Rf
dmVyc2lvbiAhPSB2ZXIpKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJj
ID0gLUVJTFNFUTsKKyAgICAgICAgICAgIGdvdG8gcmVsZWFzZTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICggZXZhbHVhdGVfbm9zcGVjKHZlciA9PSAx
KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGdyYW50X2VudHJ5X3YxX3Qg
KnNoYSA9ICZzaGFyZWRfZW50cnlfdjEoZS0+Z3JhbnRfdGFibGUsIGdvcC5y
ZWYpOwogCkBAIC0yNDcxLDYgKzI1MDEsNyBAQCBnbnR0YWJfdHJhbnNmZXIo
CiAgICAgICAgIHNoYXJlZF9lbnRyeV9oZWFkZXIoZS0+Z3JhbnRfdGFibGUs
IGdvcC5yZWYpLT5mbGFncyB8PQogICAgICAgICAgICAgR1RGX3RyYW5zZmVy
X2NvbXBsZXRlZDsKIAorICAgIHJlbGVhc2U6CiAgICAgICAgIGFjdGl2ZV9l
bnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgICAgIGdyYW50X3JlYWRfdW5sb2Nr
KGUtPmdyYW50X3RhYmxlKTsKIApAQCAtMjQ5OSwyOCArMjUzMCwyNyBAQCBy
ZWxlYXNlX2dyYW50X2Zvcl9jb3B5KAogICAgIHN0cnVjdCBkb21haW4gKnJk
LCBncmFudF9yZWZfdCBncmVmLCBib29sIHJlYWRvbmx5KQogewogICAgIHN0
cnVjdCBncmFudF90YWJsZSAqcmd0ID0gcmQtPmdyYW50X3RhYmxlOwotICAg
IGdyYW50X2VudHJ5X2hlYWRlcl90ICpzaGE7CiAgICAgc3RydWN0IGFjdGl2
ZV9ncmFudF9lbnRyeSAqYWN0OwogICAgIG1mbl90IG1mbjsKLSAgICB1aW50
MTZfdCAqc3RhdHVzOworICAgIHVpbnQxNl90ICpzdGF0dXMgPSBOVUxMOwog
ICAgIGdyYW50X3JlZl90IHRyYW5zX2dyZWY7CiAgICAgc3RydWN0IGRvbWFp
biAqdGQ7CiAKICAgICBncmFudF9yZWFkX2xvY2socmd0KTsKIAogICAgIGFj
dCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJlKHJndCwgZ3JlZik7Ci0gICAgc2hh
ID0gc2hhcmVkX2VudHJ5X2hlYWRlcihyZ3QsIGdyZWYpOwogICAgIG1mbiA9
IGFjdC0+bWZuOwogCiAgICAgaWYgKCBldmFsdWF0ZV9ub3NwZWMocmd0LT5n
dF92ZXJzaW9uID09IDEpICkKICAgICB7Ci0gICAgICAgIHN0YXR1cyA9ICZz
aGEtPmZsYWdzOworICAgICAgICBzdGF0dXMgPSAmc2hhcmVkX2VudHJ5X3Yx
KHJndCwgZ3JlZikuZmxhZ3M7CiAgICAgICAgIHRkID0gcmQ7CiAgICAgICAg
IHRyYW5zX2dyZWYgPSBncmVmOwogICAgIH0KICAgICBlbHNlCiAgICAgewot
ICAgICAgICBzdGF0dXMgPSAmc3RhdHVzX2VudHJ5KHJndCwgZ3JlZik7Cisg
ICAgICAgIGlmICggZXZhbHVhdGVfbm9zcGVjKGdyZWYgPCBucl9ncmFudF9l
bnRyaWVzKHJndCkpICkKKyAgICAgICAgICAgIHN0YXR1cyA9ICZzdGF0dXNf
ZW50cnkocmd0LCBncmVmKTsKICAgICAgICAgdGQgPSAoYWN0LT5zcmNfZG9t
aWQgPT0gcmQtPmRvbWFpbl9pZCkKICAgICAgICAgICAgICA/IHJkIDoga25v
d25hbGl2ZV9kb21haW5fZnJvbV9kb21pZChhY3QtPnNyY19kb21pZCk7CiAg
ICAgICAgIHRyYW5zX2dyZWYgPSBhY3QtPnRyYW5zX2dyZWY7CkBAIC0yNTM5
LDYgKzI1NjksOSBAQCByZWxlYXNlX2dyYW50X2Zvcl9jb3B5KAogCiAgICAg
cmVkdWNlX3N0YXR1c19mb3JfcGluKHJkLCBhY3QsIHN0YXR1cywgcmVhZG9u
bHkpOwogCisgICAgaWYgKCAhYWN0LT5waW4gJiYgYWN0LT5pc19zdWJfcGFn
ZSApCisgICAgICAgIGF0b21pY19kZWMoJnJndC0+bnJfdjJfb3BzKTsKKwog
ICAgIGFjdGl2ZV9lbnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgZ3JhbnRfcmVh
ZF91bmxvY2socmd0KTsKIApAQCAtMjY3MCw4ICsyNzAzLDEwIEBAIGFjcXVp
cmVfZ3JhbnRfZm9yX2NvcHkoCiAKICAgICAgICAgLyoKICAgICAgICAgICog
YWNxdWlyZV9ncmFudF9mb3JfY29weSgpIHdpbGwgdGFrZSB0aGUgbG9jayBv
biB0aGUgcmVtb3RlIHRhYmxlLAotICAgICAgICAgKiBzbyB3ZSBoYXZlIHRv
IGRyb3AgdGhlIGxvY2sgaGVyZSBhbmQgcmVhY3F1aXJlLgorICAgICAgICAg
KiBzbyB3ZSBoYXZlIHRvIGRyb3AgdGhlIGxvY2sgaGVyZSBhbmQgcmVhY3F1
aXJlLiAgQmVmb3JlIGRvaW5nIHNvLAorICAgICAgICAgKiByZWNvcmQgdGhh
dCBhIHYyIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcy4KICAgICAgICAgICov
CisgICAgICAgIGF0b21pY19pbmMoJnJndC0+bnJfdjJfb3BzKTsKICAgICAg
ICAgYWN0aXZlX2VudHJ5X3JlbGVhc2UoYWN0KTsKICAgICAgICAgZ3JhbnRf
cmVhZF91bmxvY2socmd0KTsKIApAQCAtMjY4NSw2ICsyNzIwLDcgQEAgYWNx
dWlyZV9ncmFudF9mb3JfY29weSgKIAogICAgICAgICBpZiAoIHJjICE9IEdO
VFNUX29rYXkgKQogICAgICAgICB7CisgICAgICAgICAgICBhdG9taWNfZGVj
KCZyZ3QtPm5yX3YyX29wcyk7CiAgICAgICAgICAgICByY3VfdW5sb2NrX2Rv
bWFpbih0ZCk7CiAgICAgICAgICAgICByZWR1Y2Vfc3RhdHVzX2Zvcl9waW4o
cmQsIGFjdCwgc3RhdHVzLCByZWFkb25seSk7CiAgICAgICAgICAgICBhY3Rp
dmVfZW50cnlfcmVsZWFzZShhY3QpOwpAQCAtMjcyMSw2ICsyNzU3LDggQEAg
YWNxdWlyZV9ncmFudF9mb3JfY29weSgKICAgICAgICAgICAgIHJjdV91bmxv
Y2tfZG9tYWluKHRkKTsKIAogICAgICAgICAgICAgZ3JhbnRfcmVhZF9sb2Nr
KHJndCk7CisgICAgICAgICAgICBhdG9taWNfZGVjKCZyZ3QtPm5yX3YyX29w
cyk7CisKICAgICAgICAgICAgIGFjdCA9IGFjdGl2ZV9lbnRyeV9hY3F1aXJl
KHJndCwgZ3JlZik7CiAgICAgICAgICAgICByZWR1Y2Vfc3RhdHVzX2Zvcl9w
aW4ocmQsIGFjdCwgc3RhdHVzLCByZWFkb25seSk7CiAgICAgICAgICAgICBh
Y3RpdmVfZW50cnlfcmVsZWFzZShhY3QpOwpAQCAtMjc0Nyw2ICsyNzg1LDgg
QEAgYWNxdWlyZV9ncmFudF9mb3JfY29weSgKICAgICAgICAgICAgICAqLwog
ICAgICAgICAgICAgYWN0LT5pc19zdWJfcGFnZSA9IHRydWU7CiAgICAgICAg
IH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYXRvbWljX2RlYygmcmd0
LT5ucl92Ml9vcHMpOwogICAgIH0KICAgICBlbHNlIGlmICggIW9sZF9waW4g
fHwKICAgICAgICAgICAgICAgKCFyZWFkb25seSAmJiAhKG9sZF9waW4gJiAo
R05UUElOX2RldndfbWFza3xHTlRQSU5faHN0d19tYXNrKSkpICkKQEAgLTI4
MDEsNiArMjg0MSw5IEBAIGFjcXVpcmVfZ3JhbnRfZm9yX2NvcHkoCiAgICAg
ICAgICAgICBhY3QtPnNyY19kb21pZCA9IHRkLT5kb21haW5faWQ7CiAgICAg
ICAgICAgICBhY3QtPnRyYW5zX2dyZWYgPSB0cmFuc19ncmVmOwogICAgICAg
ICAgICAgYWN0LT5tZm4gPSBncmFudF9tZm47CisKKyAgICAgICAgICAgIGlm
ICggaXNfc3ViX3BhZ2UgKQorICAgICAgICAgICAgICAgIGF0b21pY19pbmMo
JnJndC0+bnJfdjJfb3BzKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlm
ICggIW1mbl9lcShhY3QtPm1mbiwgZ3JhbnRfbWZuKSB8fAogICAgICAgICAg
ICAgICAgICAgYWN0LT5zcmNfZG9taWQgIT0gdGQtPmRvbWFpbl9pZCB8fApA
QCAtMzIyNiw3ICszMjY5LDE3IEBAIGdudHRhYl9zZXRfdmVyc2lvbihYRU5f
R1VFU1RfSEFORExFX1BBUkEKICAgICAgICAgaWYgKCByZXMgPCAwKQogICAg
ICAgICAgICAgZ290byBvdXRfdW5sb2NrOwogICAgICAgICBicmVhazsKKwog
ICAgIGNhc2UgMjoKKyAgICAgICAgaWYgKCBhdG9taWNfcmVhZCgmZ3QtPm5y
X3YyX29wcykgKQorICAgICAgICB7CisgICAgICAgICAgICBnZHByaW50ayhY
RU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgICAgICJ0cmllZCB0
byBjaGFuZ2UgdG8gZ3JhbnQgdGFibGUgdjEsIGJ1dCAlZCB2MiBvcGVyYXRp
b25zIHN0aWxsIGluIHByb2dyZXNzXG4iLAorICAgICAgICAgICAgICAgICAg
ICAgYXRvbWljX3JlYWQoJmd0LT5ucl92Ml9vcHMpKTsKKyAgICAgICAgICAg
IHJlcyA9IC1FQUdBSU47CisgICAgICAgICAgICBnb3RvIG91dF91bmxvY2s7
CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IEdOVFRB
Ql9OUl9SRVNFUlZFRF9FTlRSSUVTOyBpKysgKQogICAgICAgICB7CiAgICAg
ICAgICAgICBzd2l0Y2ggKCBzaGFyZWRfZW50cnlfdjIoZ3QsIGkpLmhkci5m
bGFncyAmIEdURl90eXBlX21hc2sgKQo=
--=separator--