From xen-users-bounces@lists.xenproject.org Thu Jun 09 12:08:53 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Jun 2022 12:08:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.345159.570823 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nzGxQ-0005nX-Ip; Thu, 09 Jun 2022 12:08:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 345159.570823; Thu, 09 Jun 2022 12:08:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nzGxQ-0005lJ-Bg; Thu, 09 Jun 2022 12:08:12 +0000
Received: by outflank-mailman (input) for mailman id 345159;
 Thu, 09 Jun 2022 12:08:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=itVH=WQ=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nzGxO-0005QK-WD
 for xen-users@lists.xen.org; Thu, 09 Jun 2022 12:08:11 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1af2a55-e7ec-11ec-bd2c-47488cf2e6aa;
 Thu, 09 Jun 2022 14:08:08 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nzGx8-0006VL-BZ; Thu, 09 Jun 2022 12:07:54 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nzGx8-0006Rg-9q; Thu, 09 Jun 2022 12:07:54 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: d1af2a55-e7ec-11ec-bd2c-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=hu6YemG4RnHBYczTEhjBv8Ma4TZp7GOsfW6cHHGNGys=; b=RIfhVVmEhiZ1sXn98z8cKtHJ55
	vpcAFyhW/owQJxUpMG4A9X4s7PJ6mt+aTSMTnufm77fPl8hNB+zu73GHTyUdfj29JriSnmWVe9B7R
	tudISazLcLoYwEQM+2x8S6JhHXsQ1KamkzRWKxFOCh0fd5vH1vZySstTmp6OKrNWriIQ=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 401 v2 (CVE-2022-26362) - x86 pv: Race
 condition in typeref acquisition
Message-Id: <E1nzGx8-0006Rg-9q@xenbits.xenproject.org>
Date: Thu, 09 Jun 2022 12:07:54 +0000

--=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-2022-26362 / XSA-401
                               version 2

             x86 pv: Race condition in typeref acquisition

UPDATES IN VERSION 2
====================

Update 4.16 and 4.15 baselines.

Public release.

ISSUE DESCRIPTION
=================

Xen maintains a type reference count for pages, in addition to a regular
reference count.  This scheme is used to maintain invariants required
for Xen's safety, e.g. PV guests may not have direct writeable access to
pagetables; updates need auditing by Xen.

Unfortunately, the logic for acquiring a type reference has a race
condition, whereby a safely TLB flush is issued too early and creates a
window where the guest can re-establish the read/write mapping before
writeability is prohibited.

IMPACT
======

Malicious x86 PV guest administrators may be able to escalate privilege
so as to control the whole system.

VULNERABLE SYSTEMS
==================

All versions of Xen are vulnerable.

Only x86 PV guests can trigger this vulnerability.

To exploit the vulnerability, there needs to be an undue delay at just
the wrong moment in _get_page_type().  The degree to which an x86 PV
guest can practically control this race condition is unknown.

MITIGATION
==========

Not running x86 PV guests will avoid the vulnerability.

CREDITS
=======

This issue was discovered by Jann Horn of Google Project Zero.

RESOLUTION
==========

Applying the appropriate attached patches 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.

xsa401/xsa401-?.patch           xen-unstable
xsa401/xsa401-4.16-?.patch      Xen 4.16.x - Xen 4.14.x
xsa401/xsa401-4.13-?.patch      Xen 4.13.x

$ sha256sum xsa401* xsa401*/*
d442bc0946eaa4c325226fd0805ab81eba6a68b68cffb9b03d9552edea86b118  xsa401.meta
074b57204f828cbd004c2d024b02a41af5d5bf3547d407af27249dca95eca13a  xsa401/xsa401-1.patch
a095b39b203d501f9c9d4974638cd4d5e2d7a18daee7a7a61e2010dea477e212  xsa401/xsa401-2.patch
99af3efc91d2dbf4fd54cc9f454b87bd76edbc85abd1a20bdad0bd22acabf466  xsa401/xsa401-4.13-1.patch
bb997094052edbbbdd0dc9f3a0454508eb737556e2449ec6a0bc649deb921e4f  xsa401/xsa401-4.13-2.patch
d336b31cb91466942e4fb8b44783bb2f0be4995076e70e0e78cdf992147cf72a  xsa401/xsa401-4.16-1.patch
b380a76d67957b602ff3c9a3faaa4d9b6666422834d6ee3ab72432a6d07ddbc6  xsa401/xsa401-4.16-2.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: 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/4UyVfoK9kFAmKh4lsMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZcoAH/ijbKKkQet6frag9HVfDHZtcb6N7yIxMUioVOu9t
tNhg4LdJJnnrCqXmJdXygZTYwIZufQGQOxMR3b66+6MJyz0JIL7XExqnLJs6mDsO
GFcvsxoGLYSdsBTVtGQgLpEPxwgkblKUQuwokz3K3kdxcHJmJceZitvaDdrycw8M
kRZ22qHUbFWTSOKZNe5t9t0x/4xwdyM4dYElAmuN4Ej1cQhhXG/Gbl+acZexS+cz
TFEbIS5G/j6EgaCpBSP5XCoUn2LlyswRxBllGh0kpaLrJRH4CX3E/KHBSdPMkWoP
3HyQF3o+WYvpWUGXVaAREaR+WxlsAwmQJUxpO64O4Y4IUEY=
=UGgq
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa401.meta"
Content-Disposition: attachment; filename="xsa401.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiA0MDEsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIs
CiAgICAiNC4xMyIKICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwK
ICAiUmVjaXBlcyI6IHsKICAgICI0LjEzIjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJm
ZTk3MTMzYjVkZWVmNThiZDE0MjJmNGQ4NzgyMTEzMWM2NmIxZDBlIiwKICAg
ICAgICAgICJQcmVyZXFzIjogW10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsK
ICAgICAgICAgICAgInhzYTQwMS94c2E0MDEtNC4xMy0/LnBhdGNoIgogICAg
ICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0LjE0Ijog
ewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAg
ICAgIlN0YWJsZVJlZiI6ICIxNzg0OGRmZWQ0N2Y1MmI0NzljNGU3ZWI0MTI2
NzFhZWM1NzU3MzI5IiwKICAgICAgICAgICJQcmVyZXFzIjogW10sCiAgICAg
ICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQwMS94c2E0MDEt
NC4xNi0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQog
ICAgfSwKICAgICI0LjE1IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAg
ICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICI2NDI0OWFmZWI2
M2NmN2Q3MGI0ZmFmMDJlNzZkZjVlZWQ4MjM3MWY5IiwKICAgICAgICAgICJQ
cmVyZXFzIjogW10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAg
ICAgInhzYTQwMS94c2E0MDEtNC4xNi0/LnBhdGNoIgogICAgICAgICAgXQog
ICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0LjE2IjogewogICAgICAi
UmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJs
ZVJlZiI6ICI4ZTExZWM4ZmJmNmY5MzNmODg1NGY0YmM1NDIyNjY1MzMxNjkw
M2YyIiwKICAgICAgICAgICJQcmVyZXFzIjogW10sCiAgICAgICAgICAiUGF0
Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQwMS94c2E0MDEtNC4xNi0/LnBh
dGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg
ICJtYXN0ZXIiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4i
OiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogIjQ5ZGQ1MmZiMTMxMWRhZGFi
MjlmNjYzNGQwYmMxZjRjMDIyYzM1N2EiLAogICAgICAgICAgIlByZXJlcXMi
OiBbXSwKICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNh
NDAxL3hzYTQwMS0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAg
ICAgfQogICAgfQogIH0KfQ==

--=separator
Content-Type: application/octet-stream; name="xsa401/xsa401-1.patch"
Content-Disposition: attachment; filename="xsa401/xsa401-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBDbGVhbiB1cCBfZ2V0X3BhZ2VfdHlwZSgp
CgpWYXJpb3VzIGZpeGVzIGZvciBjbGFyaXR5LCBhaGVhZCBvZiBtYWtpbmcg
Y29tcGxpY2F0ZWQgY2hhbmdlcy4KCiAqIFNwbGl0IHRoZSBvdmVyZmxvdyBj
aGVjayBvdXQgb2YgdGhlIGlmL2Vsc2UgY2hhaW4gZm9yIHR5cGUgaGFuZGxp
bmcsIGFzCiAgIGl0J3Mgc29tZXdoYXQgdW5yZWxhdGVkLgogKiBDb21tZW50
IHRoZSBtYWluIGlmL2Vsc2UgY2hhaW4gdG8gZXhwbGFpbiB3aGF0IGlzIGdv
aW5nIG9uLiAgQWRqdXN0IG9uZQogICBBU1NFUlQoKSBhbmQgc3RhdGUgdGhl
IGJpdCBsYXlvdXQgZm9yIHZhbGlkYXRlLWxvY2tlZCBhbmQgcGFydGlhbCBz
dGF0ZXMuCiAqIENvcnJlY3QgdGhlIGNvbW1lbnQgYWJvdXQgVExCIGZsdXNo
aW5nLCBhcyBpdCdzIGJhY2t3YXJkcy4gIFRoZSBwcm9ibGVtCiAgIGNhc2Ug
aXMgd2hlbiB3cml0ZWFibGUgbWFwcGluZ3MgYXJlIHJldGFpbmVkIHRvIGEg
cGFnZSBiZWNvbWluZyByZWFkLW9ubHksCiAgIGFzIGl0IGFsbG93cyB0aGUg
Z3Vlc3QgdG8gYnlwYXNzIFhlbidzIHNhZmV0eSBjaGVja3MgZm9yIHVwZGF0
ZXMuCiAqIFJlZHVjZSB0aGUgc2NvcGUgb2YgJ3knLiAgSXQgaXMgYW4gYXJ0
ZWZhY3Qgb2YgdGhlIGNtcHhjaGcgbG9vcCBhbmQgbm90CiAgIHZhbGlkIGZv
ciB1c2UgYnkgc3Vic2VxdWVudCBsb2dpYy4gIFN3aXRjaCB0byB1c2luZyBB
Q0NFU1NfT05DRSgpIHRvIHRyZWF0CiAgIGFsbCByZWFkcyBhcyBleHBsaWNp
dGx5IHZvbGF0aWxlLiAgVGhlIG9ubHkgdGhpbmcgcHJldmVudGluZyB0aGUg
dmFsaWRhdGVkCiAgIHdhaXQtbG9vcCBiZWluZyBpbmZpbml0ZSBpcyB0aGUg
Y29tcGlsZXIgYmFycmllciBoaWRkZW4gaW4gY3B1X3JlbGF4KCkuCiAqIFJl
cGxhY2Ugb25lIHBhZ2VfZ2V0X293bmVyKHBhZ2UpIHdpdGggdGhlIGFscmVh
ZHktY2FsY3VsYXRlZCAnZCcgYWxyZWFkeSBpbgogICBzY29wZS4KCk5vIGZ1
bmN0aW9uYWwgY2hhbmdlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDEgLyBD
VkUtMjAyMi0yNjM2Mi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IEdl
b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KUmV2
aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9h
cmNoL3g4Ni9tbS5jCmluZGV4IDA0ZDVlYzcwNWQ4ZS4uNjQzNDkwMGFhNzY3
IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJj
aC94ODYvbW0uYwpAQCAtMjkzNSwxNiArMjkzNSwxNyBAQCBzdGF0aWMgaW50
IF9wdXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2ln
bmVkIGludCBmbGFncywKIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3Ry
dWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHByZWVtcHRpYmxlKQogewot
ICAgIHVuc2lnbmVkIGxvbmcgbngsIHgsIHkgPSBwYWdlLT51LmludXNlLnR5
cGVfaW5mbzsKKyAgICB1bnNpZ25lZCBsb25nIG54LCB4OwogICAgIGludCBy
YyA9IDA7CiAKICAgICBBU1NFUlQoISh0eXBlICYgfihQR1RfdHlwZV9tYXNr
IHwgUEdUX3BhZV94ZW5fbDIpKSk7CiAgICAgQVNTRVJUKCFpbl9pcnEoKSk7
CiAKLSAgICBmb3IgKCA7IDsgKQorICAgIGZvciAoIHVuc2lnbmVkIGxvbmcg
eSA9IEFDQ0VTU19PTkNFKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKTsgOyAp
CiAgICAgewogICAgICAgICB4ICA9IHk7CiAgICAgICAgIG54ID0geCArIDE7
CisKICAgICAgICAgaWYgKCB1bmxpa2VseSgobnggJiBQR1RfY291bnRfbWFz
aykgPT0gMCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBnZHByaW50ayhY
RU5MT0dfV0FSTklORywKQEAgLTI5NTIsOCArMjk1MywxNSBAQCBzdGF0aWMg
aW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVu
c2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgIG1mbl94
KHBhZ2VfdG9fbWZuKHBhZ2UpKSk7CiAgICAgICAgICAgICByZXR1cm4gLUVJ
TlZBTDsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmICggdW5saWtlbHko
KHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQorCisgICAgICAgIGlmICgg
dW5saWtlbHkoKHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQogICAgICAg
ICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVHlwZXJlZiAw
IC0+IDEuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogVHlwZSBj
aGFuZ2VzIGFyZSBwZXJtaXR0ZWQgd2hlbiB0aGUgdHlwZXJlZiBpcyAwLiAg
SWYgdGhlIHR5cGUKKyAgICAgICAgICAgICAqIGFjdHVhbGx5IGNoYW5nZXMs
IHRoZSBwYWdlIG5lZWRzIHJlLXZhbGlkYXRpbmcuCisgICAgICAgICAgICAg
Ki8KICAgICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQgPSBwYWdlX2dldF9v
d25lcihwYWdlKTsKIAogICAgICAgICAgICAgaWYgKCBkICYmIHNoYWRvd19t
b2RlX2VuYWJsZWQoZCkgKQpAQCAtMjk2NCw4ICsyOTcyLDggQEAgc3RhdGlj
IGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1
bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgLyoKICAgICAgICAgICAgICAgICAgKiBPbiB0eXBlIGNoYW5nZSB3
ZSBjaGVjayB0byBmbHVzaCBzdGFsZSBUTEIgZW50cmllcy4gSXQgaXMKLSAg
ICAgICAgICAgICAgICAgKiB2aXRhbCB0aGF0IG5vIG90aGVyIENQVXMgYXJl
IGxlZnQgd2l0aCBtYXBwaW5ncyBvZiBhIGZyYW1lCi0gICAgICAgICAgICAg
ICAgICogd2hpY2ggaXMgYWJvdXQgdG8gYmVjb21lIHdyaXRlYWJsZSB0byB0
aGUgZ3Vlc3QuCisgICAgICAgICAgICAgICAgICogdml0YWwgdGhhdCBubyBv
dGhlciBDUFVzIGFyZSBsZWZ0IHdpdGggd3JpdGVhYmxlIG1hcHBpbmdzCisg
ICAgICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRlbmRp
bmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KICAgICAgICAgICAgICAg
ICAgKi8KICAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlz
X2NwdShzY3JhdGNoX2NwdW1hc2spOwogCkBAIC0yOTc3LDcgKzI5ODUsNyBA
QCBzdGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8g
KnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKIAogICAgICAgICAgICAgICAg
IGlmICggdW5saWtlbHkoIWNwdW1hc2tfZW1wdHkobWFzaykpICYmCiAgICAg
ICAgICAgICAgICAgICAgICAvKiBTaGFkb3cgbW9kZTogdHJhY2sgb25seSB3
cml0YWJsZSBwYWdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICghc2hh
ZG93X21vZGVfZW5hYmxlZChwYWdlX2dldF9vd25lcihwYWdlKSkgfHwKKyAg
ICAgICAgICAgICAgICAgICAgICghc2hhZG93X21vZGVfZW5hYmxlZChkKSB8
fAogICAgICAgICAgICAgICAgICAgICAgICgobnggJiBQR1RfdHlwZV9tYXNr
KSA9PSBQR1Rfd3JpdGFibGVfcGFnZSkpICkKICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgIHBlcmZjX2luY3IobmVlZF9mbHVzaF90
bGJfZmx1c2gpOwpAQCAtMzAwOCw3ICszMDE2LDE0IEBAIHN0YXRpYyBpbnQg
X2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWdu
ZWQgbG9uZyB0eXBlLAogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCB1
bmxpa2VseSgoeCAmIChQR1RfdHlwZV9tYXNrfFBHVF9wYWVfeGVuX2wyKSkg
IT0gdHlwZSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICAvKiBEb24ndCBs
b2cgZmFpbHVyZSBpZiBpdCBjb3VsZCBiZSBhIHJlY3Vyc2l2ZS1tYXBwaW5n
IGF0dGVtcHQuICovCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog
ZWxzZSwgd2UncmUgdHJ5aW5nIHRvIHRha2UgYSBuZXcgcmVmZXJlbmNlLCBv
ZiB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAgICAgICAqCisgICAgICAgICAg
ICAgKiBUaGlzIChiZWluZyBhYmxlIHRvIHByb2hpYml0IHVzZSBvZiB0aGUg
d3JvbmcgdHlwZSkgaXMgd2hhdCB0aGUKKyAgICAgICAgICAgICAqIHR5cGVy
ZWYgc3lzdGVtIGV4aXN0cyBmb3IsIGJ1dCBza2lwIHByaW50aW5nIHRoZSBm
YWlsdXJlIGlmIGl0CisgICAgICAgICAgICAgKiBsb29rcyBsaWtlIGEgcmVj
dXJzaXZlIG1hcHBpbmcsIGFzIHN1YnNlcXVlbnQgbG9naWMgbWlnaHQKKyAg
ICAgICAgICAgICAqIHVsdGltYXRlbHkgcGVybWl0IHRoZSBhdHRlbXB0Lgor
ICAgICAgICAgICAgICovCiAgICAgICAgICAgICBpZiAoICgoeCAmIFBHVF90
eXBlX21hc2spID09IFBHVF9sMl9wYWdlX3RhYmxlKSAmJgogICAgICAgICAg
ICAgICAgICAodHlwZSA9PSBQR1RfbDFfcGFnZV90YWJsZSkgKQogICAgICAg
ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwpAQCAtMzAyNywxOCArMzA0Miw0
NiBAQCBzdGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2lu
Zm8gKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgfQogICAg
ICAgICBlbHNlIGlmICggdW5saWtlbHkoISh4ICYgUEdUX3ZhbGlkYXRlZCkp
ICkKICAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAq
IGVsc2UsIHRoZSBjb3VudCBpcyBub24temVybywgYW5kIHdlJ3JlIGdyYWJi
aW5nIHRoZSByaWdodCB0eXBlOworICAgICAgICAgICAgICogYnV0IHRoZSBw
YWdlIGhhc24ndCBiZWVuIHZhbGlkYXRlZCB5ZXQuCisgICAgICAgICAgICAg
KgorICAgICAgICAgICAgICogVGhlIHBhZ2UgaXMgaW4gb25lIG9mIHR3byBz
dGF0ZXMgKGRlcGVuZGluZyBvbiBQR1RfcGFydGlhbCksCisgICAgICAgICAg
ICAgKiBhbmQgc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcmVmZXJlbmNlLgor
ICAgICAgICAgICAgICovCisgICAgICAgICAgICBBU1NFUlQoKHggJiAoUEdU
X3R5cGVfbWFzayB8IFBHVF9jb3VudF9tYXNrKSkgPT0gKHR5cGUgfCAxKSk7
CisKICAgICAgICAgICAgIGlmICggISh4ICYgUEdUX3BhcnRpYWwpICkKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBTb21lb25lIGVsc2Ug
aXMgdXBkYXRpbmcgdmFsaWRhdGlvbiBvZiB0aGlzIHBhZ2UuIFdhaXQuLi4g
Ki8KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIFRo
ZSBwYWdlIGhhcyBiZWVuIGxlZnQgaW4gdGhlICJ2YWxpZGF0ZSBsb2NrZWQi
IHN0YXRlCisgICAgICAgICAgICAgICAgICogKGkuZS4gUEdUX1t0eXBlXSB8
IDEpIHdoaWNoIG1lYW5zIHRoYXQgYSBjb25jdXJyZW50IGNhbGxlcgorICAg
ICAgICAgICAgICAgICAqIG9mIF9nZXRfcGFnZV90eXBlKCkgaXMgaW4gdGhl
IG1pZGRsZSBvZiB2YWxpZGF0aW9uLgorICAgICAgICAgICAgICAgICAqCisg
ICAgICAgICAgICAgICAgICogU3BpbiB3YWl0aW5nIGZvciB0aGUgY29uY3Vy
cmVudCB1c2VyIHRvIGNvbXBsZXRlIChwYXJ0aWFsCisgICAgICAgICAgICAg
ICAgICogb3IgZnVsbHkgdmFsaWRhdGVkKSwgdGhlbiByZXN0YXJ0IG91ciBh
dHRlbXB0IHRvIGFjcXVpcmUgYQorICAgICAgICAgICAgICAgICAqIHR5cGUg
cmVmZXJlbmNlLgorICAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICAg
ICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBwcmVlbXB0aWJs
ZSAmJiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAtRUlOVFI7CiAgICAgICAgICAgICAgICAg
ICAgIGNwdV9yZWxheCgpOwotICAgICAgICAgICAgICAgIH0gd2hpbGUgKCAo
eSA9IHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKSA9PSB4ICk7CisgICAgICAg
ICAgICAgICAgfSB3aGlsZSAoICh5ID0gQUNDRVNTX09OQ0UocGFnZS0+dS5p
bnVzZS50eXBlX2luZm8pKSA9PSB4ICk7CiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBUeXBlIHJl
ZiBjb3VudCB3YXMgbGVmdCBhdCAxIHdoZW4gUEdUX3BhcnRpYWwgZ290IHNl
dC4gKi8KLSAgICAgICAgICAgIEFTU0VSVCgoeCAmIFBHVF9jb3VudF9tYXNr
KSA9PSAxKTsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRo
ZSBwYWdlIGhhcyBiZWVuIGxlZnQgaW4gdGhlICJwYXJ0aWFsIiBzdGF0ZQor
ICAgICAgICAgICAgICogKGkuZS4sIFBHVF9bdHlwZV0gfCBQR1RfcGFydGlh
bCB8IDEpLgorICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAqIFJhdGhl
ciB0aGFuIGJ1bXBpbmcgdGhlIHR5cGUgY291bnQsIHdlIG5lZWQgdG8gdHJ5
IHRvIGdyYWIgdGhlCisgICAgICAgICAgICAgKiB2YWxpZGF0aW9uIGxvY2s7
IGlmIHdlIHN1Y2NlZWQsIHdlIG5lZWQgdG8gdmFsaWRhdGUgdGhlIHBhZ2Us
CisgICAgICAgICAgICAgKiB0aGVuIGRyb3AgdGhlIGdlbmVyYWwgcmVmIGFz
c29jaWF0ZWQgd2l0aCB0aGUgUEdUX3BhcnRpYWwgYml0LgorICAgICAgICAg
ICAgICoKKyAgICAgICAgICAgICAqIFdlIGdyYWIgdGhlIHZhbGlkYXRpb24g
bG9jayBieSBzZXR0aW5nIG54IHRvIChQR1RfW3R5cGVdIHwgMSkKKyAgICAg
ICAgICAgICAqIChpLmUuLCBub24temVybyB0eXBlIGNvdW50LCBuZWl0aGVy
IFBHVF92YWxpZGF0ZWQgbm9yCisgICAgICAgICAgICAgKiBQR1RfcGFydGlh
bCBzZXQpLgorICAgICAgICAgICAgICovCiAgICAgICAgICAgICBueCA9IHgg
JiB+UEdUX3BhcnRpYWw7CiAgICAgICAgIH0KIApAQCAtMzA4Nyw2ICszMTMw
LDEzIEBAIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2Vf
aW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAgIH0KIAogIG91
dDoKKyAgICAvKgorICAgICAqIERpZCB3ZSBkcm9wIHRoZSBQR1RfcGFydGlh
bCBiaXQgd2hlbiBhY3F1aXJpbmcgdGhlIHR5cGVyZWY/ICBJZiBzbywKKyAg
ICAgKiBkcm9wIHRoZSBnZW5lcmFsIHJlZmVyZW5jZSB0aGF0IHdlbnQgYWxv
bmcgd2l0aCBpdC4KKyAgICAgKgorICAgICAqIE4uQi4gdmFsaWRhdGVfcGFn
ZSgpIG1heSBoYXZlIGhhdmUgcmUtc2V0IFBHVF9wYXJ0aWFsLCBub3QgcmVm
bGVjdGVkIGluCisgICAgICogbngsIGJ1dCB3aWxsIGhhdmUgdGFrZW4gYW4g
ZXh0cmEgcmVmIHdoZW4gZG9pbmcgc28uCisgICAgICovCiAgICAgaWYgKCAo
eCAmIFBHVF9wYXJ0aWFsKSAmJiAhKG54ICYgUEdUX3BhcnRpYWwpICkKICAg
ICAgICAgcHV0X3BhZ2UocGFnZSk7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa401/xsa401-2.patch"
Content-Disposition: attachment; filename="xsa401/xsa401-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBGaXggQUJBQyBjbXB4Y2hnKCkgcmFjZSBp
biBfZ2V0X3BhZ2VfdHlwZSgpCgpfZ2V0X3BhZ2VfdHlwZSgpIHN1ZmZlcnMg
ZnJvbSBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGl0IGluY29ycmVjdGx5IGFz
c3VtZXMKdGhhdCBiZWNhdXNlICd4JyB3YXMgcmVhZCBhbmQgYSBzdWJzZXF1
ZW50IGEgY21weGNoZygpIHN1Y2NlZWRzLCB0aGUgdHlwZQpjYW5ub3QgaGF2
ZSBjaGFuZ2VkIGluLWJldHdlZW4uICBDb25zaWRlcjoKCkNQVSBBOgogIDEu
IENyZWF0ZXMgYW4gTDJlIHJlZmVyZW5jaW5nIHBnCiAgICAgYC0+IF9nZXRf
cGFnZV90eXBlKHBnLCBQR1RfbDFfcGFnZV90YWJsZSksIHNlZXMgY291bnQg
MCwgdHlwZSBQR1Rfd3JpdGFibGVfcGFnZQogIDIuICAgICBJc3N1ZXMgZmx1
c2hfdGxiX21hc2soKQpDUFUgQjoKICAzLiBDcmVhdGVzIGEgd3JpdGVhYmxl
IG1hcHBpbmcgb2YgcGcKICAgICBgLT4gX2dldF9wYWdlX3R5cGUocGcsIFBH
VF93cml0YWJsZV9wYWdlKSwgY291bnQgaW5jcmVhc2VzIHRvIDEKICA0LiBX
cml0ZXMgaW50byBuZXcgbWFwcGluZywgY3JlYXRpbmcgYSBUTEIgZW50cnkg
Zm9yIHBnCiAgNS4gUmVtb3ZlcyB0aGUgd3JpdGVhYmxlIG1hcHBpbmcgb2Yg
cGcKICAgICBgLT4gX3B1dF9wYWdlX3R5cGUocGcpLCBjb3VudCBnb2VzIGJh
Y2sgZG93biB0byAwCkNQVSBBOgogIDcuICAgICBJc3N1ZXMgY21weGNoZygp
LCBzZXR0aW5nIGNvdW50IDEsIHR5cGUgUEdUX2wxX3BhZ2VfdGFibGUKCkNQ
VSBCIG5vdyBoYXMgYSB3cml0ZWFibGUgbWFwcGluZyB0byBwZywgd2hpY2gg
WGVuIGJlbGlldmVzIGlzIGEgcGFnZXRhYmxlIGFuZApzdWl0YWJseSBwcm90
ZWN0ZWQgKGkuZS4gcmVhZC1vbmx5KS4gIFRoZSBUTEIgZmx1c2ggaW4gc3Rl
cCAyIG11c3QgYmUgZGVmZXJyZWQKdW50aWwgYWZ0ZXIgdGhlIGd1ZXN0IGlz
IHByb2hpYml0ZWQgZnJvbSBjcmVhdGluZyBuZXcgd3JpdGVhYmxlIG1hcHBp
bmdzLAp3aGljaCBpcyBhZnRlciBzdGVwIDcuCgpEZWZlciBhbGwgc2FmZXR5
IGFjdGlvbnMgdW50aWwgYWZ0ZXIgdGhlIGNtcHhjaGcoKSBoYXMgc3VjY2Vz
c2Z1bGx5IHRha2VuIHRoZQppbnRlbmRlZCB0eXBlcmVmLCBiZWNhdXNlIHRo
YXQgaXMgd2hhdCBwcmV2ZW50cyBjb25jdXJyZW50IHVzZXJzIGZyb20gdXNp
bmcKdGhlIG9sZCB0eXBlLgoKQWxzbyByZW1vdmUgdGhlIGVhcmx5IHZhbGlk
YXRpb24gZm9yIHdyaXRlYWJsZSBhbmQgc2hhcmVkIHBhZ2VzLiAgVGhpcyBy
ZW1vdmVzCnJhY2UgY29uZGl0aW9ucyB3aGVyZSBvbmUgaGFsZiBvZiBhIHBh
cmFsbGVsIG1hcHBpbmcgYXR0ZW1wdCBjYW4gcmV0dXJuCnN1Y2Nlc3NmdWxs
eSBiZWZvcmU6CiAqIFRoZSBJT01NVSBwYWdldGFibGVzIGFyZSBpbiBzeW5j
IHdpdGggdGhlIG5ldyBwYWdlIHR5cGUKICogV3JpdGVhYmxlIG1hcHBpbmdz
IHRvIHNoYXJlZCBwYWdlcyBoYXZlIGJlZW4gdG9ybiBkb3duCgpUaGlzIGlz
IHBhcnQgb2YgWFNBLTQwMSAvIENWRS0yMDIyLTI2MzYyLgoKUmVwb3J0ZWQt
Ynk6IEphbm4gSG9ybiA8amFubmhAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
UmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0
cml4LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hl
bi9hcmNoL3g4Ni9tbS5jCmluZGV4IDY0MzQ5MDBhYTc2Ny4uMzRiYjlkZGRh
YjhkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4v
YXJjaC94ODYvbW0uYwpAQCAtMjk2Miw1NiArMjk2MiwxMiBAQCBzdGF0aWMg
aW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVu
c2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgICAqIFR5cGUgY2hhbmdl
cyBhcmUgcGVybWl0dGVkIHdoZW4gdGhlIHR5cGVyZWYgaXMgMC4gIElmIHRo
ZSB0eXBlCiAgICAgICAgICAgICAgKiBhY3R1YWxseSBjaGFuZ2VzLCB0aGUg
cGFnZSBuZWVkcyByZS12YWxpZGF0aW5nLgogICAgICAgICAgICAgICovCi0g
ICAgICAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcGFnZV9nZXRfb3duZXIo
cGFnZSk7Ci0KLSAgICAgICAgICAgIGlmICggZCAmJiBzaGFkb3dfbW9kZV9l
bmFibGVkKGQpICkKLSAgICAgICAgICAgICAgIHNoYWRvd19wcmVwYXJlX3Bh
Z2VfdHlwZV9jaGFuZ2UoZCwgcGFnZSwgdHlwZSk7CiAKICAgICAgICAgICAg
IEFTU0VSVCghKHggJiBQR1RfcGFlX3hlbl9sMikpOwogICAgICAgICAgICAg
aWYgKCAoeCAmIFBHVF90eXBlX21hc2spICE9IHR5cGUgKQogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICAgICog
T24gdHlwZSBjaGFuZ2Ugd2UgY2hlY2sgdG8gZmx1c2ggc3RhbGUgVExCIGVu
dHJpZXMuIEl0IGlzCi0gICAgICAgICAgICAgICAgICogdml0YWwgdGhhdCBu
byBvdGhlciBDUFVzIGFyZSBsZWZ0IHdpdGggd3JpdGVhYmxlIG1hcHBpbmdz
Ci0gICAgICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRl
bmRpbmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KLSAgICAgICAgICAg
ICAgICAgKi8KLSAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0
aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOwotCi0gICAgICAgICAgICAgICAg
QlVHX09OKGluX2lycSgpKTsKLSAgICAgICAgICAgICAgICBjcHVtYXNrX2Nv
cHkobWFzaywgZC0+ZGlydHlfY3B1bWFzayk7Ci0KLSAgICAgICAgICAgICAg
ICAvKiBEb24ndCBmbHVzaCBpZiB0aGUgdGltZXN0YW1wIGlzIG9sZCBlbm91
Z2ggKi8KLSAgICAgICAgICAgICAgICB0bGJmbHVzaF9maWx0ZXIobWFzaywg
cGFnZS0+dGxiZmx1c2hfdGltZXN0YW1wKTsKLQotICAgICAgICAgICAgICAg
IGlmICggdW5saWtlbHkoIWNwdW1hc2tfZW1wdHkobWFzaykpICYmCi0gICAg
ICAgICAgICAgICAgICAgICAvKiBTaGFkb3cgbW9kZTogdHJhY2sgb25seSB3
cml0YWJsZSBwYWdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICghc2hh
ZG93X21vZGVfZW5hYmxlZChkKSB8fAotICAgICAgICAgICAgICAgICAgICAg
ICgobnggJiBQR1RfdHlwZV9tYXNrKSA9PSBQR1Rfd3JpdGFibGVfcGFnZSkp
ICkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHBl
cmZjX2luY3IobmVlZF9mbHVzaF90bGJfZmx1c2gpOwotICAgICAgICAgICAg
ICAgICAgICAvKgotICAgICAgICAgICAgICAgICAgICAgKiBJZiBwYWdlIHdh
cyBhIHBhZ2UgdGFibGUgbWFrZSBzdXJlIHRoZSBmbHVzaCBpcwotICAgICAg
ICAgICAgICAgICAgICAgKiBwZXJmb3JtZWQgdXNpbmcgYW4gSVBJIGluIG9y
ZGVyIHRvIGF2b2lkIGNoYW5naW5nIHRoZQotICAgICAgICAgICAgICAgICAg
ICAgKiB0eXBlIG9mIGEgcGFnZSB0YWJsZSBwYWdlIHVuZGVyIHRoZSBmZWV0
IG9mCi0gICAgICAgICAgICAgICAgICAgICAqIHNwdXJpb3VzX3BhZ2VfZmF1
bHQoKS4KLSAgICAgICAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAg
ICAgICAgIGZsdXNoX21hc2sobWFzaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoeCAmIFBHVF90eXBlX21hc2spICYmCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKHggJiBQR1RfdHlwZV9tYXNrKSA8PSBQ
R1Rfcm9vdF9wYWdlX3RhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPyBGTFVTSF9UTEIgfCBGTFVTSF9OT19BU1NJU1QKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6IEZMVVNIX1RMQik7Ci0gICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgLyogV2UgbG9zZSBleGlz
dGluZyB0eXBlIGFuZCB2YWxpZGl0eS4gKi8KICAgICAgICAgICAgICAgICBu
eCAmPSB+KFBHVF90eXBlX21hc2sgfCBQR1RfdmFsaWRhdGVkKTsKICAgICAg
ICAgICAgICAgICBueCB8PSB0eXBlOwotCi0gICAgICAgICAgICAgICAgLyoK
LSAgICAgICAgICAgICAgICAgKiBObyBzcGVjaWFsIHZhbGlkYXRpb24gbmVl
ZGVkIGZvciB3cml0YWJsZSBwYWdlcy4KLSAgICAgICAgICAgICAgICAgKiBQ
YWdlIHRhYmxlcyBhbmQgR0RUL0xEVCBuZWVkIHRvIGJlIHNjYW5uZWQgZm9y
IHZhbGlkaXR5LgotICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAg
ICAgIGlmICggdHlwZSA9PSBQR1Rfd3JpdGFibGVfcGFnZSB8fCB0eXBlID09
IFBHVF9zaGFyZWRfcGFnZSApCi0gICAgICAgICAgICAgICAgICAgIG54IHw9
IFBHVF92YWxpZGF0ZWQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICAgICAgZWxzZSBpZiAoIHVubGlrZWx5KCh4ICYgKFBHVF90eXBlX21hc2t8
UEdUX3BhZV94ZW5fbDIpKSAhPSB0eXBlKSApCkBAIC0zMDkyLDYgKzMwNDgs
NTYgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9p
bmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICBy
ZXR1cm4gLUVJTlRSOwogICAgIH0KIAorICAgIC8qCisgICAgICogT25lIHR5
cGVyZWYgaGFzIGJlZW4gdGFrZW4gYW5kIGlzIG5vdyBnbG9iYWxseSB2aXNp
YmxlLgorICAgICAqCisgICAgICogVGhlIHBhZ2UgaXMgZWl0aGVyIGluIHRo
ZSAidmFsaWRhdGUgbG9ja2VkIiBzdGF0ZSAoUEdUX1t0eXBlXSB8IDEpIG9y
CisgICAgICogZnVsbHkgdmFsaWRhdGVkIChQR1RfW3R5cGVdIHwgUEdUX3Zh
bGlkYXRlZCB8ID4wKS4KKyAgICAgKi8KKworICAgIGlmICggdW5saWtlbHko
KHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQorICAgIHsKKyAgICAgICAg
c3RydWN0IGRvbWFpbiAqZCA9IHBhZ2VfZ2V0X293bmVyKHBhZ2UpOworCisg
ICAgICAgIGlmICggZCAmJiBzaGFkb3dfbW9kZV9lbmFibGVkKGQpICkKKyAg
ICAgICAgICAgIHNoYWRvd19wcmVwYXJlX3BhZ2VfdHlwZV9jaGFuZ2UoZCwg
cGFnZSwgdHlwZSk7CisKKyAgICAgICAgaWYgKCAoeCAmIFBHVF90eXBlX21h
c2spICE9IHR5cGUgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAg
ICAgICAgICAgICogT24gdHlwZSBjaGFuZ2Ugd2UgY2hlY2sgdG8gZmx1c2gg
c3RhbGUgVExCIGVudHJpZXMuIEl0IGlzCisgICAgICAgICAgICAgKiB2aXRh
bCB0aGF0IG5vIG90aGVyIENQVXMgYXJlIGxlZnQgd2l0aCB3cml0ZWFibGUg
bWFwcGluZ3MKKyAgICAgICAgICAgICAqIHRvIGEgZnJhbWUgd2hpY2ggaXMg
aW50ZW5kaW5nIHRvIGJlY29tZSBwZ3RhYmxlL3NlZ2Rlc2MuCisgICAgICAg
ICAgICAgKi8KKyAgICAgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHRoaXNf
Y3B1KHNjcmF0Y2hfY3B1bWFzayk7CisKKyAgICAgICAgICAgIEJVR19PTihp
bl9pcnEoKSk7CisgICAgICAgICAgICBjcHVtYXNrX2NvcHkobWFzaywgZC0+
ZGlydHlfY3B1bWFzayk7CisKKyAgICAgICAgICAgIC8qIERvbid0IGZsdXNo
IGlmIHRoZSB0aW1lc3RhbXAgaXMgb2xkIGVub3VnaCAqLworICAgICAgICAg
ICAgdGxiZmx1c2hfZmlsdGVyKG1hc2ssIHBhZ2UtPnRsYmZsdXNoX3RpbWVz
dGFtcCk7CisKKyAgICAgICAgICAgIGlmICggdW5saWtlbHkoIWNwdW1hc2tf
ZW1wdHkobWFzaykpICYmCisgICAgICAgICAgICAgICAgIC8qIFNoYWRvdyBt
b2RlOiB0cmFjayBvbmx5IHdyaXRhYmxlIHBhZ2VzLiAqLworICAgICAgICAg
ICAgICAgICAoIXNoYWRvd19tb2RlX2VuYWJsZWQoZCkgfHwKKyAgICAgICAg
ICAgICAgICAgICgobnggJiBQR1RfdHlwZV9tYXNrKSA9PSBQR1Rfd3JpdGFi
bGVfcGFnZSkpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBw
ZXJmY19pbmNyKG5lZWRfZmx1c2hfdGxiX2ZsdXNoKTsKKyAgICAgICAgICAg
ICAgICAvKgorICAgICAgICAgICAgICAgICAqIElmIHBhZ2Ugd2FzIGEgcGFn
ZSB0YWJsZSBtYWtlIHN1cmUgdGhlIGZsdXNoIGlzCisgICAgICAgICAgICAg
ICAgICogcGVyZm9ybWVkIHVzaW5nIGFuIElQSSBpbiBvcmRlciB0byBhdm9p
ZCBjaGFuZ2luZyB0aGUKKyAgICAgICAgICAgICAgICAgKiB0eXBlIG9mIGEg
cGFnZSB0YWJsZSBwYWdlIHVuZGVyIHRoZSBmZWV0IG9mCisgICAgICAgICAg
ICAgICAgICogc3B1cmlvdXNfcGFnZV9mYXVsdCgpLgorICAgICAgICAgICAg
ICAgICAqLworICAgICAgICAgICAgICAgIGZsdXNoX21hc2sobWFzaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICh4ICYgUEdUX3R5cGVfbWFzaykg
JiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh4ICYgUEdUX3R5cGVf
bWFzaykgPD0gUEdUX3Jvb3RfcGFnZV90YWJsZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPyBGTFVTSF9UTEIgfCBGTFVTSF9OT19BU1NJU1QKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogRkxVU0hfVExCKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmICggdW5saWtl
bHkoKCh4ICYgUEdUX3R5cGVfbWFzaykgPT0gUEdUX3dyaXRhYmxlX3BhZ2Up
ICE9CiAgICAgICAgICAgICAgICAgICAodHlwZSA9PSBQR1Rfd3JpdGFibGVf
cGFnZSkpICkKICAgICB7CkBAIC0zMTIwLDEzICszMTI2LDI1IEBAIHN0YXRp
YyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwg
dW5zaWduZWQgbG9uZyB0eXBlLAogCiAgICAgaWYgKCB1bmxpa2VseSghKG54
ICYgUEdUX3ZhbGlkYXRlZCkpICkKICAgICB7Ci0gICAgICAgIGlmICggISh4
ICYgUEdUX3BhcnRpYWwpICkKKyAgICAgICAgLyoKKyAgICAgICAgICogTm8g
c3BlY2lhbCB2YWxpZGF0aW9uIG5lZWRlZCBmb3Igd3JpdGFibGUgb3Igc2hh
cmVkIHBhZ2VzLiAgUGFnZQorICAgICAgICAgKiB0YWJsZXMgYW5kIEdEVC9M
RFQgbmVlZCB0byBoYXZlIHRoZWlyIGNvbnRlbnRzIGF1ZGl0ZWQuCisgICAg
ICAgICAqCisgICAgICAgICAqIHBlciB2YWxpZGF0ZV9wYWdlKCksIG5vbi1h
dG9taWMgdXBkYXRlcyBhcmUgZmluZSBoZXJlLgorICAgICAgICAgKi8KKyAg
ICAgICAgaWYgKCB0eXBlID09IFBHVF93cml0YWJsZV9wYWdlIHx8IHR5cGUg
PT0gUEdUX3NoYXJlZF9wYWdlICkKKyAgICAgICAgICAgIHBhZ2UtPnUuaW51
c2UudHlwZV9pbmZvIHw9IFBHVF92YWxpZGF0ZWQ7CisgICAgICAgIGVsc2UK
ICAgICAgICAgewotICAgICAgICAgICAgcGFnZS0+bnJfdmFsaWRhdGVkX3B0
ZXMgPSAwOwotICAgICAgICAgICAgcGFnZS0+cGFydGlhbF9mbGFncyA9IDA7
Ci0gICAgICAgICAgICBwYWdlLT5saW5lYXJfcHRfY291bnQgPSAwOworICAg
ICAgICAgICAgaWYgKCAhKHggJiBQR1RfcGFydGlhbCkgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHBhZ2UtPm5yX3ZhbGlkYXRlZF9wdGVz
ID0gMDsKKyAgICAgICAgICAgICAgICBwYWdlLT5wYXJ0aWFsX2ZsYWdzID0g
MDsKKyAgICAgICAgICAgICAgICBwYWdlLT5saW5lYXJfcHRfY291bnQgPSAw
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByYyA9IHZhbGlkYXRl
X3BhZ2UocGFnZSwgdHlwZSwgcHJlZW1wdGlibGUpOwogICAgICAgICB9Ci0g
ICAgICAgIHJjID0gdmFsaWRhdGVfcGFnZShwYWdlLCB0eXBlLCBwcmVlbXB0
aWJsZSk7CiAgICAgfQogCiAgb3V0Ogo=

--=separator
Content-Type: application/octet-stream; name="xsa401/xsa401-4.13-1.patch"
Content-Disposition: attachment; filename="xsa401/xsa401-4.13-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBDbGVhbiB1cCBfZ2V0X3BhZ2VfdHlwZSgp
CgpWYXJpb3VzIGZpeGVzIGZvciBjbGFyaXR5LCBhaGVhZCBvZiBtYWtpbmcg
Y29tcGxpY2F0ZWQgY2hhbmdlcy4KCiAqIFNwbGl0IHRoZSBvdmVyZmxvdyBj
aGVjayBvdXQgb2YgdGhlIGlmL2Vsc2UgY2hhaW4gZm9yIHR5cGUgaGFuZGxp
bmcsIGFzCiAgIGl0J3Mgc29tZXdoYXQgdW5yZWxhdGVkLgogKiBDb21tZW50
IHRoZSBtYWluIGlmL2Vsc2UgY2hhaW4gdG8gZXhwbGFpbiB3aGF0IGlzIGdv
aW5nIG9uLiAgQWRqdXN0IG9uZQogICBBU1NFUlQoKSBhbmQgc3RhdGUgdGhl
IGJpdCBsYXlvdXQgZm9yIHZhbGlkYXRlLWxvY2tlZCBhbmQgcGFydGlhbCBz
dGF0ZXMuCiAqIENvcnJlY3QgdGhlIGNvbW1lbnQgYWJvdXQgVExCIGZsdXNo
aW5nLCBhcyBpdCdzIGJhY2t3YXJkcy4gIFRoZSBwcm9ibGVtCiAgIGNhc2Ug
aXMgd2hlbiB3cml0ZWFibGUgbWFwcGluZ3MgYXJlIHJldGFpbmVkIHRvIGEg
cGFnZSBiZWNvbWluZyByZWFkLW9ubHksCiAgIGFzIGl0IGFsbG93cyB0aGUg
Z3Vlc3QgdG8gYnlwYXNzIFhlbidzIHNhZmV0eSBjaGVja3MgZm9yIHVwZGF0
ZXMuCiAqIFJlZHVjZSB0aGUgc2NvcGUgb2YgJ3knLiAgSXQgaXMgYW4gYXJ0
ZWZhY3Qgb2YgdGhlIGNtcHhjaGcgbG9vcCBhbmQgbm90CiAgIHZhbGlkIGZv
ciB1c2UgYnkgc3Vic2VxdWVudCBsb2dpYy4gIFN3aXRjaCB0byB1c2luZyBB
Q0NFU1NfT05DRSgpIHRvIHRyZWF0CiAgIGFsbCByZWFkcyBhcyBleHBsaWNp
dGx5IHZvbGF0aWxlLiAgVGhlIG9ubHkgdGhpbmcgcHJldmVudGluZyB0aGUg
dmFsaWRhdGVkCiAgIHdhaXQtbG9vcCBiZWluZyBpbmZpbml0ZSBpcyB0aGUg
Y29tcGlsZXIgYmFycmllciBoaWRkZW4gaW4gY3B1X3JlbGF4KCkuCiAqIFJl
cGxhY2Ugb25lIHBhZ2VfZ2V0X293bmVyKHBhZ2UpIHdpdGggdGhlIGFscmVh
ZHktY2FsY3VsYXRlZCAnZCcgYWxyZWFkeSBpbgogICBzY29wZS4KCk5vIGZ1
bmN0aW9uYWwgY2hhbmdlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDEgLyBD
VkUtMjAyMi0yNjM2Mi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IEdl
b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KUmV2
aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9h
cmNoL3g4Ni9tbS5jCmluZGV4IGFkODliZmI0NWZmZi4uOTY3MzhiMDI3ODI3
IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJj
aC94ODYvbW0uYwpAQCAtMjk3OCwxNiArMjk3OCwxNyBAQCBzdGF0aWMgaW50
IF9wdXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2ln
bmVkIGludCBmbGFncywKIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3Ry
dWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHByZWVtcHRpYmxlKQogewot
ICAgIHVuc2lnbmVkIGxvbmcgbngsIHgsIHkgPSBwYWdlLT51LmludXNlLnR5
cGVfaW5mbzsKKyAgICB1bnNpZ25lZCBsb25nIG54LCB4OwogICAgIGludCBy
YyA9IDA7CiAKICAgICBBU1NFUlQoISh0eXBlICYgfihQR1RfdHlwZV9tYXNr
IHwgUEdUX3BhZV94ZW5fbDIpKSk7CiAgICAgQVNTRVJUKCFpbl9pcnEoKSk7
CiAKLSAgICBmb3IgKCA7IDsgKQorICAgIGZvciAoIHVuc2lnbmVkIGxvbmcg
eSA9IEFDQ0VTU19PTkNFKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKTsgOyAp
CiAgICAgewogICAgICAgICB4ICA9IHk7CiAgICAgICAgIG54ID0geCArIDE7
CisKICAgICAgICAgaWYgKCB1bmxpa2VseSgobnggJiBQR1RfY291bnRfbWFz
aykgPT0gMCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBnZHByaW50ayhY
RU5MT0dfV0FSTklORywKQEAgLTI5OTUsOCArMjk5NiwxNSBAQCBzdGF0aWMg
aW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVu
c2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgIG1mbl94
KHBhZ2VfdG9fbWZuKHBhZ2UpKSk7CiAgICAgICAgICAgICByZXR1cm4gLUVJ
TlZBTDsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmICggdW5saWtlbHko
KHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQorCisgICAgICAgIGlmICgg
dW5saWtlbHkoKHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQogICAgICAg
ICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVHlwZXJlZiAw
IC0+IDEuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogVHlwZSBj
aGFuZ2VzIGFyZSBwZXJtaXR0ZWQgd2hlbiB0aGUgdHlwZXJlZiBpcyAwLiAg
SWYgdGhlIHR5cGUKKyAgICAgICAgICAgICAqIGFjdHVhbGx5IGNoYW5nZXMs
IHRoZSBwYWdlIG5lZWRzIHJlLXZhbGlkYXRpbmcuCisgICAgICAgICAgICAg
Ki8KICAgICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQgPSBwYWdlX2dldF9v
d25lcihwYWdlKTsKIAogICAgICAgICAgICAgaWYgKCBkICYmIHNoYWRvd19t
b2RlX2VuYWJsZWQoZCkgKQpAQCAtMzAwNyw4ICszMDE1LDggQEAgc3RhdGlj
IGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1
bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgLyoKICAgICAgICAgICAgICAgICAgKiBPbiB0eXBlIGNoYW5nZSB3
ZSBjaGVjayB0byBmbHVzaCBzdGFsZSBUTEIgZW50cmllcy4gSXQgaXMKLSAg
ICAgICAgICAgICAgICAgKiB2aXRhbCB0aGF0IG5vIG90aGVyIENQVXMgYXJl
IGxlZnQgd2l0aCBtYXBwaW5ncyBvZiBhIGZyYW1lCi0gICAgICAgICAgICAg
ICAgICogd2hpY2ggaXMgYWJvdXQgdG8gYmVjb21lIHdyaXRlYWJsZSB0byB0
aGUgZ3Vlc3QuCisgICAgICAgICAgICAgICAgICogdml0YWwgdGhhdCBubyBv
dGhlciBDUFVzIGFyZSBsZWZ0IHdpdGggd3JpdGVhYmxlIG1hcHBpbmdzCisg
ICAgICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRlbmRp
bmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KICAgICAgICAgICAgICAg
ICAgKi8KICAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlz
X2NwdShzY3JhdGNoX2NwdW1hc2spOwogCkBAIC0zMDIwLDcgKzMwMjgsNyBA
QCBzdGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8g
KnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKIAogICAgICAgICAgICAgICAg
IGlmICggdW5saWtlbHkoIWNwdW1hc2tfZW1wdHkobWFzaykpICYmCiAgICAg
ICAgICAgICAgICAgICAgICAvKiBTaGFkb3cgbW9kZTogdHJhY2sgb25seSB3
cml0YWJsZSBwYWdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICghc2hh
ZG93X21vZGVfZW5hYmxlZChwYWdlX2dldF9vd25lcihwYWdlKSkgfHwKKyAg
ICAgICAgICAgICAgICAgICAgICghc2hhZG93X21vZGVfZW5hYmxlZChkKSB8
fAogICAgICAgICAgICAgICAgICAgICAgICgobnggJiBQR1RfdHlwZV9tYXNr
KSA9PSBQR1Rfd3JpdGFibGVfcGFnZSkpICkKICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgIHBlcmZjX2luY3IobmVlZF9mbHVzaF90
bGJfZmx1c2gpOwpAQCAtMzA0MSw3ICszMDQ5LDE0IEBAIHN0YXRpYyBpbnQg
X2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWdu
ZWQgbG9uZyB0eXBlLAogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCB1
bmxpa2VseSgoeCAmIChQR1RfdHlwZV9tYXNrfFBHVF9wYWVfeGVuX2wyKSkg
IT0gdHlwZSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICAvKiBEb24ndCBs
b2cgZmFpbHVyZSBpZiBpdCBjb3VsZCBiZSBhIHJlY3Vyc2l2ZS1tYXBwaW5n
IGF0dGVtcHQuICovCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog
ZWxzZSwgd2UncmUgdHJ5aW5nIHRvIHRha2UgYSBuZXcgcmVmZXJlbmNlLCBv
ZiB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAgICAgICAqCisgICAgICAgICAg
ICAgKiBUaGlzIChiZWluZyBhYmxlIHRvIHByb2hpYml0IHVzZSBvZiB0aGUg
d3JvbmcgdHlwZSkgaXMgd2hhdCB0aGUKKyAgICAgICAgICAgICAqIHR5cGVy
ZWYgc3lzdGVtIGV4aXN0cyBmb3IsIGJ1dCBza2lwIHByaW50aW5nIHRoZSBm
YWlsdXJlIGlmIGl0CisgICAgICAgICAgICAgKiBsb29rcyBsaWtlIGEgcmVj
dXJzaXZlIG1hcHBpbmcsIGFzIHN1YnNlcXVlbnQgbG9naWMgbWlnaHQKKyAg
ICAgICAgICAgICAqIHVsdGltYXRlbHkgcGVybWl0IHRoZSBhdHRlbXB0Lgor
ICAgICAgICAgICAgICovCiAgICAgICAgICAgICBpZiAoICgoeCAmIFBHVF90
eXBlX21hc2spID09IFBHVF9sMl9wYWdlX3RhYmxlKSAmJgogICAgICAgICAg
ICAgICAgICAodHlwZSA9PSBQR1RfbDFfcGFnZV90YWJsZSkgKQogICAgICAg
ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwpAQCAtMzA2MCwxOCArMzA3NSw0
NiBAQCBzdGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2lu
Zm8gKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgfQogICAg
ICAgICBlbHNlIGlmICggdW5saWtlbHkoISh4ICYgUEdUX3ZhbGlkYXRlZCkp
ICkKICAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAq
IGVsc2UsIHRoZSBjb3VudCBpcyBub24temVybywgYW5kIHdlJ3JlIGdyYWJi
aW5nIHRoZSByaWdodCB0eXBlOworICAgICAgICAgICAgICogYnV0IHRoZSBw
YWdlIGhhc24ndCBiZWVuIHZhbGlkYXRlZCB5ZXQuCisgICAgICAgICAgICAg
KgorICAgICAgICAgICAgICogVGhlIHBhZ2UgaXMgaW4gb25lIG9mIHR3byBz
dGF0ZXMgKGRlcGVuZGluZyBvbiBQR1RfcGFydGlhbCksCisgICAgICAgICAg
ICAgKiBhbmQgc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcmVmZXJlbmNlLgor
ICAgICAgICAgICAgICovCisgICAgICAgICAgICBBU1NFUlQoKHggJiAoUEdU
X3R5cGVfbWFzayB8IFBHVF9jb3VudF9tYXNrKSkgPT0gKHR5cGUgfCAxKSk7
CisKICAgICAgICAgICAgIGlmICggISh4ICYgUEdUX3BhcnRpYWwpICkKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBTb21lb25lIGVsc2Ug
aXMgdXBkYXRpbmcgdmFsaWRhdGlvbiBvZiB0aGlzIHBhZ2UuIFdhaXQuLi4g
Ki8KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIFRo
ZSBwYWdlIGhhcyBiZWVuIGxlZnQgaW4gdGhlICJ2YWxpZGF0ZSBsb2NrZWQi
IHN0YXRlCisgICAgICAgICAgICAgICAgICogKGkuZS4gUEdUX1t0eXBlXSB8
IDEpIHdoaWNoIG1lYW5zIHRoYXQgYSBjb25jdXJyZW50IGNhbGxlcgorICAg
ICAgICAgICAgICAgICAqIG9mIF9nZXRfcGFnZV90eXBlKCkgaXMgaW4gdGhl
IG1pZGRsZSBvZiB2YWxpZGF0aW9uLgorICAgICAgICAgICAgICAgICAqCisg
ICAgICAgICAgICAgICAgICogU3BpbiB3YWl0aW5nIGZvciB0aGUgY29uY3Vy
cmVudCB1c2VyIHRvIGNvbXBsZXRlIChwYXJ0aWFsCisgICAgICAgICAgICAg
ICAgICogb3IgZnVsbHkgdmFsaWRhdGVkKSwgdGhlbiByZXN0YXJ0IG91ciBh
dHRlbXB0IHRvIGFjcXVpcmUgYQorICAgICAgICAgICAgICAgICAqIHR5cGUg
cmVmZXJlbmNlLgorICAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICAg
ICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBwcmVlbXB0aWJs
ZSAmJiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAtRUlOVFI7CiAgICAgICAgICAgICAgICAg
ICAgIGNwdV9yZWxheCgpOwotICAgICAgICAgICAgICAgIH0gd2hpbGUgKCAo
eSA9IHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKSA9PSB4ICk7CisgICAgICAg
ICAgICAgICAgfSB3aGlsZSAoICh5ID0gQUNDRVNTX09OQ0UocGFnZS0+dS5p
bnVzZS50eXBlX2luZm8pKSA9PSB4ICk7CiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBUeXBlIHJl
ZiBjb3VudCB3YXMgbGVmdCBhdCAxIHdoZW4gUEdUX3BhcnRpYWwgZ290IHNl
dC4gKi8KLSAgICAgICAgICAgIEFTU0VSVCgoeCAmIFBHVF9jb3VudF9tYXNr
KSA9PSAxKTsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRo
ZSBwYWdlIGhhcyBiZWVuIGxlZnQgaW4gdGhlICJwYXJ0aWFsIiBzdGF0ZQor
ICAgICAgICAgICAgICogKGkuZS4sIFBHVF9bdHlwZV0gfCBQR1RfcGFydGlh
bCB8IDEpLgorICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAqIFJhdGhl
ciB0aGFuIGJ1bXBpbmcgdGhlIHR5cGUgY291bnQsIHdlIG5lZWQgdG8gdHJ5
IHRvIGdyYWIgdGhlCisgICAgICAgICAgICAgKiB2YWxpZGF0aW9uIGxvY2s7
IGlmIHdlIHN1Y2NlZWQsIHdlIG5lZWQgdG8gdmFsaWRhdGUgdGhlIHBhZ2Us
CisgICAgICAgICAgICAgKiB0aGVuIGRyb3AgdGhlIGdlbmVyYWwgcmVmIGFz
c29jaWF0ZWQgd2l0aCB0aGUgUEdUX3BhcnRpYWwgYml0LgorICAgICAgICAg
ICAgICoKKyAgICAgICAgICAgICAqIFdlIGdyYWIgdGhlIHZhbGlkYXRpb24g
bG9jayBieSBzZXR0aW5nIG54IHRvIChQR1RfW3R5cGVdIHwgMSkKKyAgICAg
ICAgICAgICAqIChpLmUuLCBub24temVybyB0eXBlIGNvdW50LCBuZWl0aGVy
IFBHVF92YWxpZGF0ZWQgbm9yCisgICAgICAgICAgICAgKiBQR1RfcGFydGlh
bCBzZXQpLgorICAgICAgICAgICAgICovCiAgICAgICAgICAgICBueCA9IHgg
JiB+UEdUX3BhcnRpYWw7CiAgICAgICAgIH0KIApAQCAtMzExNiw2ICszMTU5
LDEzIEBAIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2Vf
aW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAgIH0KIAogIG91
dDoKKyAgICAvKgorICAgICAqIERpZCB3ZSBkcm9wIHRoZSBQR1RfcGFydGlh
bCBiaXQgd2hlbiBhY3F1aXJpbmcgdGhlIHR5cGVyZWY/ICBJZiBzbywKKyAg
ICAgKiBkcm9wIHRoZSBnZW5lcmFsIHJlZmVyZW5jZSB0aGF0IHdlbnQgYWxv
bmcgd2l0aCBpdC4KKyAgICAgKgorICAgICAqIE4uQi4gdmFsaWRhdGVfcGFn
ZSgpIG1heSBoYXZlIGhhdmUgcmUtc2V0IFBHVF9wYXJ0aWFsLCBub3QgcmVm
bGVjdGVkIGluCisgICAgICogbngsIGJ1dCB3aWxsIGhhdmUgdGFrZW4gYW4g
ZXh0cmEgcmVmIHdoZW4gZG9pbmcgc28uCisgICAgICovCiAgICAgaWYgKCAo
eCAmIFBHVF9wYXJ0aWFsKSAmJiAhKG54ICYgUEdUX3BhcnRpYWwpICkKICAg
ICAgICAgcHV0X3BhZ2UocGFnZSk7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa401/xsa401-4.13-2.patch"
Content-Disposition: attachment; filename="xsa401/xsa401-4.13-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBGaXggQUJBQyBjbXB4Y2hnKCkgcmFjZSBp
biBfZ2V0X3BhZ2VfdHlwZSgpCgpfZ2V0X3BhZ2VfdHlwZSgpIHN1ZmZlcnMg
ZnJvbSBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGl0IGluY29ycmVjdGx5IGFz
c3VtZXMKdGhhdCBiZWNhdXNlICd4JyB3YXMgcmVhZCBhbmQgYSBzdWJzZXF1
ZW50IGEgY21weGNoZygpIHN1Y2NlZWRzLCB0aGUgdHlwZQpjYW5ub3QgaGF2
ZSBjaGFuZ2VkIGluLWJldHdlZW4uICBDb25zaWRlcjoKCkNQVSBBOgogIDEu
IENyZWF0ZXMgYW4gTDJlIHJlZmVyZW5jaW5nIHBnCiAgICAgYC0+IF9nZXRf
cGFnZV90eXBlKHBnLCBQR1RfbDFfcGFnZV90YWJsZSksIHNlZXMgY291bnQg
MCwgdHlwZSBQR1Rfd3JpdGFibGVfcGFnZQogIDIuICAgICBJc3N1ZXMgZmx1
c2hfdGxiX21hc2soKQpDUFUgQjoKICAzLiBDcmVhdGVzIGEgd3JpdGVhYmxl
IG1hcHBpbmcgb2YgcGcKICAgICBgLT4gX2dldF9wYWdlX3R5cGUocGcsIFBH
VF93cml0YWJsZV9wYWdlKSwgY291bnQgaW5jcmVhc2VzIHRvIDEKICA0LiBX
cml0ZXMgaW50byBuZXcgbWFwcGluZywgY3JlYXRpbmcgYSBUTEIgZW50cnkg
Zm9yIHBnCiAgNS4gUmVtb3ZlcyB0aGUgd3JpdGVhYmxlIG1hcHBpbmcgb2Yg
cGcKICAgICBgLT4gX3B1dF9wYWdlX3R5cGUocGcpLCBjb3VudCBnb2VzIGJh
Y2sgZG93biB0byAwCkNQVSBBOgogIDcuICAgICBJc3N1ZXMgY21weGNoZygp
LCBzZXR0aW5nIGNvdW50IDEsIHR5cGUgUEdUX2wxX3BhZ2VfdGFibGUKCkNQ
VSBCIG5vdyBoYXMgYSB3cml0ZWFibGUgbWFwcGluZyB0byBwZywgd2hpY2gg
WGVuIGJlbGlldmVzIGlzIGEgcGFnZXRhYmxlIGFuZApzdWl0YWJseSBwcm90
ZWN0ZWQgKGkuZS4gcmVhZC1vbmx5KS4gIFRoZSBUTEIgZmx1c2ggaW4gc3Rl
cCAyIG11c3QgYmUgZGVmZXJyZWQKdW50aWwgYWZ0ZXIgdGhlIGd1ZXN0IGlz
IHByb2hpYml0ZWQgZnJvbSBjcmVhdGluZyBuZXcgd3JpdGVhYmxlIG1hcHBp
bmdzLAp3aGljaCBpcyBhZnRlciBzdGVwIDcuCgpEZWZlciBhbGwgc2FmZXR5
IGFjdGlvbnMgdW50aWwgYWZ0ZXIgdGhlIGNtcHhjaGcoKSBoYXMgc3VjY2Vz
c2Z1bGx5IHRha2VuIHRoZQppbnRlbmRlZCB0eXBlcmVmLCBiZWNhdXNlIHRo
YXQgaXMgd2hhdCBwcmV2ZW50cyBjb25jdXJyZW50IHVzZXJzIGZyb20gdXNp
bmcKdGhlIG9sZCB0eXBlLgoKQWxzbyByZW1vdmUgdGhlIGVhcmx5IHZhbGlk
YXRpb24gZm9yIHdyaXRlYWJsZSBhbmQgc2hhcmVkIHBhZ2VzLiAgVGhpcyBy
ZW1vdmVzCnJhY2UgY29uZGl0aW9ucyB3aGVyZSBvbmUgaGFsZiBvZiBhIHBh
cmFsbGVsIG1hcHBpbmcgYXR0ZW1wdCBjYW4gcmV0dXJuCnN1Y2Nlc3NmdWxs
eSBiZWZvcmU6CiAqIFRoZSBJT01NVSBwYWdldGFibGVzIGFyZSBpbiBzeW5j
IHdpdGggdGhlIG5ldyBwYWdlIHR5cGUKICogV3JpdGVhYmxlIG1hcHBpbmdz
IHRvIHNoYXJlZCBwYWdlcyBoYXZlIGJlZW4gdG9ybiBkb3duCgpUaGlzIGlz
IHBhcnQgb2YgWFNBLTQwMSAvIENWRS0yMDIyLTI2MzYyLgoKUmVwb3J0ZWQt
Ynk6IEphbm4gSG9ybiA8amFubmhAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
UmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0
cml4LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hl
bi9hcmNoL3g4Ni9tbS5jCmluZGV4IDk2NzM4YjAyNzgyNy4uZWU5MWM3ZmU1
ZjY5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4v
YXJjaC94ODYvbW0uYwpAQCAtMzAwNSw0NiArMzAwNSwxMiBAQCBzdGF0aWMg
aW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVu
c2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgICAqIFR5cGUgY2hhbmdl
cyBhcmUgcGVybWl0dGVkIHdoZW4gdGhlIHR5cGVyZWYgaXMgMC4gIElmIHRo
ZSB0eXBlCiAgICAgICAgICAgICAgKiBhY3R1YWxseSBjaGFuZ2VzLCB0aGUg
cGFnZSBuZWVkcyByZS12YWxpZGF0aW5nLgogICAgICAgICAgICAgICovCi0g
ICAgICAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcGFnZV9nZXRfb3duZXIo
cGFnZSk7Ci0KLSAgICAgICAgICAgIGlmICggZCAmJiBzaGFkb3dfbW9kZV9l
bmFibGVkKGQpICkKLSAgICAgICAgICAgICAgIHNoYWRvd19wcmVwYXJlX3Bh
Z2VfdHlwZV9jaGFuZ2UoZCwgcGFnZSwgdHlwZSk7CiAKICAgICAgICAgICAg
IEFTU0VSVCghKHggJiBQR1RfcGFlX3hlbl9sMikpOwogICAgICAgICAgICAg
aWYgKCAoeCAmIFBHVF90eXBlX21hc2spICE9IHR5cGUgKQogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICAgICog
T24gdHlwZSBjaGFuZ2Ugd2UgY2hlY2sgdG8gZmx1c2ggc3RhbGUgVExCIGVu
dHJpZXMuIEl0IGlzCi0gICAgICAgICAgICAgICAgICogdml0YWwgdGhhdCBu
byBvdGhlciBDUFVzIGFyZSBsZWZ0IHdpdGggd3JpdGVhYmxlIG1hcHBpbmdz
Ci0gICAgICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRl
bmRpbmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KLSAgICAgICAgICAg
ICAgICAgKi8KLSAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0
aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOwotCi0gICAgICAgICAgICAgICAg
QlVHX09OKGluX2lycSgpKTsKLSAgICAgICAgICAgICAgICBjcHVtYXNrX2Nv
cHkobWFzaywgZC0+ZGlydHlfY3B1bWFzayk7Ci0KLSAgICAgICAgICAgICAg
ICAvKiBEb24ndCBmbHVzaCBpZiB0aGUgdGltZXN0YW1wIGlzIG9sZCBlbm91
Z2ggKi8KLSAgICAgICAgICAgICAgICB0bGJmbHVzaF9maWx0ZXIobWFzaywg
cGFnZS0+dGxiZmx1c2hfdGltZXN0YW1wKTsKLQotICAgICAgICAgICAgICAg
IGlmICggdW5saWtlbHkoIWNwdW1hc2tfZW1wdHkobWFzaykpICYmCi0gICAg
ICAgICAgICAgICAgICAgICAvKiBTaGFkb3cgbW9kZTogdHJhY2sgb25seSB3
cml0YWJsZSBwYWdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICghc2hh
ZG93X21vZGVfZW5hYmxlZChkKSB8fAotICAgICAgICAgICAgICAgICAgICAg
ICgobnggJiBQR1RfdHlwZV9tYXNrKSA9PSBQR1Rfd3JpdGFibGVfcGFnZSkp
ICkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHBl
cmZjX2luY3IobmVlZF9mbHVzaF90bGJfZmx1c2gpOwotICAgICAgICAgICAg
ICAgICAgICBmbHVzaF90bGJfbWFzayhtYXNrKTsKLSAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICAvKiBXZSBsb3NlIGV4aXN0aW5nIHR5
cGUgYW5kIHZhbGlkaXR5LiAqLwogICAgICAgICAgICAgICAgIG54ICY9IH4o
UEdUX3R5cGVfbWFzayB8IFBHVF92YWxpZGF0ZWQpOwogICAgICAgICAgICAg
ICAgIG54IHw9IHR5cGU7Ci0KLSAgICAgICAgICAgICAgICAvKgotICAgICAg
ICAgICAgICAgICAqIE5vIHNwZWNpYWwgdmFsaWRhdGlvbiBuZWVkZWQgZm9y
IHdyaXRhYmxlIHBhZ2VzLgotICAgICAgICAgICAgICAgICAqIFBhZ2UgdGFi
bGVzIGFuZCBHRFQvTERUIG5lZWQgdG8gYmUgc2Nhbm5lZCBmb3IgdmFsaWRp
dHkuCi0gICAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgICAgaWYg
KCB0eXBlID09IFBHVF93cml0YWJsZV9wYWdlIHx8IHR5cGUgPT0gUEdUX3No
YXJlZF9wYWdlICkKLSAgICAgICAgICAgICAgICAgICAgbnggfD0gUEdUX3Zh
bGlkYXRlZDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBl
bHNlIGlmICggdW5saWtlbHkoKHggJiAoUEdUX3R5cGVfbWFza3xQR1RfcGFl
X3hlbl9sMikpICE9IHR5cGUpICkKQEAgLTMxMjUsNiArMzA5MSw0NiBAQCBz
dGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBh
Z2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgIHJldHVybiAt
RUlOVFI7CiAgICAgfQogCisgICAgLyoKKyAgICAgKiBPbmUgdHlwZXJlZiBo
YXMgYmVlbiB0YWtlbiBhbmQgaXMgbm93IGdsb2JhbGx5IHZpc2libGUuCisg
ICAgICoKKyAgICAgKiBUaGUgcGFnZSBpcyBlaXRoZXIgaW4gdGhlICJ2YWxp
ZGF0ZSBsb2NrZWQiIHN0YXRlIChQR1RfW3R5cGVdIHwgMSkgb3IKKyAgICAg
KiBmdWxseSB2YWxpZGF0ZWQgKFBHVF9bdHlwZV0gfCBQR1RfdmFsaWRhdGVk
IHwgPjApLgorICAgICAqLworCisgICAgaWYgKCB1bmxpa2VseSgoeCAmIFBH
VF9jb3VudF9tYXNrKSA9PSAwKSApCisgICAgeworICAgICAgICBzdHJ1Y3Qg
ZG9tYWluICpkID0gcGFnZV9nZXRfb3duZXIocGFnZSk7CisKKyAgICAgICAg
aWYgKCBkICYmIHNoYWRvd19tb2RlX2VuYWJsZWQoZCkgKQorICAgICAgICAg
ICAgc2hhZG93X3ByZXBhcmVfcGFnZV90eXBlX2NoYW5nZShkLCBwYWdlLCB0
eXBlKTsKKworICAgICAgICBpZiAoICh4ICYgUEdUX3R5cGVfbWFzaykgIT0g
dHlwZSApCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAg
ICAgKiBPbiB0eXBlIGNoYW5nZSB3ZSBjaGVjayB0byBmbHVzaCBzdGFsZSBU
TEIgZW50cmllcy4gSXQgaXMKKyAgICAgICAgICAgICAqIHZpdGFsIHRoYXQg
bm8gb3RoZXIgQ1BVcyBhcmUgbGVmdCB3aXRoIHdyaXRlYWJsZSBtYXBwaW5n
cworICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRlbmRp
bmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KKyAgICAgICAgICAgICAq
LworICAgICAgICAgICAgY3B1bWFza190ICptYXNrID0gdGhpc19jcHUoc2Ny
YXRjaF9jcHVtYXNrKTsKKworICAgICAgICAgICAgQlVHX09OKGluX2lycSgp
KTsKKyAgICAgICAgICAgIGNwdW1hc2tfY29weShtYXNrLCBkLT5kaXJ0eV9j
cHVtYXNrKTsKKworICAgICAgICAgICAgLyogRG9uJ3QgZmx1c2ggaWYgdGhl
IHRpbWVzdGFtcCBpcyBvbGQgZW5vdWdoICovCisgICAgICAgICAgICB0bGJm
bHVzaF9maWx0ZXIobWFzaywgcGFnZS0+dGxiZmx1c2hfdGltZXN0YW1wKTsK
KworICAgICAgICAgICAgaWYgKCB1bmxpa2VseSghY3B1bWFza19lbXB0eSht
YXNrKSkgJiYKKyAgICAgICAgICAgICAgICAgLyogU2hhZG93IG1vZGU6IHRy
YWNrIG9ubHkgd3JpdGFibGUgcGFnZXMuICovCisgICAgICAgICAgICAgICAg
ICghc2hhZG93X21vZGVfZW5hYmxlZChkKSB8fAorICAgICAgICAgICAgICAg
ICAgKChueCAmIFBHVF90eXBlX21hc2spID09IFBHVF93cml0YWJsZV9wYWdl
KSkgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBlcmZjX2lu
Y3IobmVlZF9mbHVzaF90bGJfZmx1c2gpOworICAgICAgICAgICAgICAgIGZs
dXNoX3RsYl9tYXNrKG1hc2spOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCiAgICAgaWYgKCB1bmxpa2VseSgoeCAmIFBHVF90eXBlX21h
c2spICE9IHR5cGUpICkKICAgICB7CiAgICAgICAgIC8qIFNwZWNpYWwgcGFn
ZXMgc2hvdWxkIG5vdCBiZSBhY2Nlc3NpYmxlIGZyb20gZGV2aWNlcy4gKi8K
QEAgLTMxNDksMTMgKzMxNTUsMjUgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2Vf
dHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5
cGUsCiAKICAgICBpZiAoIHVubGlrZWx5KCEobnggJiBQR1RfdmFsaWRhdGVk
KSkgKQogICAgIHsKLSAgICAgICAgaWYgKCAhKHggJiBQR1RfcGFydGlhbCkg
KQorICAgICAgICAvKgorICAgICAgICAgKiBObyBzcGVjaWFsIHZhbGlkYXRp
b24gbmVlZGVkIGZvciB3cml0YWJsZSBvciBzaGFyZWQgcGFnZXMuICBQYWdl
CisgICAgICAgICAqIHRhYmxlcyBhbmQgR0RUL0xEVCBuZWVkIHRvIGhhdmUg
dGhlaXIgY29udGVudHMgYXVkaXRlZC4KKyAgICAgICAgICoKKyAgICAgICAg
ICogcGVyIHZhbGlkYXRlX3BhZ2UoKSwgbm9uLWF0b21pYyB1cGRhdGVzIGFy
ZSBmaW5lIGhlcmUuCisgICAgICAgICAqLworICAgICAgICBpZiAoIHR5cGUg
PT0gUEdUX3dyaXRhYmxlX3BhZ2UgfHwgdHlwZSA9PSBQR1Rfc2hhcmVkX3Bh
Z2UgKQorICAgICAgICAgICAgcGFnZS0+dS5pbnVzZS50eXBlX2luZm8gfD0g
UEdUX3ZhbGlkYXRlZDsKKyAgICAgICAgZWxzZQogICAgICAgICB7Ci0gICAg
ICAgICAgICBwYWdlLT5ucl92YWxpZGF0ZWRfcHRlcyA9IDA7Ci0gICAgICAg
ICAgICBwYWdlLT5wYXJ0aWFsX2ZsYWdzID0gMDsKLSAgICAgICAgICAgIHBh
Z2UtPmxpbmVhcl9wdF9jb3VudCA9IDA7CisgICAgICAgICAgICBpZiAoICEo
eCAmIFBHVF9wYXJ0aWFsKSApCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgcGFnZS0+bnJfdmFsaWRhdGVkX3B0ZXMgPSAwOworICAgICAgICAg
ICAgICAgIHBhZ2UtPnBhcnRpYWxfZmxhZ3MgPSAwOworICAgICAgICAgICAg
ICAgIHBhZ2UtPmxpbmVhcl9wdF9jb3VudCA9IDA7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHJjID0gYWxsb2NfcGFnZV90eXBlKHBhZ2UsIHR5
cGUsIHByZWVtcHRpYmxlKTsKICAgICAgICAgfQotICAgICAgICByYyA9IGFs
bG9jX3BhZ2VfdHlwZShwYWdlLCB0eXBlLCBwcmVlbXB0aWJsZSk7CiAgICAg
fQogCiAgb3V0Ogo=

--=separator
Content-Type: application/octet-stream; name="xsa401/xsa401-4.16-1.patch"
Content-Disposition: attachment; filename="xsa401/xsa401-4.16-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBDbGVhbiB1cCBfZ2V0X3BhZ2VfdHlwZSgp
CgpWYXJpb3VzIGZpeGVzIGZvciBjbGFyaXR5LCBhaGVhZCBvZiBtYWtpbmcg
Y29tcGxpY2F0ZWQgY2hhbmdlcy4KCiAqIFNwbGl0IHRoZSBvdmVyZmxvdyBj
aGVjayBvdXQgb2YgdGhlIGlmL2Vsc2UgY2hhaW4gZm9yIHR5cGUgaGFuZGxp
bmcsIGFzCiAgIGl0J3Mgc29tZXdoYXQgdW5yZWxhdGVkLgogKiBDb21tZW50
IHRoZSBtYWluIGlmL2Vsc2UgY2hhaW4gdG8gZXhwbGFpbiB3aGF0IGlzIGdv
aW5nIG9uLiAgQWRqdXN0IG9uZQogICBBU1NFUlQoKSBhbmQgc3RhdGUgdGhl
IGJpdCBsYXlvdXQgZm9yIHZhbGlkYXRlLWxvY2tlZCBhbmQgcGFydGlhbCBz
dGF0ZXMuCiAqIENvcnJlY3QgdGhlIGNvbW1lbnQgYWJvdXQgVExCIGZsdXNo
aW5nLCBhcyBpdCdzIGJhY2t3YXJkcy4gIFRoZSBwcm9ibGVtCiAgIGNhc2Ug
aXMgd2hlbiB3cml0ZWFibGUgbWFwcGluZ3MgYXJlIHJldGFpbmVkIHRvIGEg
cGFnZSBiZWNvbWluZyByZWFkLW9ubHksCiAgIGFzIGl0IGFsbG93cyB0aGUg
Z3Vlc3QgdG8gYnlwYXNzIFhlbidzIHNhZmV0eSBjaGVja3MgZm9yIHVwZGF0
ZXMuCiAqIFJlZHVjZSB0aGUgc2NvcGUgb2YgJ3knLiAgSXQgaXMgYW4gYXJ0
ZWZhY3Qgb2YgdGhlIGNtcHhjaGcgbG9vcCBhbmQgbm90CiAgIHZhbGlkIGZv
ciB1c2UgYnkgc3Vic2VxdWVudCBsb2dpYy4gIFN3aXRjaCB0byB1c2luZyBB
Q0NFU1NfT05DRSgpIHRvIHRyZWF0CiAgIGFsbCByZWFkcyBhcyBleHBsaWNp
dGx5IHZvbGF0aWxlLiAgVGhlIG9ubHkgdGhpbmcgcHJldmVudGluZyB0aGUg
dmFsaWRhdGVkCiAgIHdhaXQtbG9vcCBiZWluZyBpbmZpbml0ZSBpcyB0aGUg
Y29tcGlsZXIgYmFycmllciBoaWRkZW4gaW4gY3B1X3JlbGF4KCkuCiAqIFJl
cGxhY2Ugb25lIHBhZ2VfZ2V0X293bmVyKHBhZ2UpIHdpdGggdGhlIGFscmVh
ZHktY2FsY3VsYXRlZCAnZCcgYWxyZWFkeSBpbgogICBzY29wZS4KCk5vIGZ1
bmN0aW9uYWwgY2hhbmdlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDEgLyBD
VkUtMjAyMi0yNjM2Mi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IEdl
b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KUmV2
aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9h
cmNoL3g4Ni9tbS5jCmluZGV4IDc5NmZhY2E2NDEwMy4uZGRkMzJmODhjNzk4
IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJj
aC94ODYvbW0uYwpAQCAtMjkzNSwxNiArMjkzNSwxNyBAQCBzdGF0aWMgaW50
IF9wdXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2ln
bmVkIGludCBmbGFncywKIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3Ry
dWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHByZWVtcHRpYmxlKQogewot
ICAgIHVuc2lnbmVkIGxvbmcgbngsIHgsIHkgPSBwYWdlLT51LmludXNlLnR5
cGVfaW5mbzsKKyAgICB1bnNpZ25lZCBsb25nIG54LCB4OwogICAgIGludCBy
YyA9IDA7CiAKICAgICBBU1NFUlQoISh0eXBlICYgfihQR1RfdHlwZV9tYXNr
IHwgUEdUX3BhZV94ZW5fbDIpKSk7CiAgICAgQVNTRVJUKCFpbl9pcnEoKSk7
CiAKLSAgICBmb3IgKCA7IDsgKQorICAgIGZvciAoIHVuc2lnbmVkIGxvbmcg
eSA9IEFDQ0VTU19PTkNFKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKTsgOyAp
CiAgICAgewogICAgICAgICB4ICA9IHk7CiAgICAgICAgIG54ID0geCArIDE7
CisKICAgICAgICAgaWYgKCB1bmxpa2VseSgobnggJiBQR1RfY291bnRfbWFz
aykgPT0gMCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBnZHByaW50ayhY
RU5MT0dfV0FSTklORywKQEAgLTI5NTIsOCArMjk1MywxNSBAQCBzdGF0aWMg
aW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVu
c2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgIG1mbl94
KHBhZ2VfdG9fbWZuKHBhZ2UpKSk7CiAgICAgICAgICAgICByZXR1cm4gLUVJ
TlZBTDsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmICggdW5saWtlbHko
KHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQorCisgICAgICAgIGlmICgg
dW5saWtlbHkoKHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQogICAgICAg
ICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVHlwZXJlZiAw
IC0+IDEuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogVHlwZSBj
aGFuZ2VzIGFyZSBwZXJtaXR0ZWQgd2hlbiB0aGUgdHlwZXJlZiBpcyAwLiAg
SWYgdGhlIHR5cGUKKyAgICAgICAgICAgICAqIGFjdHVhbGx5IGNoYW5nZXMs
IHRoZSBwYWdlIG5lZWRzIHJlLXZhbGlkYXRpbmcuCisgICAgICAgICAgICAg
Ki8KICAgICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQgPSBwYWdlX2dldF9v
d25lcihwYWdlKTsKIAogICAgICAgICAgICAgaWYgKCBkICYmIHNoYWRvd19t
b2RlX2VuYWJsZWQoZCkgKQpAQCAtMjk2NCw4ICsyOTcyLDggQEAgc3RhdGlj
IGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1
bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgLyoKICAgICAgICAgICAgICAgICAgKiBPbiB0eXBlIGNoYW5nZSB3
ZSBjaGVjayB0byBmbHVzaCBzdGFsZSBUTEIgZW50cmllcy4gSXQgaXMKLSAg
ICAgICAgICAgICAgICAgKiB2aXRhbCB0aGF0IG5vIG90aGVyIENQVXMgYXJl
IGxlZnQgd2l0aCBtYXBwaW5ncyBvZiBhIGZyYW1lCi0gICAgICAgICAgICAg
ICAgICogd2hpY2ggaXMgYWJvdXQgdG8gYmVjb21lIHdyaXRlYWJsZSB0byB0
aGUgZ3Vlc3QuCisgICAgICAgICAgICAgICAgICogdml0YWwgdGhhdCBubyBv
dGhlciBDUFVzIGFyZSBsZWZ0IHdpdGggd3JpdGVhYmxlIG1hcHBpbmdzCisg
ICAgICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRlbmRp
bmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KICAgICAgICAgICAgICAg
ICAgKi8KICAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlz
X2NwdShzY3JhdGNoX2NwdW1hc2spOwogCkBAIC0yOTc3LDcgKzI5ODUsNyBA
QCBzdGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8g
KnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKIAogICAgICAgICAgICAgICAg
IGlmICggdW5saWtlbHkoIWNwdW1hc2tfZW1wdHkobWFzaykpICYmCiAgICAg
ICAgICAgICAgICAgICAgICAvKiBTaGFkb3cgbW9kZTogdHJhY2sgb25seSB3
cml0YWJsZSBwYWdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICghc2hh
ZG93X21vZGVfZW5hYmxlZChwYWdlX2dldF9vd25lcihwYWdlKSkgfHwKKyAg
ICAgICAgICAgICAgICAgICAgICghc2hhZG93X21vZGVfZW5hYmxlZChkKSB8
fAogICAgICAgICAgICAgICAgICAgICAgICgobnggJiBQR1RfdHlwZV9tYXNr
KSA9PSBQR1Rfd3JpdGFibGVfcGFnZSkpICkKICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgIHBlcmZjX2luY3IobmVlZF9mbHVzaF90
bGJfZmx1c2gpOwpAQCAtMzAwOCw3ICszMDE2LDE0IEBAIHN0YXRpYyBpbnQg
X2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWdu
ZWQgbG9uZyB0eXBlLAogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCB1
bmxpa2VseSgoeCAmIChQR1RfdHlwZV9tYXNrfFBHVF9wYWVfeGVuX2wyKSkg
IT0gdHlwZSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICAvKiBEb24ndCBs
b2cgZmFpbHVyZSBpZiBpdCBjb3VsZCBiZSBhIHJlY3Vyc2l2ZS1tYXBwaW5n
IGF0dGVtcHQuICovCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog
ZWxzZSwgd2UncmUgdHJ5aW5nIHRvIHRha2UgYSBuZXcgcmVmZXJlbmNlLCBv
ZiB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAgICAgICAqCisgICAgICAgICAg
ICAgKiBUaGlzIChiZWluZyBhYmxlIHRvIHByb2hpYml0IHVzZSBvZiB0aGUg
d3JvbmcgdHlwZSkgaXMgd2hhdCB0aGUKKyAgICAgICAgICAgICAqIHR5cGVy
ZWYgc3lzdGVtIGV4aXN0cyBmb3IsIGJ1dCBza2lwIHByaW50aW5nIHRoZSBm
YWlsdXJlIGlmIGl0CisgICAgICAgICAgICAgKiBsb29rcyBsaWtlIGEgcmVj
dXJzaXZlIG1hcHBpbmcsIGFzIHN1YnNlcXVlbnQgbG9naWMgbWlnaHQKKyAg
ICAgICAgICAgICAqIHVsdGltYXRlbHkgcGVybWl0IHRoZSBhdHRlbXB0Lgor
ICAgICAgICAgICAgICovCiAgICAgICAgICAgICBpZiAoICgoeCAmIFBHVF90
eXBlX21hc2spID09IFBHVF9sMl9wYWdlX3RhYmxlKSAmJgogICAgICAgICAg
ICAgICAgICAodHlwZSA9PSBQR1RfbDFfcGFnZV90YWJsZSkgKQogICAgICAg
ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwpAQCAtMzAyNywxOCArMzA0Miw0
NiBAQCBzdGF0aWMgaW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2lu
Zm8gKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgfQogICAg
ICAgICBlbHNlIGlmICggdW5saWtlbHkoISh4ICYgUEdUX3ZhbGlkYXRlZCkp
ICkKICAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAq
IGVsc2UsIHRoZSBjb3VudCBpcyBub24temVybywgYW5kIHdlJ3JlIGdyYWJi
aW5nIHRoZSByaWdodCB0eXBlOworICAgICAgICAgICAgICogYnV0IHRoZSBw
YWdlIGhhc24ndCBiZWVuIHZhbGlkYXRlZCB5ZXQuCisgICAgICAgICAgICAg
KgorICAgICAgICAgICAgICogVGhlIHBhZ2UgaXMgaW4gb25lIG9mIHR3byBz
dGF0ZXMgKGRlcGVuZGluZyBvbiBQR1RfcGFydGlhbCksCisgICAgICAgICAg
ICAgKiBhbmQgc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcmVmZXJlbmNlLgor
ICAgICAgICAgICAgICovCisgICAgICAgICAgICBBU1NFUlQoKHggJiAoUEdU
X3R5cGVfbWFzayB8IFBHVF9jb3VudF9tYXNrKSkgPT0gKHR5cGUgfCAxKSk7
CisKICAgICAgICAgICAgIGlmICggISh4ICYgUEdUX3BhcnRpYWwpICkKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBTb21lb25lIGVsc2Ug
aXMgdXBkYXRpbmcgdmFsaWRhdGlvbiBvZiB0aGlzIHBhZ2UuIFdhaXQuLi4g
Ki8KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIFRo
ZSBwYWdlIGhhcyBiZWVuIGxlZnQgaW4gdGhlICJ2YWxpZGF0ZSBsb2NrZWQi
IHN0YXRlCisgICAgICAgICAgICAgICAgICogKGkuZS4gUEdUX1t0eXBlXSB8
IDEpIHdoaWNoIG1lYW5zIHRoYXQgYSBjb25jdXJyZW50IGNhbGxlcgorICAg
ICAgICAgICAgICAgICAqIG9mIF9nZXRfcGFnZV90eXBlKCkgaXMgaW4gdGhl
IG1pZGRsZSBvZiB2YWxpZGF0aW9uLgorICAgICAgICAgICAgICAgICAqCisg
ICAgICAgICAgICAgICAgICogU3BpbiB3YWl0aW5nIGZvciB0aGUgY29uY3Vy
cmVudCB1c2VyIHRvIGNvbXBsZXRlIChwYXJ0aWFsCisgICAgICAgICAgICAg
ICAgICogb3IgZnVsbHkgdmFsaWRhdGVkKSwgdGhlbiByZXN0YXJ0IG91ciBh
dHRlbXB0IHRvIGFjcXVpcmUgYQorICAgICAgICAgICAgICAgICAqIHR5cGUg
cmVmZXJlbmNlLgorICAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICAg
ICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBwcmVlbXB0aWJs
ZSAmJiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAtRUlOVFI7CiAgICAgICAgICAgICAgICAg
ICAgIGNwdV9yZWxheCgpOwotICAgICAgICAgICAgICAgIH0gd2hpbGUgKCAo
eSA9IHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKSA9PSB4ICk7CisgICAgICAg
ICAgICAgICAgfSB3aGlsZSAoICh5ID0gQUNDRVNTX09OQ0UocGFnZS0+dS5p
bnVzZS50eXBlX2luZm8pKSA9PSB4ICk7CiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBUeXBlIHJl
ZiBjb3VudCB3YXMgbGVmdCBhdCAxIHdoZW4gUEdUX3BhcnRpYWwgZ290IHNl
dC4gKi8KLSAgICAgICAgICAgIEFTU0VSVCgoeCAmIFBHVF9jb3VudF9tYXNr
KSA9PSAxKTsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRo
ZSBwYWdlIGhhcyBiZWVuIGxlZnQgaW4gdGhlICJwYXJ0aWFsIiBzdGF0ZQor
ICAgICAgICAgICAgICogKGkuZS4sIFBHVF9bdHlwZV0gfCBQR1RfcGFydGlh
bCB8IDEpLgorICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAqIFJhdGhl
ciB0aGFuIGJ1bXBpbmcgdGhlIHR5cGUgY291bnQsIHdlIG5lZWQgdG8gdHJ5
IHRvIGdyYWIgdGhlCisgICAgICAgICAgICAgKiB2YWxpZGF0aW9uIGxvY2s7
IGlmIHdlIHN1Y2NlZWQsIHdlIG5lZWQgdG8gdmFsaWRhdGUgdGhlIHBhZ2Us
CisgICAgICAgICAgICAgKiB0aGVuIGRyb3AgdGhlIGdlbmVyYWwgcmVmIGFz
c29jaWF0ZWQgd2l0aCB0aGUgUEdUX3BhcnRpYWwgYml0LgorICAgICAgICAg
ICAgICoKKyAgICAgICAgICAgICAqIFdlIGdyYWIgdGhlIHZhbGlkYXRpb24g
bG9jayBieSBzZXR0aW5nIG54IHRvIChQR1RfW3R5cGVdIHwgMSkKKyAgICAg
ICAgICAgICAqIChpLmUuLCBub24temVybyB0eXBlIGNvdW50LCBuZWl0aGVy
IFBHVF92YWxpZGF0ZWQgbm9yCisgICAgICAgICAgICAgKiBQR1RfcGFydGlh
bCBzZXQpLgorICAgICAgICAgICAgICovCiAgICAgICAgICAgICBueCA9IHgg
JiB+UEdUX3BhcnRpYWw7CiAgICAgICAgIH0KIApAQCAtMzA4Nyw2ICszMTMw
LDEzIEBAIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2Vf
aW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAgIH0KIAogIG91
dDoKKyAgICAvKgorICAgICAqIERpZCB3ZSBkcm9wIHRoZSBQR1RfcGFydGlh
bCBiaXQgd2hlbiBhY3F1aXJpbmcgdGhlIHR5cGVyZWY/ICBJZiBzbywKKyAg
ICAgKiBkcm9wIHRoZSBnZW5lcmFsIHJlZmVyZW5jZSB0aGF0IHdlbnQgYWxv
bmcgd2l0aCBpdC4KKyAgICAgKgorICAgICAqIE4uQi4gdmFsaWRhdGVfcGFn
ZSgpIG1heSBoYXZlIGhhdmUgcmUtc2V0IFBHVF9wYXJ0aWFsLCBub3QgcmVm
bGVjdGVkIGluCisgICAgICogbngsIGJ1dCB3aWxsIGhhdmUgdGFrZW4gYW4g
ZXh0cmEgcmVmIHdoZW4gZG9pbmcgc28uCisgICAgICovCiAgICAgaWYgKCAo
eCAmIFBHVF9wYXJ0aWFsKSAmJiAhKG54ICYgUEdUX3BhcnRpYWwpICkKICAg
ICAgICAgcHV0X3BhZ2UocGFnZSk7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa401/xsa401-4.16-2.patch"
Content-Disposition: attachment; filename="xsa401/xsa401-4.16-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBGaXggQUJBQyBjbXB4Y2hnKCkgcmFjZSBp
biBfZ2V0X3BhZ2VfdHlwZSgpCgpfZ2V0X3BhZ2VfdHlwZSgpIHN1ZmZlcnMg
ZnJvbSBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGl0IGluY29ycmVjdGx5IGFz
c3VtZXMKdGhhdCBiZWNhdXNlICd4JyB3YXMgcmVhZCBhbmQgYSBzdWJzZXF1
ZW50IGEgY21weGNoZygpIHN1Y2NlZWRzLCB0aGUgdHlwZQpjYW5ub3QgaGF2
ZSBjaGFuZ2VkIGluLWJldHdlZW4uICBDb25zaWRlcjoKCkNQVSBBOgogIDEu
IENyZWF0ZXMgYW4gTDJlIHJlZmVyZW5jaW5nIHBnCiAgICAgYC0+IF9nZXRf
cGFnZV90eXBlKHBnLCBQR1RfbDFfcGFnZV90YWJsZSksIHNlZXMgY291bnQg
MCwgdHlwZSBQR1Rfd3JpdGFibGVfcGFnZQogIDIuICAgICBJc3N1ZXMgZmx1
c2hfdGxiX21hc2soKQpDUFUgQjoKICAzLiBDcmVhdGVzIGEgd3JpdGVhYmxl
IG1hcHBpbmcgb2YgcGcKICAgICBgLT4gX2dldF9wYWdlX3R5cGUocGcsIFBH
VF93cml0YWJsZV9wYWdlKSwgY291bnQgaW5jcmVhc2VzIHRvIDEKICA0LiBX
cml0ZXMgaW50byBuZXcgbWFwcGluZywgY3JlYXRpbmcgYSBUTEIgZW50cnkg
Zm9yIHBnCiAgNS4gUmVtb3ZlcyB0aGUgd3JpdGVhYmxlIG1hcHBpbmcgb2Yg
cGcKICAgICBgLT4gX3B1dF9wYWdlX3R5cGUocGcpLCBjb3VudCBnb2VzIGJh
Y2sgZG93biB0byAwCkNQVSBBOgogIDcuICAgICBJc3N1ZXMgY21weGNoZygp
LCBzZXR0aW5nIGNvdW50IDEsIHR5cGUgUEdUX2wxX3BhZ2VfdGFibGUKCkNQ
VSBCIG5vdyBoYXMgYSB3cml0ZWFibGUgbWFwcGluZyB0byBwZywgd2hpY2gg
WGVuIGJlbGlldmVzIGlzIGEgcGFnZXRhYmxlIGFuZApzdWl0YWJseSBwcm90
ZWN0ZWQgKGkuZS4gcmVhZC1vbmx5KS4gIFRoZSBUTEIgZmx1c2ggaW4gc3Rl
cCAyIG11c3QgYmUgZGVmZXJyZWQKdW50aWwgYWZ0ZXIgdGhlIGd1ZXN0IGlz
IHByb2hpYml0ZWQgZnJvbSBjcmVhdGluZyBuZXcgd3JpdGVhYmxlIG1hcHBp
bmdzLAp3aGljaCBpcyBhZnRlciBzdGVwIDcuCgpEZWZlciBhbGwgc2FmZXR5
IGFjdGlvbnMgdW50aWwgYWZ0ZXIgdGhlIGNtcHhjaGcoKSBoYXMgc3VjY2Vz
c2Z1bGx5IHRha2VuIHRoZQppbnRlbmRlZCB0eXBlcmVmLCBiZWNhdXNlIHRo
YXQgaXMgd2hhdCBwcmV2ZW50cyBjb25jdXJyZW50IHVzZXJzIGZyb20gdXNp
bmcKdGhlIG9sZCB0eXBlLgoKQWxzbyByZW1vdmUgdGhlIGVhcmx5IHZhbGlk
YXRpb24gZm9yIHdyaXRlYWJsZSBhbmQgc2hhcmVkIHBhZ2VzLiAgVGhpcyBy
ZW1vdmVzCnJhY2UgY29uZGl0aW9ucyB3aGVyZSBvbmUgaGFsZiBvZiBhIHBh
cmFsbGVsIG1hcHBpbmcgYXR0ZW1wdCBjYW4gcmV0dXJuCnN1Y2Nlc3NmdWxs
eSBiZWZvcmU6CiAqIFRoZSBJT01NVSBwYWdldGFibGVzIGFyZSBpbiBzeW5j
IHdpdGggdGhlIG5ldyBwYWdlIHR5cGUKICogV3JpdGVhYmxlIG1hcHBpbmdz
IHRvIHNoYXJlZCBwYWdlcyBoYXZlIGJlZW4gdG9ybiBkb3duCgpUaGlzIGlz
IHBhcnQgb2YgWFNBLTQwMSAvIENWRS0yMDIyLTI2MzYyLgoKUmVwb3J0ZWQt
Ynk6IEphbm4gSG9ybiA8amFubmhAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
UmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0
cml4LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hl
bi9hcmNoL3g4Ni9tbS5jCmluZGV4IGRkZDMyZjg4Yzc5OC4uMTY5M2I1ODBi
MTUyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4v
YXJjaC94ODYvbW0uYwpAQCAtMjk2Miw1NiArMjk2MiwxMiBAQCBzdGF0aWMg
aW50IF9nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVu
c2lnbmVkIGxvbmcgdHlwZSwKICAgICAgICAgICAgICAqIFR5cGUgY2hhbmdl
cyBhcmUgcGVybWl0dGVkIHdoZW4gdGhlIHR5cGVyZWYgaXMgMC4gIElmIHRo
ZSB0eXBlCiAgICAgICAgICAgICAgKiBhY3R1YWxseSBjaGFuZ2VzLCB0aGUg
cGFnZSBuZWVkcyByZS12YWxpZGF0aW5nLgogICAgICAgICAgICAgICovCi0g
ICAgICAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcGFnZV9nZXRfb3duZXIo
cGFnZSk7Ci0KLSAgICAgICAgICAgIGlmICggZCAmJiBzaGFkb3dfbW9kZV9l
bmFibGVkKGQpICkKLSAgICAgICAgICAgICAgIHNoYWRvd19wcmVwYXJlX3Bh
Z2VfdHlwZV9jaGFuZ2UoZCwgcGFnZSwgdHlwZSk7CiAKICAgICAgICAgICAg
IEFTU0VSVCghKHggJiBQR1RfcGFlX3hlbl9sMikpOwogICAgICAgICAgICAg
aWYgKCAoeCAmIFBHVF90eXBlX21hc2spICE9IHR5cGUgKQogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICAgICog
T24gdHlwZSBjaGFuZ2Ugd2UgY2hlY2sgdG8gZmx1c2ggc3RhbGUgVExCIGVu
dHJpZXMuIEl0IGlzCi0gICAgICAgICAgICAgICAgICogdml0YWwgdGhhdCBu
byBvdGhlciBDUFVzIGFyZSBsZWZ0IHdpdGggd3JpdGVhYmxlIG1hcHBpbmdz
Ci0gICAgICAgICAgICAgICAgICogdG8gYSBmcmFtZSB3aGljaCBpcyBpbnRl
bmRpbmcgdG8gYmVjb21lIHBndGFibGUvc2VnZGVzYy4KLSAgICAgICAgICAg
ICAgICAgKi8KLSAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0
aGlzX2NwdShzY3JhdGNoX2NwdW1hc2spOwotCi0gICAgICAgICAgICAgICAg
QlVHX09OKGluX2lycSgpKTsKLSAgICAgICAgICAgICAgICBjcHVtYXNrX2Nv
cHkobWFzaywgZC0+ZGlydHlfY3B1bWFzayk7Ci0KLSAgICAgICAgICAgICAg
ICAvKiBEb24ndCBmbHVzaCBpZiB0aGUgdGltZXN0YW1wIGlzIG9sZCBlbm91
Z2ggKi8KLSAgICAgICAgICAgICAgICB0bGJmbHVzaF9maWx0ZXIobWFzaywg
cGFnZS0+dGxiZmx1c2hfdGltZXN0YW1wKTsKLQotICAgICAgICAgICAgICAg
IGlmICggdW5saWtlbHkoIWNwdW1hc2tfZW1wdHkobWFzaykpICYmCi0gICAg
ICAgICAgICAgICAgICAgICAvKiBTaGFkb3cgbW9kZTogdHJhY2sgb25seSB3
cml0YWJsZSBwYWdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICghc2hh
ZG93X21vZGVfZW5hYmxlZChkKSB8fAotICAgICAgICAgICAgICAgICAgICAg
ICgobnggJiBQR1RfdHlwZV9tYXNrKSA9PSBQR1Rfd3JpdGFibGVfcGFnZSkp
ICkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHBl
cmZjX2luY3IobmVlZF9mbHVzaF90bGJfZmx1c2gpOwotICAgICAgICAgICAg
ICAgICAgICAvKgotICAgICAgICAgICAgICAgICAgICAgKiBJZiBwYWdlIHdh
cyBhIHBhZ2UgdGFibGUgbWFrZSBzdXJlIHRoZSBmbHVzaCBpcwotICAgICAg
ICAgICAgICAgICAgICAgKiBwZXJmb3JtZWQgdXNpbmcgYW4gSVBJIGluIG9y
ZGVyIHRvIGF2b2lkIGNoYW5naW5nIHRoZQotICAgICAgICAgICAgICAgICAg
ICAgKiB0eXBlIG9mIGEgcGFnZSB0YWJsZSBwYWdlIHVuZGVyIHRoZSBmZWV0
IG9mCi0gICAgICAgICAgICAgICAgICAgICAqIHNwdXJpb3VzX3BhZ2VfZmF1
bHQoKS4KLSAgICAgICAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAg
ICAgICAgIGZsdXNoX21hc2sobWFzaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoeCAmIFBHVF90eXBlX21hc2spICYmCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKHggJiBQR1RfdHlwZV9tYXNrKSA8PSBQ
R1Rfcm9vdF9wYWdlX3RhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPyBGTFVTSF9UTEIgfCBGTFVTSF9GT1JDRV9JUEkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6IEZMVVNIX1RMQik7Ci0gICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgLyogV2UgbG9zZSBleGlz
dGluZyB0eXBlIGFuZCB2YWxpZGl0eS4gKi8KICAgICAgICAgICAgICAgICBu
eCAmPSB+KFBHVF90eXBlX21hc2sgfCBQR1RfdmFsaWRhdGVkKTsKICAgICAg
ICAgICAgICAgICBueCB8PSB0eXBlOwotCi0gICAgICAgICAgICAgICAgLyoK
LSAgICAgICAgICAgICAgICAgKiBObyBzcGVjaWFsIHZhbGlkYXRpb24gbmVl
ZGVkIGZvciB3cml0YWJsZSBwYWdlcy4KLSAgICAgICAgICAgICAgICAgKiBQ
YWdlIHRhYmxlcyBhbmQgR0RUL0xEVCBuZWVkIHRvIGJlIHNjYW5uZWQgZm9y
IHZhbGlkaXR5LgotICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAg
ICAgIGlmICggdHlwZSA9PSBQR1Rfd3JpdGFibGVfcGFnZSB8fCB0eXBlID09
IFBHVF9zaGFyZWRfcGFnZSApCi0gICAgICAgICAgICAgICAgICAgIG54IHw9
IFBHVF92YWxpZGF0ZWQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICAgICAgZWxzZSBpZiAoIHVubGlrZWx5KCh4ICYgKFBHVF90eXBlX21hc2t8
UEdUX3BhZV94ZW5fbDIpKSAhPSB0eXBlKSApCkBAIC0zMDkyLDYgKzMwNDgs
NTYgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9p
bmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICBy
ZXR1cm4gLUVJTlRSOwogICAgIH0KIAorICAgIC8qCisgICAgICogT25lIHR5
cGVyZWYgaGFzIGJlZW4gdGFrZW4gYW5kIGlzIG5vdyBnbG9iYWxseSB2aXNp
YmxlLgorICAgICAqCisgICAgICogVGhlIHBhZ2UgaXMgZWl0aGVyIGluIHRo
ZSAidmFsaWRhdGUgbG9ja2VkIiBzdGF0ZSAoUEdUX1t0eXBlXSB8IDEpIG9y
CisgICAgICogZnVsbHkgdmFsaWRhdGVkIChQR1RfW3R5cGVdIHwgUEdUX3Zh
bGlkYXRlZCB8ID4wKS4KKyAgICAgKi8KKworICAgIGlmICggdW5saWtlbHko
KHggJiBQR1RfY291bnRfbWFzaykgPT0gMCkgKQorICAgIHsKKyAgICAgICAg
c3RydWN0IGRvbWFpbiAqZCA9IHBhZ2VfZ2V0X293bmVyKHBhZ2UpOworCisg
ICAgICAgIGlmICggZCAmJiBzaGFkb3dfbW9kZV9lbmFibGVkKGQpICkKKyAg
ICAgICAgICAgIHNoYWRvd19wcmVwYXJlX3BhZ2VfdHlwZV9jaGFuZ2UoZCwg
cGFnZSwgdHlwZSk7CisKKyAgICAgICAgaWYgKCAoeCAmIFBHVF90eXBlX21h
c2spICE9IHR5cGUgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAg
ICAgICAgICAgICogT24gdHlwZSBjaGFuZ2Ugd2UgY2hlY2sgdG8gZmx1c2gg
c3RhbGUgVExCIGVudHJpZXMuIEl0IGlzCisgICAgICAgICAgICAgKiB2aXRh
bCB0aGF0IG5vIG90aGVyIENQVXMgYXJlIGxlZnQgd2l0aCB3cml0ZWFibGUg
bWFwcGluZ3MKKyAgICAgICAgICAgICAqIHRvIGEgZnJhbWUgd2hpY2ggaXMg
aW50ZW5kaW5nIHRvIGJlY29tZSBwZ3RhYmxlL3NlZ2Rlc2MuCisgICAgICAg
ICAgICAgKi8KKyAgICAgICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHRoaXNf
Y3B1KHNjcmF0Y2hfY3B1bWFzayk7CisKKyAgICAgICAgICAgIEJVR19PTihp
bl9pcnEoKSk7CisgICAgICAgICAgICBjcHVtYXNrX2NvcHkobWFzaywgZC0+
ZGlydHlfY3B1bWFzayk7CisKKyAgICAgICAgICAgIC8qIERvbid0IGZsdXNo
IGlmIHRoZSB0aW1lc3RhbXAgaXMgb2xkIGVub3VnaCAqLworICAgICAgICAg
ICAgdGxiZmx1c2hfZmlsdGVyKG1hc2ssIHBhZ2UtPnRsYmZsdXNoX3RpbWVz
dGFtcCk7CisKKyAgICAgICAgICAgIGlmICggdW5saWtlbHkoIWNwdW1hc2tf
ZW1wdHkobWFzaykpICYmCisgICAgICAgICAgICAgICAgIC8qIFNoYWRvdyBt
b2RlOiB0cmFjayBvbmx5IHdyaXRhYmxlIHBhZ2VzLiAqLworICAgICAgICAg
ICAgICAgICAoIXNoYWRvd19tb2RlX2VuYWJsZWQoZCkgfHwKKyAgICAgICAg
ICAgICAgICAgICgobnggJiBQR1RfdHlwZV9tYXNrKSA9PSBQR1Rfd3JpdGFi
bGVfcGFnZSkpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBw
ZXJmY19pbmNyKG5lZWRfZmx1c2hfdGxiX2ZsdXNoKTsKKyAgICAgICAgICAg
ICAgICAvKgorICAgICAgICAgICAgICAgICAqIElmIHBhZ2Ugd2FzIGEgcGFn
ZSB0YWJsZSBtYWtlIHN1cmUgdGhlIGZsdXNoIGlzCisgICAgICAgICAgICAg
ICAgICogcGVyZm9ybWVkIHVzaW5nIGFuIElQSSBpbiBvcmRlciB0byBhdm9p
ZCBjaGFuZ2luZyB0aGUKKyAgICAgICAgICAgICAgICAgKiB0eXBlIG9mIGEg
cGFnZSB0YWJsZSBwYWdlIHVuZGVyIHRoZSBmZWV0IG9mCisgICAgICAgICAg
ICAgICAgICogc3B1cmlvdXNfcGFnZV9mYXVsdCgpLgorICAgICAgICAgICAg
ICAgICAqLworICAgICAgICAgICAgICAgIGZsdXNoX21hc2sobWFzaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICh4ICYgUEdUX3R5cGVfbWFzaykg
JiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh4ICYgUEdUX3R5cGVf
bWFzaykgPD0gUEdUX3Jvb3RfcGFnZV90YWJsZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPyBGTFVTSF9UTEIgfCBGTFVTSF9GT1JDRV9JUEkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogRkxVU0hfVExCKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmICggdW5saWtl
bHkoKCh4ICYgUEdUX3R5cGVfbWFzaykgPT0gUEdUX3dyaXRhYmxlX3BhZ2Up
ICE9CiAgICAgICAgICAgICAgICAgICAodHlwZSA9PSBQR1Rfd3JpdGFibGVf
cGFnZSkpICkKICAgICB7CkBAIC0zMTIwLDEzICszMTI2LDI1IEBAIHN0YXRp
YyBpbnQgX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwg
dW5zaWduZWQgbG9uZyB0eXBlLAogCiAgICAgaWYgKCB1bmxpa2VseSghKG54
ICYgUEdUX3ZhbGlkYXRlZCkpICkKICAgICB7Ci0gICAgICAgIGlmICggISh4
ICYgUEdUX3BhcnRpYWwpICkKKyAgICAgICAgLyoKKyAgICAgICAgICogTm8g
c3BlY2lhbCB2YWxpZGF0aW9uIG5lZWRlZCBmb3Igd3JpdGFibGUgb3Igc2hh
cmVkIHBhZ2VzLiAgUGFnZQorICAgICAgICAgKiB0YWJsZXMgYW5kIEdEVC9M
RFQgbmVlZCB0byBoYXZlIHRoZWlyIGNvbnRlbnRzIGF1ZGl0ZWQuCisgICAg
ICAgICAqCisgICAgICAgICAqIHBlciB2YWxpZGF0ZV9wYWdlKCksIG5vbi1h
dG9taWMgdXBkYXRlcyBhcmUgZmluZSBoZXJlLgorICAgICAgICAgKi8KKyAg
ICAgICAgaWYgKCB0eXBlID09IFBHVF93cml0YWJsZV9wYWdlIHx8IHR5cGUg
PT0gUEdUX3NoYXJlZF9wYWdlICkKKyAgICAgICAgICAgIHBhZ2UtPnUuaW51
c2UudHlwZV9pbmZvIHw9IFBHVF92YWxpZGF0ZWQ7CisgICAgICAgIGVsc2UK
ICAgICAgICAgewotICAgICAgICAgICAgcGFnZS0+bnJfdmFsaWRhdGVkX3B0
ZXMgPSAwOwotICAgICAgICAgICAgcGFnZS0+cGFydGlhbF9mbGFncyA9IDA7
Ci0gICAgICAgICAgICBwYWdlLT5saW5lYXJfcHRfY291bnQgPSAwOworICAg
ICAgICAgICAgaWYgKCAhKHggJiBQR1RfcGFydGlhbCkgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHBhZ2UtPm5yX3ZhbGlkYXRlZF9wdGVz
ID0gMDsKKyAgICAgICAgICAgICAgICBwYWdlLT5wYXJ0aWFsX2ZsYWdzID0g
MDsKKyAgICAgICAgICAgICAgICBwYWdlLT5saW5lYXJfcHRfY291bnQgPSAw
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByYyA9IHZhbGlkYXRl
X3BhZ2UocGFnZSwgdHlwZSwgcHJlZW1wdGlibGUpOwogICAgICAgICB9Ci0g
ICAgICAgIHJjID0gdmFsaWRhdGVfcGFnZShwYWdlLCB0eXBlLCBwcmVlbXB0
aWJsZSk7CiAgICAgfQogCiAgb3V0Ogo=

--=separator--


From xen-users-bounces@lists.xenproject.org Thu Jun 09 12:13:56 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Jun 2022 12:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.345225.570858 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nzH2K-0000eo-UJ; Thu, 09 Jun 2022 12:13:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 345225.570858; Thu, 09 Jun 2022 12:13:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nzH2K-0000dk-JN; Thu, 09 Jun 2022 12:13:16 +0000
Received: by outflank-mailman (input) for mailman id 345225;
 Thu, 09 Jun 2022 12:13:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=itVH=WQ=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nzGxr-0005QK-60
 for xen-users@lists.xen.org; Thu, 09 Jun 2022 12:08:39 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e37b1a8e-e7ec-11ec-bd2c-47488cf2e6aa;
 Thu, 09 Jun 2022 14:08:36 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nzGxe-0006XB-CE; Thu, 09 Jun 2022 12:08:26 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nzGxe-0008Qh-Ab; Thu, 09 Jun 2022 12:08:26 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: e37b1a8e-e7ec-11ec-bd2c-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=8WEdhmHumiBG946Qt0l3I48Pomj+rCfHG1wWQI0sjEk=; b=Lq3Zs4gZDhoRcT9Ru5m/U1eLv0
	F4AMakdPJcL8erOr5l7CK0ekNjLBrjSla5IF+bPQdprQOHVLNw7oOAv1eyZyAiis7BBAqX5vdYVLT
	6pvtB4mqD/0mXv0CDq+8lpWosu46FSOUBRt0KtRY2MEorPiimTCcuSSI2QSWQIUmJXKI=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 402 v4 (CVE-2022-26363,CVE-2022-26364) -
 x86 pv: Insufficient care with non-coherent mappings
Message-Id: <E1nzGxe-0008Qh-Ab@xenbits.xenproject.org>
Date: Thu, 09 Jun 2022 12:08:26 +0000

--=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-2022-26363,CVE-2022-26364 / XSA-402
                               version 4

         x86 pv: Insufficient care with non-coherent mappings

UPDATES IN VERSION 4
====================

Public release.

ISSUE DESCRIPTION
=================

Xen maintains a type reference count for pages, in addition to a regular
reference count.  This scheme is used to maintain invariants required
for Xen's safety, e.g. PV guests may not have direct writeable access to
pagetables; updates need auditing by Xen.

Unfortunately, Xen's safety logic doesn't account for CPU-induced cache
non-coherency; cases where the CPU can cause the content of the cache to
be different to the content in main memory.  In such cases, Xen's safety
logic can incorrectly conclude that the contents of a page is safe.

IMPACT
======

Malicious x86 PV guest administrators can escalate privilege so as to
control the whole system.

VULNERABLE SYSTEMS
==================

All versions of Xen are vulnerable.

Only x86 PV guests can trigger this vulnerability.

Only x86 PV guests configured with access to devices (e.g. PCI
Passthrough) can trigger the vulnerability.

Only CPUs which can issue non-coherent memory accesses are impacted.
CPUs which enumerate the SelfSnoop feature are not impacted, except as
noted in errata.  Therefore, we believe that Xen running on Intel
IvyBridge or later CPUs is not impacted by the vulnerability.

MITIGATION
==========

Not passing devices through to untrusted x86 PV guests will avoid the
vulnerability.

CREDITS
=======

This issue was discovered by Jann Horn of Google Project Zero.

RESOLUTION
==========

Applying the appropriate attached patches 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.

Furthermore, the XSA-402 patches depend logically on the XSA-401
patches, and will not function safely without XSA-401 in place first.

xsa402/xsa402-?.patch           xen-unstable
xsa402/xsa402-4.16-?.patch      Xen 4.16.x
xsa402/xsa402-4.15-?.patch      Xen 4.15.x
xsa402/xsa402-4.14-?.patch      Xen 4.14.x
xsa402/xsa402-4.13-?.patch      Xen 4.13.x

$ sha256sum xsa402* xsa402*/*
3572a7bf70f372707705eec7e24ec6737d41dde906d82b4197597480df557b0c  xsa402.meta
ce956e3b24b34b10034d6cc219f616e96e5b7b3a391f6d9a97d96694579e86b3  xsa402/xsa402-1.patch
8faaae88b7d88a3ef66ebd9db7d5fbfa600ab1216b38954a7a8b44822a32b87e  xsa402/xsa402-2.patch
344c76e842e830ef209427359d2b566d6b54f8862c16662ca628c459680614d7  xsa402/xsa402-3.patch
210e8312f351f1b26b58e5f24479381371ddfbae4b1d3b7233a9ed909a3d08cd  xsa402/xsa402-4.13-1.patch
5d9e6cb667d47f58f1b85c02844510673f9bfa5a94a74847bfe641bc9722dc67  xsa402/xsa402-4.13-2.patch
176bbd997d163cfb17811065e084ee118ba272e02302c0237dcfeca7d261943d  xsa402/xsa402-4.13-3.patch
0ee1adac14c185c3b928f8384c6f5749ecf1c028eb65e17ad54de5be0773b40b  xsa402/xsa402-4.13-4.patch
366a79734861535818c54e3d831c7349de11fbd761ee04ced712590e50a149ed  xsa402/xsa402-4.13-5.patch
487227003630a70a640e434c6b0125f73c8d7affc9c90297de737a29a0cf0c7e  xsa402/xsa402-4.14-1.patch
328dd4090ecb6bd13696a9a69d098476d14ccde4d78e0127c2512569c73aa01a  xsa402/xsa402-4.14-2.patch
739263e622620e95c03118d3ea9d4f96ea3ce83d17ae6d06ca596cbe3d7c6035  xsa402/xsa402-4.14-3.patch
f35a7c0282efe0271517fe6407f2d36f97455710041fa3bce72a61bc3733b556  xsa402/xsa402-4.14-4.patch
ba4b84e95fbad023c1db21b677b166e09a4a2c0c4346ecb4612a32ee97f37efe  xsa402/xsa402-4.14-5.patch
ccdcbebcef9b84dce82c95f6faaa85f73f137c47c54aa891ee350e90cf1e8ceb  xsa402/xsa402-4.15-1.patch
51d6875b097ba9913620e827cc1d634e6d3506fb6ab8ab7ac763e46634d7b67c  xsa402/xsa402-4.15-2.patch
58b02bd665366c235534c58bc0f040863f3b1083551541c2b6de090c5d0caf6c  xsa402/xsa402-4.15-3.patch
457cb2be1425948589cd0b7084087f6b995df29af289c10f9e9011df6f704cc0  xsa402/xsa402-4.15-4.patch
808cb71f43ab64ac6e992ffc081790292e014b7476304502caaee0f2d8e92b6d  xsa402/xsa402-4.15-5.patch
d90732dd1ef85c6d33471f83a707245e4bff3b737110ba4b8533c549b06175cc  xsa402/xsa402-4.16-1.patch
f68ad7dd8f68f688bb2f42664af8c7eeecc4888b84afe8e102e96518c22ceb2c  xsa402/xsa402-4.16-2.patch
96f0c356281c59cc90894c0160121469096c3076cc4e1b52e81a521da10e9d76  xsa402/xsa402-4.16-3.patch
27aeb50651bfde461b84c98a897062e261b9ac84b6e07e9afbaae4c20c61a963  xsa402/xsa402-4.16-4.patch
d65c84f2cf1f75d96c1853ffeeb8eed793e6382d21795af04871ead07f6b330c  xsa402/xsa402-4.16-5.patch
5b472eda637ff59b0b7dff85a7869d7197f728b581581ce97b1617c2dcb62397  xsa402/xsa402-4.patch
15741042b7e6c04deff2edcbd21f1c4649d58790919fa18d4b131b53d68a124f  xsa402/xsa402-5.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.

But: deployment of the mitigation (i.e., switching guests from
passed-through devices to virtual devices) is *not* permitted during
the embargo, as it could be seen by an attacker and potentially give
them a hint about the nature of the vulnerability.

Futhermore, 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/4UyVfoK9kFAmKh4lkMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZWi0H/3qjj6TwK57IN/QXxMxnPf/Z8w1C4J64dHXXksXz
epUV7NAUMhZMiL1TDRXORLCcUEC9ErwBb3xdz+rSy/3oyqVNL2vERu7LtXKriIgi
WZYvk/19QzBNVTrGUbXmLFER/0hGo6r3wW3VPhziAoTc71f2PW4wIWbvGOzvHpSU
PuRhScXNMdJsu6dh5mNahqQE2nxRSOY/B9D8KDZTCJ4GwMKqZGuwRu5FuoHhXDa/
iOy4kUt6SOJ46L7Za1ULdYe6wdYWzJJtVaoojgjU/gqwtT3uXLa3eqsUqXjGynxj
iGGOMFTypAMhMXqEgKzUEbJOYvvaLmC/D/bbVZ7U80Nya18=
=bGG4
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa402.meta"
Content-Disposition: attachment; filename="xsa402.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiA0MDIsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIs
CiAgICAiNC4xMyIKICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwK
ICAiUmVjaXBlcyI6IHsKICAgICI0LjEzIjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJm
ZTk3MTMzYjVkZWVmNThiZDE0MjJmNGQ4NzgyMTEzMWM2NmIxZDBlIiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICA0MDEKICAgICAgICAg
IF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQw
Mi94c2E0MDItNC4xMy0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0K
ICAgICAgfQogICAgfSwKICAgICI0LjE0IjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICIx
Nzg0OGRmZWQ0N2Y1MmI0NzljNGU3ZWI0MTI2NzFhZWM1NzU3MzI5IiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICA0MDEKICAgICAgICAg
IF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQw
Mi94c2E0MDItNC4xNC0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0K
ICAgICAgfQogICAgfSwKICAgICI0LjE1IjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICI2
NDI0OWFmZWI2M2NmN2Q3MGI0ZmFmMDJlNzZkZjVlZWQ4MjM3MWY5IiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICA0MDEKICAgICAgICAg
IF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQw
Mi94c2E0MDItNC4xNS0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0K
ICAgICAgfQogICAgfSwKICAgICI0LjE2IjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICI4
ZTExZWM4ZmJmNmY5MzNmODg1NGY0YmM1NDIyNjY1MzMxNjkwM2YyIiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICA0MDEKICAgICAgICAg
IF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQw
Mi94c2E0MDItNC4xNi0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0K
ICAgICAgfQogICAgfSwKICAgICJtYXN0ZXIiOiB7CiAgICAgICJSZWNpcGVz
IjogewogICAgICAgICJ4ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjog
IjQ5ZGQ1MmZiMTMxMWRhZGFiMjlmNjYzNGQwYmMxZjRjMDIyYzM1N2EiLAog
ICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAgICAgICAgIDQwMQogICAgICAg
ICAgXSwKICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNh
NDAyL3hzYTQwMi0/LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAg
ICAgfQogICAgfQogIH0KfQ==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-1.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3BhZ2U6IEludHJvZHVjZSBfUEFHRV8qIGNvbnN0
YW50cyBmb3IgbWVtb3J5IHR5cGVzCgouLi4gcmF0aGVyIHRoYW4gb3BlbmNv
ZGluZyB0aGUgUEFUL1BDRC9QV1QgYXR0cmlidXRlcyBpbiBfX1BBR0VfSFlQ
RVJWSVNPUl8qCmNvbnN0YW50cy4gIFRoZXNlIGFyZSBnb2luZyB0byBiZSBu
ZWVkZWQgYnkgZm9ydGhjb21pbmcgbG9naWMuCgpObyBmdW5jdGlvbmFsIGNo
YW5nZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcGFnZS5o
IGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhZ2UuaAppbmRleCA0NDc0
OTFjZDA5ZDYuLmI1ODUyMzVkMDY0YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L2luY2x1ZGUvYXNtL3BhZ2UuaAorKysgYi94ZW4vYXJjaC94ODYvaW5j
bHVkZS9hc20vcGFnZS5oCkBAIC0zMzEsNiArMzMxLDE0IEBAIHZvaWQgZWZp
X3VwZGF0ZV9sNF9wZ3RhYmxlKHVuc2lnbmVkIGludCBsNGlkeCwgbDRfcGdl
bnRyeV90KTsKIAogI2RlZmluZSBQQUdFX0NBQ0hFX0FUVFJTIChfUEFHRV9Q
QVQgfCBfUEFHRV9QQ0QgfCBfUEFHRV9QV1QpCiAKKy8qIE1lbW9yeSB0eXBl
cywgZW5jb2RlZCB1bmRlciBYZW4ncyBjaG9pY2Ugb2YgTVNSX1BBVC4gKi8K
KyNkZWZpbmUgX1BBR0VfV0IgICAgICAgICAoICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAwKQorI2RlZmluZSBfUEFHRV9XVCAgICAgICAgICgg
ICAgICAgICAgICAgICAgICAgICAgICBfUEFHRV9QV1QpCisjZGVmaW5lIF9Q
QUdFX1VDTSAgICAgICAgKCAgICAgICAgICAgIF9QQUdFX1BDRCAgICAgICAg
ICAgICkKKyNkZWZpbmUgX1BBR0VfVUMgICAgICAgICAoICAgICAgICAgICAg
X1BBR0VfUENEIHwgX1BBR0VfUFdUKQorI2RlZmluZSBfUEFHRV9XQyAgICAg
ICAgIChfUEFHRV9QQVQgICAgICAgICAgICAgICAgICAgICAgICApCisjZGVm
aW5lIF9QQUdFX1dQICAgICAgICAgKF9QQUdFX1BBVCB8ICAgICAgICAgICAg
IF9QQUdFX1BXVCkKKwogLyoKICAqIERlYnVnIG9wdGlvbjogRW5zdXJlIHRo
YXQgZ3JhbnRlZCBtYXBwaW5ncyBhcmUgbm90IGltcGxpY2l0bHkgdW5tYXBw
ZWQuCiAgKiBXQVJOSU5HOiBUaGlzIHdpbGwgbmVlZCB0byBiZSBkaXNhYmxl
ZCB0byBydW4gT1NlcyB0aGF0IHVzZSB0aGUgc3BhcmUgUFRFCkBAIC0zNDks
MTAgKzM1NywxMCBAQCB2b2lkIGVmaV91cGRhdGVfbDRfcGd0YWJsZSh1bnNp
Z25lZCBpbnQgbDRpZHgsIGw0X3BnZW50cnlfdCk7CiAjZGVmaW5lIF9fUEFH
RV9IWVBFUlZJU09SX1JYICAgICAgKF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9B
Q0NFU1NFRCkKICNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1IgICAgICAgICAo
X19QQUdFX0hZUEVSVklTT1JfUlggfCBcCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF9QQUdFX0RJUlRZIHwgX1BBR0VfUlcpCi0jZGVm
aW5lIF9fUEFHRV9IWVBFUlZJU09SX1dUICAgICAgKF9fUEFHRV9IWVBFUlZJ
U09SIHwgX1BBR0VfUFdUKQotI2RlZmluZSBfX1BBR0VfSFlQRVJWSVNPUl9V
Q01JTlVTIChfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdFX1BDRCkKLSNkZWZp
bmUgX19QQUdFX0hZUEVSVklTT1JfVUMgICAgICAoX19QQUdFX0hZUEVSVklT
T1IgfCBfUEFHRV9QQ0QgfCBfUEFHRV9QV1QpCi0jZGVmaW5lIF9fUEFHRV9I
WVBFUlZJU09SX1dDICAgICAgKF9fUEFHRV9IWVBFUlZJU09SIHwgX1BBR0Vf
UEFUKQorI2RlZmluZSBfX1BBR0VfSFlQRVJWSVNPUl9XVCAgICAgIChfX1BB
R0VfSFlQRVJWSVNPUiB8IF9QQUdFX1dUKQorI2RlZmluZSBfX1BBR0VfSFlQ
RVJWSVNPUl9VQ01JTlVTIChfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdFX1VD
TSkKKyNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfVUMgICAgICAoX19QQUdF
X0hZUEVSVklTT1IgfCBfUEFHRV9VQykKKyNkZWZpbmUgX19QQUdFX0hZUEVS
VklTT1JfV0MgICAgICAoX19QQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9XQykK
ICNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfU0hTVEsgICAoX19QQUdFX0hZ
UEVSVklTT1JfUk8gfCBfUEFHRV9ESVJUWSkKIAogI2RlZmluZSBNQVBfU01B
TExfUEFHRVMgX1BBR0VfQVZBSUwwIC8qIGRvbid0IHVzZSBzdXBlcnBhZ2Vz
IG1hcHBpbmdzICovCg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-2.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBEb24ndCBjaGFuZ2UgdGhlIGNhY2hlYWJpbGl0
eSBvZiB0aGUgZGlyZWN0bWFwCgpDaGFuZ2VzZXQgNTVmOTdmNDliN2NlICgi
eDg2OiBDaGFuZ2UgY2FjaGUgYXR0cmlidXRlcyBvZiBYZW4gMToxIHBhZ2Ug
bWFwcGluZ3MKaW4gcmVzcG9uc2UgdG8gZ3Vlc3QgbWFwcGluZyByZXF1ZXN0
cyIpIGF0dGVtcHRlZCB0byBrZWVwIHRoZSBjYWNoZWFiaWxpdHkKY29uc2lz
dGVudCBiZXR3ZWVuIGRpZmZlcmVudCBtYXBwaW5ncyBvZiB0aGUgc2FtZSBw
YWdlLgoKVGhlIHJlYXNvbiB3YXNuJ3QgZGVzY3JpYmVkIGluIHRoZSBjaGFu
Z2Vsb2csIGJ1dCBpdCBpcyB1bmRlcnN0b29kIHRvIGJlIGluCnJlZ2FyZHMg
dG8gYSBjb25jZXJuIG92ZXIgbWFjaGluZSBjaGVjayBleGNlcHRpb25zLCBv
d2luZyB0byBlcnJhdGEgd2hlbiB1c2luZwptaXhlZCBjYWNoZWFiaWxpdGll
cy4gIEl0IGRpZCB0aGlzIHByaW1hcmlseSBieSB1cGRhdGluZyBYZW4ncyBt
YXBwaW5nIG9mIHRoZQpwYWdlIGluIHRoZSBkaXJlY3QgbWFwIHdoZW4gdGhl
IGd1ZXN0IG1hcHBlZCBhIHBhZ2Ugd2l0aCByZWR1Y2VkIGNhY2hlYWJpbGl0
eS4KClVuZm9ydHVuYXRlbHksIHRoZSBsb2dpYyBkaWRuJ3QgYWN0dWFsbHkg
cHJldmVudCBtaXhlZCBjYWNoZWFiaWxpdHkgZnJvbQpvY2N1cnJpbmc6CiAq
IEEgZ3Vlc3QgY291bGQgbWFwIGEgcGFnZSBub3JtYWxseSwgYW5kIHRoZW4g
bWFwIHRoZSBzYW1lIHBhZ2Ugd2l0aAogICBkaWZmZXJlbnQgY2FjaGVhYmls
aXR5OyBub3RoaW5nIHByZXZlbnRlZCB0aGlzLgogKiBUaGUgY2FjaGVhYmls
aXR5IG9mIHRoZSBkaXJlY3RtYXAgd2FzIGFsd2F5cyBsYXRlc3QtdGFrZXMt
cHJlY2VkZW5jZSBpbgogICB0ZXJtcyBvZiBndWVzdCByZXF1ZXN0cy4KICog
R3JhbnQtbWFwcGVkIGZyYW1lcyB3aXRoIGxlc3NlciBjYWNoZWFiaWxpdHkg
ZGlkbid0IGFkanVzdCB0aGUgcGFnZSdzCiAgIGNhY2hlYXR0ciBzZXR0aW5n
cy4KICogVGhlIG1hcF9kb21haW5fcGFnZSgpIGZ1bmN0aW9uIHN0aWxsIHVu
Y29uZGl0aW9uYWxseSBjcmVhdGVkIFdCIG1hcHBpbmdzLAogICBpcnJlc3Bl
Y3RpdmUgb2YgdGhlIHBhZ2UncyBjYWNoZWF0dHIgc2V0dGluZ3MuCgpBZGRp
dGlvbmFsbHksIHVwZGF0ZV94ZW5fbWFwcGluZ3MoKSBoYWQgYSBidWcgd2hl
cmUgdGhlIGFsaWFzIGNhbGN1bGF0aW9uIHdhcwp3cm9uZyBmb3IgbWZuJ3Mg
d2hpY2ggd2VyZSAuaW5pdCBjb250ZW50LCB3aGljaCBzaG91bGQgaGF2ZSBi
ZWVuIHRyZWF0ZWQgYXMKZnVsbHkgZ3Vlc3QgcGFnZXMsIG5vdCBYZW4gcGFn
ZXMuCgpXb3JzZSB5ZXQsIHRoZSBsb2dpYyBpbnRyb2R1Y2VkIGEgdnVsbmVy
YWJpbGl0eSB3aGVyZWJ5IG5lY2Vzc2FyeQpwYWdldGFibGUvc2VnZGVzYyBh
ZGp1c3RtZW50cyBtYWRlIGJ5IFhlbiBpbiB0aGUgdmFsaWRhdGlvbiBsb2dp
YyBjb3VsZCBiZWNvbWUKbm9uLWNvaGVyZW50IGJldHdlZW4gdGhlIGNhY2hl
IGFuZCBtYWluIG1lbW9yeS4gIFRoZSBDUFUgY291bGQgc3Vic2VxdWVudGx5
Cm9wZXJhdGUgb24gdGhlIHN0YWxlIHZhbHVlIGluIHRoZSBjYWNoZSwgcmF0
aGVyIHRoYW4gdGhlIHNhZmUgdmFsdWUgaW4gbWFpbgptZW1vcnkuCgpUaGUg
ZGlyZWN0bWFwIGNvbnRhaW5zIHByaW1hcmlseSBtYXBwaW5ncyBvZiBSQU0u
ICBQQVQvTVRSUiBjb25mbGljdApyZXNvbHV0aW9uIGlzIGFzeW1tZXRyaWMs
IGFuZCBnZW5lcmFsbHkgZm9yIE1UUlI9V0IgcmFuZ2VzLCBQQVQgb2YgbGVz
c2VyCmNhY2hlYWJpbGl0eSByZXNvbHZlcyB0byBiZWluZyBjb2hlcmVudC4g
IFRoZSBzcGVjaWFsIGNhc2UgaXMgV0MgbWFwcGluZ3MsCndoaWNoIGFyZSBu
b24tY29oZXJlbnQgYWdhaW5zdCBNVFJSPVdCIHJlZ2lvbnMgKGV4Y2VwdCBm
b3IgZnVsbHktY29oZXJlbnQKQ1BVcykuCgpYZW4gbXVzdCBub3QgaGF2ZSBh
bnkgV0MgY2FjaGVhYmlsaXR5IGluIHRoZSBkaXJlY3RtYXAsIHRvIHByZXZl
bnQgWGVuJ3MKYWN0aW9ucyBmcm9tIGNyZWF0aW5nIG5vbi1jb2hlcmVuY3ku
ICAoR3Vlc3QgYWN0aW9ucyBjcmVhdGluZyBub24tY29oZXJlbmN5IGlzCmRl
YWx0IHdpdGggaW4gc3Vic2VxdWVudCBwYXRjaGVzLikgIEFzIGFsbCBtZW1v
cnkgdHlwZXMgZm9yIE1UUlI9V0IgcmFuZ2VzCmludGVyLW9wZXJhdGUgY29o
ZXJlbnRseSwgc28gbGVhdmUgWGVuJ3MgZGlyZWN0bWFwIG1hcHBpbmdzIGFz
IFdCLgoKT25seSBQViBndWVzdHMgd2l0aCBhY2Nlc3MgdG8gZGV2aWNlcyBj
YW4gdXNlIHJlZHVjZWQtY2FjaGVhYmlsaXR5IG1hcHBpbmdzIHRvCmJlZ2lu
IHdpdGgsIGFuZCB0aGV5J3JlIHRydXN0ZWQgbm90IHRvIG1vdW50IERvU3Mg
YWdhaW5zdCB0aGUgc3lzdGVtIGFueXdheS4KCkRyb3AgUEdDX2NhY2hlYXR0
cl97YmFzZSxtYXNrfSBlbnRpcmVseSwgYW5kIHRoZSBsb2dpYyB0byBtYW5p
cHVsYXRlIHRoZW0uClNoaWZ0IHRoZSBsYXRlciBQR0NfKiBjb25zdGFudHMg
dXAsIHRvIGdhaW4gMyBleHRyYSBiaXRzIGluIHRoZSBtYWluIHJlZmVyZW5j
ZQpjb3VudC4gIFJldGFpbiB0aGUgY2hlY2sgaW4gZ2V0X3BhZ2VfZnJvbV9s
MWUoKSBmb3Igc3BlY2lhbF9wYWdlcygpIGJlY2F1c2UgYQpndWVzdCBoYXMg
bm8gYnVzaW5lc3MgdXNpbmcgcmVkdWNlZCBjYWNoZWFiaWxpdHkgb24gdGhl
c2UuCgpUaGlzIHJldmVydHMgY2hhbmdlc2V0IDU1Zjk3ZjQ5YjdjZTZjMzUy
MGM1NTVkMTljYWFjNmNmM2Y5YTVkZjAKClRoaXMgaXMgQ1ZFLTIwMjItMjYz
NjMsIHBhcnQgb2YgWFNBLTQwMi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cgpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL21tLmggYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbW0uaAppbmRleCBmMmY3YjY5MDJj
ZTQuLjYwNWMxMDE1MjgwNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL21tLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L21tLmgKQEAgLTY5LDI1ICs2OSwyMiBAQAogIC8qIFNldCB3aGVuIGlzIHVz
aW5nIGEgcGFnZSBhcyBhIHBhZ2UgdGFibGUgKi8KICNkZWZpbmUgX1BHQ19w
YWdlX3RhYmxlICAgUEdfc2hpZnQoMykKICNkZWZpbmUgUEdDX3BhZ2VfdGFi
bGUgICAgUEdfbWFzaygxLCAzKQotIC8qIDMtYml0IFBBVC9QQ0QvUFdUIGNh
Y2hlLWF0dHJpYnV0ZSBoaW50LiAqLwotI2RlZmluZSBQR0NfY2FjaGVhdHRy
X2Jhc2UgUEdfc2hpZnQoNikKLSNkZWZpbmUgUEdDX2NhY2hlYXR0cl9tYXNr
IFBHX21hc2soNywgNikKICAvKiBQYWdlIGlzIGJyb2tlbj8gKi8KLSNkZWZp
bmUgX1BHQ19icm9rZW4gICAgICAgUEdfc2hpZnQoNykKLSNkZWZpbmUgUEdD
X2Jyb2tlbiAgICAgICAgUEdfbWFzaygxLCA3KQorI2RlZmluZSBfUEdDX2Jy
b2tlbiAgICAgICBQR19zaGlmdCg0KQorI2RlZmluZSBQR0NfYnJva2VuICAg
ICAgICBQR19tYXNrKDEsIDQpCiAgLyogTXV0dWFsbHktZXhjbHVzaXZlIHBh
Z2Ugc3RhdGVzOiB7IGludXNlLCBvZmZsaW5pbmcsIG9mZmxpbmVkLCBmcmVl
IH0uICovCi0jZGVmaW5lIFBHQ19zdGF0ZSAgICAgICAgIFBHX21hc2soMywg
OSkKLSNkZWZpbmUgUEdDX3N0YXRlX2ludXNlICAgUEdfbWFzaygwLCA5KQot
I2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGluaW5nIFBHX21hc2soMSwgOSkKLSNk
ZWZpbmUgUEdDX3N0YXRlX29mZmxpbmVkIFBHX21hc2soMiwgOSkKLSNkZWZp
bmUgUEdDX3N0YXRlX2ZyZWUgICAgUEdfbWFzaygzLCA5KQorI2RlZmluZSBQ
R0Nfc3RhdGUgICAgICAgICAgIFBHX21hc2soMywgNikKKyNkZWZpbmUgUEdD
X3N0YXRlX2ludXNlICAgICBQR19tYXNrKDAsIDYpCisjZGVmaW5lIFBHQ19z
dGF0ZV9vZmZsaW5pbmcgUEdfbWFzaygxLCA2KQorI2RlZmluZSBQR0Nfc3Rh
dGVfb2ZmbGluZWQgIFBHX21hc2soMiwgNikKKyNkZWZpbmUgUEdDX3N0YXRl
X2ZyZWUgICAgICBQR19tYXNrKDMsIDYpCiAjZGVmaW5lIHBhZ2Vfc3RhdGVf
aXMocGcsIHN0KSAoKChwZyktPmNvdW50X2luZm8mUEdDX3N0YXRlKSA9PSBQ
R0Nfc3RhdGVfIyNzdCkKIC8qIFBhZ2UgaXMgbm90IHJlZmVyZW5jZSBjb3Vu
dGVkIChzZWUgYmVsb3cgZm9yIGNhdmVhdHMpICovCi0jZGVmaW5lIF9QR0Nf
ZXh0cmEgICAgICAgIFBHX3NoaWZ0KDEwKQotI2RlZmluZSBQR0NfZXh0cmEg
ICAgICAgICBQR19tYXNrKDEsIDEwKQorI2RlZmluZSBfUEdDX2V4dHJhICAg
ICAgICBQR19zaGlmdCg3KQorI2RlZmluZSBQR0NfZXh0cmEgICAgICAgICBQ
R19tYXNrKDEsIDcpCiAKIC8qIENvdW50IG9mIHJlZmVyZW5jZXMgdG8gdGhp
cyBmcmFtZS4gKi8KLSNkZWZpbmUgUEdDX2NvdW50X3dpZHRoICAgUEdfc2hp
ZnQoMTApCisjZGVmaW5lIFBHQ19jb3VudF93aWR0aCAgIFBHX3NoaWZ0KDcp
CiAjZGVmaW5lIFBHQ19jb3VudF9tYXNrICAgICgoMVVMPDxQR0NfY291bnRf
d2lkdGgpLTEpCiAKIC8qCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0u
YyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDM0YmI5ZGRkYWI4ZC4uMmI1
ZjViNTUzZDk0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysg
Yi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtODA4LDI5ICs4MDgsNiBAQCBib29s
IGlzX21lbW9yeV9ob2xlKG1mbl90IHN0YXJ0LCBtZm5fdCBlbmQpCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3hlbl9tYXBw
aW5ncyh1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgaW50IGNhY2hlYXR0
cikKLXsKLSAgICBpbnQgZXJyID0gMDsKLSAgICBib29sIGFsaWFzID0gbWZu
ID49IFBGTl9ET1dOKHhlbl9waHlzX3N0YXJ0KSAmJgotICAgICAgICAgICAg
ICAgICBtZm4gPCAgUEZOX1VQKHhlbl9waHlzX3N0YXJ0ICsgKHVuc2lnbmVk
IGxvbmcpX18yTV9yd2RhdGFfZW5kIC0KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBYRU5fVklSVF9TVEFSVCk7Ci0gICAgdW5zaWduZWQgbG9u
ZyB4ZW5fdmEgPQotICAgICAgICBYRU5fVklSVF9TVEFSVCArICgobWZuIC0g
UEZOX0RPV04oeGVuX3BoeXNfc3RhcnQpKSA8PCBQQUdFX1NISUZUKTsKLQot
ICAgIGlmICggYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hFTl9TRUxGU05P
T1ApICkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBpZiAoIHVubGlrZWx5
KGFsaWFzKSAmJiBjYWNoZWF0dHIgKQotICAgICAgICBlcnIgPSBtYXBfcGFn
ZXNfdG9feGVuKHhlbl92YSwgX21mbihtZm4pLCAxLCAwKTsKLSAgICBpZiAo
ICFlcnIgKQotICAgICAgICBlcnIgPSBtYXBfcGFnZXNfdG9feGVuKCh1bnNp
Z25lZCBsb25nKW1mbl90b192aXJ0KG1mbiksIF9tZm4obWZuKSwgMSwKLSAg
ICAgICAgICAgICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUiB8IGNhY2hlYXR0
cl90b19wdGVfZmxhZ3MoY2FjaGVhdHRyKSk7Ci0gICAgaWYgKCB1bmxpa2Vs
eShhbGlhcykgJiYgIWNhY2hlYXR0ciAmJiAhZXJyICkKLSAgICAgICAgZXJy
ID0gbWFwX3BhZ2VzX3RvX3hlbih4ZW5fdmEsIF9tZm4obWZuKSwgMSwgUEFH
RV9IWVBFUlZJU09SKTsKLQotICAgIHJldHVybiBlcnI7Ci19Ci0KICNpZm5k
ZWYgTkRFQlVHCiBzdHJ1Y3QgbW1pb19lbXVsX3JhbmdlX2N0eHQgewogICAg
IGNvbnN0IHN0cnVjdCBkb21haW4gKmQ7CkBAIC0xMDM4LDQ3ICsxMDE1LDE0
IEBAIGdldF9wYWdlX2Zyb21fbDFlKAogICAgICAgICBnb3RvIGNvdWxkX25v
dF9waW47CiAgICAgfQogCi0gICAgaWYgKCBwdGVfZmxhZ3NfdG9fY2FjaGVh
dHRyKGwxZikgIT0KLSAgICAgICAgICgocGFnZS0+Y291bnRfaW5mbyAmIFBH
Q19jYWNoZWF0dHJfbWFzaykgPj4gUEdDX2NhY2hlYXR0cl9iYXNlKSApCisg
ICAgaWYgKCAobDFmICYgUEFHRV9DQUNIRV9BVFRSUykgIT0gX1BBR0VfV0Ig
JiYgaXNfc3BlY2lhbF9wYWdlKHBhZ2UpICkKICAgICB7Ci0gICAgICAgIHVu
c2lnbmVkIGxvbmcgeCwgbngsIHkgPSBwYWdlLT5jb3VudF9pbmZvOwotICAg
ICAgICB1bnNpZ25lZCBsb25nIGNhY2hlYXR0ciA9IHB0ZV9mbGFnc190b19j
YWNoZWF0dHIobDFmKTsKLSAgICAgICAgaW50IGVycjsKLQotICAgICAgICBp
ZiAoIGlzX3NwZWNpYWxfcGFnZShwYWdlKSApCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICggd3JpdGUgKQotICAgICAgICAgICAgICAgIHB1dF9wYWdl
X3R5cGUocGFnZSk7Ci0gICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAg
ICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLAotICAgICAgICAg
ICAgICAgICAgICAgIkF0dGVtcHQgdG8gY2hhbmdlIGNhY2hlIGF0dHJpYnV0
ZXMgb2YgWGVuIGhlYXAgcGFnZVxuIik7Ci0gICAgICAgICAgICByZXR1cm4g
LUVBQ0NFUzsKLSAgICAgICAgfQotCi0gICAgICAgIGRvIHsKLSAgICAgICAg
ICAgIHggID0geTsKLSAgICAgICAgICAgIG54ID0gKHggJiB+UEdDX2NhY2hl
YXR0cl9tYXNrKSB8IChjYWNoZWF0dHIgPDwgUEdDX2NhY2hlYXR0cl9iYXNl
KTsKLSAgICAgICAgfSB3aGlsZSAoICh5ID0gY21weGNoZygmcGFnZS0+Y291
bnRfaW5mbywgeCwgbngpKSAhPSB4ICk7Ci0KLSAgICAgICAgZXJyID0gdXBk
YXRlX3hlbl9tYXBwaW5ncyhtZm4sIGNhY2hlYXR0cik7Ci0gICAgICAgIGlm
ICggdW5saWtlbHkoZXJyKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNh
Y2hlYXR0ciA9IHkgJiBQR0NfY2FjaGVhdHRyX21hc2s7Ci0gICAgICAgICAg
ICBkbyB7Ci0gICAgICAgICAgICAgICAgeCAgPSB5OwotICAgICAgICAgICAg
ICAgIG54ID0gKHggJiB+UEdDX2NhY2hlYXR0cl9tYXNrKSB8IGNhY2hlYXR0
cjsKLSAgICAgICAgICAgIH0gd2hpbGUgKCAoeSA9IGNtcHhjaGcoJnBhZ2Ut
PmNvdW50X2luZm8sIHgsIG54KSkgIT0geCApOwotCi0gICAgICAgICAgICBp
ZiAoIHdyaXRlICkKLSAgICAgICAgICAgICAgICBwdXRfcGFnZV90eXBlKHBh
Z2UpOwotICAgICAgICAgICAgcHV0X3BhZ2UocGFnZSk7Ci0KLSAgICAgICAg
ICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiRXJyb3IgdXBkYXRpbmcg
bWFwcGluZ3MgZm9yIG1mbiAlIiBQUklfbWZuCi0gICAgICAgICAgICAgICAg
ICAgICAiIChwZm4gJSIgUFJJX3BmbiAiLCBmcm9tIEwxIGVudHJ5ICUiIFBS
SXB0ZSAiKSBmb3IgZCVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgbWZu
LCBnZXRfZ3Bmbl9mcm9tX21mbihtZm4pLAotICAgICAgICAgICAgICAgICAg
ICAgbDFlX2dldF9pbnRwdGUobDFlKSwgbDFlX293bmVyLT5kb21haW5faWQp
OwotICAgICAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgICAgfQorICAgICAg
ICBpZiAoIHdyaXRlICkKKyAgICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFn
ZSk7CisgICAgICAgIHB1dF9wYWdlKHBhZ2UpOworICAgICAgICBnZHByaW50
ayhYRU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgIkF0dGVtcHQg
dG8gY2hhbmdlIGNhY2hlIGF0dHJpYnV0ZXMgb2YgWGVuIGhlYXAgcGFnZVxu
Iik7CisgICAgICAgIHJldHVybiAtRUFDQ0VTOwogICAgIH0KIAogICAgIHJl
dHVybiAwOwpAQCAtMjQ5NiwyNSArMjQ0MCwxMCBAQCBzdGF0aWMgaW50IG1v
ZF9sNF9lbnRyeShsNF9wZ2VudHJ5X3QgKnBsNGUsCiAgKi8KIHN0YXRpYyBp
bnQgY2xlYW51cF9wYWdlX21hcHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBh
Z2UpCiB7Ci0gICAgdW5zaWduZWQgaW50IGNhY2hlYXR0ciA9Ci0gICAgICAg
IChwYWdlLT5jb3VudF9pbmZvICYgUEdDX2NhY2hlYXR0cl9tYXNrKSA+PiBQ
R0NfY2FjaGVhdHRyX2Jhc2U7CiAgICAgaW50IHJjID0gMDsKICAgICB1bnNp
Z25lZCBsb25nIG1mbiA9IG1mbl94KHBhZ2VfdG9fbWZuKHBhZ2UpKTsKIAog
ICAgIC8qCi0gICAgICogSWYgd2UndmUgbW9kaWZpZWQgeGVuIG1hcHBpbmdz
IGFzIGEgcmVzdWx0IG9mIGd1ZXN0IGNhY2hlCi0gICAgICogYXR0cmlidXRl
cywgcmVzdG9yZSB0aGVtIHRvIHRoZSAibm9ybWFsIiBzdGF0ZS4KLSAgICAg
Ki8KLSAgICBpZiAoIHVubGlrZWx5KGNhY2hlYXR0cikgKQotICAgIHsKLSAg
ICAgICAgcGFnZS0+Y291bnRfaW5mbyAmPSB+UEdDX2NhY2hlYXR0cl9tYXNr
OwotCi0gICAgICAgIEJVR19PTihpc19zcGVjaWFsX3BhZ2UocGFnZSkpOwot
Ci0gICAgICAgIHJjID0gdXBkYXRlX3hlbl9tYXBwaW5ncyhtZm4sIDApOwot
ICAgIH0KLQotICAgIC8qCiAgICAgICogSWYgdGhpcyBtYXkgYmUgaW4gYSBQ
ViBkb21haW4ncyBJT01NVSwgcmVtb3ZlIGl0LgogICAgICAqCiAgICAgICog
TkIgdGhhdCB3cml0YWJsZSB4ZW5oZWFwIHBhZ2VzIGhhdmUgdGhlaXIgdHlw
ZSBzZXQgYW5kIGNsZWFyZWQgYnkK

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-3.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBTcGxpdCBjYWNoZV9mbHVzaCgpIG91dCBvZiBj
YWNoZV93cml0ZWJhY2soKQoKU3Vic2VxdWVudCBjaGFuZ2VzIHdpbGwgd2Fu
dCBhIGZ1bGx5IGZsdXNoaW5nIHZlcnNpb24uCgpVc2UgdGhlIG5ldyBoZWxw
ZXIgcmF0aGVyIHRoYW4gb3BlbmNvZGluZyBpdCBpbiBmbHVzaF9hcmVhX2xv
Y2FsKCkuICBUaGlzCnJlc29sdmVzIGFuIG91dHN0YW5kaW5nIGlzc3VlIHdo
ZXJlIHRoZSBjb25kaXRpb25hbCBzZmVuY2UgaXMgb24gdGhlIHdyb25nCnNp
ZGUgb2YgdGhlIGNsZmx1c2hvcHQgbG9vcC4gIGNsZmx1c2hvcHQgaXMgb3Jk
ZXJlZCB3aXRoIHJlc3BlY3QgdG8gb2xkZXIKc3RvcmVzLCBub3QgdG8geW91
bmdlciBzdG9yZXMuCgpSZW5hbWUgZ250dGFiX2NhY2hlX2ZsdXNoKCkncyBo
ZWxwZXIgdG8gYXZvaWQgY29sbGlkaW5nIGluIG5hbWUuCmdyYW50X3RhYmxl
LmMgY2FuIHNlZSB0aGUgcHJvdG90eXBlIGZyb20gY2FjaGUuaCBzbyB0aGUg
YnVpbGQgZmFpbHMKb3RoZXJ3aXNlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00
MDIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9m
bHVzaHRsYi5jIGIveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMKaW5kZXggMGM1
YTFkZTQ0MzJhLi40NzFiM2UzMWM0NmMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9mbHVzaHRsYi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5j
CkBAIC0yMzUsNyArMjM1LDcgQEAgdW5zaWduZWQgaW50IGZsdXNoX2FyZWFf
bG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFncykKICAg
ICBpZiAoIGZsYWdzICYgRkxVU0hfQ0FDSEUgKQogICAgIHsKICAgICAgICAg
Y29uc3Qgc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmN1cnJlbnRfY3B1X2Rh
dGE7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgaSwgc3ogPSAwOworICAgICAg
ICB1bnNpZ25lZCBsb25nIHN6ID0gMDsKIAogICAgICAgICBpZiAoIG9yZGVy
IDwgKEJJVFNfUEVSX0xPTkcgLSBQQUdFX1NISUZUKSApCiAgICAgICAgICAg
ICBzeiA9IDFVTCA8PCAob3JkZXIgKyBQQUdFX1NISUZUKTsKQEAgLTI0NSwx
MiArMjQ1LDcgQEAgdW5zaWduZWQgaW50IGZsdXNoX2FyZWFfbG9jYWwoY29u
c3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFncykKICAgICAgICAgICAg
ICBjLT54ODZfY2xmbHVzaF9zaXplICYmIGMtPng4Nl9jYWNoZV9zaXplICYm
IHN6ICYmCiAgICAgICAgICAgICAgKChzeiA+PiAxMCkgPCBjLT54ODZfY2Fj
aGVfc2l6ZSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBhbHRlcm5hdGl2
ZSgiIiwgInNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQpOwotICAg
ICAgICAgICAgZm9yICggaSA9IDA7IGkgPCBzejsgaSArPSBjLT54ODZfY2xm
bHVzaF9zaXplICkKLSAgICAgICAgICAgICAgICBhbHRlcm5hdGl2ZV9pbnB1
dCgiZHM7IGNsZmx1c2ggJTAiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJkYXRhMTYgY2xmbHVzaCAlMCIsICAgICAgLyogY2xmbHVz
aG9wdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFg4
Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm0iICgoKGNvbnN0IGNoYXIgKil2YSlbaV0pKTsKKyAg
ICAgICAgICAgIGNhY2hlX2ZsdXNoKHZhLCBzeik7CiAgICAgICAgICAgICBm
bGFncyAmPSB+RkxVU0hfQ0FDSEU7CiAgICAgICAgIH0KICAgICAgICAgZWxz
ZQpAQCAtMjY1LDcgKzI2MCw3IEBAIHVuc2lnbmVkIGludCBmbHVzaF9hcmVh
X2xvY2FsKGNvbnN0IHZvaWQgKnZhLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAg
ICAgcmV0dXJuIGZsYWdzOwogfQogCi12b2lkIGNhY2hlX3dyaXRlYmFjayhj
b25zdCB2b2lkICphZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3ZvaWQgY2Fj
aGVfZmx1c2goY29uc3Qgdm9pZCAqYWRkciwgdW5zaWduZWQgaW50IHNpemUp
CiB7CiAgICAgLyoKICAgICAgKiBUaGlzIGZ1bmN0aW9uIG1heSBiZSBjYWxs
ZWQgYmVmb3JlIGN1cnJlbnRfY3B1X2RhdGEgaXMgZXN0YWJsaXNoZWQuCkBA
IC0yNzcsNiArMjcyLDM4IEBAIHZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0
IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogICAgIGFkZHIgLT0g
KHVuc2lnbmVkIGxvbmcpYWRkciAmIChjbGZsdXNoX3NpemUgLSAxKTsKICAg
ICBmb3IgKCA7IGFkZHIgPCBlbmQ7IGFkZHIgKz0gY2xmbHVzaF9zaXplICkK
ICAgICB7CisgICAgICAgIC8qCisgICAgICAgICAqIE5vdGUgcmVnYXJkaW5n
IHRoZSAiZHMiIHByZWZpeCB1c2U6IGl0J3MgZmFzdGVyIHRvIGRvIGEgY2xm
bHVzaAorICAgICAgICAgKiArIHByZWZpeCB0aGFuIGEgY2xmbHVzaCArIG5v
cCwgYW5kIGhlbmNlIHRoZSBwcmVmaXggaXMgYWRkZWQgaW5zdGVhZAorICAg
ICAgICAgKiBvZiBsZXR0aW5nIHRoZSBhbHRlcm5hdGl2ZSBmcmFtZXdvcmsg
ZmlsbCB0aGUgZ2FwIGJ5IGFwcGVuZGluZyBub3BzLgorICAgICAgICAgKi8K
KyAgICAgICAgYWx0ZXJuYXRpdmVfaW8oImRzOyBjbGZsdXNoICVbcF0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAiZGF0YTE2IGNsZmx1c2ggJVtwXSIs
IC8qIGNsZmx1c2hvcHQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgWDg2
X0ZFQVRVUkVfQ0xGTFVTSE9QVCwKKyAgICAgICAgICAgICAgICAgICAgICAg
Lyogbm8gb3V0cHV0cyAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgW3Bd
ICJtIiAoKihjb25zdCBjaGFyICopKGFkZHIpKSk7CisgICAgfQorCisgICAg
YWx0ZXJuYXRpdmUoIiIsICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNI
T1BUKTsKK30KKwordm9pZCBjYWNoZV93cml0ZWJhY2soY29uc3Qgdm9pZCAq
YWRkciwgdW5zaWduZWQgaW50IHNpemUpCit7CisgICAgdW5zaWduZWQgaW50
IGNsZmx1c2hfc2l6ZTsKKyAgICBjb25zdCB2b2lkICplbmQgPSBhZGRyICsg
c2l6ZTsKKworICAgIC8qIEZhbGwgYmFjayB0byBDTEZMVVNIeyxPUFR9IHdo
ZW4gQ0xXQiBpc24ndCBhdmFpbGFibGUuICovCisgICAgaWYgKCAhYm9vdF9j
cHVfaGFzKFg4Nl9GRUFUVVJFX0NMV0IpICkKKyAgICAgICAgcmV0dXJuIGNh
Y2hlX2ZsdXNoKGFkZHIsIHNpemUpOworCisgICAgLyoKKyAgICAgKiBUaGlz
IGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgYmVmb3JlIGN1cnJlbnRfY3B1X2Rh
dGEgaXMgZXN0YWJsaXNoZWQuCisgICAgICogSGVuY2UgYSBmYWxsYmFjayBp
cyBuZWVkZWQgdG8gcHJldmVudCB0aGUgbG9vcCBiZWxvdyBiZWNvbWluZyBp
bmZpbml0ZS4KKyAgICAgKi8KKyAgICBjbGZsdXNoX3NpemUgPSBjdXJyZW50
X2NwdV9kYXRhLng4Nl9jbGZsdXNoX3NpemUgPzogMTY7CisgICAgYWRkciAt
PSAodW5zaWduZWQgbG9uZylhZGRyICYgKGNsZmx1c2hfc2l6ZSAtIDEpOwor
ICAgIGZvciAoIDsgYWRkciA8IGVuZDsgYWRkciArPSBjbGZsdXNoX3NpemUg
KQorICAgIHsKIC8qCiAgKiBUaGUgYXJndW1lbnRzIHRvIGEgbWFjcm8gbXVz
dCBub3QgaW5jbHVkZSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcy4gRG9pbmcg
c28KICAqIHJlc3VsdHMgaW4gdW5kZWZpbmVkIGJlaGF2aW9yLCBzbyB3ZSBo
YXZlIHRvIGNyZWF0ZSBzb21lIGRlZmluZXMgaGVyZSBpbgpAQCAtMjk2LDI0
ICszMjMsMTUgQEAgdm9pZCBjYWNoZV93cml0ZWJhY2soY29uc3Qgdm9pZCAq
YWRkciwgdW5zaWduZWQgaW50IHNpemUpCiAjZWxzZQogIyBkZWZpbmUgSU5Q
VVQoYWRkcikgImEiIChhZGRyKSwgQkFTRV9JTlBVVChhZGRyKQogI2VuZGlm
Ci0gICAgICAgIC8qCi0gICAgICAgICAqIE5vdGUgcmVnYXJkaW5nIHRoZSAi
ZHMiIHByZWZpeCB1c2U6IGl0J3MgZmFzdGVyIHRvIGRvIGEgY2xmbHVzaAot
ICAgICAgICAgKiArIHByZWZpeCB0aGFuIGEgY2xmbHVzaCArIG5vcCwgYW5k
IGhlbmNlIHRoZSBwcmVmaXggaXMgYWRkZWQgaW5zdGVhZAotICAgICAgICAg
KiBvZiBsZXR0aW5nIHRoZSBhbHRlcm5hdGl2ZSBmcmFtZXdvcmsgZmlsbCB0
aGUgZ2FwIGJ5IGFwcGVuZGluZyBub3BzLgotICAgICAgICAgKi8KLSAgICAg
ICAgYWx0ZXJuYXRpdmVfaW9fMigiZHM7IGNsZmx1c2ggJVtwXSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgImRhdGExNiBjbGZsdXNoICVbcF0iLCAv
KiBjbGZsdXNob3B0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgWDg2
X0ZFQVRVUkVfQ0xGTFVTSE9QVCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBDTFdCX0VOQ09ESU5HLAotICAgICAgICAgICAgICAgICAgICAgICAgIFg4
Nl9GRUFUVVJFX0NMV0IsIC8qIG5vIG91dHB1dHMgKi8sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgSU5QVVQoYWRkcikpOworCisgICAgICAgIGFzbSB2
b2xhdGlsZSAoQ0xXQl9FTkNPRElORyA6OiBJTlBVVChhZGRyKSk7CisKICN1
bmRlZiBJTlBVVAogI3VuZGVmIEJBU0VfSU5QVVQKICN1bmRlZiBDTFdCX0VO
Q09ESU5HCiAgICAgfQogCi0gICAgYWx0ZXJuYXRpdmVfMigiIiwgInNmZW5j
ZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAgICAg
ICAgICAgInNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMV0IpOworICAgIGFzbSB2
b2xhdGlsZSAoInNmZW5jZSIgOjo6ICJtZW1vcnkiKTsKIH0KIAogdW5zaWdu
ZWQgaW50IGd1ZXN0X2ZsdXNoX3RsYl9mbGFncyhjb25zdCBzdHJ1Y3QgZG9t
YWluICpkKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L2NhY2hlLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vY2FjaGUuaApp
bmRleCA0MjRkYzViN2I5OTkuLmU0NzcwZWZiMjJiOSAxMDA2NDQKLS0tIGEv
eGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2NhY2hlLmgKKysrIGIveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL2NhY2hlLmgKQEAgLTEzLDYgKzEzLDcgQEAK
IAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIAordm9pZCBjYWNoZV9mbHVzaChj
b25zdCB2b2lkICphZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSk7CiB2b2lkIGNh
Y2hlX3dyaXRlYmFjayhjb25zdCB2b2lkICphZGRyLCB1bnNpZ25lZCBpbnQg
c2l6ZSk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFu
dF90YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4IGZl
YmJlMTJlYWI5OC4uMzkxOGU2ZGU2YjZhIDEwMDY0NAotLS0gYS94ZW4vY29t
bW9uL2dyYW50X3RhYmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJs
ZS5jCkBAIC0zNDQ3LDcgKzM0NDcsNyBAQCBnbnR0YWJfc3dhcF9ncmFudF9y
ZWYoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShnbnR0YWJfc3dhcF9ncmFudF9y
ZWZfdCkgdW9wLAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNh
Y2hlX2ZsdXNoKGNvbnN0IGdudHRhYl9jYWNoZV9mbHVzaF90ICpjZmx1c2gs
IGdyYW50X3JlZl90ICpjdXJfcmVmKQorc3RhdGljIGludCBfY2FjaGVfZmx1
c2goY29uc3QgZ250dGFiX2NhY2hlX2ZsdXNoX3QgKmNmbHVzaCwgZ3JhbnRf
cmVmX3QgKmN1cl9yZWYpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCwgKm93
bmVyOwogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CkBAIC0zNTQxLDcg
KzM1NDEsNyBAQCBnbnR0YWJfY2FjaGVfZmx1c2goWEVOX0dVRVNUX0hBTkRM
RV9QQVJBTShnbnR0YWJfY2FjaGVfZmx1c2hfdCkgdW9wLAogICAgICAgICAg
ICAgcmV0dXJuIC1FRkFVTFQ7CiAgICAgICAgIGZvciAoIDsgOyApCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGludCByZXQgPSBjYWNoZV9mbHVzaCgmb3As
IGN1cl9yZWYpOworICAgICAgICAgICAgaW50IHJldCA9IF9jYWNoZV9mbHVz
aCgmb3AsIGN1cl9yZWYpOwogCiAgICAgICAgICAgICBpZiAoIHJldCA8IDAg
KQogICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.13-1.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.13-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3BhZ2U6IEludHJvZHVjZSBfUEFHRV8qIGNvbnN0
YW50cyBmb3IgbWVtb3J5IHR5cGVzCgouLi4gcmF0aGVyIHRoYW4gb3BlbmNv
ZGluZyB0aGUgUEFUL1BDRC9QV1QgYXR0cmlidXRlcyBpbiBfX1BBR0VfSFlQ
RVJWSVNPUl8qCmNvbnN0YW50cy4gIFRoZXNlIGFyZSBnb2luZyB0byBiZSBu
ZWVkZWQgYnkgZm9ydGhjb21pbmcgbG9naWMuCgpObyBmdW5jdGlvbmFsIGNo
YW5nZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCmluZGV4IGMxZTkyOTM3YzA3My4u
NzI2OWFlODliODgwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2
L3BhZ2UuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaApAQCAt
MzIwLDYgKzMyMCwxNCBAQCB2b2lkIGVmaV91cGRhdGVfbDRfcGd0YWJsZSh1
bnNpZ25lZCBpbnQgbDRpZHgsIGw0X3BnZW50cnlfdCk7CiAKICNkZWZpbmUg
UEFHRV9DQUNIRV9BVFRSUyAoX1BBR0VfUEFUIHwgX1BBR0VfUENEIHwgX1BB
R0VfUFdUKQogCisvKiBNZW1vcnkgdHlwZXMsIGVuY29kZWQgdW5kZXIgWGVu
J3MgY2hvaWNlIG9mIE1TUl9QQVQuICovCisjZGVmaW5lIF9QQUdFX1dCICAg
ICAgICAgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkKKyNk
ZWZpbmUgX1BBR0VfV1QgICAgICAgICAoICAgICAgICAgICAgICAgICAgICAg
ICAgX1BBR0VfUFdUKQorI2RlZmluZSBfUEFHRV9VQ00gICAgICAgICggICAg
ICAgICAgICBfUEFHRV9QQ0QgICAgICAgICAgICApCisjZGVmaW5lIF9QQUdF
X1VDICAgICAgICAgKCAgICAgICAgICAgIF9QQUdFX1BDRCB8IF9QQUdFX1BX
VCkKKyNkZWZpbmUgX1BBR0VfV0MgICAgICAgICAoX1BBR0VfUEFUICAgICAg
ICAgICAgICAgICAgICAgICAgKQorI2RlZmluZSBfUEFHRV9XUCAgICAgICAg
IChfUEFHRV9QQVQgfCAgICAgICAgICAgICBfUEFHRV9QV1QpCisKIC8qCiAg
KiBEZWJ1ZyBvcHRpb246IEVuc3VyZSB0aGF0IGdyYW50ZWQgbWFwcGluZ3Mg
YXJlIG5vdCBpbXBsaWNpdGx5IHVubWFwcGVkLgogICogV0FSTklORzogVGhp
cyB3aWxsIG5lZWQgdG8gYmUgZGlzYWJsZWQgdG8gcnVuIE9TZXMgdGhhdCB1
c2UgdGhlIHNwYXJlIFBURQpAQCAtMzM4LDggKzM0Niw4IEBAIHZvaWQgZWZp
X3VwZGF0ZV9sNF9wZ3RhYmxlKHVuc2lnbmVkIGludCBsNGlkeCwgbDRfcGdl
bnRyeV90KTsKICNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfUlggICAgICAo
X1BBR0VfUFJFU0VOVCB8IF9QQUdFX0FDQ0VTU0VEKQogI2RlZmluZSBfX1BB
R0VfSFlQRVJWSVNPUiAgICAgICAgIChfX1BBR0VfSFlQRVJWSVNPUl9SWCB8
IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1BBR0Vf
RElSVFkgfCBfUEFHRV9SVykKLSNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1Jf
VUNNSU5VUyAoX19QQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QQ0QpCi0jZGVm
aW5lIF9fUEFHRV9IWVBFUlZJU09SX1VDICAgICAgKF9fUEFHRV9IWVBFUlZJ
U09SIHwgX1BBR0VfUENEIHwgX1BBR0VfUFdUKQorI2RlZmluZSBfX1BBR0Vf
SFlQRVJWSVNPUl9VQ01JTlVTIChfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdF
X1VDTSkKKyNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfVUMgICAgICAoX19Q
QUdFX0hZUEVSVklTT1IgfCBfUEFHRV9VQykKIAogI2RlZmluZSBNQVBfU01B
TExfUEFHRVMgX1BBR0VfQVZBSUwwIC8qIGRvbid0IHVzZSBzdXBlcnBhZ2Vz
IG1hcHBpbmdzICovCiAK

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.13-2.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.13-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBEb24ndCBjaGFuZ2UgdGhlIGNhY2hlYWJpbGl0
eSBvZiB0aGUgZGlyZWN0bWFwCgpDaGFuZ2VzZXQgNTVmOTdmNDliN2NlICgi
eDg2OiBDaGFuZ2UgY2FjaGUgYXR0cmlidXRlcyBvZiBYZW4gMToxIHBhZ2Ug
bWFwcGluZ3MKaW4gcmVzcG9uc2UgdG8gZ3Vlc3QgbWFwcGluZyByZXF1ZXN0
cyIpIGF0dGVtcHRlZCB0byBrZWVwIHRoZSBjYWNoZWFiaWxpdHkKY29uc2lz
dGVudCBiZXR3ZWVuIGRpZmZlcmVudCBtYXBwaW5ncyBvZiB0aGUgc2FtZSBw
YWdlLgoKVGhlIHJlYXNvbiB3YXNuJ3QgZGVzY3JpYmVkIGluIHRoZSBjaGFu
Z2Vsb2csIGJ1dCBpdCBpcyB1bmRlcnN0b29kIHRvIGJlIGluCnJlZ2FyZHMg
dG8gYSBjb25jZXJuIG92ZXIgbWFjaGluZSBjaGVjayBleGNlcHRpb25zLCBv
d2luZyB0byBlcnJhdGEgd2hlbiB1c2luZwptaXhlZCBjYWNoZWFiaWxpdGll
cy4gIEl0IGRpZCB0aGlzIHByaW1hcmlseSBieSB1cGRhdGluZyBYZW4ncyBt
YXBwaW5nIG9mIHRoZQpwYWdlIGluIHRoZSBkaXJlY3QgbWFwIHdoZW4gdGhl
IGd1ZXN0IG1hcHBlZCBhIHBhZ2Ugd2l0aCByZWR1Y2VkIGNhY2hlYWJpbGl0
eS4KClVuZm9ydHVuYXRlbHksIHRoZSBsb2dpYyBkaWRuJ3QgYWN0dWFsbHkg
cHJldmVudCBtaXhlZCBjYWNoZWFiaWxpdHkgZnJvbQpvY2N1cnJpbmc6CiAq
IEEgZ3Vlc3QgY291bGQgbWFwIGEgcGFnZSBub3JtYWxseSwgYW5kIHRoZW4g
bWFwIHRoZSBzYW1lIHBhZ2Ugd2l0aAogICBkaWZmZXJlbnQgY2FjaGVhYmls
aXR5OyBub3RoaW5nIHByZXZlbnRlZCB0aGlzLgogKiBUaGUgY2FjaGVhYmls
aXR5IG9mIHRoZSBkaXJlY3RtYXAgd2FzIGFsd2F5cyBsYXRlc3QtdGFrZXMt
cHJlY2VkZW5jZSBpbgogICB0ZXJtcyBvZiBndWVzdCByZXF1ZXN0cy4KICog
R3JhbnQtbWFwcGVkIGZyYW1lcyB3aXRoIGxlc3NlciBjYWNoZWFiaWxpdHkg
ZGlkbid0IGFkanVzdCB0aGUgcGFnZSdzCiAgIGNhY2hlYXR0ciBzZXR0aW5n
cy4KICogVGhlIG1hcF9kb21haW5fcGFnZSgpIGZ1bmN0aW9uIHN0aWxsIHVu
Y29uZGl0aW9uYWxseSBjcmVhdGVkIFdCIG1hcHBpbmdzLAogICBpcnJlc3Bl
Y3RpdmUgb2YgdGhlIHBhZ2UncyBjYWNoZWF0dHIgc2V0dGluZ3MuCgpBZGRp
dGlvbmFsbHksIHVwZGF0ZV94ZW5fbWFwcGluZ3MoKSBoYWQgYSBidWcgd2hl
cmUgdGhlIGFsaWFzIGNhbGN1bGF0aW9uIHdhcwp3cm9uZyBmb3IgbWZuJ3Mg
d2hpY2ggd2VyZSAuaW5pdCBjb250ZW50LCB3aGljaCBzaG91bGQgaGF2ZSBi
ZWVuIHRyZWF0ZWQgYXMKZnVsbHkgZ3Vlc3QgcGFnZXMsIG5vdCBYZW4gcGFn
ZXMuCgpXb3JzZSB5ZXQsIHRoZSBsb2dpYyBpbnRyb2R1Y2VkIGEgdnVsbmVy
YWJpbGl0eSB3aGVyZWJ5IG5lY2Vzc2FyeQpwYWdldGFibGUvc2VnZGVzYyBh
ZGp1c3RtZW50cyBtYWRlIGJ5IFhlbiBpbiB0aGUgdmFsaWRhdGlvbiBsb2dp
YyBjb3VsZCBiZWNvbWUKbm9uLWNvaGVyZW50IGJldHdlZW4gdGhlIGNhY2hl
IGFuZCBtYWluIG1lbW9yeS4gIFRoZSBDUFUgY291bGQgc3Vic2VxdWVudGx5
Cm9wZXJhdGUgb24gdGhlIHN0YWxlIHZhbHVlIGluIHRoZSBjYWNoZSwgcmF0
aGVyIHRoYW4gdGhlIHNhZmUgdmFsdWUgaW4gbWFpbgptZW1vcnkuCgpUaGUg
ZGlyZWN0bWFwIGNvbnRhaW5zIHByaW1hcmlseSBtYXBwaW5ncyBvZiBSQU0u
ICBQQVQvTVRSUiBjb25mbGljdApyZXNvbHV0aW9uIGlzIGFzeW1tZXRyaWMs
IGFuZCBnZW5lcmFsbHkgZm9yIE1UUlI9V0IgcmFuZ2VzLCBQQVQgb2YgbGVz
c2VyCmNhY2hlYWJpbGl0eSByZXNvbHZlcyB0byBiZWluZyBjb2hlcmVudC4g
IFRoZSBzcGVjaWFsIGNhc2UgaXMgV0MgbWFwcGluZ3MsCndoaWNoIGFyZSBu
b24tY29oZXJlbnQgYWdhaW5zdCBNVFJSPVdCIHJlZ2lvbnMgKGV4Y2VwdCBm
b3IgZnVsbHktY29oZXJlbnQKQ1BVcykuCgpYZW4gbXVzdCBub3QgaGF2ZSBh
bnkgV0MgY2FjaGVhYmlsaXR5IGluIHRoZSBkaXJlY3RtYXAsIHRvIHByZXZl
bnQgWGVuJ3MKYWN0aW9ucyBmcm9tIGNyZWF0aW5nIG5vbi1jb2hlcmVuY3ku
ICAoR3Vlc3QgYWN0aW9ucyBjcmVhdGluZyBub24tY29oZXJlbmN5IGlzCmRl
YWx0IHdpdGggaW4gc3Vic2VxdWVudCBwYXRjaGVzLikgIEFzIGFsbCBtZW1v
cnkgdHlwZXMgZm9yIE1UUlI9V0IgcmFuZ2VzCmludGVyLW9wZXJhdGUgY29o
ZXJlbnRseSwgc28gbGVhdmUgWGVuJ3MgZGlyZWN0bWFwIG1hcHBpbmdzIGFz
IFdCLgoKT25seSBQViBndWVzdHMgd2l0aCBhY2Nlc3MgdG8gZGV2aWNlcyBj
YW4gdXNlIHJlZHVjZWQtY2FjaGVhYmlsaXR5IG1hcHBpbmdzIHRvCmJlZ2lu
IHdpdGgsIGFuZCB0aGV5J3JlIHRydXN0ZWQgbm90IHRvIG1vdW50IERvU3Mg
YWdhaW5zdCB0aGUgc3lzdGVtIGFueXdheS4KCkRyb3AgUEdDX2NhY2hlYXR0
cl97YmFzZSxtYXNrfSBlbnRpcmVseSwgYW5kIHRoZSBsb2dpYyB0byBtYW5p
cHVsYXRlIHRoZW0uClNoaWZ0IHRoZSBsYXRlciBQR0NfKiBjb25zdGFudHMg
dXAsIHRvIGdhaW4gMyBleHRyYSBiaXRzIGluIHRoZSBtYWluIHJlZmVyZW5j
ZQpjb3VudC4gIFJldGFpbiB0aGUgY2hlY2sgaW4gZ2V0X3BhZ2VfZnJvbV9s
MWUoKSBmb3Igc3BlY2lhbF9wYWdlcygpIGJlY2F1c2UgYQpndWVzdCBoYXMg
bm8gYnVzaW5lc3MgdXNpbmcgcmVkdWNlZCBjYWNoZWFiaWxpdHkgb24gdGhl
c2UuCgpUaGlzIHJldmVydHMgY2hhbmdlc2V0IDU1Zjk3ZjQ5YjdjZTZjMzUy
MGM1NTVkMTljYWFjNmNmM2Y5YTVkZjAKClRoaXMgaXMgQ1ZFLTIwMjItMjYz
NjMsIHBhcnQgb2YgWFNBLTQwMi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cgpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYv
bW0uYwppbmRleCBlZTkxYzdmZTVmNjkuLjg1OTY0NmI2NzBhOCAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21t
LmMKQEAgLTc4NiwyNCArNzg2LDYgQEAgYm9vbCBpc19pb21lbV9wYWdlKG1m
bl90IG1mbikKICAgICByZXR1cm4gKHBhZ2VfZ2V0X293bmVyKHBhZ2UpID09
IGRvbV9pbyk7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3hlbl9tYXBwaW5n
cyh1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgaW50IGNhY2hlYXR0cikK
LXsKLSAgICBpbnQgZXJyID0gMDsKLSAgICBib29sIGFsaWFzID0gbWZuID49
IFBGTl9ET1dOKHhlbl9waHlzX3N0YXJ0KSAmJgotICAgICAgICAgbWZuIDwg
UEZOX1VQKHhlbl9waHlzX3N0YXJ0ICsgeGVuX3ZpcnRfZW5kIC0gWEVOX1ZJ
UlRfU1RBUlQpOwotICAgIHVuc2lnbmVkIGxvbmcgeGVuX3ZhID0KLSAgICAg
ICAgWEVOX1ZJUlRfU1RBUlQgKyAoKG1mbiAtIFBGTl9ET1dOKHhlbl9waHlz
X3N0YXJ0KSkgPDwgUEFHRV9TSElGVCk7Ci0KLSAgICBpZiAoIHVubGlrZWx5
KGFsaWFzKSAmJiBjYWNoZWF0dHIgKQotICAgICAgICBlcnIgPSBtYXBfcGFn
ZXNfdG9feGVuKHhlbl92YSwgX21mbihtZm4pLCAxLCAwKTsKLSAgICBpZiAo
ICFlcnIgKQotICAgICAgICBlcnIgPSBtYXBfcGFnZXNfdG9feGVuKCh1bnNp
Z25lZCBsb25nKW1mbl90b192aXJ0KG1mbiksIF9tZm4obWZuKSwgMSwKLSAg
ICAgICAgICAgICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUiB8IGNhY2hlYXR0
cl90b19wdGVfZmxhZ3MoY2FjaGVhdHRyKSk7Ci0gICAgaWYgKCB1bmxpa2Vs
eShhbGlhcykgJiYgIWNhY2hlYXR0ciAmJiAhZXJyICkKLSAgICAgICAgZXJy
ID0gbWFwX3BhZ2VzX3RvX3hlbih4ZW5fdmEsIF9tZm4obWZuKSwgMSwgUEFH
RV9IWVBFUlZJU09SKTsKLSAgICByZXR1cm4gZXJyOwotfQotCiAjaWZuZGVm
IE5ERUJVRwogc3RydWN0IG1taW9fZW11bF9yYW5nZV9jdHh0IHsKICAgICBj
b25zdCBzdHJ1Y3QgZG9tYWluICpkOwpAQCAtMTAwOCw0NyArOTkwLDE0IEBA
IGdldF9wYWdlX2Zyb21fbDFlKAogICAgICAgICBnb3RvIGNvdWxkX25vdF9w
aW47CiAgICAgfQogCi0gICAgaWYgKCBwdGVfZmxhZ3NfdG9fY2FjaGVhdHRy
KGwxZikgIT0KLSAgICAgICAgICgocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19j
YWNoZWF0dHJfbWFzaykgPj4gUEdDX2NhY2hlYXR0cl9iYXNlKSApCisgICAg
aWYgKCAobDFmICYgUEFHRV9DQUNIRV9BVFRSUykgIT0gX1BBR0VfV0IgJiYg
aXNfeGVuX2hlYXBfcGFnZShwYWdlKSApCiAgICAgewotICAgICAgICB1bnNp
Z25lZCBsb25nIHgsIG54LCB5ID0gcGFnZS0+Y291bnRfaW5mbzsKLSAgICAg
ICAgdW5zaWduZWQgbG9uZyBjYWNoZWF0dHIgPSBwdGVfZmxhZ3NfdG9fY2Fj
aGVhdHRyKGwxZik7Ci0gICAgICAgIGludCBlcnI7Ci0KLSAgICAgICAgaWYg
KCBpc194ZW5faGVhcF9wYWdlKHBhZ2UpICkKLSAgICAgICAgewotICAgICAg
ICAgICAgaWYgKCB3cml0ZSApCi0gICAgICAgICAgICAgICAgcHV0X3BhZ2Vf
dHlwZShwYWdlKTsKLSAgICAgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwotICAg
ICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCi0gICAgICAgICAg
ICAgICAgICAgICAiQXR0ZW1wdCB0byBjaGFuZ2UgY2FjaGUgYXR0cmlidXRl
cyBvZiBYZW4gaGVhcCBwYWdlXG4iKTsKLSAgICAgICAgICAgIHJldHVybiAt
RUFDQ0VTOwotICAgICAgICB9Ci0KLSAgICAgICAgZG8gewotICAgICAgICAg
ICAgeCAgPSB5OwotICAgICAgICAgICAgbnggPSAoeCAmIH5QR0NfY2FjaGVh
dHRyX21hc2spIHwgKGNhY2hlYXR0ciA8PCBQR0NfY2FjaGVhdHRyX2Jhc2Up
OwotICAgICAgICB9IHdoaWxlICggKHkgPSBjbXB4Y2hnKCZwYWdlLT5jb3Vu
dF9pbmZvLCB4LCBueCkpICE9IHggKTsKLQotICAgICAgICBlcnIgPSB1cGRh
dGVfeGVuX21hcHBpbmdzKG1mbiwgY2FjaGVhdHRyKTsKLSAgICAgICAgaWYg
KCB1bmxpa2VseShlcnIpICkKLSAgICAgICAgewotICAgICAgICAgICAgY2Fj
aGVhdHRyID0geSAmIFBHQ19jYWNoZWF0dHJfbWFzazsKLSAgICAgICAgICAg
IGRvIHsKLSAgICAgICAgICAgICAgICB4ICA9IHk7Ci0gICAgICAgICAgICAg
ICAgbnggPSAoeCAmIH5QR0NfY2FjaGVhdHRyX21hc2spIHwgY2FjaGVhdHRy
OwotICAgICAgICAgICAgfSB3aGlsZSAoICh5ID0gY21weGNoZygmcGFnZS0+
Y291bnRfaW5mbywgeCwgbngpKSAhPSB4ICk7Ci0KLSAgICAgICAgICAgIGlm
ICggd3JpdGUgKQotICAgICAgICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFn
ZSk7Ci0gICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKLQotICAgICAgICAg
ICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsICJFcnJvciB1cGRhdGluZyBt
YXBwaW5ncyBmb3IgbWZuICUiIFBSSV9tZm4KLSAgICAgICAgICAgICAgICAg
ICAgICIgKHBmbiAlIiBQUklfcGZuICIsIGZyb20gTDEgZW50cnkgJSIgUFJJ
cHRlICIpIGZvciBkJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICBtZm4s
IGdldF9ncGZuX2Zyb21fbWZuKG1mbiksCi0gICAgICAgICAgICAgICAgICAg
ICBsMWVfZ2V0X2ludHB0ZShsMWUpLCBsMWVfb3duZXItPmRvbWFpbl9pZCk7
Ci0gICAgICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICB9CisgICAgICAg
IGlmICggd3JpdGUgKQorICAgICAgICAgICAgcHV0X3BhZ2VfdHlwZShwYWdl
KTsKKyAgICAgICAgcHV0X3BhZ2UocGFnZSk7CisgICAgICAgIGdkcHJpbnRr
KFhFTkxPR19XQVJOSU5HLAorICAgICAgICAgICAgICAgICAiQXR0ZW1wdCB0
byBjaGFuZ2UgY2FjaGUgYXR0cmlidXRlcyBvZiBYZW4gaGVhcCBwYWdlXG4i
KTsKKyAgICAgICAgcmV0dXJuIC1FQUNDRVM7CiAgICAgfQogCiAgICAgcmV0
dXJuIDA7CkBAIC0yNTQxLDI1ICsyNDkwLDEwIEBAIHN0YXRpYyBpbnQgbW9k
X2w0X2VudHJ5KGw0X3BnZW50cnlfdCAqcGw0ZSwKICAqLwogc3RhdGljIGlu
dCBjbGVhbnVwX3BhZ2VfbWFwcGluZ3Moc3RydWN0IHBhZ2VfaW5mbyAqcGFn
ZSkKIHsKLSAgICB1bnNpZ25lZCBpbnQgY2FjaGVhdHRyID0KLSAgICAgICAg
KHBhZ2UtPmNvdW50X2luZm8gJiBQR0NfY2FjaGVhdHRyX21hc2spID4+IFBH
Q19jYWNoZWF0dHJfYmFzZTsKICAgICBpbnQgcmMgPSAwOwogICAgIHVuc2ln
bmVkIGxvbmcgbWZuID0gbWZuX3gocGFnZV90b19tZm4ocGFnZSkpOwogCiAg
ICAgLyoKLSAgICAgKiBJZiB3ZSd2ZSBtb2RpZmllZCB4ZW4gbWFwcGluZ3Mg
YXMgYSByZXN1bHQgb2YgZ3Vlc3QgY2FjaGUKLSAgICAgKiBhdHRyaWJ1dGVz
LCByZXN0b3JlIHRoZW0gdG8gdGhlICJub3JtYWwiIHN0YXRlLgotICAgICAq
LwotICAgIGlmICggdW5saWtlbHkoY2FjaGVhdHRyKSApCi0gICAgewotICAg
ICAgICBwYWdlLT5jb3VudF9pbmZvICY9IH5QR0NfY2FjaGVhdHRyX21hc2s7
Ci0KLSAgICAgICAgQlVHX09OKGlzX3hlbl9oZWFwX3BhZ2UocGFnZSkpOwot
Ci0gICAgICAgIHJjID0gdXBkYXRlX3hlbl9tYXBwaW5ncyhtZm4sIDApOwot
ICAgIH0KLQotICAgIC8qCiAgICAgICogSWYgdGhpcyBtYXkgYmUgaW4gYSBQ
ViBkb21haW4ncyBJT01NVSwgcmVtb3ZlIGl0LgogICAgICAqCiAgICAgICog
TkIgdGhhdCB3cml0YWJsZSB4ZW5oZWFwIHBhZ2VzIGhhdmUgdGhlaXIgdHlw
ZSBzZXQgYW5kIGNsZWFyZWQgYnkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRl
eCAzMjBjNmNkMTk2NjkuLmRiMDk4NDlmNzNmOCAxMDA2NDQKLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvbW0uaApAQCAtNjQsMjIgKzY0LDE5IEBACiAgLyogU2V0IHdoZW4gaXMg
dXNpbmcgYSBwYWdlIGFzIGEgcGFnZSB0YWJsZSAqLwogI2RlZmluZSBfUEdD
X3BhZ2VfdGFibGUgICBQR19zaGlmdCgzKQogI2RlZmluZSBQR0NfcGFnZV90
YWJsZSAgICBQR19tYXNrKDEsIDMpCi0gLyogMy1iaXQgUEFUL1BDRC9QV1Qg
Y2FjaGUtYXR0cmlidXRlIGhpbnQuICovCi0jZGVmaW5lIFBHQ19jYWNoZWF0
dHJfYmFzZSBQR19zaGlmdCg2KQotI2RlZmluZSBQR0NfY2FjaGVhdHRyX21h
c2sgUEdfbWFzayg3LCA2KQogIC8qIFBhZ2UgaXMgYnJva2VuPyAqLwotI2Rl
ZmluZSBfUEdDX2Jyb2tlbiAgICAgICBQR19zaGlmdCg3KQotI2RlZmluZSBQ
R0NfYnJva2VuICAgICAgICBQR19tYXNrKDEsIDcpCisjZGVmaW5lIF9QR0Nf
YnJva2VuICAgICAgIFBHX3NoaWZ0KDQpCisjZGVmaW5lIFBHQ19icm9rZW4g
ICAgICAgIFBHX21hc2soMSwgNCkKICAvKiBNdXR1YWxseS1leGNsdXNpdmUg
cGFnZSBzdGF0ZXM6IHsgaW51c2UsIG9mZmxpbmluZywgb2ZmbGluZWQsIGZy
ZWUgfS4gKi8KLSNkZWZpbmUgUEdDX3N0YXRlICAgICAgICAgUEdfbWFzaygz
LCA5KQotI2RlZmluZSBQR0Nfc3RhdGVfaW51c2UgICBQR19tYXNrKDAsIDkp
Ci0jZGVmaW5lIFBHQ19zdGF0ZV9vZmZsaW5pbmcgUEdfbWFzaygxLCA5KQot
I2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGluZWQgUEdfbWFzaygyLCA5KQotI2Rl
ZmluZSBQR0Nfc3RhdGVfZnJlZSAgICBQR19tYXNrKDMsIDkpCisjZGVmaW5l
IFBHQ19zdGF0ZSAgICAgICAgICAgUEdfbWFzaygzLCA2KQorI2RlZmluZSBQ
R0Nfc3RhdGVfaW51c2UgICAgIFBHX21hc2soMCwgNikKKyNkZWZpbmUgUEdD
X3N0YXRlX29mZmxpbmluZyBQR19tYXNrKDEsIDYpCisjZGVmaW5lIFBHQ19z
dGF0ZV9vZmZsaW5lZCAgUEdfbWFzaygyLCA2KQorI2RlZmluZSBQR0Nfc3Rh
dGVfZnJlZSAgICAgIFBHX21hc2soMywgNikKICNkZWZpbmUgcGFnZV9zdGF0
ZV9pcyhwZywgc3QpICgoKHBnKS0+Y291bnRfaW5mbyZQR0Nfc3RhdGUpID09
IFBHQ19zdGF0ZV8jI3N0KQogCiAgLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0
byB0aGlzIGZyYW1lLiAqLwotI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQ
R19zaGlmdCg5KQorI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlm
dCg2KQogI2RlZmluZSBQR0NfY291bnRfbWFzayAgICAoKDFVTDw8UEdDX2Nv
dW50X3dpZHRoKS0xKQogCiAvKgo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.13-3.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.13-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBTcGxpdCBjYWNoZV9mbHVzaCgpIG91dCBvZiBj
YWNoZV93cml0ZWJhY2soKQoKU3Vic2VxdWVudCBjaGFuZ2VzIHdpbGwgd2Fu
dCBhIGZ1bGx5IGZsdXNoaW5nIHZlcnNpb24uCgpVc2UgdGhlIG5ldyBoZWxw
ZXIgcmF0aGVyIHRoYW4gb3BlbmNvZGluZyBpdCBpbiBmbHVzaF9hcmVhX2xv
Y2FsKCkuICBUaGlzCnJlc29sdmVzIGFuIG91dHN0YW5kaW5nIGlzc3VlIHdo
ZXJlIHRoZSBjb25kaXRpb25hbCBzZmVuY2UgaXMgb24gdGhlIHdyb25nCnNp
ZGUgb2YgdGhlIGNsZmx1c2hvcHQgbG9vcC4gIGNsZmx1c2hvcHQgaXMgb3Jk
ZXJlZCB3aXRoIHJlc3BlY3QgdG8gb2xkZXIKc3RvcmVzLCBub3QgdG8geW91
bmdlciBzdG9yZXMuCgpSZW5hbWUgZ250dGFiX2NhY2hlX2ZsdXNoKCkncyBo
ZWxwZXIgdG8gYXZvaWQgY29sbGlkaW5nIGluIG5hbWUuCmdyYW50X3RhYmxl
LmMgY2FuIHNlZSB0aGUgcHJvdG90eXBlIGZyb20gY2FjaGUuaCBzbyB0aGUg
YnVpbGQgZmFpbHMKb3RoZXJ3aXNlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00
MDIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgoKWGVuIDQuMTYgYW5kIGVhcmxpZXI6CiAqIEFs
c28gYmFja3BvcnQgaGFsZiBvZiBjL3MgMzMzMDAxM2U2NzM5NiAiVlQtZCAv
IHg4NjogcmUtYXJyYW5nZSBjYWNoZQogICBzeW5jaW5nIiB0byBzcGxpdCBj
YWNoZV93cml0ZWJhY2soKSBvdXQgb2YgdGhlIElPTU1VIGxvZ2ljLCBidXQg
d2l0aG91dCB0aGUKICAgYXNzb2NpYXRlZCBob29rcyBjaGFuZ2VzLgoKZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jIGIveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMKaW5kZXggMDNmOTJjMjNkY2FmLi44NTY4NDkxYzdl
YTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCkBAIC0yMjQsNyArMjI0LDcgQEAg
dW5zaWduZWQgaW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEs
IHVuc2lnbmVkIGludCBmbGFncykKICAgICBpZiAoIGZsYWdzICYgRkxVU0hf
Q0FDSEUgKQogICAgIHsKICAgICAgICAgY29uc3Qgc3RydWN0IGNwdWluZm9f
eDg2ICpjID0gJmN1cnJlbnRfY3B1X2RhdGE7Ci0gICAgICAgIHVuc2lnbmVk
IGxvbmcgaSwgc3ogPSAwOworICAgICAgICB1bnNpZ25lZCBsb25nIHN6ID0g
MDsKIAogICAgICAgICBpZiAoIG9yZGVyIDwgKEJJVFNfUEVSX0xPTkcgLSBQ
QUdFX1NISUZUKSApCiAgICAgICAgICAgICBzeiA9IDFVTCA8PCAob3JkZXIg
KyBQQUdFX1NISUZUKTsKQEAgLTIzNCwxMyArMjM0LDcgQEAgdW5zaWduZWQg
aW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVk
IGludCBmbGFncykKICAgICAgICAgICAgICBjLT54ODZfY2xmbHVzaF9zaXpl
ICYmIGMtPng4Nl9jYWNoZV9zaXplICYmIHN6ICYmCiAgICAgICAgICAgICAg
KChzeiA+PiAxMCkgPCBjLT54ODZfY2FjaGVfc2l6ZSkgKQogICAgICAgICB7
Ci0gICAgICAgICAgICBhbHRlcm5hdGl2ZSgiIiwgInNmZW5jZSIsIFg4Nl9G
RUFUVVJFX0NMRkxVU0hPUFQpOwotICAgICAgICAgICAgZm9yICggaSA9IDA7
IGkgPCBzejsgaSArPSBjLT54ODZfY2xmbHVzaF9zaXplICkKLSAgICAgICAg
ICAgICAgICBhbHRlcm5hdGl2ZV9pbnB1dCgiLmJ5dGUgIiBfX3N0cmluZ2lm
eShOT1BfRFNfUFJFRklYKSAiOyIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiIGNsZmx1c2ggJTAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJkYXRhMTYgY2xmbHVzaCAlMCIsICAgICAgLyog
Y2xmbHVzaG9wdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm0iICgoKGNvbnN0IGNoYXIgKil2YSlbaV0p
KTsKKyAgICAgICAgICAgIGNhY2hlX2ZsdXNoKHZhLCBzeik7CiAgICAgICAg
ICAgICBmbGFncyAmPSB+RkxVU0hfQ0FDSEU7CiAgICAgICAgIH0KICAgICAg
ICAgZWxzZQpAQCAtMjU0LDMgKzI0OCw3NyBAQCB1bnNpZ25lZCBpbnQgZmx1
c2hfYXJlYV9sb2NhbChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50IGZs
YWdzKQogCiAgICAgcmV0dXJuIGZsYWdzOwogfQorCit2b2lkIGNhY2hlX2Zs
dXNoKGNvbnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQorewor
ICAgIC8qCisgICAgICogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGJl
Zm9yZSBjdXJyZW50X2NwdV9kYXRhIGlzIGVzdGFibGlzaGVkLgorICAgICAq
IEhlbmNlIGEgZmFsbGJhY2sgaXMgbmVlZGVkIHRvIHByZXZlbnQgdGhlIGxv
b3AgYmVsb3cgYmVjb21pbmcgaW5maW5pdGUuCisgICAgICovCisgICAgdW5z
aWduZWQgaW50IGNsZmx1c2hfc2l6ZSA9IGN1cnJlbnRfY3B1X2RhdGEueDg2
X2NsZmx1c2hfc2l6ZSA/OiAxNjsKKyAgICBjb25zdCB2b2lkICplbmQgPSBh
ZGRyICsgc2l6ZTsKKworICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRk
ciAmIChjbGZsdXNoX3NpemUgLSAxKTsKKyAgICBmb3IgKCA7IGFkZHIgPCBl
bmQ7IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKKyAgICB7CisgICAgICAgIC8q
CisgICAgICAgICAqIE5vdGUgcmVnYXJkaW5nIHRoZSAiZHMiIHByZWZpeCB1
c2U6IGl0J3MgZmFzdGVyIHRvIGRvIGEgY2xmbHVzaAorICAgICAgICAgKiAr
IHByZWZpeCB0aGFuIGEgY2xmbHVzaCArIG5vcCwgYW5kIGhlbmNlIHRoZSBw
cmVmaXggaXMgYWRkZWQgaW5zdGVhZAorICAgICAgICAgKiBvZiBsZXR0aW5n
IHRoZSBhbHRlcm5hdGl2ZSBmcmFtZXdvcmsgZmlsbCB0aGUgZ2FwIGJ5IGFw
cGVuZGluZyBub3BzLgorICAgICAgICAgKi8KKyAgICAgICAgYWx0ZXJuYXRp
dmVfaW8oImRzOyBjbGZsdXNoICVbcF0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAiZGF0YTE2IGNsZmx1c2ggJVtwXSIsIC8qIGNsZmx1c2hvcHQgKi8K
KyAgICAgICAgICAgICAgICAgICAgICAgWDg2X0ZFQVRVUkVfQ0xGTFVTSE9Q
VCwKKyAgICAgICAgICAgICAgICAgICAgICAgLyogbm8gb3V0cHV0cyAqLywK
KyAgICAgICAgICAgICAgICAgICAgICAgW3BdICJtIiAoKihjb25zdCBjaGFy
ICopKGFkZHIpKSk7CisgICAgfQorCisgICAgYWx0ZXJuYXRpdmUoIiIsICJz
ZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BUKTsKK30KKwordm9pZCBj
YWNoZV93cml0ZWJhY2soY29uc3Qgdm9pZCAqYWRkciwgdW5zaWduZWQgaW50
IHNpemUpCit7CisgICAgdW5zaWduZWQgaW50IGNsZmx1c2hfc2l6ZTsKKyAg
ICBjb25zdCB2b2lkICplbmQgPSBhZGRyICsgc2l6ZTsKKworICAgIC8qIEZh
bGwgYmFjayB0byBDTEZMVVNIeyxPUFR9IHdoZW4gQ0xXQiBpc24ndCBhdmFp
bGFibGUuICovCisgICAgaWYgKCAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJF
X0NMV0IpICkKKyAgICAgICAgcmV0dXJuIGNhY2hlX2ZsdXNoKGFkZHIsIHNp
emUpOworCisgICAgLyoKKyAgICAgKiBUaGlzIGZ1bmN0aW9uIG1heSBiZSBj
YWxsZWQgYmVmb3JlIGN1cnJlbnRfY3B1X2RhdGEgaXMgZXN0YWJsaXNoZWQu
CisgICAgICogSGVuY2UgYSBmYWxsYmFjayBpcyBuZWVkZWQgdG8gcHJldmVu
dCB0aGUgbG9vcCBiZWxvdyBiZWNvbWluZyBpbmZpbml0ZS4KKyAgICAgKi8K
KyAgICBjbGZsdXNoX3NpemUgPSBjdXJyZW50X2NwdV9kYXRhLng4Nl9jbGZs
dXNoX3NpemUgPzogMTY7CisgICAgYWRkciAtPSAodW5zaWduZWQgbG9uZylh
ZGRyICYgKGNsZmx1c2hfc2l6ZSAtIDEpOworICAgIGZvciAoIDsgYWRkciA8
IGVuZDsgYWRkciArPSBjbGZsdXNoX3NpemUgKQorICAgIHsKKy8qCisgKiBU
aGUgYXJndW1lbnRzIHRvIGEgbWFjcm8gbXVzdCBub3QgaW5jbHVkZSBwcmVw
cm9jZXNzb3IgZGlyZWN0aXZlcy4gRG9pbmcgc28KKyAqIHJlc3VsdHMgaW4g
dW5kZWZpbmVkIGJlaGF2aW9yLCBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBzb21l
IGRlZmluZXMgaGVyZSBpbgorICogb3JkZXIgdG8gYXZvaWQgaXQuCisgKi8K
KyNpZiBkZWZpbmVkKEhBVkVfQVNfQ0xXQikKKyMgZGVmaW5lIENMV0JfRU5D
T0RJTkcgImNsd2IgJVtwXSIKKyNlbGlmIGRlZmluZWQoSEFWRV9BU19YU0FW
RU9QVCkKKyMgZGVmaW5lIENMV0JfRU5DT0RJTkcgImRhdGExNiB4c2F2ZW9w
dCAlW3BdIiAvKiBjbHdiICovCisjZWxzZQorIyBkZWZpbmUgQ0xXQl9FTkNP
RElORyAiLmJ5dGUgMHg2NiwgMHgwZiwgMHhhZSwgMHgzMCIgLyogY2x3YiAo
JSVyYXgpICovCisjZW5kaWYKKworI2RlZmluZSBCQVNFX0lOUFVUKGFkZHIp
IFtwXSAibSIgKCooY29uc3QgY2hhciAqKShhZGRyKSkKKyNpZiBkZWZpbmVk
KEhBVkVfQVNfQ0xXQikgfHwgZGVmaW5lZChIQVZFX0FTX1hTQVZFT1BUKQor
IyBkZWZpbmUgSU5QVVQgQkFTRV9JTlBVVAorI2Vsc2UKKyMgZGVmaW5lIElO
UFVUKGFkZHIpICJhIiAoYWRkciksIEJBU0VfSU5QVVQoYWRkcikKKyNlbmRp
ZgorCisgICAgICAgIGFzbSB2b2xhdGlsZSAoQ0xXQl9FTkNPRElORyA6OiBJ
TlBVVChhZGRyKSk7CisKKyN1bmRlZiBJTlBVVAorI3VuZGVmIEJBU0VfSU5Q
VVQKKyN1bmRlZiBDTFdCX0VOQ09ESU5HCisgICAgfQorCisgICAgYXNtIHZv
bGF0aWxlICgic2ZlbmNlIiA6OjogIm1lbW9yeSIpOworfQpkaWZmIC0tZ2l0
IGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFu
dF90YWJsZS5jCmluZGV4IGNiYjJjZTE3YzAwMS4uNzA5NTA5ZTBmYzllIDEw
MDY0NAotLS0gYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKKysrIGIveGVu
L2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0zNDA3LDcgKzM0MDcsNyBAQCBn
bnR0YWJfc3dhcF9ncmFudF9yZWYoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShn
bnR0YWJfc3dhcF9ncmFudF9yZWZfdCkgdW9wLAogICAgIHJldHVybiAwOwog
fQogCi1zdGF0aWMgaW50IGNhY2hlX2ZsdXNoKGNvbnN0IGdudHRhYl9jYWNo
ZV9mbHVzaF90ICpjZmx1c2gsIGdyYW50X3JlZl90ICpjdXJfcmVmKQorc3Rh
dGljIGludCBfY2FjaGVfZmx1c2goY29uc3QgZ250dGFiX2NhY2hlX2ZsdXNo
X3QgKmNmbHVzaCwgZ3JhbnRfcmVmX3QgKmN1cl9yZWYpCiB7CiAgICAgc3Ry
dWN0IGRvbWFpbiAqZCwgKm93bmVyOwogICAgIHN0cnVjdCBwYWdlX2luZm8g
KnBhZ2U7CkBAIC0zNTAxLDcgKzM1MDEsNyBAQCBnbnR0YWJfY2FjaGVfZmx1
c2goWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShnbnR0YWJfY2FjaGVfZmx1c2hf
dCkgdW9wLAogICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAgICAgICAg
IGZvciAoIDsgOyApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGludCByZXQg
PSBjYWNoZV9mbHVzaCgmb3AsIGN1cl9yZWYpOworICAgICAgICAgICAgaW50
IHJldCA9IF9jYWNoZV9mbHVzaCgmb3AsIGN1cl9yZWYpOwogCiAgICAgICAg
ICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAgICAgICAgIHJldHVybiBy
ZXQ7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
ZXh0ZXJuLmggYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJu
LmgKaW5kZXggZmJlOTUxYjJmYWQwLi4zZGVmZTk2NzdmMDYgMTAwNjQ0Ci0t
LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4uaAorKysg
Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmgKQEAgLTc3
LDcgKzc3LDYgQEAgaW50IF9fbXVzdF9jaGVjayBxaW52YWxfZGV2aWNlX2lv
dGxiX3N5bmMoc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2Rl
diAqcGRldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQgYWRkcik7CiAKLXVuc2ln
bmVkIGludCBnZXRfY2FjaGVfbGluZV9zaXplKHZvaWQpOwogdm9pZCBmbHVz
aF9hbGxfY2FjaGUodm9pZCk7CiAKIHVpbnQ2NF90IGFsbG9jX3BndGFibGVf
bWFkZHIodW5zaWduZWQgbG9uZyBucGFnZXMsIG5vZGVpZF90IG5vZGUpOwpk
aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRl
eCBmMDUxYTU1NzY0YjkuLjJiZjVmMDJjMDhkZSAxMDA2NDQKLS0tIGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlIDx4ZW4vcGNpLmg+CiAjaW5jbHVkZSA8eGVuL3BjaV9y
ZWdzLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4KKyNpbmNsdWRl
IDxhc20vY2FjaGUuaD4KICNpbmNsdWRlIDxhc20vbXNpLmg+CiAjaW5jbHVk
ZSA8YXNtL25vcHMuaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CkBAIC0yMDEs
NTMgKzIwMiwxMCBAQCBzdGF0aWMgaW50IGlvbW11c19pbmNvaGVyZW50Owog
CiBzdGF0aWMgdm9pZCBzeW5jX2NhY2hlKGNvbnN0IHZvaWQgKmFkZHIsIHVu
c2lnbmVkIGludCBzaXplKQogewotICAgIHN0YXRpYyB1bnNpZ25lZCBsb25n
IGNsZmx1c2hfc2l6ZSA9IDA7Ci0gICAgY29uc3Qgdm9pZCAqZW5kID0gYWRk
ciArIHNpemU7Ci0KICAgICBpZiAoICFpb21tdXNfaW5jb2hlcmVudCApCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmICggY2xmbHVzaF9zaXplID09IDAg
KQotICAgICAgICBjbGZsdXNoX3NpemUgPSBnZXRfY2FjaGVfbGluZV9zaXpl
KCk7Ci0KLSAgICBhZGRyIC09ICh1bnNpZ25lZCBsb25nKWFkZHIgJiAoY2xm
bHVzaF9zaXplIC0gMSk7Ci0gICAgZm9yICggOyBhZGRyIDwgZW5kOyBhZGRy
ICs9IGNsZmx1c2hfc2l6ZSApCi0vKgotICogVGhlIGFyZ3VtZW50cyB0byBh
IG1hY3JvIG11c3Qgbm90IGluY2x1ZGUgcHJlcHJvY2Vzc29yIGRpcmVjdGl2
ZXMuIERvaW5nIHNvCi0gKiByZXN1bHRzIGluIHVuZGVmaW5lZCBiZWhhdmlv
ciwgc28gd2UgaGF2ZSB0byBjcmVhdGUgc29tZSBkZWZpbmVzIGhlcmUgaW4K
LSAqIG9yZGVyIHRvIGF2b2lkIGl0LgotICovCi0jaWYgZGVmaW5lZChIQVZF
X0FTX0NMV0IpCi0jIGRlZmluZSBDTFdCX0VOQ09ESU5HICJjbHdiICVbcF0i
Ci0jZWxpZiBkZWZpbmVkKEhBVkVfQVNfWFNBVkVPUFQpCi0jIGRlZmluZSBD
TFdCX0VOQ09ESU5HICJkYXRhMTYgeHNhdmVvcHQgJVtwXSIgLyogY2x3YiAq
LwotI2Vsc2UKLSMgZGVmaW5lIENMV0JfRU5DT0RJTkcgIi5ieXRlIDB4NjYs
IDB4MGYsIDB4YWUsIDB4MzAiIC8qIGNsd2IgKCUlcmF4KSAqLwotI2VuZGlm
Ci0KLSNkZWZpbmUgQkFTRV9JTlBVVChhZGRyKSBbcF0gIm0iICgqKGNvbnN0
IGNoYXIgKikoYWRkcikpCi0jaWYgZGVmaW5lZChIQVZFX0FTX0NMV0IpIHx8
IGRlZmluZWQoSEFWRV9BU19YU0FWRU9QVCkKLSMgZGVmaW5lIElOUFVUIEJB
U0VfSU5QVVQKLSNlbHNlCi0jIGRlZmluZSBJTlBVVChhZGRyKSAiYSIgKGFk
ZHIpLCBCQVNFX0lOUFVUKGFkZHIpCi0jZW5kaWYKLSAgICAgICAgLyoKLSAg
ICAgICAgICogTm90ZSByZWdhcmRpbmcgdGhlIHVzZSBvZiBOT1BfRFNfUFJF
RklYOiBpdCdzIGZhc3RlciB0byBkbyBhIGNsZmx1c2gKLSAgICAgICAgICog
KyBwcmVmaXggdGhhbiBhIGNsZmx1c2ggKyBub3AsIGFuZCBoZW5jZSB0aGUg
cHJlZml4IGlzIGFkZGVkIGluc3RlYWQKLSAgICAgICAgICogb2YgbGV0dGlu
ZyB0aGUgYWx0ZXJuYXRpdmUgZnJhbWV3b3JrIGZpbGwgdGhlIGdhcCBieSBh
cHBlbmRpbmcgbm9wcy4KLSAgICAgICAgICovCi0gICAgICAgIGFsdGVybmF0
aXZlX2lvXzIoIi5ieXRlICIgX19zdHJpbmdpZnkoTk9QX0RTX1BSRUZJWCkg
IjsgY2xmbHVzaCAlW3BdIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAi
ZGF0YTE2IGNsZmx1c2ggJVtwXSIsIC8qIGNsZmx1c2hvcHQgKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICBYODZfRkVBVFVSRV9DTEZMVVNIT1BULAot
ICAgICAgICAgICAgICAgICAgICAgICAgIENMV0JfRU5DT0RJTkcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgWDg2X0ZFQVRVUkVfQ0xXQiwgLyogbm8g
b3V0cHV0cyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICBJTlBVVChh
ZGRyKSk7Ci0jdW5kZWYgSU5QVVQKLSN1bmRlZiBCQVNFX0lOUFVUCi0jdW5k
ZWYgQ0xXQl9FTkNPRElORwotCi0gICAgYWx0ZXJuYXRpdmVfMigiIiwgInNm
ZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAg
ICAgICAgICAgInNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMV0IpOworICAgIGNh
Y2hlX3dyaXRlYmFjayhhZGRyLCBzaXplKTsKIH0KIAogLyogQWxsb2NhdGUg
cGFnZSB0YWJsZSwgcmV0dXJuIGl0cyBtYWNoaW5lIGFkZHJlc3MgKi8KZGlm
ZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvdnRk
LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L3Z0ZC5jCmlu
ZGV4IDIyOTkzOGYzYTgxMi4uMmExOGI3NmU4MDBkIDEwMDY0NAotLS0gYS94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L3Z0ZC5jCisrKyBiL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvdnRkLmMKQEAgLTQ2LDEx
ICs0Niw2IEBAIHZvaWQgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHZvaWQgKnZh
KQogICAgIHVubWFwX2RvbWFpbl9wYWdlKHZhKTsKIH0KIAotdW5zaWduZWQg
aW50IGdldF9jYWNoZV9saW5lX3NpemUodm9pZCkKLXsKLSAgICByZXR1cm4g
KChjcHVpZF9lYngoMSkgPj4gOCkgJiAweGZmKSAqIDg7Ci19Ci0KIHZvaWQg
Zmx1c2hfYWxsX2NhY2hlKCkKIHsKICAgICB3YmludmQoKTsKZGlmZiAtLWdp
dCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY2FjaGUuaCBiL3hlbi9pbmNsdWRl
L2FzbS14ODYvY2FjaGUuaAppbmRleCAxZjcxNzNkOGM3MmMuLmU0NzcwZWZi
MjJiOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jYWNoZS5o
CisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY2FjaGUuaApAQCAtMTEsNCAr
MTEsMTEgQEAKIAogI2RlZmluZSBfX3JlYWRfbW9zdGx5IF9fc2VjdGlvbigi
LmRhdGEucmVhZF9tb3N0bHkiKQogCisjaWZuZGVmIF9fQVNTRU1CTFlfXwor
Cit2b2lkIGNhY2hlX2ZsdXNoKGNvbnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVk
IGludCBzaXplKTsKK3ZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKTsKKworI2VuZGlmCisKICNlbmRp
Zgo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.13-4.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.13-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L2FtZDogV29yayBhcm91bmQgQ0xGTFVTSCBvcmRl
cmluZyBvbiBvbGRlciBwYXJ0cwoKT24gcHJlLUNMRkxVU0hPUFQgQU1EIENQ
VXMsIENMRkxVU0ggaXMgd2Vha2VseSBvcmRlcmVkIHdpdGggZXZlcnl0aGlu
ZywKaW5jbHVkaW5nIHJlYWRzIGFuZCB3cml0ZXMgdG8gdGhlIGFkZHJlc3Ms
IGFuZCBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KClRoaXMgY3JlYXRl
cyBhIG11bHRpdHVkZSBvZiBwcm9ibGVtYXRpYyBjb3JuZXIgY2FzZXMsIGxh
aWQgb3V0IGluIHRoZSBtYW51YWwuCkFycmFuZ2UgdG8gdXNlIE1GRU5DRSBv
biBib3RoIHNpZGVzIG9mIHRoZSBDTEZMVVNIIHRvIGZvcmNlIHByb3BlciBv
cmRlcmluZy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9m
Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIveGVu
L2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCBiNzdmYTE5Mjk3MzMuLmFhMWI5
ZDBkZGE2YiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYwor
KysgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCkBAIC02MzksNiArNjM5LDE0
IEBAIHN0YXRpYyB2b2lkIGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAq
YykKIAlpZiAoIWNwdV9oYXNfbGZlbmNlX2Rpc3BhdGNoKQogCQlfX3NldF9i
aXQoWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDLCBjLT54ODZfY2FwYWJpbGl0
eSk7CiAKKwkvKgorCSAqIE9uIHByZS1DTEZMVVNIT1BUIEFNRCBDUFVzLCBD
TEZMVVNIIGlzIHdlYWtseSBvcmRlcmVkIHdpdGgKKwkgKiBldmVyeXRoaW5n
LCBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRlcyB0byBhZGRyZXNzLCBhbmQK
KwkgKiBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KKwkgKi8KKwlpZiAo
IWNwdV9oYXNfY2xmbHVzaG9wdCkKKwkJc2V0dXBfZm9yY2VfY3B1X2NhcChY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFKTsKKwogCXN3aXRjaChjLT54ODYpCiAJ
ewogCWNhc2UgMHhmIC4uLiAweDExOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwppbmRl
eCA4NTY4NDkxYzdlYTkuLjZmM2Y1YWIxYTNjNCAxMDA2NDQKLS0tIGEveGVu
L2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gveDg2L2ZsdXNo
dGxiLmMKQEAgLTI0OSw2ICsyNDksMTMgQEAgdW5zaWduZWQgaW50IGZsdXNo
X2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFn
cykKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKKy8qCisgKiBPbiBwcmUtQ0xG
TFVTSE9QVCBBTUQgQ1BVcywgQ0xGTFVTSCBpcyB3ZWFrbHkgb3JkZXJlZCB3
aXRoIGV2ZXJ5dGhpbmcsCisgKiBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRl
cyB0byBhZGRyZXNzLCBhbmQgTEZFTkNFL1NGRU5DRSBpbnN0cnVjdGlvbnMu
CisgKgorICogVGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIHNhZmVseSBhZnRl
ciBhbHRlcm5hdGl2ZXMgaGF2ZSBydW4uICBMdWNraWx5LCBhdAorICogdGhl
IHRpbWUgb2Ygd3JpdGluZywgd2UgZG9uJ3QgZmx1c2ggdGhlIGNhY2hlcyB0
aGF0IGVhcmx5LgorICovCiB2b2lkIGNhY2hlX2ZsdXNoKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogewogICAgIC8qCkBAIC0yNTgs
NiArMjY1LDggQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRy
LCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICB1bnNpZ25lZCBpbnQgY2xmbHVz
aF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVzaF9zaXplID86
IDE2OwogICAgIGNvbnN0IHZvaWQgKmVuZCA9IGFkZHIgKyBzaXplOwogCisg
ICAgYWx0ZXJuYXRpdmUoIiIsICJtZmVuY2UiLCBYODZfQlVHX0NMRkxVU0hf
TUZFTkNFKTsKKwogICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRkciAm
IChjbGZsdXNoX3NpemUgLSAxKTsKICAgICBmb3IgKCA7IGFkZHIgPCBlbmQ7
IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKICAgICB7CkBAIC0yNzMsNyArMjgy
LDkgQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRyLCB1bnNp
Z25lZCBpbnQgc2l6ZSkKICAgICAgICAgICAgICAgICAgICAgICAgW3BdICJt
IiAoKihjb25zdCBjaGFyICopKGFkZHIpKSk7CiAgICAgfQogCi0gICAgYWx0
ZXJuYXRpdmUoIiIsICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BU
KTsKKyAgICBhbHRlcm5hdGl2ZV8yKCIiLAorICAgICAgICAgICAgICAgICAg
InNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCisgICAgICAgICAg
ICAgICAgICAibWZlbmNlIiwgWDg2X0JVR19DTEZMVVNIX01GRU5DRSk7CiB9
CiAKIHZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVu
c2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9jcHVmZWF0dXJlcy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVm
ZWF0dXJlcy5oCmluZGV4IGI5ZDNjYWM5NzUzOC4uYTgyMjJlOTc4Y2Q5IDEw
MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCkBAIC00
NCw2ICs0NCw3IEBAIFhFTl9DUFVGRUFUVVJFKFNDX1ZFUldfSURMRSwgICAg
ICBYODZfU1lOVEgoMjUpKSAvKiBWRVJXIHVzZWQgYnkgWGVuIGZvciBpZGxl
ICovCiAjZGVmaW5lIFg4Nl9CVUcoeCkgKChGU0NBUElOVFMgKyBYODZfTlJf
U1lOVEgpICogMzIgKyAoeCkpCiAKICNkZWZpbmUgWDg2X0JVR19GUFVfUFRS
UyAgICAgICAgICBYODZfQlVHKCAwKSAvKiAoRilYe1NBVkUsUlNUT1J9IGRv
ZXNuJ3Qgc2F2ZS9yZXN0b3JlIEZPUC9GSVAvRkRQLiAqLworI2RlZmluZSBY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFICAgIFg4Nl9CVUcoIDIpIC8qIE1GRU5D
RSBuZWVkZWQgdG8gc2VyaWFsaXNlIENMRkxVU0ggKi8KIAogLyogVG90YWwg
bnVtYmVyIG9mIGNhcGFiaWxpdHkgd29yZHMsIGluYyBzeW50aCBhbmQgYnVn
IHdvcmRzLiAqLwogI2RlZmluZSBOQ0FQSU5UUyAoRlNDQVBJTlRTICsgWDg2
X05SX1NZTlRIICsgWDg2X05SX0JVRykgLyogTiAzMi1iaXQgd29yZHMgd29y
dGggb2YgaW5mbyAqLwo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.13-5.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.13-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBUcmFjayBhbmQgZmx1c2ggbm9uLWNvaGVy
ZW50IG1hcHBpbmdzIG9mIFJBTQoKVGhlcmUgYXJlIGxlZ2l0aW1hdGUgdXNl
cyBvZiBXQyBtYXBwaW5ncyBvZiBSQU0sIGUuZy4gZm9yIERNQSBidWZmZXJz
IHdpdGgKZGV2aWNlcyB0aGF0IG1ha2Ugbm9uLWNvaGVyZW50IHdyaXRlcy4g
IFRoZSBMaW51eCBzb3VuZCBzdWJzeXN0ZW0gbWFrZXMKZXh0ZW5zaXZlIHVz
ZSBvZiB0aGlzIHRlY2huaXF1ZS4KCkZvciBzdWNoIHVzZWNhc2VzLCB0aGUg
Z3Vlc3QncyBETUEgYnVmZmVyIGlzIG1hcHBlZCBhbmQgY29uc2lzdGVudGx5
IHVzZWQgYXMKV0MsIGFuZCBYZW4gZG9lc24ndCBpbnRlcmFjdCB3aXRoIHRo
ZSBidWZmZXIuCgpIb3dldmVyLCBhIG1pc2NoZXZpb3VzIGd1ZXN0IGNhbiB1
c2UgV0MgbWFwcGluZ3MgdG8gZGVsaWJlcmF0ZWx5IGNyZWF0ZQpub24tY29o
ZXJlbmN5IGJldHdlZW4gdGhlIGNhY2hlIGFuZCBSQU0sIGFuZCB1c2UgdGhp
cyB0byB0cmljayBYZW4gaW50bwp2YWxpZGF0aW5nIGEgcGFnZXRhYmxlIHdo
aWNoIGlzbid0IGFjdHVhbGx5IHNhZmUuCgpBbGxvY2F0ZSBhIG5ldyBQR1Rf
bm9uX2NvaGVyZW50IHRvIHRyYWNrIHRoZSBub24tY29oZXJlbmN5IG9mIG1h
cHBpbmdzLiAgU2V0Cml0IHdoZW5ldmVyIGEgbm9uLWNvaGVyZW50IHdyaXRl
YWJsZSBtYXBwaW5nIGlzIGNyZWF0ZWQuICBJZiB0aGUgcGFnZSBpcyB1c2Vk
CmFzIGFueXRoaW5nIG90aGVyIHRoYW4gUEdUX3dyaXRhYmxlX3BhZ2UsIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlCnZhbGlkYXRpb24uICBBbHNvIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlIHRoZSBwYWdlIGlzIHJldHVybmVk
IHRvIHRoZSBoZWFwLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2NCwgcGFydCBv
ZiBYU0EtNDAyLgoKUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8amFubmhAZ29v
Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5s
YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDg1
OTY0NmI2NzBhOC4uZjVlZWRkY2U1ODY3IDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtMTAwMCw2
ICsxMDAwLDE1IEBAIGdldF9wYWdlX2Zyb21fbDFlKAogICAgICAgICByZXR1
cm4gLUVBQ0NFUzsKICAgICB9CiAKKyAgICAvKgorICAgICAqIFRyYWNrIHdy
aXRlYWJsZSBub24tY29oZXJlbnQgbWFwcGluZ3MgdG8gUkFNIHBhZ2VzLCB0
byB0cmlnZ2VyIGEgY2FjaGUKKyAgICAgKiBmbHVzaCBsYXRlciBpZiB0aGUg
dGFyZ2V0IGlzIHVzZWQgYXMgYW55dGhpbmcgYnV0IGEgUEdUX3dyaXRlYWJs
ZSBwYWdlLgorICAgICAqIFdlIGNhcmUgYWJvdXQgYWxsIHdyaXRlYWJsZSBt
YXBwaW5ncywgaW5jbHVkaW5nIGZvcmVpZ24gbWFwcGluZ3MuCisgICAgICov
CisgICAgaWYgKCAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hFTl9TRUxG
U05PT1ApICYmCisgICAgICAgICAobDFmICYgKFBBR0VfQ0FDSEVfQVRUUlMg
fCBfUEFHRV9SVykpID09IChfUEFHRV9XQyB8IF9QQUdFX1JXKSApCisgICAg
ICAgIHNldF9iaXQoX1BHVF9ub25fY29oZXJlbnQsICZwYWdlLT51LmludXNl
LnR5cGVfaW5mbyk7CisKICAgICByZXR1cm4gMDsKIAogIGNvdWxkX25vdF9w
aW46CkBAIC0yNTMyLDYgKzI1NDEsMTkgQEAgc3RhdGljIGludCBjbGVhbnVw
X3BhZ2VfbWFwcGluZ3Moc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKICAgICAg
ICAgfQogICAgIH0KIAorICAgIC8qCisgICAgICogRmx1c2ggdGhlIGNhY2hl
IGlmIHRoZXJlIHdlcmUgcHJldmlvdXNseSBub24tY29oZXJlbnQgd3JpdGVh
YmxlCisgICAgICogbWFwcGluZ3Mgb2YgdGhpcyBwYWdlLiAgVGhpcyBmb3Jj
ZXMgdGhlIHBhZ2UgdG8gYmUgY29oZXJlbnQgYmVmb3JlIGl0CisgICAgICog
aXMgZnJlZWQgYmFjayB0byB0aGUgaGVhcC4KKyAgICAgKi8KKyAgICBpZiAo
IF9fdGVzdF9hbmRfY2xlYXJfYml0KF9QR1Rfbm9uX2NvaGVyZW50LCAmcGFn
ZS0+dS5pbnVzZS50eXBlX2luZm8pICkKKyAgICB7CisgICAgICAgIHZvaWQg
KmFkZHIgPSBfX21hcF9kb21haW5fcGFnZShwYWdlKTsKKworICAgICAgICBj
YWNoZV9mbHVzaChhZGRyLCBQQUdFX1NJWkUpOworICAgICAgICB1bm1hcF9k
b21haW5fcGFnZShhZGRyKTsKKyAgICB9CisKICAgICByZXR1cm4gcmM7CiB9
CiAKQEAgLTMwOTAsNiArMzExMiwyMiBAQCBzdGF0aWMgaW50IF9nZXRfcGFn
ZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2lnbmVkIGxvbmcg
dHlwZSwKICAgICBpZiAoIHVubGlrZWx5KCEobnggJiBQR1RfdmFsaWRhdGVk
KSkgKQogICAgIHsKICAgICAgICAgLyoKKyAgICAgICAgICogRmx1c2ggdGhl
IGNhY2hlIGlmIHRoZXJlIHdlcmUgcHJldmlvdXNseSBub24tY29oZXJlbnQg
bWFwcGluZ3Mgb2YKKyAgICAgICAgICogdGhpcyBwYWdlLCBhbmQgd2UncmUg
dHJ5aW5nIHRvIHVzZSBpdCBhcyBhbnl0aGluZyBvdGhlciB0aGFuIGEKKyAg
ICAgICAgICogd3JpdGVhYmxlIHBhZ2UuICBUaGlzIGZvcmNlcyB0aGUgcGFn
ZSB0byBiZSBjb2hlcmVudCBiZWZvcmUgd2UKKyAgICAgICAgICogdmFsaWRh
dGUgaXRzIGNvbnRlbnRzIGZvciBzYWZldHkuCisgICAgICAgICAqLworICAg
ICAgICBpZiAoIChueCAmIFBHVF9ub25fY29oZXJlbnQpICYmIHR5cGUgIT0g
UEdUX3dyaXRhYmxlX3BhZ2UgKQorICAgICAgICB7CisgICAgICAgICAgICB2
b2lkICphZGRyID0gX19tYXBfZG9tYWluX3BhZ2UocGFnZSk7CisKKyAgICAg
ICAgICAgIGNhY2hlX2ZsdXNoKGFkZHIsIFBBR0VfU0laRSk7CisgICAgICAg
ICAgICB1bm1hcF9kb21haW5fcGFnZShhZGRyKTsKKworICAgICAgICAgICAg
cGFnZS0+dS5pbnVzZS50eXBlX2luZm8gJj0gflBHVF9ub25fY29oZXJlbnQ7
CisgICAgICAgIH0KKworICAgICAgICAvKgogICAgICAgICAgKiBObyBzcGVj
aWFsIHZhbGlkYXRpb24gbmVlZGVkIGZvciB3cml0YWJsZSBvciBzaGFyZWQg
cGFnZXMuICBQYWdlCiAgICAgICAgICAqIHRhYmxlcyBhbmQgR0RUL0xEVCBu
ZWVkIHRvIGhhdmUgdGhlaXIgY29udGVudHMgYXVkaXRlZC4KICAgICAgICAg
ICoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9ncmFudF90YWJsZS5j
IGIveGVuL2FyY2gveDg2L3B2L2dyYW50X3RhYmxlLmMKaW5kZXggMDMyNTYx
OGM5ODgzLi44MWM3MmU2MWVkNTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4
Ni9wdi9ncmFudF90YWJsZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9ncmFu
dF90YWJsZS5jCkBAIC0xMDksNyArMTA5LDE3IEBAIGludCBjcmVhdGVfZ3Jh
bnRfcHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCBtZm5fdCBmcmFtZSwKIAog
ICAgIG9sMWUgPSAqcGwxZTsKICAgICBpZiAoIFVQREFURV9FTlRSWShsMSwg
cGwxZSwgb2wxZSwgbmwxZSwgZ2wxbWZuLCBjdXJyLCAwKSApCisgICAgewor
ICAgICAgICAvKgorICAgICAgICAgKiBXZSBhbHdheXMgY3JlYXRlIG1hcHBp
bmdzIGluIHRoaXMgcGF0aC4gIEhvd2V2ZXIsIG91ciBjYWxsZXIsCisgICAg
ICAgICAqIG1hcF9ncmFudF9yZWYoKSwgb25seSBwYXNzZXMgcG90ZW50aWFs
bHkgbm9uLXplcm8gY2FjaGVfZmxhZ3MgZm9yCisgICAgICAgICAqIE1NSU8g
ZnJhbWVzLCBzbyB0aGlzIHBhdGggZG9lc24ndCBjcmVhdGUgbm9uLWNvaGVy
ZW50IG1hcHBpbmdzIG9mCisgICAgICAgICAqIFJBTSBmcmFtZXMgYW5kIHRo
ZXJlJ3Mgbm8gbmVlZCB0byBjYWxjdWxhdGUgUEdUX25vbl9jb2hlcmVudC4K
KyAgICAgICAgICovCisgICAgICAgIEFTU0VSVCghY2FjaGVfZmxhZ3MgfHwg
aXNfaW9tZW1fcGFnZShmcmFtZSkpOworCiAgICAgICAgIHJjID0gR05UU1Rf
b2theTsKKyAgICB9CiAKICBvdXRfdW5sb2NrOgogICAgIHBhZ2VfdW5sb2Nr
KHBhZ2UpOwpAQCAtMjk0LDcgKzMwNCwxOCBAQCBpbnQgcmVwbGFjZV9ncmFu
dF9wdl9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIG1mbl90IGZyYW1lLAogICAg
ICAgICAgICAgICAgICBsMWVfZ2V0X2ZsYWdzKG9sMWUpLCBhZGRyLCBncmFu
dF9wdGVfZmxhZ3MpOwogCiAgICAgaWYgKCBVUERBVEVfRU5UUlkobDEsIHBs
MWUsIG9sMWUsIG5sMWUsIGdsMW1mbiwgY3VyciwgMCkgKQorICAgIHsKKyAg
ICAgICAgLyoKKyAgICAgICAgICogR2VuZXJhbGx5LCByZXBsYWNlX2dyYW50
X3B2X21hcHBpbmcoKSBpcyB1c2VkIHRvIGRlc3Ryb3kgbWFwcGluZ3MKKyAg
ICAgICAgICogKG4xbGUgPSBsMWVfZW1wdHkoKSksIGJ1dCBpdCBjYW4gYmUg
YSBwcmVzZW50IG1hcHBpbmcgb24gdGhlCisgICAgICAgICAqIEdOVEFCT1Bf
dW5tYXBfYW5kX3JlcGxhY2UgcGF0aC4KKyAgICAgICAgICoKKyAgICAgICAg
ICogSW4gc3VjaCBjYXNlcywgdGhlIFBURSBpcyBmdWxseSB0cmFuc3BsYW50
ZWQgZnJvbSBpdHMgb2xkIGxvY2F0aW9uCisgICAgICAgICAqIHZpYSBzdGVh
bF9saW5lYXJfYWRkcigpLCBzbyB3ZSBuZWVkIG5vdCBwZXJmb3JtIFBHVF9u
b25fY29oZXJlbnQKKyAgICAgICAgICogY2hlY2tpbmcgaGVyZS4KKyAgICAg
ICAgICovCiAgICAgICAgIHJjID0gR05UU1Rfb2theTsKKyAgICB9CiAKICBv
dXRfdW5sb2NrOgogICAgIHBhZ2VfdW5sb2NrKHBhZ2UpOwpkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIGIveGVuL2luY2x1ZGUvYXNt
LXg4Ni9tbS5oCmluZGV4IGRiMDk4NDlmNzNmOC4uODJkMGZkNjEwNGEyIDEw
MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9tbS5oCkBAIC00OCw4ICs0OCwxMiBAQAogI2Rl
ZmluZSBfUEdUX3BhcnRpYWwgICAgICBQR19zaGlmdCg4KQogI2RlZmluZSBQ
R1RfcGFydGlhbCAgICAgICBQR19tYXNrKDEsIDgpCiAKKy8qIEhhcyB0aGlz
IHBhZ2UgYmVlbiBtYXBwZWQgd3JpdGVhYmxlIHdpdGggYSBub24tY29oZXJl
bnQgbWVtb3J5IHR5cGU/ICovCisjZGVmaW5lIF9QR1Rfbm9uX2NvaGVyZW50
IFBHX3NoaWZ0KDkpCisjZGVmaW5lIFBHVF9ub25fY29oZXJlbnQgIFBHX21h
c2soMSwgOSkKKwogIC8qIENvdW50IG9mIHVzZXMgb2YgdGhpcyBmcmFtZSBh
cyBpdHMgY3VycmVudCB0eXBlLiAqLwotI2RlZmluZSBQR1RfY291bnRfd2lk
dGggICBQR19zaGlmdCg4KQorI2RlZmluZSBQR1RfY291bnRfd2lkdGggICBQ
R19zaGlmdCg5KQogI2RlZmluZSBQR1RfY291bnRfbWFzayAgICAoKDFVTDw8
UEdUX2NvdW50X3dpZHRoKS0xKQogCiAvKiBBcmUgdGhlICd0eXBlIG1hc2sn
IGJpdHMgaWRlbnRpY2FsPyAqLwo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.14-1.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.14-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3BhZ2U6IEludHJvZHVjZSBfUEFHRV8qIGNvbnN0
YW50cyBmb3IgbWVtb3J5IHR5cGVzCgouLi4gcmF0aGVyIHRoYW4gb3BlbmNv
ZGluZyB0aGUgUEFUL1BDRC9QV1QgYXR0cmlidXRlcyBpbiBfX1BBR0VfSFlQ
RVJWSVNPUl8qCmNvbnN0YW50cy4gIFRoZXNlIGFyZSBnb2luZyB0byBiZSBu
ZWVkZWQgYnkgZm9ydGhjb21pbmcgbG9naWMuCgpObyBmdW5jdGlvbmFsIGNo
YW5nZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCmluZGV4IGY2MzJhZmZhZWY2OC4u
NTI1NTE1MzVhOTkxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2
L3BhZ2UuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaApAQCAt
MzQ0LDYgKzM0NCwxNCBAQCB2b2lkIGVmaV91cGRhdGVfbDRfcGd0YWJsZSh1
bnNpZ25lZCBpbnQgbDRpZHgsIGw0X3BnZW50cnlfdCk7CiAKICNkZWZpbmUg
UEFHRV9DQUNIRV9BVFRSUyAoX1BBR0VfUEFUIHwgX1BBR0VfUENEIHwgX1BB
R0VfUFdUKQogCisvKiBNZW1vcnkgdHlwZXMsIGVuY29kZWQgdW5kZXIgWGVu
J3MgY2hvaWNlIG9mIE1TUl9QQVQuICovCisjZGVmaW5lIF9QQUdFX1dCICAg
ICAgICAgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkKKyNk
ZWZpbmUgX1BBR0VfV1QgICAgICAgICAoICAgICAgICAgICAgICAgICAgICAg
ICAgX1BBR0VfUFdUKQorI2RlZmluZSBfUEFHRV9VQ00gICAgICAgICggICAg
ICAgICAgICBfUEFHRV9QQ0QgICAgICAgICAgICApCisjZGVmaW5lIF9QQUdF
X1VDICAgICAgICAgKCAgICAgICAgICAgIF9QQUdFX1BDRCB8IF9QQUdFX1BX
VCkKKyNkZWZpbmUgX1BBR0VfV0MgICAgICAgICAoX1BBR0VfUEFUICAgICAg
ICAgICAgICAgICAgICAgICAgKQorI2RlZmluZSBfUEFHRV9XUCAgICAgICAg
IChfUEFHRV9QQVQgfCAgICAgICAgICAgICBfUEFHRV9QV1QpCisKIC8qCiAg
KiBEZWJ1ZyBvcHRpb246IEVuc3VyZSB0aGF0IGdyYW50ZWQgbWFwcGluZ3Mg
YXJlIG5vdCBpbXBsaWNpdGx5IHVubWFwcGVkLgogICogV0FSTklORzogVGhp
cyB3aWxsIG5lZWQgdG8gYmUgZGlzYWJsZWQgdG8gcnVuIE9TZXMgdGhhdCB1
c2UgdGhlIHNwYXJlIFBURQpAQCAtMzYyLDggKzM3MCw4IEBAIHZvaWQgZWZp
X3VwZGF0ZV9sNF9wZ3RhYmxlKHVuc2lnbmVkIGludCBsNGlkeCwgbDRfcGdl
bnRyeV90KTsKICNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfUlggICAgICAo
X1BBR0VfUFJFU0VOVCB8IF9QQUdFX0FDQ0VTU0VEKQogI2RlZmluZSBfX1BB
R0VfSFlQRVJWSVNPUiAgICAgICAgIChfX1BBR0VfSFlQRVJWSVNPUl9SWCB8
IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1BBR0Vf
RElSVFkgfCBfUEFHRV9SVykKLSNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1Jf
VUNNSU5VUyAoX19QQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QQ0QpCi0jZGVm
aW5lIF9fUEFHRV9IWVBFUlZJU09SX1VDICAgICAgKF9fUEFHRV9IWVBFUlZJ
U09SIHwgX1BBR0VfUENEIHwgX1BBR0VfUFdUKQorI2RlZmluZSBfX1BBR0Vf
SFlQRVJWSVNPUl9VQ01JTlVTIChfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdF
X1VDTSkKKyNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfVUMgICAgICAoX19Q
QUdFX0hZUEVSVklTT1IgfCBfUEFHRV9VQykKICNkZWZpbmUgX19QQUdFX0hZ
UEVSVklTT1JfU0hTVEsgICAoX19QQUdFX0hZUEVSVklTT1JfUk8gfCBfUEFH
RV9ESVJUWSkKIAogI2RlZmluZSBNQVBfU01BTExfUEFHRVMgX1BBR0VfQVZB
SUwwIC8qIGRvbid0IHVzZSBzdXBlcnBhZ2VzIG1hcHBpbmdzICovCg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.14-2.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.14-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBEb24ndCBjaGFuZ2UgdGhlIGNhY2hlYWJpbGl0
eSBvZiB0aGUgZGlyZWN0bWFwCgpDaGFuZ2VzZXQgNTVmOTdmNDliN2NlICgi
eDg2OiBDaGFuZ2UgY2FjaGUgYXR0cmlidXRlcyBvZiBYZW4gMToxIHBhZ2Ug
bWFwcGluZ3MKaW4gcmVzcG9uc2UgdG8gZ3Vlc3QgbWFwcGluZyByZXF1ZXN0
cyIpIGF0dGVtcHRlZCB0byBrZWVwIHRoZSBjYWNoZWFiaWxpdHkKY29uc2lz
dGVudCBiZXR3ZWVuIGRpZmZlcmVudCBtYXBwaW5ncyBvZiB0aGUgc2FtZSBw
YWdlLgoKVGhlIHJlYXNvbiB3YXNuJ3QgZGVzY3JpYmVkIGluIHRoZSBjaGFu
Z2Vsb2csIGJ1dCBpdCBpcyB1bmRlcnN0b29kIHRvIGJlIGluCnJlZ2FyZHMg
dG8gYSBjb25jZXJuIG92ZXIgbWFjaGluZSBjaGVjayBleGNlcHRpb25zLCBv
d2luZyB0byBlcnJhdGEgd2hlbiB1c2luZwptaXhlZCBjYWNoZWFiaWxpdGll
cy4gIEl0IGRpZCB0aGlzIHByaW1hcmlseSBieSB1cGRhdGluZyBYZW4ncyBt
YXBwaW5nIG9mIHRoZQpwYWdlIGluIHRoZSBkaXJlY3QgbWFwIHdoZW4gdGhl
IGd1ZXN0IG1hcHBlZCBhIHBhZ2Ugd2l0aCByZWR1Y2VkIGNhY2hlYWJpbGl0
eS4KClVuZm9ydHVuYXRlbHksIHRoZSBsb2dpYyBkaWRuJ3QgYWN0dWFsbHkg
cHJldmVudCBtaXhlZCBjYWNoZWFiaWxpdHkgZnJvbQpvY2N1cnJpbmc6CiAq
IEEgZ3Vlc3QgY291bGQgbWFwIGEgcGFnZSBub3JtYWxseSwgYW5kIHRoZW4g
bWFwIHRoZSBzYW1lIHBhZ2Ugd2l0aAogICBkaWZmZXJlbnQgY2FjaGVhYmls
aXR5OyBub3RoaW5nIHByZXZlbnRlZCB0aGlzLgogKiBUaGUgY2FjaGVhYmls
aXR5IG9mIHRoZSBkaXJlY3RtYXAgd2FzIGFsd2F5cyBsYXRlc3QtdGFrZXMt
cHJlY2VkZW5jZSBpbgogICB0ZXJtcyBvZiBndWVzdCByZXF1ZXN0cy4KICog
R3JhbnQtbWFwcGVkIGZyYW1lcyB3aXRoIGxlc3NlciBjYWNoZWFiaWxpdHkg
ZGlkbid0IGFkanVzdCB0aGUgcGFnZSdzCiAgIGNhY2hlYXR0ciBzZXR0aW5n
cy4KICogVGhlIG1hcF9kb21haW5fcGFnZSgpIGZ1bmN0aW9uIHN0aWxsIHVu
Y29uZGl0aW9uYWxseSBjcmVhdGVkIFdCIG1hcHBpbmdzLAogICBpcnJlc3Bl
Y3RpdmUgb2YgdGhlIHBhZ2UncyBjYWNoZWF0dHIgc2V0dGluZ3MuCgpBZGRp
dGlvbmFsbHksIHVwZGF0ZV94ZW5fbWFwcGluZ3MoKSBoYWQgYSBidWcgd2hl
cmUgdGhlIGFsaWFzIGNhbGN1bGF0aW9uIHdhcwp3cm9uZyBmb3IgbWZuJ3Mg
d2hpY2ggd2VyZSAuaW5pdCBjb250ZW50LCB3aGljaCBzaG91bGQgaGF2ZSBi
ZWVuIHRyZWF0ZWQgYXMKZnVsbHkgZ3Vlc3QgcGFnZXMsIG5vdCBYZW4gcGFn
ZXMuCgpXb3JzZSB5ZXQsIHRoZSBsb2dpYyBpbnRyb2R1Y2VkIGEgdnVsbmVy
YWJpbGl0eSB3aGVyZWJ5IG5lY2Vzc2FyeQpwYWdldGFibGUvc2VnZGVzYyBh
ZGp1c3RtZW50cyBtYWRlIGJ5IFhlbiBpbiB0aGUgdmFsaWRhdGlvbiBsb2dp
YyBjb3VsZCBiZWNvbWUKbm9uLWNvaGVyZW50IGJldHdlZW4gdGhlIGNhY2hl
IGFuZCBtYWluIG1lbW9yeS4gIFRoZSBDUFUgY291bGQgc3Vic2VxdWVudGx5
Cm9wZXJhdGUgb24gdGhlIHN0YWxlIHZhbHVlIGluIHRoZSBjYWNoZSwgcmF0
aGVyIHRoYW4gdGhlIHNhZmUgdmFsdWUgaW4gbWFpbgptZW1vcnkuCgpUaGUg
ZGlyZWN0bWFwIGNvbnRhaW5zIHByaW1hcmlseSBtYXBwaW5ncyBvZiBSQU0u
ICBQQVQvTVRSUiBjb25mbGljdApyZXNvbHV0aW9uIGlzIGFzeW1tZXRyaWMs
IGFuZCBnZW5lcmFsbHkgZm9yIE1UUlI9V0IgcmFuZ2VzLCBQQVQgb2YgbGVz
c2VyCmNhY2hlYWJpbGl0eSByZXNvbHZlcyB0byBiZWluZyBjb2hlcmVudC4g
IFRoZSBzcGVjaWFsIGNhc2UgaXMgV0MgbWFwcGluZ3MsCndoaWNoIGFyZSBu
b24tY29oZXJlbnQgYWdhaW5zdCBNVFJSPVdCIHJlZ2lvbnMgKGV4Y2VwdCBm
b3IgZnVsbHktY29oZXJlbnQKQ1BVcykuCgpYZW4gbXVzdCBub3QgaGF2ZSBh
bnkgV0MgY2FjaGVhYmlsaXR5IGluIHRoZSBkaXJlY3RtYXAsIHRvIHByZXZl
bnQgWGVuJ3MKYWN0aW9ucyBmcm9tIGNyZWF0aW5nIG5vbi1jb2hlcmVuY3ku
ICAoR3Vlc3QgYWN0aW9ucyBjcmVhdGluZyBub24tY29oZXJlbmN5IGlzCmRl
YWx0IHdpdGggaW4gc3Vic2VxdWVudCBwYXRjaGVzLikgIEFzIGFsbCBtZW1v
cnkgdHlwZXMgZm9yIE1UUlI9V0IgcmFuZ2VzCmludGVyLW9wZXJhdGUgY29o
ZXJlbnRseSwgc28gbGVhdmUgWGVuJ3MgZGlyZWN0bWFwIG1hcHBpbmdzIGFz
IFdCLgoKT25seSBQViBndWVzdHMgd2l0aCBhY2Nlc3MgdG8gZGV2aWNlcyBj
YW4gdXNlIHJlZHVjZWQtY2FjaGVhYmlsaXR5IG1hcHBpbmdzIHRvCmJlZ2lu
IHdpdGgsIGFuZCB0aGV5J3JlIHRydXN0ZWQgbm90IHRvIG1vdW50IERvU3Mg
YWdhaW5zdCB0aGUgc3lzdGVtIGFueXdheS4KCkRyb3AgUEdDX2NhY2hlYXR0
cl97YmFzZSxtYXNrfSBlbnRpcmVseSwgYW5kIHRoZSBsb2dpYyB0byBtYW5p
cHVsYXRlIHRoZW0uClNoaWZ0IHRoZSBsYXRlciBQR0NfKiBjb25zdGFudHMg
dXAsIHRvIGdhaW4gMyBleHRyYSBiaXRzIGluIHRoZSBtYWluIHJlZmVyZW5j
ZQpjb3VudC4gIFJldGFpbiB0aGUgY2hlY2sgaW4gZ2V0X3BhZ2VfZnJvbV9s
MWUoKSBmb3Igc3BlY2lhbF9wYWdlcygpIGJlY2F1c2UgYQpndWVzdCBoYXMg
bm8gYnVzaW5lc3MgdXNpbmcgcmVkdWNlZCBjYWNoZWFiaWxpdHkgb24gdGhl
c2UuCgpUaGlzIHJldmVydHMgY2hhbmdlc2V0IDU1Zjk3ZjQ5YjdjZTZjMzUy
MGM1NTVkMTljYWFjNmNmM2Y5YTVkZjAKClRoaXMgaXMgQ1ZFLTIwMjItMjYz
NjMsIHBhcnQgb2YgWFNBLTQwMi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cgpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYv
bW0uYwppbmRleCAwYjc1YjYzNzFkNGIuLjdkM2QxODZlZGJkNSAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21t
LmMKQEAgLTc4NSwyNCArNzg1LDYgQEAgYm9vbCBpc19pb21lbV9wYWdlKG1m
bl90IG1mbikKICAgICByZXR1cm4gKHBhZ2VfZ2V0X293bmVyKHBhZ2UpID09
IGRvbV9pbyk7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3hlbl9tYXBwaW5n
cyh1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgaW50IGNhY2hlYXR0cikK
LXsKLSAgICBpbnQgZXJyID0gMDsKLSAgICBib29sIGFsaWFzID0gbWZuID49
IFBGTl9ET1dOKHhlbl9waHlzX3N0YXJ0KSAmJgotICAgICAgICAgbWZuIDwg
UEZOX1VQKHhlbl9waHlzX3N0YXJ0ICsgeGVuX3ZpcnRfZW5kIC0gWEVOX1ZJ
UlRfU1RBUlQpOwotICAgIHVuc2lnbmVkIGxvbmcgeGVuX3ZhID0KLSAgICAg
ICAgWEVOX1ZJUlRfU1RBUlQgKyAoKG1mbiAtIFBGTl9ET1dOKHhlbl9waHlz
X3N0YXJ0KSkgPDwgUEFHRV9TSElGVCk7Ci0KLSAgICBpZiAoIHVubGlrZWx5
KGFsaWFzKSAmJiBjYWNoZWF0dHIgKQotICAgICAgICBlcnIgPSBtYXBfcGFn
ZXNfdG9feGVuKHhlbl92YSwgX21mbihtZm4pLCAxLCAwKTsKLSAgICBpZiAo
ICFlcnIgKQotICAgICAgICBlcnIgPSBtYXBfcGFnZXNfdG9feGVuKCh1bnNp
Z25lZCBsb25nKW1mbl90b192aXJ0KG1mbiksIF9tZm4obWZuKSwgMSwKLSAg
ICAgICAgICAgICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUiB8IGNhY2hlYXR0
cl90b19wdGVfZmxhZ3MoY2FjaGVhdHRyKSk7Ci0gICAgaWYgKCB1bmxpa2Vs
eShhbGlhcykgJiYgIWNhY2hlYXR0ciAmJiAhZXJyICkKLSAgICAgICAgZXJy
ID0gbWFwX3BhZ2VzX3RvX3hlbih4ZW5fdmEsIF9tZm4obWZuKSwgMSwgUEFH
RV9IWVBFUlZJU09SKTsKLSAgICByZXR1cm4gZXJyOwotfQotCiAjaWZuZGVm
IE5ERUJVRwogc3RydWN0IG1taW9fZW11bF9yYW5nZV9jdHh0IHsKICAgICBj
b25zdCBzdHJ1Y3QgZG9tYWluICpkOwpAQCAtMTAwNyw0NyArOTg5LDE0IEBA
IGdldF9wYWdlX2Zyb21fbDFlKAogICAgICAgICBnb3RvIGNvdWxkX25vdF9w
aW47CiAgICAgfQogCi0gICAgaWYgKCBwdGVfZmxhZ3NfdG9fY2FjaGVhdHRy
KGwxZikgIT0KLSAgICAgICAgICgocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19j
YWNoZWF0dHJfbWFzaykgPj4gUEdDX2NhY2hlYXR0cl9iYXNlKSApCisgICAg
aWYgKCAobDFmICYgUEFHRV9DQUNIRV9BVFRSUykgIT0gX1BBR0VfV0IgJiYg
aXNfc3BlY2lhbF9wYWdlKHBhZ2UpICkKICAgICB7Ci0gICAgICAgIHVuc2ln
bmVkIGxvbmcgeCwgbngsIHkgPSBwYWdlLT5jb3VudF9pbmZvOwotICAgICAg
ICB1bnNpZ25lZCBsb25nIGNhY2hlYXR0ciA9IHB0ZV9mbGFnc190b19jYWNo
ZWF0dHIobDFmKTsKLSAgICAgICAgaW50IGVycjsKLQotICAgICAgICBpZiAo
IGlzX3NwZWNpYWxfcGFnZShwYWdlKSApCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICggd3JpdGUgKQotICAgICAgICAgICAgICAgIHB1dF9wYWdlX3R5
cGUocGFnZSk7Ci0gICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAg
ICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLAotICAgICAgICAgICAg
ICAgICAgICAgIkF0dGVtcHQgdG8gY2hhbmdlIGNhY2hlIGF0dHJpYnV0ZXMg
b2YgWGVuIGhlYXAgcGFnZVxuIik7Ci0gICAgICAgICAgICByZXR1cm4gLUVB
Q0NFUzsKLSAgICAgICAgfQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAg
IHggID0geTsKLSAgICAgICAgICAgIG54ID0gKHggJiB+UEdDX2NhY2hlYXR0
cl9tYXNrKSB8IChjYWNoZWF0dHIgPDwgUEdDX2NhY2hlYXR0cl9iYXNlKTsK
LSAgICAgICAgfSB3aGlsZSAoICh5ID0gY21weGNoZygmcGFnZS0+Y291bnRf
aW5mbywgeCwgbngpKSAhPSB4ICk7Ci0KLSAgICAgICAgZXJyID0gdXBkYXRl
X3hlbl9tYXBwaW5ncyhtZm4sIGNhY2hlYXR0cik7Ci0gICAgICAgIGlmICgg
dW5saWtlbHkoZXJyKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhY2hl
YXR0ciA9IHkgJiBQR0NfY2FjaGVhdHRyX21hc2s7Ci0gICAgICAgICAgICBk
byB7Ci0gICAgICAgICAgICAgICAgeCAgPSB5OwotICAgICAgICAgICAgICAg
IG54ID0gKHggJiB+UEdDX2NhY2hlYXR0cl9tYXNrKSB8IGNhY2hlYXR0cjsK
LSAgICAgICAgICAgIH0gd2hpbGUgKCAoeSA9IGNtcHhjaGcoJnBhZ2UtPmNv
dW50X2luZm8sIHgsIG54KSkgIT0geCApOwotCi0gICAgICAgICAgICBpZiAo
IHdyaXRlICkKLSAgICAgICAgICAgICAgICBwdXRfcGFnZV90eXBlKHBhZ2Up
OwotICAgICAgICAgICAgcHV0X3BhZ2UocGFnZSk7Ci0KLSAgICAgICAgICAg
IGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiRXJyb3IgdXBkYXRpbmcgbWFw
cGluZ3MgZm9yIG1mbiAlIiBQUklfbWZuCi0gICAgICAgICAgICAgICAgICAg
ICAiIChwZm4gJSIgUFJJX3BmbiAiLCBmcm9tIEwxIGVudHJ5ICUiIFBSSXB0
ZSAiKSBmb3IgZCVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgbWZuLCBn
ZXRfZ3Bmbl9mcm9tX21mbihtZm4pLAotICAgICAgICAgICAgICAgICAgICAg
bDFlX2dldF9pbnRwdGUobDFlKSwgbDFlX293bmVyLT5kb21haW5faWQpOwot
ICAgICAgICAgICAgcmV0dXJuIGVycjsKLSAgICAgICAgfQorICAgICAgICBp
ZiAoIHdyaXRlICkKKyAgICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFnZSk7
CisgICAgICAgIHB1dF9wYWdlKHBhZ2UpOworICAgICAgICBnZHByaW50ayhY
RU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgIkF0dGVtcHQgdG8g
Y2hhbmdlIGNhY2hlIGF0dHJpYnV0ZXMgb2YgWGVuIGhlYXAgcGFnZVxuIik7
CisgICAgICAgIHJldHVybiAtRUFDQ0VTOwogICAgIH0KIAogICAgIHJldHVy
biAwOwpAQCAtMjQ1MywyNSArMjQwMiwxMCBAQCBzdGF0aWMgaW50IG1vZF9s
NF9lbnRyeShsNF9wZ2VudHJ5X3QgKnBsNGUsCiAgKi8KIHN0YXRpYyBpbnQg
Y2xlYW51cF9wYWdlX21hcHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2Up
CiB7Ci0gICAgdW5zaWduZWQgaW50IGNhY2hlYXR0ciA9Ci0gICAgICAgIChw
YWdlLT5jb3VudF9pbmZvICYgUEdDX2NhY2hlYXR0cl9tYXNrKSA+PiBQR0Nf
Y2FjaGVhdHRyX2Jhc2U7CiAgICAgaW50IHJjID0gMDsKICAgICB1bnNpZ25l
ZCBsb25nIG1mbiA9IG1mbl94KHBhZ2VfdG9fbWZuKHBhZ2UpKTsKIAogICAg
IC8qCi0gICAgICogSWYgd2UndmUgbW9kaWZpZWQgeGVuIG1hcHBpbmdzIGFz
IGEgcmVzdWx0IG9mIGd1ZXN0IGNhY2hlCi0gICAgICogYXR0cmlidXRlcywg
cmVzdG9yZSB0aGVtIHRvIHRoZSAibm9ybWFsIiBzdGF0ZS4KLSAgICAgKi8K
LSAgICBpZiAoIHVubGlrZWx5KGNhY2hlYXR0cikgKQotICAgIHsKLSAgICAg
ICAgcGFnZS0+Y291bnRfaW5mbyAmPSB+UEdDX2NhY2hlYXR0cl9tYXNrOwot
Ci0gICAgICAgIEJVR19PTihpc19zcGVjaWFsX3BhZ2UocGFnZSkpOwotCi0g
ICAgICAgIHJjID0gdXBkYXRlX3hlbl9tYXBwaW5ncyhtZm4sIDApOwotICAg
IH0KLQotICAgIC8qCiAgICAgICogSWYgdGhpcyBtYXkgYmUgaW4gYSBQViBk
b21haW4ncyBJT01NVSwgcmVtb3ZlIGl0LgogICAgICAqCiAgICAgICogTkIg
dGhhdCB3cml0YWJsZSB4ZW5oZWFwIHBhZ2VzIGhhdmUgdGhlaXIgdHlwZSBz
ZXQgYW5kIGNsZWFyZWQgYnkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz
bS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCA3
ZTc0OTk2MDUzYjAuLjdhMjA5M2RhNTk3NyAxMDA2NDQKLS0tIGEveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
bW0uaApAQCAtNjQsMjUgKzY0LDIyIEBACiAgLyogU2V0IHdoZW4gaXMgdXNp
bmcgYSBwYWdlIGFzIGEgcGFnZSB0YWJsZSAqLwogI2RlZmluZSBfUEdDX3Bh
Z2VfdGFibGUgICBQR19zaGlmdCgzKQogI2RlZmluZSBQR0NfcGFnZV90YWJs
ZSAgICBQR19tYXNrKDEsIDMpCi0gLyogMy1iaXQgUEFUL1BDRC9QV1QgY2Fj
aGUtYXR0cmlidXRlIGhpbnQuICovCi0jZGVmaW5lIFBHQ19jYWNoZWF0dHJf
YmFzZSBQR19zaGlmdCg2KQotI2RlZmluZSBQR0NfY2FjaGVhdHRyX21hc2sg
UEdfbWFzayg3LCA2KQogIC8qIFBhZ2UgaXMgYnJva2VuPyAqLwotI2RlZmlu
ZSBfUEdDX2Jyb2tlbiAgICAgICBQR19zaGlmdCg3KQotI2RlZmluZSBQR0Nf
YnJva2VuICAgICAgICBQR19tYXNrKDEsIDcpCisjZGVmaW5lIF9QR0NfYnJv
a2VuICAgICAgIFBHX3NoaWZ0KDQpCisjZGVmaW5lIFBHQ19icm9rZW4gICAg
ICAgIFBHX21hc2soMSwgNCkKICAvKiBNdXR1YWxseS1leGNsdXNpdmUgcGFn
ZSBzdGF0ZXM6IHsgaW51c2UsIG9mZmxpbmluZywgb2ZmbGluZWQsIGZyZWUg
fS4gKi8KLSNkZWZpbmUgUEdDX3N0YXRlICAgICAgICAgUEdfbWFzaygzLCA5
KQotI2RlZmluZSBQR0Nfc3RhdGVfaW51c2UgICBQR19tYXNrKDAsIDkpCi0j
ZGVmaW5lIFBHQ19zdGF0ZV9vZmZsaW5pbmcgUEdfbWFzaygxLCA5KQotI2Rl
ZmluZSBQR0Nfc3RhdGVfb2ZmbGluZWQgUEdfbWFzaygyLCA5KQotI2RlZmlu
ZSBQR0Nfc3RhdGVfZnJlZSAgICBQR19tYXNrKDMsIDkpCisjZGVmaW5lIFBH
Q19zdGF0ZSAgICAgICAgICAgUEdfbWFzaygzLCA2KQorI2RlZmluZSBQR0Nf
c3RhdGVfaW51c2UgICAgIFBHX21hc2soMCwgNikKKyNkZWZpbmUgUEdDX3N0
YXRlX29mZmxpbmluZyBQR19tYXNrKDEsIDYpCisjZGVmaW5lIFBHQ19zdGF0
ZV9vZmZsaW5lZCAgUEdfbWFzaygyLCA2KQorI2RlZmluZSBQR0Nfc3RhdGVf
ZnJlZSAgICAgIFBHX21hc2soMywgNikKICNkZWZpbmUgcGFnZV9zdGF0ZV9p
cyhwZywgc3QpICgoKHBnKS0+Y291bnRfaW5mbyZQR0Nfc3RhdGUpID09IFBH
Q19zdGF0ZV8jI3N0KQogLyogUGFnZSBpcyBub3QgcmVmZXJlbmNlIGNvdW50
ZWQgKi8KLSNkZWZpbmUgX1BHQ19leHRyYSAgICAgICAgUEdfc2hpZnQoMTAp
Ci0jZGVmaW5lIFBHQ19leHRyYSAgICAgICAgIFBHX21hc2soMSwgMTApCisj
ZGVmaW5lIF9QR0NfZXh0cmEgICAgICAgIFBHX3NoaWZ0KDcpCisjZGVmaW5l
IFBHQ19leHRyYSAgICAgICAgIFBHX21hc2soMSwgNykKIAogLyogQ291bnQg
b2YgcmVmZXJlbmNlcyB0byB0aGlzIGZyYW1lLiAqLwotI2RlZmluZSBQR0Nf
Y291bnRfd2lkdGggICBQR19zaGlmdCgxMCkKKyNkZWZpbmUgUEdDX2NvdW50
X3dpZHRoICAgUEdfc2hpZnQoNykKICNkZWZpbmUgUEdDX2NvdW50X21hc2sg
ICAgKCgxVUw8PFBHQ19jb3VudF93aWR0aCktMSkKIAogLyoK

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.14-3.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.14-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBTcGxpdCBjYWNoZV9mbHVzaCgpIG91dCBvZiBj
YWNoZV93cml0ZWJhY2soKQoKU3Vic2VxdWVudCBjaGFuZ2VzIHdpbGwgd2Fu
dCBhIGZ1bGx5IGZsdXNoaW5nIHZlcnNpb24uCgpVc2UgdGhlIG5ldyBoZWxw
ZXIgcmF0aGVyIHRoYW4gb3BlbmNvZGluZyBpdCBpbiBmbHVzaF9hcmVhX2xv
Y2FsKCkuICBUaGlzCnJlc29sdmVzIGFuIG91dHN0YW5kaW5nIGlzc3VlIHdo
ZXJlIHRoZSBjb25kaXRpb25hbCBzZmVuY2UgaXMgb24gdGhlIHdyb25nCnNp
ZGUgb2YgdGhlIGNsZmx1c2hvcHQgbG9vcC4gIGNsZmx1c2hvcHQgaXMgb3Jk
ZXJlZCB3aXRoIHJlc3BlY3QgdG8gb2xkZXIKc3RvcmVzLCBub3QgdG8geW91
bmdlciBzdG9yZXMuCgpSZW5hbWUgZ250dGFiX2NhY2hlX2ZsdXNoKCkncyBo
ZWxwZXIgdG8gYXZvaWQgY29sbGlkaW5nIGluIG5hbWUuCmdyYW50X3RhYmxl
LmMgY2FuIHNlZSB0aGUgcHJvdG90eXBlIGZyb20gY2FjaGUuaCBzbyB0aGUg
YnVpbGQgZmFpbHMKb3RoZXJ3aXNlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00
MDIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgoKWGVuIDQuMTYgYW5kIGVhcmxpZXI6CiAqIEFs
c28gYmFja3BvcnQgaGFsZiBvZiBjL3MgMzMzMDAxM2U2NzM5NiAiVlQtZCAv
IHg4NjogcmUtYXJyYW5nZSBjYWNoZQogICBzeW5jaW5nIiB0byBzcGxpdCBj
YWNoZV93cml0ZWJhY2soKSBvdXQgb2YgdGhlIElPTU1VIGxvZ2ljLCBidXQg
d2l0aG91dCB0aGUKICAgYXNzb2NpYXRlZCBob29rcyBjaGFuZ2VzLgoKZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jIGIveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMKaW5kZXggMjU3OThkZjUwZjU0Li4wYzkxMmI4NjY5
ZjggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCkBAIC0yMzQsNyArMjM0LDcgQEAg
dW5zaWduZWQgaW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEs
IHVuc2lnbmVkIGludCBmbGFncykKICAgICBpZiAoIGZsYWdzICYgRkxVU0hf
Q0FDSEUgKQogICAgIHsKICAgICAgICAgY29uc3Qgc3RydWN0IGNwdWluZm9f
eDg2ICpjID0gJmN1cnJlbnRfY3B1X2RhdGE7Ci0gICAgICAgIHVuc2lnbmVk
IGxvbmcgaSwgc3ogPSAwOworICAgICAgICB1bnNpZ25lZCBsb25nIHN6ID0g
MDsKIAogICAgICAgICBpZiAoIG9yZGVyIDwgKEJJVFNfUEVSX0xPTkcgLSBQ
QUdFX1NISUZUKSApCiAgICAgICAgICAgICBzeiA9IDFVTCA8PCAob3JkZXIg
KyBQQUdFX1NISUZUKTsKQEAgLTI0NCwxMyArMjQ0LDcgQEAgdW5zaWduZWQg
aW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVk
IGludCBmbGFncykKICAgICAgICAgICAgICBjLT54ODZfY2xmbHVzaF9zaXpl
ICYmIGMtPng4Nl9jYWNoZV9zaXplICYmIHN6ICYmCiAgICAgICAgICAgICAg
KChzeiA+PiAxMCkgPCBjLT54ODZfY2FjaGVfc2l6ZSkgKQogICAgICAgICB7
Ci0gICAgICAgICAgICBhbHRlcm5hdGl2ZSgiIiwgInNmZW5jZSIsIFg4Nl9G
RUFUVVJFX0NMRkxVU0hPUFQpOwotICAgICAgICAgICAgZm9yICggaSA9IDA7
IGkgPCBzejsgaSArPSBjLT54ODZfY2xmbHVzaF9zaXplICkKLSAgICAgICAg
ICAgICAgICBhbHRlcm5hdGl2ZV9pbnB1dCgiLmJ5dGUgIiBfX3N0cmluZ2lm
eShOT1BfRFNfUFJFRklYKSAiOyIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiIGNsZmx1c2ggJTAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJkYXRhMTYgY2xmbHVzaCAlMCIsICAgICAgLyog
Y2xmbHVzaG9wdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm0iICgoKGNvbnN0IGNoYXIgKil2YSlbaV0p
KTsKKyAgICAgICAgICAgIGNhY2hlX2ZsdXNoKHZhLCBzeik7CiAgICAgICAg
ICAgICBmbGFncyAmPSB+RkxVU0hfQ0FDSEU7CiAgICAgICAgIH0KICAgICAg
ICAgZWxzZQpAQCAtMjY1LDYgKzI1OSw4MCBAQCB1bnNpZ25lZCBpbnQgZmx1
c2hfYXJlYV9sb2NhbChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50IGZs
YWdzKQogICAgIHJldHVybiBmbGFnczsKIH0KIAordm9pZCBjYWNoZV9mbHVz
aChjb25zdCB2b2lkICphZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKyAg
ICAvKgorICAgICAqIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBiZWZv
cmUgY3VycmVudF9jcHVfZGF0YSBpcyBlc3RhYmxpc2hlZC4KKyAgICAgKiBI
ZW5jZSBhIGZhbGxiYWNrIGlzIG5lZWRlZCB0byBwcmV2ZW50IHRoZSBsb29w
IGJlbG93IGJlY29taW5nIGluZmluaXRlLgorICAgICAqLworICAgIHVuc2ln
bmVkIGludCBjbGZsdXNoX3NpemUgPSBjdXJyZW50X2NwdV9kYXRhLng4Nl9j
bGZsdXNoX3NpemUgPzogMTY7CisgICAgY29uc3Qgdm9pZCAqZW5kID0gYWRk
ciArIHNpemU7CisKKyAgICBhZGRyIC09ICh1bnNpZ25lZCBsb25nKWFkZHIg
JiAoY2xmbHVzaF9zaXplIC0gMSk7CisgICAgZm9yICggOyBhZGRyIDwgZW5k
OyBhZGRyICs9IGNsZmx1c2hfc2l6ZSApCisgICAgeworICAgICAgICAvKgor
ICAgICAgICAgKiBOb3RlIHJlZ2FyZGluZyB0aGUgImRzIiBwcmVmaXggdXNl
OiBpdCdzIGZhc3RlciB0byBkbyBhIGNsZmx1c2gKKyAgICAgICAgICogKyBw
cmVmaXggdGhhbiBhIGNsZmx1c2ggKyBub3AsIGFuZCBoZW5jZSB0aGUgcHJl
Zml4IGlzIGFkZGVkIGluc3RlYWQKKyAgICAgICAgICogb2YgbGV0dGluZyB0
aGUgYWx0ZXJuYXRpdmUgZnJhbWV3b3JrIGZpbGwgdGhlIGdhcCBieSBhcHBl
bmRpbmcgbm9wcy4KKyAgICAgICAgICovCisgICAgICAgIGFsdGVybmF0aXZl
X2lvKCJkczsgY2xmbHVzaCAlW3BdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgImRhdGExNiBjbGZsdXNoICVbcF0iLCAvKiBjbGZsdXNob3B0ICovCisg
ICAgICAgICAgICAgICAgICAgICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQs
CisgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIG91dHB1dHMgKi8sCisg
ICAgICAgICAgICAgICAgICAgICAgIFtwXSAibSIgKCooY29uc3QgY2hhciAq
KShhZGRyKSkpOworICAgIH0KKworICAgIGFsdGVybmF0aXZlKCIiLCAic2Zl
bmNlIiwgWDg2X0ZFQVRVUkVfQ0xGTFVTSE9QVCk7Cit9CisKK3ZvaWQgY2Fj
aGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBz
aXplKQoreworICAgIHVuc2lnbmVkIGludCBjbGZsdXNoX3NpemU7CisgICAg
Y29uc3Qgdm9pZCAqZW5kID0gYWRkciArIHNpemU7CisKKyAgICAvKiBGYWxs
IGJhY2sgdG8gQ0xGTFVTSHssT1BUfSB3aGVuIENMV0IgaXNuJ3QgYXZhaWxh
YmxlLiAqLworICAgIGlmICggIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9D
TFdCKSApCisgICAgICAgIHJldHVybiBjYWNoZV9mbHVzaChhZGRyLCBzaXpl
KTsKKworICAgIC8qCisgICAgICogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2Fs
bGVkIGJlZm9yZSBjdXJyZW50X2NwdV9kYXRhIGlzIGVzdGFibGlzaGVkLgor
ICAgICAqIEhlbmNlIGEgZmFsbGJhY2sgaXMgbmVlZGVkIHRvIHByZXZlbnQg
dGhlIGxvb3AgYmVsb3cgYmVjb21pbmcgaW5maW5pdGUuCisgICAgICovCisg
ICAgY2xmbHVzaF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVz
aF9zaXplID86IDE2OworICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRk
ciAmIChjbGZsdXNoX3NpemUgLSAxKTsKKyAgICBmb3IgKCA7IGFkZHIgPCBl
bmQ7IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKKyAgICB7CisvKgorICogVGhl
IGFyZ3VtZW50cyB0byBhIG1hY3JvIG11c3Qgbm90IGluY2x1ZGUgcHJlcHJv
Y2Vzc29yIGRpcmVjdGl2ZXMuIERvaW5nIHNvCisgKiByZXN1bHRzIGluIHVu
ZGVmaW5lZCBiZWhhdmlvciwgc28gd2UgaGF2ZSB0byBjcmVhdGUgc29tZSBk
ZWZpbmVzIGhlcmUgaW4KKyAqIG9yZGVyIHRvIGF2b2lkIGl0LgorICovCisj
aWYgZGVmaW5lZChIQVZFX0FTX0NMV0IpCisjIGRlZmluZSBDTFdCX0VOQ09E
SU5HICJjbHdiICVbcF0iCisjZWxpZiBkZWZpbmVkKEhBVkVfQVNfWFNBVkVP
UFQpCisjIGRlZmluZSBDTFdCX0VOQ09ESU5HICJkYXRhMTYgeHNhdmVvcHQg
JVtwXSIgLyogY2x3YiAqLworI2Vsc2UKKyMgZGVmaW5lIENMV0JfRU5DT0RJ
TkcgIi5ieXRlIDB4NjYsIDB4MGYsIDB4YWUsIDB4MzAiIC8qIGNsd2IgKCUl
cmF4KSAqLworI2VuZGlmCisKKyNkZWZpbmUgQkFTRV9JTlBVVChhZGRyKSBb
cF0gIm0iICgqKGNvbnN0IGNoYXIgKikoYWRkcikpCisjaWYgZGVmaW5lZChI
QVZFX0FTX0NMV0IpIHx8IGRlZmluZWQoSEFWRV9BU19YU0FWRU9QVCkKKyMg
ZGVmaW5lIElOUFVUIEJBU0VfSU5QVVQKKyNlbHNlCisjIGRlZmluZSBJTlBV
VChhZGRyKSAiYSIgKGFkZHIpLCBCQVNFX0lOUFVUKGFkZHIpCisjZW5kaWYK
KworICAgICAgICBhc20gdm9sYXRpbGUgKENMV0JfRU5DT0RJTkcgOjogSU5Q
VVQoYWRkcikpOworCisjdW5kZWYgSU5QVVQKKyN1bmRlZiBCQVNFX0lOUFVU
CisjdW5kZWYgQ0xXQl9FTkNPRElORworICAgIH0KKworICAgIGFzbSB2b2xh
dGlsZSAoInNmZW5jZSIgOjo6ICJtZW1vcnkiKTsKK30KKwogdW5zaWduZWQg
aW50IGd1ZXN0X2ZsdXNoX3RsYl9mbGFncyhjb25zdCBzdHJ1Y3QgZG9tYWlu
ICpkKQogewogICAgIGJvb2wgc2hhZG93ID0gcGFnaW5nX21vZGVfc2hhZG93
KGQpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIv
eGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4IDcxZWU1YzZlYzUxMS4u
MzQ0OThkNDY1Mjg1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2dyYW50X3Rh
YmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0zNDQw
LDcgKzM0NDAsNyBAQCBnbnR0YWJfc3dhcF9ncmFudF9yZWYoWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTShnbnR0YWJfc3dhcF9ncmFudF9yZWZfdCkgdW9wLAog
ICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNhY2hlX2ZsdXNoKGNv
bnN0IGdudHRhYl9jYWNoZV9mbHVzaF90ICpjZmx1c2gsIGdyYW50X3JlZl90
ICpjdXJfcmVmKQorc3RhdGljIGludCBfY2FjaGVfZmx1c2goY29uc3QgZ250
dGFiX2NhY2hlX2ZsdXNoX3QgKmNmbHVzaCwgZ3JhbnRfcmVmX3QgKmN1cl9y
ZWYpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCwgKm93bmVyOwogICAgIHN0
cnVjdCBwYWdlX2luZm8gKnBhZ2U7CkBAIC0zNTM0LDcgKzM1MzQsNyBAQCBn
bnR0YWJfY2FjaGVfZmx1c2goWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShnbnR0
YWJfY2FjaGVfZmx1c2hfdCkgdW9wLAogICAgICAgICAgICAgcmV0dXJuIC1F
RkFVTFQ7CiAgICAgICAgIGZvciAoIDsgOyApCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGludCByZXQgPSBjYWNoZV9mbHVzaCgmb3AsIGN1cl9yZWYpOwor
ICAgICAgICAgICAgaW50IHJldCA9IF9jYWNoZV9mbHVzaCgmb3AsIGN1cl9y
ZWYpOwogCiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAg
ICAgICAgIHJldHVybiByZXQ7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvZXh0ZXJuLmggYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC92dGQvZXh0ZXJuLmgKaW5kZXggZmJlOTUxYjJmYWQwLi4zZGVmZTk2
NzdmMDYgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9leHRlcm4uaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
ZXh0ZXJuLmgKQEAgLTc3LDcgKzc3LDYgQEAgaW50IF9fbXVzdF9jaGVjayBx
aW52YWxfZGV2aWNlX2lvdGxiX3N5bmMoc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgcGNpX2RldiAqcGRldiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQg
YWRkcik7CiAKLXVuc2lnbmVkIGludCBnZXRfY2FjaGVfbGluZV9zaXplKHZv
aWQpOwogdm9pZCBmbHVzaF9hbGxfY2FjaGUodm9pZCk7CiAKIHVpbnQ2NF90
IGFsbG9jX3BndGFibGVfbWFkZHIodW5zaWduZWQgbG9uZyBucGFnZXMsIG5v
ZGVpZF90IG5vZGUpOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuYwppbmRleCBjYzA4OGNkOWZmMjAuLjNiZDE3YTRhMjRhMiAx
MDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK
QEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx4ZW4vcGNpLmg+CiAjaW5j
bHVkZSA8eGVuL3BjaV9yZWdzLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRs
ZXIuaD4KKyNpbmNsdWRlIDxhc20vY2FjaGUuaD4KICNpbmNsdWRlIDxhc20v
bXNpLmg+CiAjaW5jbHVkZSA8YXNtL25vcHMuaD4KICNpbmNsdWRlIDxhc20v
aXJxLmg+CkBAIC0yMDcsNTMgKzIwOCwxMCBAQCBzdGF0aWMgaW50IGlvbW11
c19pbmNvaGVyZW50OwogCiBzdGF0aWMgdm9pZCBzeW5jX2NhY2hlKGNvbnN0
IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogewotICAgIHN0YXRp
YyB1bnNpZ25lZCBsb25nIGNsZmx1c2hfc2l6ZSA9IDA7Ci0gICAgY29uc3Qg
dm9pZCAqZW5kID0gYWRkciArIHNpemU7Ci0KICAgICBpZiAoICFpb21tdXNf
aW5jb2hlcmVudCApCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICggY2xm
bHVzaF9zaXplID09IDAgKQotICAgICAgICBjbGZsdXNoX3NpemUgPSBnZXRf
Y2FjaGVfbGluZV9zaXplKCk7Ci0KLSAgICBhZGRyIC09ICh1bnNpZ25lZCBs
b25nKWFkZHIgJiAoY2xmbHVzaF9zaXplIC0gMSk7Ci0gICAgZm9yICggOyBh
ZGRyIDwgZW5kOyBhZGRyICs9IGNsZmx1c2hfc2l6ZSApCi0vKgotICogVGhl
IGFyZ3VtZW50cyB0byBhIG1hY3JvIG11c3Qgbm90IGluY2x1ZGUgcHJlcHJv
Y2Vzc29yIGRpcmVjdGl2ZXMuIERvaW5nIHNvCi0gKiByZXN1bHRzIGluIHVu
ZGVmaW5lZCBiZWhhdmlvciwgc28gd2UgaGF2ZSB0byBjcmVhdGUgc29tZSBk
ZWZpbmVzIGhlcmUgaW4KLSAqIG9yZGVyIHRvIGF2b2lkIGl0LgotICovCi0j
aWYgZGVmaW5lZChIQVZFX0FTX0NMV0IpCi0jIGRlZmluZSBDTFdCX0VOQ09E
SU5HICJjbHdiICVbcF0iCi0jZWxpZiBkZWZpbmVkKEhBVkVfQVNfWFNBVkVP
UFQpCi0jIGRlZmluZSBDTFdCX0VOQ09ESU5HICJkYXRhMTYgeHNhdmVvcHQg
JVtwXSIgLyogY2x3YiAqLwotI2Vsc2UKLSMgZGVmaW5lIENMV0JfRU5DT0RJ
TkcgIi5ieXRlIDB4NjYsIDB4MGYsIDB4YWUsIDB4MzAiIC8qIGNsd2IgKCUl
cmF4KSAqLwotI2VuZGlmCi0KLSNkZWZpbmUgQkFTRV9JTlBVVChhZGRyKSBb
cF0gIm0iICgqKGNvbnN0IGNoYXIgKikoYWRkcikpCi0jaWYgZGVmaW5lZChI
QVZFX0FTX0NMV0IpIHx8IGRlZmluZWQoSEFWRV9BU19YU0FWRU9QVCkKLSMg
ZGVmaW5lIElOUFVUIEJBU0VfSU5QVVQKLSNlbHNlCi0jIGRlZmluZSBJTlBV
VChhZGRyKSAiYSIgKGFkZHIpLCBCQVNFX0lOUFVUKGFkZHIpCi0jZW5kaWYK
LSAgICAgICAgLyoKLSAgICAgICAgICogTm90ZSByZWdhcmRpbmcgdGhlIHVz
ZSBvZiBOT1BfRFNfUFJFRklYOiBpdCdzIGZhc3RlciB0byBkbyBhIGNsZmx1
c2gKLSAgICAgICAgICogKyBwcmVmaXggdGhhbiBhIGNsZmx1c2ggKyBub3As
IGFuZCBoZW5jZSB0aGUgcHJlZml4IGlzIGFkZGVkIGluc3RlYWQKLSAgICAg
ICAgICogb2YgbGV0dGluZyB0aGUgYWx0ZXJuYXRpdmUgZnJhbWV3b3JrIGZp
bGwgdGhlIGdhcCBieSBhcHBlbmRpbmcgbm9wcy4KLSAgICAgICAgICovCi0g
ICAgICAgIGFsdGVybmF0aXZlX2lvXzIoIi5ieXRlICIgX19zdHJpbmdpZnko
Tk9QX0RTX1BSRUZJWCkgIjsgY2xmbHVzaCAlW3BdIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAiZGF0YTE2IGNsZmx1c2ggJVtwXSIsIC8qIGNsZmx1
c2hvcHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICBYODZfRkVBVFVS
RV9DTEZMVVNIT1BULAotICAgICAgICAgICAgICAgICAgICAgICAgIENMV0Jf
RU5DT0RJTkcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgWDg2X0ZFQVRV
UkVfQ0xXQiwgLyogbm8gb3V0cHV0cyAqLywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBJTlBVVChhZGRyKSk7Ci0jdW5kZWYgSU5QVVQKLSN1bmRlZiBC
QVNFX0lOUFVUCi0jdW5kZWYgQ0xXQl9FTkNPRElORwotCi0gICAgYWx0ZXJu
YXRpdmVfMigiIiwgInNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQs
Ci0gICAgICAgICAgICAgICAgICAgICAgInNmZW5jZSIsIFg4Nl9GRUFUVVJF
X0NMV0IpOworICAgIGNhY2hlX3dyaXRlYmFjayhhZGRyLCBzaXplKTsKIH0K
IAogLyogQWxsb2NhdGUgcGFnZSB0YWJsZSwgcmV0dXJuIGl0cyBtYWNoaW5l
IGFkZHJlc3MgKi8KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC94ODYvdnRkLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQveDg2L3Z0ZC5jCmluZGV4IGJiZTM1OGRjMzZjNy4uYmIwOGE1NWUyOTRh
IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2
L3Z0ZC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYv
dnRkLmMKQEAgLTQ3LDExICs0Nyw2IEBAIHZvaWQgdW5tYXBfdnRkX2RvbWFp
bl9wYWdlKHZvaWQgKnZhKQogICAgIHVubWFwX2RvbWFpbl9wYWdlKHZhKTsK
IH0KIAotdW5zaWduZWQgaW50IGdldF9jYWNoZV9saW5lX3NpemUodm9pZCkK
LXsKLSAgICByZXR1cm4gKChjcHVpZF9lYngoMSkgPj4gOCkgJiAweGZmKSAq
IDg7Ci19Ci0KIHZvaWQgZmx1c2hfYWxsX2NhY2hlKCkKIHsKICAgICB3Ymlu
dmQoKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY2FjaGUu
aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY2FjaGUuaAppbmRleCAxZjcxNzNk
OGM3MmMuLmU0NzcwZWZiMjJiOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9jYWNoZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY2Fj
aGUuaApAQCAtMTEsNCArMTEsMTEgQEAKIAogI2RlZmluZSBfX3JlYWRfbW9z
dGx5IF9fc2VjdGlvbigiLmRhdGEucmVhZF9tb3N0bHkiKQogCisjaWZuZGVm
IF9fQVNTRU1CTFlfXworCit2b2lkIGNhY2hlX2ZsdXNoKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKTsKK3ZvaWQgY2FjaGVfd3JpdGVi
YWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBzaXplKTsKKwor
I2VuZGlmCisKICNlbmRpZgo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.14-4.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.14-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L2FtZDogV29yayBhcm91bmQgQ0xGTFVTSCBvcmRl
cmluZyBvbiBvbGRlciBwYXJ0cwoKT24gcHJlLUNMRkxVU0hPUFQgQU1EIENQ
VXMsIENMRkxVU0ggaXMgd2Vha2VseSBvcmRlcmVkIHdpdGggZXZlcnl0aGlu
ZywKaW5jbHVkaW5nIHJlYWRzIGFuZCB3cml0ZXMgdG8gdGhlIGFkZHJlc3Ms
IGFuZCBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KClRoaXMgY3JlYXRl
cyBhIG11bHRpdHVkZSBvZiBwcm9ibGVtYXRpYyBjb3JuZXIgY2FzZXMsIGxh
aWQgb3V0IGluIHRoZSBtYW51YWwuCkFycmFuZ2UgdG8gdXNlIE1GRU5DRSBv
biBib3RoIHNpZGVzIG9mIHRoZSBDTEZMVVNIIHRvIGZvcmNlIHByb3BlciBv
cmRlcmluZy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9m
Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIveGVu
L2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCAyZWY1OWUyMmRjMzEuLjE0MmYz
NGFmNWY3MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYwor
KysgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCkBAIC03ODcsNiArNzg3LDE0
IEBAIHN0YXRpYyB2b2lkIGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAq
YykKIAlpZiAoIWNwdV9oYXNfbGZlbmNlX2Rpc3BhdGNoKQogCQlfX3NldF9i
aXQoWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDLCBjLT54ODZfY2FwYWJpbGl0
eSk7CiAKKwkvKgorCSAqIE9uIHByZS1DTEZMVVNIT1BUIEFNRCBDUFVzLCBD
TEZMVVNIIGlzIHdlYWtseSBvcmRlcmVkIHdpdGgKKwkgKiBldmVyeXRoaW5n
LCBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRlcyB0byBhZGRyZXNzLCBhbmQK
KwkgKiBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KKwkgKi8KKwlpZiAo
IWNwdV9oYXNfY2xmbHVzaG9wdCkKKwkJc2V0dXBfZm9yY2VfY3B1X2NhcChY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFKTsKKwogCXN3aXRjaChjLT54ODYpCiAJ
ewogCWNhc2UgMHhmIC4uLiAweDExOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwppbmRl
eCAwYzkxMmI4NjY5ZjguLmRjYmI0MDY0MDEyZSAxMDA2NDQKLS0tIGEveGVu
L2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gveDg2L2ZsdXNo
dGxiLmMKQEAgLTI1OSw2ICsyNTksMTMgQEAgdW5zaWduZWQgaW50IGZsdXNo
X2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFn
cykKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKKy8qCisgKiBPbiBwcmUtQ0xG
TFVTSE9QVCBBTUQgQ1BVcywgQ0xGTFVTSCBpcyB3ZWFrbHkgb3JkZXJlZCB3
aXRoIGV2ZXJ5dGhpbmcsCisgKiBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRl
cyB0byBhZGRyZXNzLCBhbmQgTEZFTkNFL1NGRU5DRSBpbnN0cnVjdGlvbnMu
CisgKgorICogVGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIHNhZmVseSBhZnRl
ciBhbHRlcm5hdGl2ZXMgaGF2ZSBydW4uICBMdWNraWx5LCBhdAorICogdGhl
IHRpbWUgb2Ygd3JpdGluZywgd2UgZG9uJ3QgZmx1c2ggdGhlIGNhY2hlcyB0
aGF0IGVhcmx5LgorICovCiB2b2lkIGNhY2hlX2ZsdXNoKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogewogICAgIC8qCkBAIC0yNjgs
NiArMjc1LDggQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRy
LCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICB1bnNpZ25lZCBpbnQgY2xmbHVz
aF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVzaF9zaXplID86
IDE2OwogICAgIGNvbnN0IHZvaWQgKmVuZCA9IGFkZHIgKyBzaXplOwogCisg
ICAgYWx0ZXJuYXRpdmUoIiIsICJtZmVuY2UiLCBYODZfQlVHX0NMRkxVU0hf
TUZFTkNFKTsKKwogICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRkciAm
IChjbGZsdXNoX3NpemUgLSAxKTsKICAgICBmb3IgKCA7IGFkZHIgPCBlbmQ7
IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKICAgICB7CkBAIC0yODMsNyArMjky
LDkgQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRyLCB1bnNp
Z25lZCBpbnQgc2l6ZSkKICAgICAgICAgICAgICAgICAgICAgICAgW3BdICJt
IiAoKihjb25zdCBjaGFyICopKGFkZHIpKSk7CiAgICAgfQogCi0gICAgYWx0
ZXJuYXRpdmUoIiIsICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BU
KTsKKyAgICBhbHRlcm5hdGl2ZV8yKCIiLAorICAgICAgICAgICAgICAgICAg
InNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCisgICAgICAgICAg
ICAgICAgICAibWZlbmNlIiwgWDg2X0JVR19DTEZMVVNIX01GRU5DRSk7CiB9
CiAKIHZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVu
c2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9jcHVmZWF0dXJlcy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVm
ZWF0dXJlcy5oCmluZGV4IGZlMmY5NzM1NGZiNi4uMDlmNjE5NDU5YmM3IDEw
MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCkBAIC00
Niw2ICs0Niw3IEBAIFhFTl9DUFVGRUFUVVJFKFhFTl9JQlQsICAgICAgICAg
ICBYODZfU1lOVEgoMjcpKSAvKiBYZW4gdXNlcyBDRVQgSW5kaXJlY3QgQnJh
bmNoCiAjZGVmaW5lIFg4Nl9CVUcoeCkgKChGU0NBUElOVFMgKyBYODZfTlJf
U1lOVEgpICogMzIgKyAoeCkpCiAKICNkZWZpbmUgWDg2X0JVR19GUFVfUFRS
UyAgICAgICAgICBYODZfQlVHKCAwKSAvKiAoRilYe1NBVkUsUlNUT1J9IGRv
ZXNuJ3Qgc2F2ZS9yZXN0b3JlIEZPUC9GSVAvRkRQLiAqLworI2RlZmluZSBY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFICAgIFg4Nl9CVUcoIDIpIC8qIE1GRU5D
RSBuZWVkZWQgdG8gc2VyaWFsaXNlIENMRkxVU0ggKi8KIAogLyogVG90YWwg
bnVtYmVyIG9mIGNhcGFiaWxpdHkgd29yZHMsIGluYyBzeW50aCBhbmQgYnVn
IHdvcmRzLiAqLwogI2RlZmluZSBOQ0FQSU5UUyAoRlNDQVBJTlRTICsgWDg2
X05SX1NZTlRIICsgWDg2X05SX0JVRykgLyogTiAzMi1iaXQgd29yZHMgd29y
dGggb2YgaW5mbyAqLwo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.14-5.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.14-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBUcmFjayBhbmQgZmx1c2ggbm9uLWNvaGVy
ZW50IG1hcHBpbmdzIG9mIFJBTQoKVGhlcmUgYXJlIGxlZ2l0aW1hdGUgdXNl
cyBvZiBXQyBtYXBwaW5ncyBvZiBSQU0sIGUuZy4gZm9yIERNQSBidWZmZXJz
IHdpdGgKZGV2aWNlcyB0aGF0IG1ha2Ugbm9uLWNvaGVyZW50IHdyaXRlcy4g
IFRoZSBMaW51eCBzb3VuZCBzdWJzeXN0ZW0gbWFrZXMKZXh0ZW5zaXZlIHVz
ZSBvZiB0aGlzIHRlY2huaXF1ZS4KCkZvciBzdWNoIHVzZWNhc2VzLCB0aGUg
Z3Vlc3QncyBETUEgYnVmZmVyIGlzIG1hcHBlZCBhbmQgY29uc2lzdGVudGx5
IHVzZWQgYXMKV0MsIGFuZCBYZW4gZG9lc24ndCBpbnRlcmFjdCB3aXRoIHRo
ZSBidWZmZXIuCgpIb3dldmVyLCBhIG1pc2NoZXZpb3VzIGd1ZXN0IGNhbiB1
c2UgV0MgbWFwcGluZ3MgdG8gZGVsaWJlcmF0ZWx5IGNyZWF0ZQpub24tY29o
ZXJlbmN5IGJldHdlZW4gdGhlIGNhY2hlIGFuZCBSQU0sIGFuZCB1c2UgdGhp
cyB0byB0cmljayBYZW4gaW50bwp2YWxpZGF0aW5nIGEgcGFnZXRhYmxlIHdo
aWNoIGlzbid0IGFjdHVhbGx5IHNhZmUuCgpBbGxvY2F0ZSBhIG5ldyBQR1Rf
bm9uX2NvaGVyZW50IHRvIHRyYWNrIHRoZSBub24tY29oZXJlbmN5IG9mIG1h
cHBpbmdzLiAgU2V0Cml0IHdoZW5ldmVyIGEgbm9uLWNvaGVyZW50IHdyaXRl
YWJsZSBtYXBwaW5nIGlzIGNyZWF0ZWQuICBJZiB0aGUgcGFnZSBpcyB1c2Vk
CmFzIGFueXRoaW5nIG90aGVyIHRoYW4gUEdUX3dyaXRhYmxlX3BhZ2UsIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlCnZhbGlkYXRpb24uICBBbHNvIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlIHRoZSBwYWdlIGlzIHJldHVybmVk
IHRvIHRoZSBoZWFwLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2NCwgcGFydCBv
ZiBYU0EtNDAyLgoKUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8amFubmhAZ29v
Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5s
YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDdk
M2QxODZlZGJkNS4uNGQ2YjA0YzFjZjMxIDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtOTk5LDYg
Kzk5OSwxNSBAQCBnZXRfcGFnZV9mcm9tX2wxZSgKICAgICAgICAgcmV0dXJu
IC1FQUNDRVM7CiAgICAgfQogCisgICAgLyoKKyAgICAgKiBUcmFjayB3cml0
ZWFibGUgbm9uLWNvaGVyZW50IG1hcHBpbmdzIHRvIFJBTSBwYWdlcywgdG8g
dHJpZ2dlciBhIGNhY2hlCisgICAgICogZmx1c2ggbGF0ZXIgaWYgdGhlIHRh
cmdldCBpcyB1c2VkIGFzIGFueXRoaW5nIGJ1dCBhIFBHVF93cml0ZWFibGUg
cGFnZS4KKyAgICAgKiBXZSBjYXJlIGFib3V0IGFsbCB3cml0ZWFibGUgbWFw
cGluZ3MsIGluY2x1ZGluZyBmb3JlaWduIG1hcHBpbmdzLgorICAgICAqLwor
ICAgIGlmICggIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YRU5fU0VMRlNO
T09QKSAmJgorICAgICAgICAgKGwxZiAmIChQQUdFX0NBQ0hFX0FUVFJTIHwg
X1BBR0VfUlcpKSA9PSAoX1BBR0VfV0MgfCBfUEFHRV9SVykgKQorICAgICAg
ICBzZXRfYml0KF9QR1Rfbm9uX2NvaGVyZW50LCAmcGFnZS0+dS5pbnVzZS50
eXBlX2luZm8pOworCiAgICAgcmV0dXJuIDA7CiAKICBjb3VsZF9ub3RfcGlu
OgpAQCAtMjQ0NCw2ICsyNDUzLDE5IEBAIHN0YXRpYyBpbnQgY2xlYW51cF9w
YWdlX21hcHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiAgICAgICAg
IH0KICAgICB9CiAKKyAgICAvKgorICAgICAqIEZsdXNoIHRoZSBjYWNoZSBp
ZiB0aGVyZSB3ZXJlIHByZXZpb3VzbHkgbm9uLWNvaGVyZW50IHdyaXRlYWJs
ZQorICAgICAqIG1hcHBpbmdzIG9mIHRoaXMgcGFnZS4gIFRoaXMgZm9yY2Vz
IHRoZSBwYWdlIHRvIGJlIGNvaGVyZW50IGJlZm9yZSBpdAorICAgICAqIGlz
IGZyZWVkIGJhY2sgdG8gdGhlIGhlYXAuCisgICAgICovCisgICAgaWYgKCBf
X3Rlc3RfYW5kX2NsZWFyX2JpdChfUEdUX25vbl9jb2hlcmVudCwgJnBhZ2Ut
PnUuaW51c2UudHlwZV9pbmZvKSApCisgICAgeworICAgICAgICB2b2lkICph
ZGRyID0gX19tYXBfZG9tYWluX3BhZ2UocGFnZSk7CisKKyAgICAgICAgY2Fj
aGVfZmx1c2goYWRkciwgUEFHRV9TSVpFKTsKKyAgICAgICAgdW5tYXBfZG9t
YWluX3BhZ2UoYWRkcik7CisgICAgfQorCiAgICAgcmV0dXJuIHJjOwogfQog
CkBAIC0zMDE2LDYgKzMwMzgsMjIgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2Vf
dHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5
cGUsCiAgICAgaWYgKCB1bmxpa2VseSghKG54ICYgUEdUX3ZhbGlkYXRlZCkp
ICkKICAgICB7CiAgICAgICAgIC8qCisgICAgICAgICAqIEZsdXNoIHRoZSBj
YWNoZSBpZiB0aGVyZSB3ZXJlIHByZXZpb3VzbHkgbm9uLWNvaGVyZW50IG1h
cHBpbmdzIG9mCisgICAgICAgICAqIHRoaXMgcGFnZSwgYW5kIHdlJ3JlIHRy
eWluZyB0byB1c2UgaXQgYXMgYW55dGhpbmcgb3RoZXIgdGhhbiBhCisgICAg
ICAgICAqIHdyaXRlYWJsZSBwYWdlLiAgVGhpcyBmb3JjZXMgdGhlIHBhZ2Ug
dG8gYmUgY29oZXJlbnQgYmVmb3JlIHdlCisgICAgICAgICAqIHZhbGlkYXRl
IGl0cyBjb250ZW50cyBmb3Igc2FmZXR5LgorICAgICAgICAgKi8KKyAgICAg
ICAgaWYgKCAobnggJiBQR1Rfbm9uX2NvaGVyZW50KSAmJiB0eXBlICE9IFBH
VF93cml0YWJsZV9wYWdlICkKKyAgICAgICAgeworICAgICAgICAgICAgdm9p
ZCAqYWRkciA9IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOworCisgICAgICAg
ICAgICBjYWNoZV9mbHVzaChhZGRyLCBQQUdFX1NJWkUpOworICAgICAgICAg
ICAgdW5tYXBfZG9tYWluX3BhZ2UoYWRkcik7CisKKyAgICAgICAgICAgIHBh
Z2UtPnUuaW51c2UudHlwZV9pbmZvICY9IH5QR1Rfbm9uX2NvaGVyZW50Owor
ICAgICAgICB9CisKKyAgICAgICAgLyoKICAgICAgICAgICogTm8gc3BlY2lh
bCB2YWxpZGF0aW9uIG5lZWRlZCBmb3Igd3JpdGFibGUgb3Igc2hhcmVkIHBh
Z2VzLiAgUGFnZQogICAgICAgICAgKiB0YWJsZXMgYW5kIEdEVC9MRFQgbmVl
ZCB0byBoYXZlIHRoZWlyIGNvbnRlbnRzIGF1ZGl0ZWQuCiAgICAgICAgICAq
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZ3JhbnRfdGFibGUuYyBi
L3hlbi9hcmNoL3g4Ni9wdi9ncmFudF90YWJsZS5jCmluZGV4IDAzMjU2MThj
OTg4My4uODFjNzJlNjFlZDU1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
cHYvZ3JhbnRfdGFibGUuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZ3JhbnRf
dGFibGUuYwpAQCAtMTA5LDcgKzEwOSwxNyBAQCBpbnQgY3JlYXRlX2dyYW50
X3B2X21hcHBpbmcodWludDY0X3QgYWRkciwgbWZuX3QgZnJhbWUsCiAKICAg
ICBvbDFlID0gKnBsMWU7CiAgICAgaWYgKCBVUERBVEVfRU5UUlkobDEsIHBs
MWUsIG9sMWUsIG5sMWUsIGdsMW1mbiwgY3VyciwgMCkgKQorICAgIHsKKyAg
ICAgICAgLyoKKyAgICAgICAgICogV2UgYWx3YXlzIGNyZWF0ZSBtYXBwaW5n
cyBpbiB0aGlzIHBhdGguICBIb3dldmVyLCBvdXIgY2FsbGVyLAorICAgICAg
ICAgKiBtYXBfZ3JhbnRfcmVmKCksIG9ubHkgcGFzc2VzIHBvdGVudGlhbGx5
IG5vbi16ZXJvIGNhY2hlX2ZsYWdzIGZvcgorICAgICAgICAgKiBNTUlPIGZy
YW1lcywgc28gdGhpcyBwYXRoIGRvZXNuJ3QgY3JlYXRlIG5vbi1jb2hlcmVu
dCBtYXBwaW5ncyBvZgorICAgICAgICAgKiBSQU0gZnJhbWVzIGFuZCB0aGVy
ZSdzIG5vIG5lZWQgdG8gY2FsY3VsYXRlIFBHVF9ub25fY29oZXJlbnQuCisg
ICAgICAgICAqLworICAgICAgICBBU1NFUlQoIWNhY2hlX2ZsYWdzIHx8IGlz
X2lvbWVtX3BhZ2UoZnJhbWUpKTsKKwogICAgICAgICByYyA9IEdOVFNUX29r
YXk7CisgICAgfQogCiAgb3V0X3VubG9jazoKICAgICBwYWdlX3VubG9jayhw
YWdlKTsKQEAgLTI5NCw3ICszMDQsMTggQEAgaW50IHJlcGxhY2VfZ3JhbnRf
cHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCBtZm5fdCBmcmFtZSwKICAgICAg
ICAgICAgICAgICAgbDFlX2dldF9mbGFncyhvbDFlKSwgYWRkciwgZ3JhbnRf
cHRlX2ZsYWdzKTsKIAogICAgIGlmICggVVBEQVRFX0VOVFJZKGwxLCBwbDFl
LCBvbDFlLCBubDFlLCBnbDFtZm4sIGN1cnIsIDApICkKKyAgICB7CisgICAg
ICAgIC8qCisgICAgICAgICAqIEdlbmVyYWxseSwgcmVwbGFjZV9ncmFudF9w
dl9tYXBwaW5nKCkgaXMgdXNlZCB0byBkZXN0cm95IG1hcHBpbmdzCisgICAg
ICAgICAqIChuMWxlID0gbDFlX2VtcHR5KCkpLCBidXQgaXQgY2FuIGJlIGEg
cHJlc2VudCBtYXBwaW5nIG9uIHRoZQorICAgICAgICAgKiBHTlRBQk9QX3Vu
bWFwX2FuZF9yZXBsYWNlIHBhdGguCisgICAgICAgICAqCisgICAgICAgICAq
IEluIHN1Y2ggY2FzZXMsIHRoZSBQVEUgaXMgZnVsbHkgdHJhbnNwbGFudGVk
IGZyb20gaXRzIG9sZCBsb2NhdGlvbgorICAgICAgICAgKiB2aWEgc3RlYWxf
bGluZWFyX2FkZHIoKSwgc28gd2UgbmVlZCBub3QgcGVyZm9ybSBQR1Rfbm9u
X2NvaGVyZW50CisgICAgICAgICAqIGNoZWNraW5nIGhlcmUuCisgICAgICAg
ICAqLwogICAgICAgICByYyA9IEdOVFNUX29rYXk7CisgICAgfQogCiAgb3V0
X3VubG9jazoKICAgICBwYWdlX3VubG9jayhwYWdlKTsKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvbW0uaAppbmRleCA3YTIwOTNkYTU5NzcuLjRjODE0YWJhYTAyOCAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvbW0uaApAQCAtNDgsOCArNDgsMTIgQEAKICNkZWZp
bmUgX1BHVF9wYXJ0aWFsICAgICAgUEdfc2hpZnQoOCkKICNkZWZpbmUgUEdU
X3BhcnRpYWwgICAgICAgUEdfbWFzaygxLCA4KQogCisvKiBIYXMgdGhpcyBw
YWdlIGJlZW4gbWFwcGVkIHdyaXRlYWJsZSB3aXRoIGEgbm9uLWNvaGVyZW50
IG1lbW9yeSB0eXBlPyAqLworI2RlZmluZSBfUEdUX25vbl9jb2hlcmVudCBQ
R19zaGlmdCg5KQorI2RlZmluZSBQR1Rfbm9uX2NvaGVyZW50ICBQR19tYXNr
KDEsIDkpCisKICAvKiBDb3VudCBvZiB1c2VzIG9mIHRoaXMgZnJhbWUgYXMg
aXRzIGN1cnJlbnQgdHlwZS4gKi8KLSNkZWZpbmUgUEdUX2NvdW50X3dpZHRo
ICAgUEdfc2hpZnQoOCkKKyNkZWZpbmUgUEdUX2NvdW50X3dpZHRoICAgUEdf
c2hpZnQoOSkKICNkZWZpbmUgUEdUX2NvdW50X21hc2sgICAgKCgxVUw8PFBH
VF9jb3VudF93aWR0aCktMSkKIAogLyogQXJlIHRoZSAndHlwZSBtYXNrJyBi
aXRzIGlkZW50aWNhbD8gKi8K

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.15-1.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.15-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3BhZ2U6IEludHJvZHVjZSBfUEFHRV8qIGNvbnN0
YW50cyBmb3IgbWVtb3J5IHR5cGVzCgouLi4gcmF0aGVyIHRoYW4gb3BlbmNv
ZGluZyB0aGUgUEFUL1BDRC9QV1QgYXR0cmlidXRlcyBpbiBfX1BBR0VfSFlQ
RVJWSVNPUl8qCmNvbnN0YW50cy4gIFRoZXNlIGFyZSBnb2luZyB0byBiZSBu
ZWVkZWQgYnkgZm9ydGhjb21pbmcgbG9naWMuCgpObyBmdW5jdGlvbmFsIGNo
YW5nZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCmluZGV4IDRjN2YyY2I3MGM2OS4u
NTM0YmMxZjQwM2IzIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2
L3BhZ2UuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaApAQCAt
MzM2LDYgKzMzNiwxNCBAQCB2b2lkIGVmaV91cGRhdGVfbDRfcGd0YWJsZSh1
bnNpZ25lZCBpbnQgbDRpZHgsIGw0X3BnZW50cnlfdCk7CiAKICNkZWZpbmUg
UEFHRV9DQUNIRV9BVFRSUyAoX1BBR0VfUEFUIHwgX1BBR0VfUENEIHwgX1BB
R0VfUFdUKQogCisvKiBNZW1vcnkgdHlwZXMsIGVuY29kZWQgdW5kZXIgWGVu
J3MgY2hvaWNlIG9mIE1TUl9QQVQuICovCisjZGVmaW5lIF9QQUdFX1dCICAg
ICAgICAgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkKKyNk
ZWZpbmUgX1BBR0VfV1QgICAgICAgICAoICAgICAgICAgICAgICAgICAgICAg
ICAgX1BBR0VfUFdUKQorI2RlZmluZSBfUEFHRV9VQ00gICAgICAgICggICAg
ICAgICAgICBfUEFHRV9QQ0QgICAgICAgICAgICApCisjZGVmaW5lIF9QQUdF
X1VDICAgICAgICAgKCAgICAgICAgICAgIF9QQUdFX1BDRCB8IF9QQUdFX1BX
VCkKKyNkZWZpbmUgX1BBR0VfV0MgICAgICAgICAoX1BBR0VfUEFUICAgICAg
ICAgICAgICAgICAgICAgICAgKQorI2RlZmluZSBfUEFHRV9XUCAgICAgICAg
IChfUEFHRV9QQVQgfCAgICAgICAgICAgICBfUEFHRV9QV1QpCisKIC8qCiAg
KiBEZWJ1ZyBvcHRpb246IEVuc3VyZSB0aGF0IGdyYW50ZWQgbWFwcGluZ3Mg
YXJlIG5vdCBpbXBsaWNpdGx5IHVubWFwcGVkLgogICogV0FSTklORzogVGhp
cyB3aWxsIG5lZWQgdG8gYmUgZGlzYWJsZWQgdG8gcnVuIE9TZXMgdGhhdCB1
c2UgdGhlIHNwYXJlIFBURQpAQCAtMzU0LDggKzM2Miw4IEBAIHZvaWQgZWZp
X3VwZGF0ZV9sNF9wZ3RhYmxlKHVuc2lnbmVkIGludCBsNGlkeCwgbDRfcGdl
bnRyeV90KTsKICNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfUlggICAgICAo
X1BBR0VfUFJFU0VOVCB8IF9QQUdFX0FDQ0VTU0VEKQogI2RlZmluZSBfX1BB
R0VfSFlQRVJWSVNPUiAgICAgICAgIChfX1BBR0VfSFlQRVJWSVNPUl9SWCB8
IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1BBR0Vf
RElSVFkgfCBfUEFHRV9SVykKLSNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1Jf
VUNNSU5VUyAoX19QQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QQ0QpCi0jZGVm
aW5lIF9fUEFHRV9IWVBFUlZJU09SX1VDICAgICAgKF9fUEFHRV9IWVBFUlZJ
U09SIHwgX1BBR0VfUENEIHwgX1BBR0VfUFdUKQorI2RlZmluZSBfX1BBR0Vf
SFlQRVJWSVNPUl9VQ01JTlVTIChfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdF
X1VDTSkKKyNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfVUMgICAgICAoX19Q
QUdFX0hZUEVSVklTT1IgfCBfUEFHRV9VQykKICNkZWZpbmUgX19QQUdFX0hZ
UEVSVklTT1JfU0hTVEsgICAoX19QQUdFX0hZUEVSVklTT1JfUk8gfCBfUEFH
RV9ESVJUWSkKIAogI2RlZmluZSBNQVBfU01BTExfUEFHRVMgX1BBR0VfQVZB
SUwwIC8qIGRvbid0IHVzZSBzdXBlcnBhZ2VzIG1hcHBpbmdzICovCg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.15-2.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.15-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBEb24ndCBjaGFuZ2UgdGhlIGNhY2hlYWJpbGl0
eSBvZiB0aGUgZGlyZWN0bWFwCgpDaGFuZ2VzZXQgNTVmOTdmNDliN2NlICgi
eDg2OiBDaGFuZ2UgY2FjaGUgYXR0cmlidXRlcyBvZiBYZW4gMToxIHBhZ2Ug
bWFwcGluZ3MKaW4gcmVzcG9uc2UgdG8gZ3Vlc3QgbWFwcGluZyByZXF1ZXN0
cyIpIGF0dGVtcHRlZCB0byBrZWVwIHRoZSBjYWNoZWFiaWxpdHkKY29uc2lz
dGVudCBiZXR3ZWVuIGRpZmZlcmVudCBtYXBwaW5ncyBvZiB0aGUgc2FtZSBw
YWdlLgoKVGhlIHJlYXNvbiB3YXNuJ3QgZGVzY3JpYmVkIGluIHRoZSBjaGFu
Z2Vsb2csIGJ1dCBpdCBpcyB1bmRlcnN0b29kIHRvIGJlIGluCnJlZ2FyZHMg
dG8gYSBjb25jZXJuIG92ZXIgbWFjaGluZSBjaGVjayBleGNlcHRpb25zLCBv
d2luZyB0byBlcnJhdGEgd2hlbiB1c2luZwptaXhlZCBjYWNoZWFiaWxpdGll
cy4gIEl0IGRpZCB0aGlzIHByaW1hcmlseSBieSB1cGRhdGluZyBYZW4ncyBt
YXBwaW5nIG9mIHRoZQpwYWdlIGluIHRoZSBkaXJlY3QgbWFwIHdoZW4gdGhl
IGd1ZXN0IG1hcHBlZCBhIHBhZ2Ugd2l0aCByZWR1Y2VkIGNhY2hlYWJpbGl0
eS4KClVuZm9ydHVuYXRlbHksIHRoZSBsb2dpYyBkaWRuJ3QgYWN0dWFsbHkg
cHJldmVudCBtaXhlZCBjYWNoZWFiaWxpdHkgZnJvbQpvY2N1cnJpbmc6CiAq
IEEgZ3Vlc3QgY291bGQgbWFwIGEgcGFnZSBub3JtYWxseSwgYW5kIHRoZW4g
bWFwIHRoZSBzYW1lIHBhZ2Ugd2l0aAogICBkaWZmZXJlbnQgY2FjaGVhYmls
aXR5OyBub3RoaW5nIHByZXZlbnRlZCB0aGlzLgogKiBUaGUgY2FjaGVhYmls
aXR5IG9mIHRoZSBkaXJlY3RtYXAgd2FzIGFsd2F5cyBsYXRlc3QtdGFrZXMt
cHJlY2VkZW5jZSBpbgogICB0ZXJtcyBvZiBndWVzdCByZXF1ZXN0cy4KICog
R3JhbnQtbWFwcGVkIGZyYW1lcyB3aXRoIGxlc3NlciBjYWNoZWFiaWxpdHkg
ZGlkbid0IGFkanVzdCB0aGUgcGFnZSdzCiAgIGNhY2hlYXR0ciBzZXR0aW5n
cy4KICogVGhlIG1hcF9kb21haW5fcGFnZSgpIGZ1bmN0aW9uIHN0aWxsIHVu
Y29uZGl0aW9uYWxseSBjcmVhdGVkIFdCIG1hcHBpbmdzLAogICBpcnJlc3Bl
Y3RpdmUgb2YgdGhlIHBhZ2UncyBjYWNoZWF0dHIgc2V0dGluZ3MuCgpBZGRp
dGlvbmFsbHksIHVwZGF0ZV94ZW5fbWFwcGluZ3MoKSBoYWQgYSBidWcgd2hl
cmUgdGhlIGFsaWFzIGNhbGN1bGF0aW9uIHdhcwp3cm9uZyBmb3IgbWZuJ3Mg
d2hpY2ggd2VyZSAuaW5pdCBjb250ZW50LCB3aGljaCBzaG91bGQgaGF2ZSBi
ZWVuIHRyZWF0ZWQgYXMKZnVsbHkgZ3Vlc3QgcGFnZXMsIG5vdCBYZW4gcGFn
ZXMuCgpXb3JzZSB5ZXQsIHRoZSBsb2dpYyBpbnRyb2R1Y2VkIGEgdnVsbmVy
YWJpbGl0eSB3aGVyZWJ5IG5lY2Vzc2FyeQpwYWdldGFibGUvc2VnZGVzYyBh
ZGp1c3RtZW50cyBtYWRlIGJ5IFhlbiBpbiB0aGUgdmFsaWRhdGlvbiBsb2dp
YyBjb3VsZCBiZWNvbWUKbm9uLWNvaGVyZW50IGJldHdlZW4gdGhlIGNhY2hl
IGFuZCBtYWluIG1lbW9yeS4gIFRoZSBDUFUgY291bGQgc3Vic2VxdWVudGx5
Cm9wZXJhdGUgb24gdGhlIHN0YWxlIHZhbHVlIGluIHRoZSBjYWNoZSwgcmF0
aGVyIHRoYW4gdGhlIHNhZmUgdmFsdWUgaW4gbWFpbgptZW1vcnkuCgpUaGUg
ZGlyZWN0bWFwIGNvbnRhaW5zIHByaW1hcmlseSBtYXBwaW5ncyBvZiBSQU0u
ICBQQVQvTVRSUiBjb25mbGljdApyZXNvbHV0aW9uIGlzIGFzeW1tZXRyaWMs
IGFuZCBnZW5lcmFsbHkgZm9yIE1UUlI9V0IgcmFuZ2VzLCBQQVQgb2YgbGVz
c2VyCmNhY2hlYWJpbGl0eSByZXNvbHZlcyB0byBiZWluZyBjb2hlcmVudC4g
IFRoZSBzcGVjaWFsIGNhc2UgaXMgV0MgbWFwcGluZ3MsCndoaWNoIGFyZSBu
b24tY29oZXJlbnQgYWdhaW5zdCBNVFJSPVdCIHJlZ2lvbnMgKGV4Y2VwdCBm
b3IgZnVsbHktY29oZXJlbnQKQ1BVcykuCgpYZW4gbXVzdCBub3QgaGF2ZSBh
bnkgV0MgY2FjaGVhYmlsaXR5IGluIHRoZSBkaXJlY3RtYXAsIHRvIHByZXZl
bnQgWGVuJ3MKYWN0aW9ucyBmcm9tIGNyZWF0aW5nIG5vbi1jb2hlcmVuY3ku
ICAoR3Vlc3QgYWN0aW9ucyBjcmVhdGluZyBub24tY29oZXJlbmN5IGlzCmRl
YWx0IHdpdGggaW4gc3Vic2VxdWVudCBwYXRjaGVzLikgIEFzIGFsbCBtZW1v
cnkgdHlwZXMgZm9yIE1UUlI9V0IgcmFuZ2VzCmludGVyLW9wZXJhdGUgY29o
ZXJlbnRseSwgc28gbGVhdmUgWGVuJ3MgZGlyZWN0bWFwIG1hcHBpbmdzIGFz
IFdCLgoKT25seSBQViBndWVzdHMgd2l0aCBhY2Nlc3MgdG8gZGV2aWNlcyBj
YW4gdXNlIHJlZHVjZWQtY2FjaGVhYmlsaXR5IG1hcHBpbmdzIHRvCmJlZ2lu
IHdpdGgsIGFuZCB0aGV5J3JlIHRydXN0ZWQgbm90IHRvIG1vdW50IERvU3Mg
YWdhaW5zdCB0aGUgc3lzdGVtIGFueXdheS4KCkRyb3AgUEdDX2NhY2hlYXR0
cl97YmFzZSxtYXNrfSBlbnRpcmVseSwgYW5kIHRoZSBsb2dpYyB0byBtYW5p
cHVsYXRlIHRoZW0uClNoaWZ0IHRoZSBsYXRlciBQR0NfKiBjb25zdGFudHMg
dXAsIHRvIGdhaW4gMyBleHRyYSBiaXRzIGluIHRoZSBtYWluIHJlZmVyZW5j
ZQpjb3VudC4gIFJldGFpbiB0aGUgY2hlY2sgaW4gZ2V0X3BhZ2VfZnJvbV9s
MWUoKSBmb3Igc3BlY2lhbF9wYWdlcygpIGJlY2F1c2UgYQpndWVzdCBoYXMg
bm8gYnVzaW5lc3MgdXNpbmcgcmVkdWNlZCBjYWNoZWFiaWxpdHkgb24gdGhl
c2UuCgpUaGlzIHJldmVydHMgY2hhbmdlc2V0IDU1Zjk3ZjQ5YjdjZTZjMzUy
MGM1NTVkMTljYWFjNmNmM2Y5YTVkZjAKClRoaXMgaXMgQ1ZFLTIwMjItMjYz
NjMsIHBhcnQgb2YgWFNBLTQwMi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cgpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYv
bW0uYwppbmRleCAyNjQ0YjlmMDMzN2MuLjZjZThjMTlkY2VjYyAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21t
LmMKQEAgLTc4MywyOCArNzgzLDYgQEAgYm9vbCBpc19pb21lbV9wYWdlKG1m
bl90IG1mbikKICAgICByZXR1cm4gKHBhZ2VfZ2V0X293bmVyKHBhZ2UpID09
IGRvbV9pbyk7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3hlbl9tYXBwaW5n
cyh1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgaW50IGNhY2hlYXR0cikK
LXsKLSAgICBpbnQgZXJyID0gMDsKLSAgICBib29sIGFsaWFzID0gbWZuID49
IFBGTl9ET1dOKHhlbl9waHlzX3N0YXJ0KSAmJgotICAgICAgICAgbWZuIDwg
UEZOX1VQKHhlbl9waHlzX3N0YXJ0ICsgeGVuX3ZpcnRfZW5kIC0gWEVOX1ZJ
UlRfU1RBUlQpOwotICAgIHVuc2lnbmVkIGxvbmcgeGVuX3ZhID0KLSAgICAg
ICAgWEVOX1ZJUlRfU1RBUlQgKyAoKG1mbiAtIFBGTl9ET1dOKHhlbl9waHlz
X3N0YXJ0KSkgPDwgUEFHRV9TSElGVCk7Ci0KLSAgICBpZiAoIGJvb3RfY3B1
X2hhcyhYODZfRkVBVFVSRV9YRU5fU0VMRlNOT09QKSApCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgaWYgKCB1bmxpa2VseShhbGlhcykgJiYgY2FjaGVh
dHRyICkKLSAgICAgICAgZXJyID0gbWFwX3BhZ2VzX3RvX3hlbih4ZW5fdmEs
IF9tZm4obWZuKSwgMSwgMCk7Ci0gICAgaWYgKCAhZXJyICkKLSAgICAgICAg
ZXJyID0gbWFwX3BhZ2VzX3RvX3hlbigodW5zaWduZWQgbG9uZyltZm5fdG9f
dmlydChtZm4pLCBfbWZuKG1mbiksIDEsCi0gICAgICAgICAgICAgICAgICAg
ICBQQUdFX0hZUEVSVklTT1IgfCBjYWNoZWF0dHJfdG9fcHRlX2ZsYWdzKGNh
Y2hlYXR0cikpOwotICAgIGlmICggdW5saWtlbHkoYWxpYXMpICYmICFjYWNo
ZWF0dHIgJiYgIWVyciApCi0gICAgICAgIGVyciA9IG1hcF9wYWdlc190b194
ZW4oeGVuX3ZhLCBfbWZuKG1mbiksIDEsIFBBR0VfSFlQRVJWSVNPUik7Ci0K
LSAgICByZXR1cm4gZXJyOwotfQotCiAjaWZuZGVmIE5ERUJVRwogc3RydWN0
IG1taW9fZW11bF9yYW5nZV9jdHh0IHsKICAgICBjb25zdCBzdHJ1Y3QgZG9t
YWluICpkOwpAQCAtMTAwOSw0NyArOTg3LDE0IEBAIGdldF9wYWdlX2Zyb21f
bDFlKAogICAgICAgICBnb3RvIGNvdWxkX25vdF9waW47CiAgICAgfQogCi0g
ICAgaWYgKCBwdGVfZmxhZ3NfdG9fY2FjaGVhdHRyKGwxZikgIT0KLSAgICAg
ICAgICgocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19jYWNoZWF0dHJfbWFzaykg
Pj4gUEdDX2NhY2hlYXR0cl9iYXNlKSApCisgICAgaWYgKCAobDFmICYgUEFH
RV9DQUNIRV9BVFRSUykgIT0gX1BBR0VfV0IgJiYgaXNfc3BlY2lhbF9wYWdl
KHBhZ2UpICkKICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgeCwgbngs
IHkgPSBwYWdlLT5jb3VudF9pbmZvOwotICAgICAgICB1bnNpZ25lZCBsb25n
IGNhY2hlYXR0ciA9IHB0ZV9mbGFnc190b19jYWNoZWF0dHIobDFmKTsKLSAg
ICAgICAgaW50IGVycjsKLQotICAgICAgICBpZiAoIGlzX3NwZWNpYWxfcGFn
ZShwYWdlKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICggd3JpdGUg
KQotICAgICAgICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFnZSk7Ci0gICAg
ICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAgICAgICAgIGdkcHJpbnRr
KFhFTkxPR19XQVJOSU5HLAotICAgICAgICAgICAgICAgICAgICAgIkF0dGVt
cHQgdG8gY2hhbmdlIGNhY2hlIGF0dHJpYnV0ZXMgb2YgWGVuIGhlYXAgcGFn
ZVxuIik7Ci0gICAgICAgICAgICByZXR1cm4gLUVBQ0NFUzsKLSAgICAgICAg
fQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIHggID0geTsKLSAgICAg
ICAgICAgIG54ID0gKHggJiB+UEdDX2NhY2hlYXR0cl9tYXNrKSB8IChjYWNo
ZWF0dHIgPDwgUEdDX2NhY2hlYXR0cl9iYXNlKTsKLSAgICAgICAgfSB3aGls
ZSAoICh5ID0gY21weGNoZygmcGFnZS0+Y291bnRfaW5mbywgeCwgbngpKSAh
PSB4ICk7Ci0KLSAgICAgICAgZXJyID0gdXBkYXRlX3hlbl9tYXBwaW5ncyht
Zm4sIGNhY2hlYXR0cik7Ci0gICAgICAgIGlmICggdW5saWtlbHkoZXJyKSAp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGNhY2hlYXR0ciA9IHkgJiBQR0Nf
Y2FjaGVhdHRyX21hc2s7Ci0gICAgICAgICAgICBkbyB7Ci0gICAgICAgICAg
ICAgICAgeCAgPSB5OwotICAgICAgICAgICAgICAgIG54ID0gKHggJiB+UEdD
X2NhY2hlYXR0cl9tYXNrKSB8IGNhY2hlYXR0cjsKLSAgICAgICAgICAgIH0g
d2hpbGUgKCAoeSA9IGNtcHhjaGcoJnBhZ2UtPmNvdW50X2luZm8sIHgsIG54
KSkgIT0geCApOwotCi0gICAgICAgICAgICBpZiAoIHdyaXRlICkKLSAgICAg
ICAgICAgICAgICBwdXRfcGFnZV90eXBlKHBhZ2UpOwotICAgICAgICAgICAg
cHV0X3BhZ2UocGFnZSk7Ci0KLSAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxP
R19XQVJOSU5HLCAiRXJyb3IgdXBkYXRpbmcgbWFwcGluZ3MgZm9yIG1mbiAl
IiBQUklfbWZuCi0gICAgICAgICAgICAgICAgICAgICAiIChwZm4gJSIgUFJJ
X3BmbiAiLCBmcm9tIEwxIGVudHJ5ICUiIFBSSXB0ZSAiKSBmb3IgZCVkXG4i
LAotICAgICAgICAgICAgICAgICAgICAgbWZuLCBnZXRfZ3Bmbl9mcm9tX21m
bihtZm4pLAotICAgICAgICAgICAgICAgICAgICAgbDFlX2dldF9pbnRwdGUo
bDFlKSwgbDFlX293bmVyLT5kb21haW5faWQpOwotICAgICAgICAgICAgcmV0
dXJuIGVycjsKLSAgICAgICAgfQorICAgICAgICBpZiAoIHdyaXRlICkKKyAg
ICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFnZSk7CisgICAgICAgIHB1dF9w
YWdlKHBhZ2UpOworICAgICAgICBnZHByaW50ayhYRU5MT0dfV0FSTklORywK
KyAgICAgICAgICAgICAgICAgIkF0dGVtcHQgdG8gY2hhbmdlIGNhY2hlIGF0
dHJpYnV0ZXMgb2YgWGVuIGhlYXAgcGFnZVxuIik7CisgICAgICAgIHJldHVy
biAtRUFDQ0VTOwogICAgIH0KIAogICAgIHJldHVybiAwOwpAQCAtMjQ1NSwy
NSArMjQwMCwxMCBAQCBzdGF0aWMgaW50IG1vZF9sNF9lbnRyeShsNF9wZ2Vu
dHJ5X3QgKnBsNGUsCiAgKi8KIHN0YXRpYyBpbnQgY2xlYW51cF9wYWdlX21h
cHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiB7Ci0gICAgdW5zaWdu
ZWQgaW50IGNhY2hlYXR0ciA9Ci0gICAgICAgIChwYWdlLT5jb3VudF9pbmZv
ICYgUEdDX2NhY2hlYXR0cl9tYXNrKSA+PiBQR0NfY2FjaGVhdHRyX2Jhc2U7
CiAgICAgaW50IHJjID0gMDsKICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IG1m
bl94KHBhZ2VfdG9fbWZuKHBhZ2UpKTsKIAogICAgIC8qCi0gICAgICogSWYg
d2UndmUgbW9kaWZpZWQgeGVuIG1hcHBpbmdzIGFzIGEgcmVzdWx0IG9mIGd1
ZXN0IGNhY2hlCi0gICAgICogYXR0cmlidXRlcywgcmVzdG9yZSB0aGVtIHRv
IHRoZSAibm9ybWFsIiBzdGF0ZS4KLSAgICAgKi8KLSAgICBpZiAoIHVubGlr
ZWx5KGNhY2hlYXR0cikgKQotICAgIHsKLSAgICAgICAgcGFnZS0+Y291bnRf
aW5mbyAmPSB+UEdDX2NhY2hlYXR0cl9tYXNrOwotCi0gICAgICAgIEJVR19P
Tihpc19zcGVjaWFsX3BhZ2UocGFnZSkpOwotCi0gICAgICAgIHJjID0gdXBk
YXRlX3hlbl9tYXBwaW5ncyhtZm4sIDApOwotICAgIH0KLQotICAgIC8qCiAg
ICAgICogSWYgdGhpcyBtYXkgYmUgaW4gYSBQViBkb21haW4ncyBJT01NVSwg
cmVtb3ZlIGl0LgogICAgICAqCiAgICAgICogTkIgdGhhdCB3cml0YWJsZSB4
ZW5oZWFwIHBhZ2VzIGhhdmUgdGhlaXIgdHlwZSBzZXQgYW5kIGNsZWFyZWQg
YnkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCAwNDFjMTU4ZjAzZjYuLmY1
Yjg4NjJiODM3NCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9t
bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaApAQCAtNjksMjUg
KzY5LDIyIEBACiAgLyogU2V0IHdoZW4gaXMgdXNpbmcgYSBwYWdlIGFzIGEg
cGFnZSB0YWJsZSAqLwogI2RlZmluZSBfUEdDX3BhZ2VfdGFibGUgICBQR19z
aGlmdCgzKQogI2RlZmluZSBQR0NfcGFnZV90YWJsZSAgICBQR19tYXNrKDEs
IDMpCi0gLyogMy1iaXQgUEFUL1BDRC9QV1QgY2FjaGUtYXR0cmlidXRlIGhp
bnQuICovCi0jZGVmaW5lIFBHQ19jYWNoZWF0dHJfYmFzZSBQR19zaGlmdCg2
KQotI2RlZmluZSBQR0NfY2FjaGVhdHRyX21hc2sgUEdfbWFzayg3LCA2KQog
IC8qIFBhZ2UgaXMgYnJva2VuPyAqLwotI2RlZmluZSBfUEdDX2Jyb2tlbiAg
ICAgICBQR19zaGlmdCg3KQotI2RlZmluZSBQR0NfYnJva2VuICAgICAgICBQ
R19tYXNrKDEsIDcpCisjZGVmaW5lIF9QR0NfYnJva2VuICAgICAgIFBHX3No
aWZ0KDQpCisjZGVmaW5lIFBHQ19icm9rZW4gICAgICAgIFBHX21hc2soMSwg
NCkKICAvKiBNdXR1YWxseS1leGNsdXNpdmUgcGFnZSBzdGF0ZXM6IHsgaW51
c2UsIG9mZmxpbmluZywgb2ZmbGluZWQsIGZyZWUgfS4gKi8KLSNkZWZpbmUg
UEdDX3N0YXRlICAgICAgICAgUEdfbWFzaygzLCA5KQotI2RlZmluZSBQR0Nf
c3RhdGVfaW51c2UgICBQR19tYXNrKDAsIDkpCi0jZGVmaW5lIFBHQ19zdGF0
ZV9vZmZsaW5pbmcgUEdfbWFzaygxLCA5KQotI2RlZmluZSBQR0Nfc3RhdGVf
b2ZmbGluZWQgUEdfbWFzaygyLCA5KQotI2RlZmluZSBQR0Nfc3RhdGVfZnJl
ZSAgICBQR19tYXNrKDMsIDkpCisjZGVmaW5lIFBHQ19zdGF0ZSAgICAgICAg
ICAgUEdfbWFzaygzLCA2KQorI2RlZmluZSBQR0Nfc3RhdGVfaW51c2UgICAg
IFBHX21hc2soMCwgNikKKyNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmluZyBQ
R19tYXNrKDEsIDYpCisjZGVmaW5lIFBHQ19zdGF0ZV9vZmZsaW5lZCAgUEdf
bWFzaygyLCA2KQorI2RlZmluZSBQR0Nfc3RhdGVfZnJlZSAgICAgIFBHX21h
c2soMywgNikKICNkZWZpbmUgcGFnZV9zdGF0ZV9pcyhwZywgc3QpICgoKHBn
KS0+Y291bnRfaW5mbyZQR0Nfc3RhdGUpID09IFBHQ19zdGF0ZV8jI3N0KQog
LyogUGFnZSBpcyBub3QgcmVmZXJlbmNlIGNvdW50ZWQgKi8KLSNkZWZpbmUg
X1BHQ19leHRyYSAgICAgICAgUEdfc2hpZnQoMTApCi0jZGVmaW5lIFBHQ19l
eHRyYSAgICAgICAgIFBHX21hc2soMSwgMTApCisjZGVmaW5lIF9QR0NfZXh0
cmEgICAgICAgIFBHX3NoaWZ0KDcpCisjZGVmaW5lIFBHQ19leHRyYSAgICAg
ICAgIFBHX21hc2soMSwgNykKIAogLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0
byB0aGlzIGZyYW1lLiAqLwotI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQ
R19zaGlmdCgxMCkKKyNkZWZpbmUgUEdDX2NvdW50X3dpZHRoICAgUEdfc2hp
ZnQoNykKICNkZWZpbmUgUEdDX2NvdW50X21hc2sgICAgKCgxVUw8PFBHQ19j
b3VudF93aWR0aCktMSkKIAogLyoK

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.15-3.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.15-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBTcGxpdCBjYWNoZV9mbHVzaCgpIG91dCBvZiBj
YWNoZV93cml0ZWJhY2soKQoKU3Vic2VxdWVudCBjaGFuZ2VzIHdpbGwgd2Fu
dCBhIGZ1bGx5IGZsdXNoaW5nIHZlcnNpb24uCgpVc2UgdGhlIG5ldyBoZWxw
ZXIgcmF0aGVyIHRoYW4gb3BlbmNvZGluZyBpdCBpbiBmbHVzaF9hcmVhX2xv
Y2FsKCkuICBUaGlzCnJlc29sdmVzIGFuIG91dHN0YW5kaW5nIGlzc3VlIHdo
ZXJlIHRoZSBjb25kaXRpb25hbCBzZmVuY2UgaXMgb24gdGhlIHdyb25nCnNp
ZGUgb2YgdGhlIGNsZmx1c2hvcHQgbG9vcC4gIGNsZmx1c2hvcHQgaXMgb3Jk
ZXJlZCB3aXRoIHJlc3BlY3QgdG8gb2xkZXIKc3RvcmVzLCBub3QgdG8geW91
bmdlciBzdG9yZXMuCgpSZW5hbWUgZ250dGFiX2NhY2hlX2ZsdXNoKCkncyBo
ZWxwZXIgdG8gYXZvaWQgY29sbGlkaW5nIGluIG5hbWUuCmdyYW50X3RhYmxl
LmMgY2FuIHNlZSB0aGUgcHJvdG90eXBlIGZyb20gY2FjaGUuaCBzbyB0aGUg
YnVpbGQgZmFpbHMKb3RoZXJ3aXNlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00
MDIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgoKWGVuIDQuMTYgYW5kIGVhcmxpZXI6CiAqIEFs
c28gYmFja3BvcnQgaGFsZiBvZiBjL3MgMzMzMDAxM2U2NzM5NiAiVlQtZCAv
IHg4NjogcmUtYXJyYW5nZSBjYWNoZQogICBzeW5jaW5nIiB0byBzcGxpdCBj
YWNoZV93cml0ZWJhY2soKSBvdXQgb2YgdGhlIElPTU1VIGxvZ2ljLCBidXQg
d2l0aG91dCB0aGUKICAgYXNzb2NpYXRlZCBob29rcyBjaGFuZ2VzLgoKZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jIGIveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMKaW5kZXggMjU3OThkZjUwZjU0Li4wYzkxMmI4NjY5
ZjggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCkBAIC0yMzQsNyArMjM0LDcgQEAg
dW5zaWduZWQgaW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEs
IHVuc2lnbmVkIGludCBmbGFncykKICAgICBpZiAoIGZsYWdzICYgRkxVU0hf
Q0FDSEUgKQogICAgIHsKICAgICAgICAgY29uc3Qgc3RydWN0IGNwdWluZm9f
eDg2ICpjID0gJmN1cnJlbnRfY3B1X2RhdGE7Ci0gICAgICAgIHVuc2lnbmVk
IGxvbmcgaSwgc3ogPSAwOworICAgICAgICB1bnNpZ25lZCBsb25nIHN6ID0g
MDsKIAogICAgICAgICBpZiAoIG9yZGVyIDwgKEJJVFNfUEVSX0xPTkcgLSBQ
QUdFX1NISUZUKSApCiAgICAgICAgICAgICBzeiA9IDFVTCA8PCAob3JkZXIg
KyBQQUdFX1NISUZUKTsKQEAgLTI0NCwxMyArMjQ0LDcgQEAgdW5zaWduZWQg
aW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVk
IGludCBmbGFncykKICAgICAgICAgICAgICBjLT54ODZfY2xmbHVzaF9zaXpl
ICYmIGMtPng4Nl9jYWNoZV9zaXplICYmIHN6ICYmCiAgICAgICAgICAgICAg
KChzeiA+PiAxMCkgPCBjLT54ODZfY2FjaGVfc2l6ZSkgKQogICAgICAgICB7
Ci0gICAgICAgICAgICBhbHRlcm5hdGl2ZSgiIiwgInNmZW5jZSIsIFg4Nl9G
RUFUVVJFX0NMRkxVU0hPUFQpOwotICAgICAgICAgICAgZm9yICggaSA9IDA7
IGkgPCBzejsgaSArPSBjLT54ODZfY2xmbHVzaF9zaXplICkKLSAgICAgICAg
ICAgICAgICBhbHRlcm5hdGl2ZV9pbnB1dCgiLmJ5dGUgIiBfX3N0cmluZ2lm
eShOT1BfRFNfUFJFRklYKSAiOyIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiIGNsZmx1c2ggJTAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJkYXRhMTYgY2xmbHVzaCAlMCIsICAgICAgLyog
Y2xmbHVzaG9wdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm0iICgoKGNvbnN0IGNoYXIgKil2YSlbaV0p
KTsKKyAgICAgICAgICAgIGNhY2hlX2ZsdXNoKHZhLCBzeik7CiAgICAgICAg
ICAgICBmbGFncyAmPSB+RkxVU0hfQ0FDSEU7CiAgICAgICAgIH0KICAgICAg
ICAgZWxzZQpAQCAtMjY1LDYgKzI1OSw4MCBAQCB1bnNpZ25lZCBpbnQgZmx1
c2hfYXJlYV9sb2NhbChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50IGZs
YWdzKQogICAgIHJldHVybiBmbGFnczsKIH0KIAordm9pZCBjYWNoZV9mbHVz
aChjb25zdCB2b2lkICphZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKyAg
ICAvKgorICAgICAqIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBiZWZv
cmUgY3VycmVudF9jcHVfZGF0YSBpcyBlc3RhYmxpc2hlZC4KKyAgICAgKiBI
ZW5jZSBhIGZhbGxiYWNrIGlzIG5lZWRlZCB0byBwcmV2ZW50IHRoZSBsb29w
IGJlbG93IGJlY29taW5nIGluZmluaXRlLgorICAgICAqLworICAgIHVuc2ln
bmVkIGludCBjbGZsdXNoX3NpemUgPSBjdXJyZW50X2NwdV9kYXRhLng4Nl9j
bGZsdXNoX3NpemUgPzogMTY7CisgICAgY29uc3Qgdm9pZCAqZW5kID0gYWRk
ciArIHNpemU7CisKKyAgICBhZGRyIC09ICh1bnNpZ25lZCBsb25nKWFkZHIg
JiAoY2xmbHVzaF9zaXplIC0gMSk7CisgICAgZm9yICggOyBhZGRyIDwgZW5k
OyBhZGRyICs9IGNsZmx1c2hfc2l6ZSApCisgICAgeworICAgICAgICAvKgor
ICAgICAgICAgKiBOb3RlIHJlZ2FyZGluZyB0aGUgImRzIiBwcmVmaXggdXNl
OiBpdCdzIGZhc3RlciB0byBkbyBhIGNsZmx1c2gKKyAgICAgICAgICogKyBw
cmVmaXggdGhhbiBhIGNsZmx1c2ggKyBub3AsIGFuZCBoZW5jZSB0aGUgcHJl
Zml4IGlzIGFkZGVkIGluc3RlYWQKKyAgICAgICAgICogb2YgbGV0dGluZyB0
aGUgYWx0ZXJuYXRpdmUgZnJhbWV3b3JrIGZpbGwgdGhlIGdhcCBieSBhcHBl
bmRpbmcgbm9wcy4KKyAgICAgICAgICovCisgICAgICAgIGFsdGVybmF0aXZl
X2lvKCJkczsgY2xmbHVzaCAlW3BdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgImRhdGExNiBjbGZsdXNoICVbcF0iLCAvKiBjbGZsdXNob3B0ICovCisg
ICAgICAgICAgICAgICAgICAgICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQs
CisgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIG91dHB1dHMgKi8sCisg
ICAgICAgICAgICAgICAgICAgICAgIFtwXSAibSIgKCooY29uc3QgY2hhciAq
KShhZGRyKSkpOworICAgIH0KKworICAgIGFsdGVybmF0aXZlKCIiLCAic2Zl
bmNlIiwgWDg2X0ZFQVRVUkVfQ0xGTFVTSE9QVCk7Cit9CisKK3ZvaWQgY2Fj
aGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBz
aXplKQoreworICAgIHVuc2lnbmVkIGludCBjbGZsdXNoX3NpemU7CisgICAg
Y29uc3Qgdm9pZCAqZW5kID0gYWRkciArIHNpemU7CisKKyAgICAvKiBGYWxs
IGJhY2sgdG8gQ0xGTFVTSHssT1BUfSB3aGVuIENMV0IgaXNuJ3QgYXZhaWxh
YmxlLiAqLworICAgIGlmICggIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9D
TFdCKSApCisgICAgICAgIHJldHVybiBjYWNoZV9mbHVzaChhZGRyLCBzaXpl
KTsKKworICAgIC8qCisgICAgICogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2Fs
bGVkIGJlZm9yZSBjdXJyZW50X2NwdV9kYXRhIGlzIGVzdGFibGlzaGVkLgor
ICAgICAqIEhlbmNlIGEgZmFsbGJhY2sgaXMgbmVlZGVkIHRvIHByZXZlbnQg
dGhlIGxvb3AgYmVsb3cgYmVjb21pbmcgaW5maW5pdGUuCisgICAgICovCisg
ICAgY2xmbHVzaF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVz
aF9zaXplID86IDE2OworICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRk
ciAmIChjbGZsdXNoX3NpemUgLSAxKTsKKyAgICBmb3IgKCA7IGFkZHIgPCBl
bmQ7IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKKyAgICB7CisvKgorICogVGhl
IGFyZ3VtZW50cyB0byBhIG1hY3JvIG11c3Qgbm90IGluY2x1ZGUgcHJlcHJv
Y2Vzc29yIGRpcmVjdGl2ZXMuIERvaW5nIHNvCisgKiByZXN1bHRzIGluIHVu
ZGVmaW5lZCBiZWhhdmlvciwgc28gd2UgaGF2ZSB0byBjcmVhdGUgc29tZSBk
ZWZpbmVzIGhlcmUgaW4KKyAqIG9yZGVyIHRvIGF2b2lkIGl0LgorICovCisj
aWYgZGVmaW5lZChIQVZFX0FTX0NMV0IpCisjIGRlZmluZSBDTFdCX0VOQ09E
SU5HICJjbHdiICVbcF0iCisjZWxpZiBkZWZpbmVkKEhBVkVfQVNfWFNBVkVP
UFQpCisjIGRlZmluZSBDTFdCX0VOQ09ESU5HICJkYXRhMTYgeHNhdmVvcHQg
JVtwXSIgLyogY2x3YiAqLworI2Vsc2UKKyMgZGVmaW5lIENMV0JfRU5DT0RJ
TkcgIi5ieXRlIDB4NjYsIDB4MGYsIDB4YWUsIDB4MzAiIC8qIGNsd2IgKCUl
cmF4KSAqLworI2VuZGlmCisKKyNkZWZpbmUgQkFTRV9JTlBVVChhZGRyKSBb
cF0gIm0iICgqKGNvbnN0IGNoYXIgKikoYWRkcikpCisjaWYgZGVmaW5lZChI
QVZFX0FTX0NMV0IpIHx8IGRlZmluZWQoSEFWRV9BU19YU0FWRU9QVCkKKyMg
ZGVmaW5lIElOUFVUIEJBU0VfSU5QVVQKKyNlbHNlCisjIGRlZmluZSBJTlBV
VChhZGRyKSAiYSIgKGFkZHIpLCBCQVNFX0lOUFVUKGFkZHIpCisjZW5kaWYK
KworICAgICAgICBhc20gdm9sYXRpbGUgKENMV0JfRU5DT0RJTkcgOjogSU5Q
VVQoYWRkcikpOworCisjdW5kZWYgSU5QVVQKKyN1bmRlZiBCQVNFX0lOUFVU
CisjdW5kZWYgQ0xXQl9FTkNPRElORworICAgIH0KKworICAgIGFzbSB2b2xh
dGlsZSAoInNmZW5jZSIgOjo6ICJtZW1vcnkiKTsKK30KKwogdW5zaWduZWQg
aW50IGd1ZXN0X2ZsdXNoX3RsYl9mbGFncyhjb25zdCBzdHJ1Y3QgZG9tYWlu
ICpkKQogewogICAgIGJvb2wgc2hhZG93ID0gcGFnaW5nX21vZGVfc2hhZG93
KGQpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIv
eGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4IDQ3YjAxOWM3NTAxNy4u
NzdiYmE5ODA2OTM3IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2dyYW50X3Rh
YmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0zNDIz
LDcgKzM0MjMsNyBAQCBnbnR0YWJfc3dhcF9ncmFudF9yZWYoWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTShnbnR0YWJfc3dhcF9ncmFudF9yZWZfdCkgdW9wLAog
ICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNhY2hlX2ZsdXNoKGNv
bnN0IGdudHRhYl9jYWNoZV9mbHVzaF90ICpjZmx1c2gsIGdyYW50X3JlZl90
ICpjdXJfcmVmKQorc3RhdGljIGludCBfY2FjaGVfZmx1c2goY29uc3QgZ250
dGFiX2NhY2hlX2ZsdXNoX3QgKmNmbHVzaCwgZ3JhbnRfcmVmX3QgKmN1cl9y
ZWYpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCwgKm93bmVyOwogICAgIHN0
cnVjdCBwYWdlX2luZm8gKnBhZ2U7CkBAIC0zNTE3LDcgKzM1MTcsNyBAQCBn
bnR0YWJfY2FjaGVfZmx1c2goWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShnbnR0
YWJfY2FjaGVfZmx1c2hfdCkgdW9wLAogICAgICAgICAgICAgcmV0dXJuIC1F
RkFVTFQ7CiAgICAgICAgIGZvciAoIDsgOyApCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGludCByZXQgPSBjYWNoZV9mbHVzaCgmb3AsIGN1cl9yZWYpOwor
ICAgICAgICAgICAgaW50IHJldCA9IF9jYWNoZV9mbHVzaCgmb3AsIGN1cl9y
ZWYpOwogCiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAg
ICAgICAgIHJldHVybiByZXQ7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvZXh0ZXJuLmggYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC92dGQvZXh0ZXJuLmgKaW5kZXggY2Y0ZDIyMThmYThiLi44ZjcwYWU3
MjdiODYgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9leHRlcm4uaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
ZXh0ZXJuLmgKQEAgLTc2LDcgKzc2LDYgQEAgaW50IF9fbXVzdF9jaGVjayBx
aW52YWxfZGV2aWNlX2lvdGxiX3N5bmMoc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgcGNpX2RldiAqcGRldiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQg
YWRkcik7CiAKLXVuc2lnbmVkIGludCBnZXRfY2FjaGVfbGluZV9zaXplKHZv
aWQpOwogdm9pZCBmbHVzaF9hbGxfY2FjaGUodm9pZCk7CiAKIHVpbnQ2NF90
IGFsbG9jX3BndGFibGVfbWFkZHIodW5zaWduZWQgbG9uZyBucGFnZXMsIG5v
ZGVpZF90IG5vZGUpOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuYwppbmRleCBhMDYzNDYyY2ZmNWEuLjY4YTY1ODkzMGE2YSAx
MDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK
QEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx4ZW4vcGNpLmg+CiAjaW5j
bHVkZSA8eGVuL3BjaV9yZWdzLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRs
ZXIuaD4KKyNpbmNsdWRlIDxhc20vY2FjaGUuaD4KICNpbmNsdWRlIDxhc20v
bXNpLmg+CiAjaW5jbHVkZSA8YXNtL25vcHMuaD4KICNpbmNsdWRlIDxhc20v
aXJxLmg+CkBAIC0yMDQsNTQgKzIwNSw2IEBAIHN0YXRpYyB2b2lkIGNoZWNr
X2NsZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmQsCiAgICAgfQog
fQogCi1zdGF0aWMgdm9pZCBzeW5jX2NhY2hlKGNvbnN0IHZvaWQgKmFkZHIs
IHVuc2lnbmVkIGludCBzaXplKQotewotICAgIHN0YXRpYyB1bnNpZ25lZCBs
b25nIGNsZmx1c2hfc2l6ZSA9IDA7Ci0gICAgY29uc3Qgdm9pZCAqZW5kID0g
YWRkciArIHNpemU7Ci0KLSAgICBpZiAoIGNsZmx1c2hfc2l6ZSA9PSAwICkK
LSAgICAgICAgY2xmbHVzaF9zaXplID0gZ2V0X2NhY2hlX2xpbmVfc2l6ZSgp
OwotCi0gICAgYWRkciAtPSAodW5zaWduZWQgbG9uZylhZGRyICYgKGNsZmx1
c2hfc2l6ZSAtIDEpOwotICAgIGZvciAoIDsgYWRkciA8IGVuZDsgYWRkciAr
PSBjbGZsdXNoX3NpemUgKQotLyoKLSAqIFRoZSBhcmd1bWVudHMgdG8gYSBt
YWNybyBtdXN0IG5vdCBpbmNsdWRlIHByZXByb2Nlc3NvciBkaXJlY3RpdmVz
LiBEb2luZyBzbwotICogcmVzdWx0cyBpbiB1bmRlZmluZWQgYmVoYXZpb3Is
IHNvIHdlIGhhdmUgdG8gY3JlYXRlIHNvbWUgZGVmaW5lcyBoZXJlIGluCi0g
KiBvcmRlciB0byBhdm9pZCBpdC4KLSAqLwotI2lmIGRlZmluZWQoSEFWRV9B
U19DTFdCKQotIyBkZWZpbmUgQ0xXQl9FTkNPRElORyAiY2x3YiAlW3BdIgot
I2VsaWYgZGVmaW5lZChIQVZFX0FTX1hTQVZFT1BUKQotIyBkZWZpbmUgQ0xX
Ql9FTkNPRElORyAiZGF0YTE2IHhzYXZlb3B0ICVbcF0iIC8qIGNsd2IgKi8K
LSNlbHNlCi0jIGRlZmluZSBDTFdCX0VOQ09ESU5HICIuYnl0ZSAweDY2LCAw
eDBmLCAweGFlLCAweDMwIiAvKiBjbHdiICglJXJheCkgKi8KLSNlbmRpZgot
Ci0jZGVmaW5lIEJBU0VfSU5QVVQoYWRkcikgW3BdICJtIiAoKihjb25zdCBj
aGFyICopKGFkZHIpKQotI2lmIGRlZmluZWQoSEFWRV9BU19DTFdCKSB8fCBk
ZWZpbmVkKEhBVkVfQVNfWFNBVkVPUFQpCi0jIGRlZmluZSBJTlBVVCBCQVNF
X0lOUFVUCi0jZWxzZQotIyBkZWZpbmUgSU5QVVQoYWRkcikgImEiIChhZGRy
KSwgQkFTRV9JTlBVVChhZGRyKQotI2VuZGlmCi0gICAgICAgIC8qCi0gICAg
ICAgICAqIE5vdGUgcmVnYXJkaW5nIHRoZSB1c2Ugb2YgTk9QX0RTX1BSRUZJ
WDogaXQncyBmYXN0ZXIgdG8gZG8gYSBjbGZsdXNoCi0gICAgICAgICAqICsg
cHJlZml4IHRoYW4gYSBjbGZsdXNoICsgbm9wLCBhbmQgaGVuY2UgdGhlIHBy
ZWZpeCBpcyBhZGRlZCBpbnN0ZWFkCi0gICAgICAgICAqIG9mIGxldHRpbmcg
dGhlIGFsdGVybmF0aXZlIGZyYW1ld29yayBmaWxsIHRoZSBnYXAgYnkgYXBw
ZW5kaW5nIG5vcHMuCi0gICAgICAgICAqLwotICAgICAgICBhbHRlcm5hdGl2
ZV9pb18yKCIuYnl0ZSAiIF9fc3RyaW5naWZ5KE5PUF9EU19QUkVGSVgpICI7
IGNsZmx1c2ggJVtwXSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImRh
dGExNiBjbGZsdXNoICVbcF0iLCAvKiBjbGZsdXNob3B0ICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgWDg2X0ZFQVRVUkVfQ0xGTFVTSE9QVCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBDTFdCX0VOQ09ESU5HLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIFg4Nl9GRUFUVVJFX0NMV0IsIC8qIG5vIG91
dHB1dHMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgSU5QVVQoYWRk
cikpOwotI3VuZGVmIElOUFVUCi0jdW5kZWYgQkFTRV9JTlBVVAotI3VuZGVm
IENMV0JfRU5DT0RJTkcKLQotICAgIGFsdGVybmF0aXZlXzIoIiIsICJzZmVu
Y2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BULAotICAgICAgICAgICAgICAg
ICAgICAgICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTFdCKTsKLX0KLQogLyog
QWxsb2NhdGUgcGFnZSB0YWJsZSwgcmV0dXJuIGl0cyBtYWNoaW5lIGFkZHJl
c3MgKi8KIHVpbnQ2NF90IGFsbG9jX3BndGFibGVfbWFkZHIodW5zaWduZWQg
bG9uZyBucGFnZXMsIG5vZGVpZF90IG5vZGUpCiB7CkBAIC0yNzEsNyArMjI0
LDcgQEAgdWludDY0X3QgYWxsb2NfcGd0YWJsZV9tYWRkcih1bnNpZ25lZCBs
b25nIG5wYWdlcywgbm9kZWlkX3Qgbm9kZSkKICAgICAgICAgY2xlYXJfcGFn
ZSh2YWRkcik7CiAKICAgICAgICAgaWYgKCAoaW9tbXVfb3BzLmluaXQgPyAm
aW9tbXVfb3BzIDogJnZ0ZF9vcHMpLT5zeW5jX2NhY2hlICkKLSAgICAgICAg
ICAgIHN5bmNfY2FjaGUodmFkZHIsIFBBR0VfU0laRSk7CisgICAgICAgICAg
ICBjYWNoZV93cml0ZWJhY2sodmFkZHIsIFBBR0VfU0laRSk7CiAgICAgICAg
IHVubWFwX2RvbWFpbl9wYWdlKHZhZGRyKTsKICAgICAgICAgY3VyX3BnKys7
CiAgICAgfQpAQCAtMTMwMiw3ICsxMjU1LDcgQEAgaW50IF9faW5pdCBpb21t
dV9hbGxvYyhzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQpCiAgICAgaW9t
bXUtPm5yX3B0X2xldmVscyA9IGFnYXdfdG9fbGV2ZWwoYWdhdyk7CiAKICAg
ICBpZiAoICFlY2FwX2NvaGVyZW50KGlvbW11LT5lY2FwKSApCi0gICAgICAg
IHZ0ZF9vcHMuc3luY19jYWNoZSA9IHN5bmNfY2FjaGU7CisgICAgICAgIHZ0
ZF9vcHMuc3luY19jYWNoZSA9IGNhY2hlX3dyaXRlYmFjazsKIAogICAgIC8q
IGFsbG9jYXRlIGRvbWFpbiBpZCBiaXRtYXAgKi8KICAgICBpb21tdS0+ZG9t
aWRfYml0bWFwID0geHphbGxvY19hcnJheSh1bnNpZ25lZCBsb25nLCBCSVRT
X1RPX0xPTkdTKG5yX2RvbSkpOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvdnRkL3g4Ni92dGQuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC94ODYvdnRkLmMKaW5kZXggNjY4MWRjY2Q2OTcwLi41NWYw
ZmFhNTIxY2IgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC94ODYvdnRkLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
dnRkL3g4Ni92dGQuYwpAQCAtNDcsMTEgKzQ3LDYgQEAgdm9pZCB1bm1hcF92
dGRfZG9tYWluX3BhZ2UoY29uc3Qgdm9pZCAqdmEpCiAgICAgdW5tYXBfZG9t
YWluX3BhZ2UodmEpOwogfQogCi11bnNpZ25lZCBpbnQgZ2V0X2NhY2hlX2xp
bmVfc2l6ZSh2b2lkKQotewotICAgIHJldHVybiAoKGNwdWlkX2VieCgxKSA+
PiA4KSAmIDB4ZmYpICogODsKLX0KLQogdm9pZCBmbHVzaF9hbGxfY2FjaGUo
KQogewogICAgIHdiaW52ZCgpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9jYWNoZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jYWNoZS5o
CmluZGV4IDFmNzE3M2Q4YzcyYy4uZTQ3NzBlZmIyMmI5IDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9hc20teDg2L2NhY2hlLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9jYWNoZS5oCkBAIC0xMSw0ICsxMSwxMSBAQAogCiAjZGVm
aW5lIF9fcmVhZF9tb3N0bHkgX19zZWN0aW9uKCIuZGF0YS5yZWFkX21vc3Rs
eSIpCiAKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisKK3ZvaWQgY2FjaGVfZmx1
c2goY29uc3Qgdm9pZCAqYWRkciwgdW5zaWduZWQgaW50IHNpemUpOwordm9p
ZCBjYWNoZV93cml0ZWJhY2soY29uc3Qgdm9pZCAqYWRkciwgdW5zaWduZWQg
aW50IHNpemUpOworCisjZW5kaWYKKwogI2VuZGlmCg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.15-4.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.15-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L2FtZDogV29yayBhcm91bmQgQ0xGTFVTSCBvcmRl
cmluZyBvbiBvbGRlciBwYXJ0cwoKT24gcHJlLUNMRkxVU0hPUFQgQU1EIENQ
VXMsIENMRkxVU0ggaXMgd2Vha2VseSBvcmRlcmVkIHdpdGggZXZlcnl0aGlu
ZywKaW5jbHVkaW5nIHJlYWRzIGFuZCB3cml0ZXMgdG8gdGhlIGFkZHJlc3Ms
IGFuZCBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KClRoaXMgY3JlYXRl
cyBhIG11bHRpdHVkZSBvZiBwcm9ibGVtYXRpYyBjb3JuZXIgY2FzZXMsIGxh
aWQgb3V0IGluIHRoZSBtYW51YWwuCkFycmFuZ2UgdG8gdXNlIE1GRU5DRSBv
biBib3RoIHNpZGVzIG9mIHRoZSBDTEZMVVNIIHRvIGZvcmNlIHByb3BlciBv
cmRlcmluZy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9m
Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIveGVu
L2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCAxZWU2ODdkMGQyMjQuLjk4NjY3
MmEwNzJiNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYwor
KysgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCkBAIC03ODcsNiArNzg3LDE0
IEBAIHN0YXRpYyB2b2lkIGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAq
YykKIAlpZiAoIWNwdV9oYXNfbGZlbmNlX2Rpc3BhdGNoKQogCQlfX3NldF9i
aXQoWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDLCBjLT54ODZfY2FwYWJpbGl0
eSk7CiAKKwkvKgorCSAqIE9uIHByZS1DTEZMVVNIT1BUIEFNRCBDUFVzLCBD
TEZMVVNIIGlzIHdlYWtseSBvcmRlcmVkIHdpdGgKKwkgKiBldmVyeXRoaW5n
LCBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRlcyB0byBhZGRyZXNzLCBhbmQK
KwkgKiBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KKwkgKi8KKwlpZiAo
IWNwdV9oYXNfY2xmbHVzaG9wdCkKKwkJc2V0dXBfZm9yY2VfY3B1X2NhcChY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFKTsKKwogCXN3aXRjaChjLT54ODYpCiAJ
ewogCWNhc2UgMHhmIC4uLiAweDExOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwppbmRl
eCAwYzkxMmI4NjY5ZjguLmRjYmI0MDY0MDEyZSAxMDA2NDQKLS0tIGEveGVu
L2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gveDg2L2ZsdXNo
dGxiLmMKQEAgLTI1OSw2ICsyNTksMTMgQEAgdW5zaWduZWQgaW50IGZsdXNo
X2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFn
cykKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKKy8qCisgKiBPbiBwcmUtQ0xG
TFVTSE9QVCBBTUQgQ1BVcywgQ0xGTFVTSCBpcyB3ZWFrbHkgb3JkZXJlZCB3
aXRoIGV2ZXJ5dGhpbmcsCisgKiBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRl
cyB0byBhZGRyZXNzLCBhbmQgTEZFTkNFL1NGRU5DRSBpbnN0cnVjdGlvbnMu
CisgKgorICogVGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIHNhZmVseSBhZnRl
ciBhbHRlcm5hdGl2ZXMgaGF2ZSBydW4uICBMdWNraWx5LCBhdAorICogdGhl
IHRpbWUgb2Ygd3JpdGluZywgd2UgZG9uJ3QgZmx1c2ggdGhlIGNhY2hlcyB0
aGF0IGVhcmx5LgorICovCiB2b2lkIGNhY2hlX2ZsdXNoKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogewogICAgIC8qCkBAIC0yNjgs
NiArMjc1LDggQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRy
LCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICB1bnNpZ25lZCBpbnQgY2xmbHVz
aF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVzaF9zaXplID86
IDE2OwogICAgIGNvbnN0IHZvaWQgKmVuZCA9IGFkZHIgKyBzaXplOwogCisg
ICAgYWx0ZXJuYXRpdmUoIiIsICJtZmVuY2UiLCBYODZfQlVHX0NMRkxVU0hf
TUZFTkNFKTsKKwogICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRkciAm
IChjbGZsdXNoX3NpemUgLSAxKTsKICAgICBmb3IgKCA7IGFkZHIgPCBlbmQ7
IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKICAgICB7CkBAIC0yODMsNyArMjky
LDkgQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRyLCB1bnNp
Z25lZCBpbnQgc2l6ZSkKICAgICAgICAgICAgICAgICAgICAgICAgW3BdICJt
IiAoKihjb25zdCBjaGFyICopKGFkZHIpKSk7CiAgICAgfQogCi0gICAgYWx0
ZXJuYXRpdmUoIiIsICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BU
KTsKKyAgICBhbHRlcm5hdGl2ZV8yKCIiLAorICAgICAgICAgICAgICAgICAg
InNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCisgICAgICAgICAg
ICAgICAgICAibWZlbmNlIiwgWDg2X0JVR19DTEZMVVNIX01GRU5DRSk7CiB9
CiAKIHZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVu
c2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9jcHVmZWF0dXJlcy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVm
ZWF0dXJlcy5oCmluZGV4IGZlMmY5NzM1NGZiNi4uMDlmNjE5NDU5YmM3IDEw
MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCkBAIC00
Niw2ICs0Niw3IEBAIFhFTl9DUFVGRUFUVVJFKFhFTl9JQlQsICAgICAgICAg
ICBYODZfU1lOVEgoMjcpKSAvKiBYZW4gdXNlcyBDRVQgSW5kaXJlY3QgQnJh
bmNoCiAjZGVmaW5lIFg4Nl9CVUcoeCkgKChGU0NBUElOVFMgKyBYODZfTlJf
U1lOVEgpICogMzIgKyAoeCkpCiAKICNkZWZpbmUgWDg2X0JVR19GUFVfUFRS
UyAgICAgICAgICBYODZfQlVHKCAwKSAvKiAoRilYe1NBVkUsUlNUT1J9IGRv
ZXNuJ3Qgc2F2ZS9yZXN0b3JlIEZPUC9GSVAvRkRQLiAqLworI2RlZmluZSBY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFICAgIFg4Nl9CVUcoIDIpIC8qIE1GRU5D
RSBuZWVkZWQgdG8gc2VyaWFsaXNlIENMRkxVU0ggKi8KIAogLyogVG90YWwg
bnVtYmVyIG9mIGNhcGFiaWxpdHkgd29yZHMsIGluYyBzeW50aCBhbmQgYnVn
IHdvcmRzLiAqLwogI2RlZmluZSBOQ0FQSU5UUyAoRlNDQVBJTlRTICsgWDg2
X05SX1NZTlRIICsgWDg2X05SX0JVRykgLyogTiAzMi1iaXQgd29yZHMgd29y
dGggb2YgaW5mbyAqLwo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.15-5.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.15-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBUcmFjayBhbmQgZmx1c2ggbm9uLWNvaGVy
ZW50IG1hcHBpbmdzIG9mIFJBTQoKVGhlcmUgYXJlIGxlZ2l0aW1hdGUgdXNl
cyBvZiBXQyBtYXBwaW5ncyBvZiBSQU0sIGUuZy4gZm9yIERNQSBidWZmZXJz
IHdpdGgKZGV2aWNlcyB0aGF0IG1ha2Ugbm9uLWNvaGVyZW50IHdyaXRlcy4g
IFRoZSBMaW51eCBzb3VuZCBzdWJzeXN0ZW0gbWFrZXMKZXh0ZW5zaXZlIHVz
ZSBvZiB0aGlzIHRlY2huaXF1ZS4KCkZvciBzdWNoIHVzZWNhc2VzLCB0aGUg
Z3Vlc3QncyBETUEgYnVmZmVyIGlzIG1hcHBlZCBhbmQgY29uc2lzdGVudGx5
IHVzZWQgYXMKV0MsIGFuZCBYZW4gZG9lc24ndCBpbnRlcmFjdCB3aXRoIHRo
ZSBidWZmZXIuCgpIb3dldmVyLCBhIG1pc2NoZXZpb3VzIGd1ZXN0IGNhbiB1
c2UgV0MgbWFwcGluZ3MgdG8gZGVsaWJlcmF0ZWx5IGNyZWF0ZQpub24tY29o
ZXJlbmN5IGJldHdlZW4gdGhlIGNhY2hlIGFuZCBSQU0sIGFuZCB1c2UgdGhp
cyB0byB0cmljayBYZW4gaW50bwp2YWxpZGF0aW5nIGEgcGFnZXRhYmxlIHdo
aWNoIGlzbid0IGFjdHVhbGx5IHNhZmUuCgpBbGxvY2F0ZSBhIG5ldyBQR1Rf
bm9uX2NvaGVyZW50IHRvIHRyYWNrIHRoZSBub24tY29oZXJlbmN5IG9mIG1h
cHBpbmdzLiAgU2V0Cml0IHdoZW5ldmVyIGEgbm9uLWNvaGVyZW50IHdyaXRl
YWJsZSBtYXBwaW5nIGlzIGNyZWF0ZWQuICBJZiB0aGUgcGFnZSBpcyB1c2Vk
CmFzIGFueXRoaW5nIG90aGVyIHRoYW4gUEdUX3dyaXRhYmxlX3BhZ2UsIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlCnZhbGlkYXRpb24uICBBbHNvIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlIHRoZSBwYWdlIGlzIHJldHVybmVk
IHRvIHRoZSBoZWFwLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2NCwgcGFydCBv
ZiBYU0EtNDAyLgoKUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8amFubmhAZ29v
Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5s
YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDZj
ZThjMTlkY2VjYy4uMTc1OWI4NGJhOTdjIDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtOTk3LDYg
Kzk5NywxNSBAQCBnZXRfcGFnZV9mcm9tX2wxZSgKICAgICAgICAgcmV0dXJu
IC1FQUNDRVM7CiAgICAgfQogCisgICAgLyoKKyAgICAgKiBUcmFjayB3cml0
ZWFibGUgbm9uLWNvaGVyZW50IG1hcHBpbmdzIHRvIFJBTSBwYWdlcywgdG8g
dHJpZ2dlciBhIGNhY2hlCisgICAgICogZmx1c2ggbGF0ZXIgaWYgdGhlIHRh
cmdldCBpcyB1c2VkIGFzIGFueXRoaW5nIGJ1dCBhIFBHVF93cml0ZWFibGUg
cGFnZS4KKyAgICAgKiBXZSBjYXJlIGFib3V0IGFsbCB3cml0ZWFibGUgbWFw
cGluZ3MsIGluY2x1ZGluZyBmb3JlaWduIG1hcHBpbmdzLgorICAgICAqLwor
ICAgIGlmICggIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YRU5fU0VMRlNO
T09QKSAmJgorICAgICAgICAgKGwxZiAmIChQQUdFX0NBQ0hFX0FUVFJTIHwg
X1BBR0VfUlcpKSA9PSAoX1BBR0VfV0MgfCBfUEFHRV9SVykgKQorICAgICAg
ICBzZXRfYml0KF9QR1Rfbm9uX2NvaGVyZW50LCAmcGFnZS0+dS5pbnVzZS50
eXBlX2luZm8pOworCiAgICAgcmV0dXJuIDA7CiAKICBjb3VsZF9ub3RfcGlu
OgpAQCAtMjQ0Miw2ICsyNDUxLDE5IEBAIHN0YXRpYyBpbnQgY2xlYW51cF9w
YWdlX21hcHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiAgICAgICAg
IH0KICAgICB9CiAKKyAgICAvKgorICAgICAqIEZsdXNoIHRoZSBjYWNoZSBp
ZiB0aGVyZSB3ZXJlIHByZXZpb3VzbHkgbm9uLWNvaGVyZW50IHdyaXRlYWJs
ZQorICAgICAqIG1hcHBpbmdzIG9mIHRoaXMgcGFnZS4gIFRoaXMgZm9yY2Vz
IHRoZSBwYWdlIHRvIGJlIGNvaGVyZW50IGJlZm9yZSBpdAorICAgICAqIGlz
IGZyZWVkIGJhY2sgdG8gdGhlIGhlYXAuCisgICAgICovCisgICAgaWYgKCBf
X3Rlc3RfYW5kX2NsZWFyX2JpdChfUEdUX25vbl9jb2hlcmVudCwgJnBhZ2Ut
PnUuaW51c2UudHlwZV9pbmZvKSApCisgICAgeworICAgICAgICB2b2lkICph
ZGRyID0gX19tYXBfZG9tYWluX3BhZ2UocGFnZSk7CisKKyAgICAgICAgY2Fj
aGVfZmx1c2goYWRkciwgUEFHRV9TSVpFKTsKKyAgICAgICAgdW5tYXBfZG9t
YWluX3BhZ2UoYWRkcik7CisgICAgfQorCiAgICAgcmV0dXJuIHJjOwogfQog
CkBAIC0zMDE2LDYgKzMwMzgsMjIgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2Vf
dHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5
cGUsCiAgICAgaWYgKCB1bmxpa2VseSghKG54ICYgUEdUX3ZhbGlkYXRlZCkp
ICkKICAgICB7CiAgICAgICAgIC8qCisgICAgICAgICAqIEZsdXNoIHRoZSBj
YWNoZSBpZiB0aGVyZSB3ZXJlIHByZXZpb3VzbHkgbm9uLWNvaGVyZW50IG1h
cHBpbmdzIG9mCisgICAgICAgICAqIHRoaXMgcGFnZSwgYW5kIHdlJ3JlIHRy
eWluZyB0byB1c2UgaXQgYXMgYW55dGhpbmcgb3RoZXIgdGhhbiBhCisgICAg
ICAgICAqIHdyaXRlYWJsZSBwYWdlLiAgVGhpcyBmb3JjZXMgdGhlIHBhZ2Ug
dG8gYmUgY29oZXJlbnQgYmVmb3JlIHdlCisgICAgICAgICAqIHZhbGlkYXRl
IGl0cyBjb250ZW50cyBmb3Igc2FmZXR5LgorICAgICAgICAgKi8KKyAgICAg
ICAgaWYgKCAobnggJiBQR1Rfbm9uX2NvaGVyZW50KSAmJiB0eXBlICE9IFBH
VF93cml0YWJsZV9wYWdlICkKKyAgICAgICAgeworICAgICAgICAgICAgdm9p
ZCAqYWRkciA9IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOworCisgICAgICAg
ICAgICBjYWNoZV9mbHVzaChhZGRyLCBQQUdFX1NJWkUpOworICAgICAgICAg
ICAgdW5tYXBfZG9tYWluX3BhZ2UoYWRkcik7CisKKyAgICAgICAgICAgIHBh
Z2UtPnUuaW51c2UudHlwZV9pbmZvICY9IH5QR1Rfbm9uX2NvaGVyZW50Owor
ICAgICAgICB9CisKKyAgICAgICAgLyoKICAgICAgICAgICogTm8gc3BlY2lh
bCB2YWxpZGF0aW9uIG5lZWRlZCBmb3Igd3JpdGFibGUgb3Igc2hhcmVkIHBh
Z2VzLiAgUGFnZQogICAgICAgICAgKiB0YWJsZXMgYW5kIEdEVC9MRFQgbmVl
ZCB0byBoYXZlIHRoZWlyIGNvbnRlbnRzIGF1ZGl0ZWQuCiAgICAgICAgICAq
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZ3JhbnRfdGFibGUuYyBi
L3hlbi9hcmNoL3g4Ni9wdi9ncmFudF90YWJsZS5jCmluZGV4IDAzMjU2MThj
OTg4My4uODFjNzJlNjFlZDU1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
cHYvZ3JhbnRfdGFibGUuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZ3JhbnRf
dGFibGUuYwpAQCAtMTA5LDcgKzEwOSwxNyBAQCBpbnQgY3JlYXRlX2dyYW50
X3B2X21hcHBpbmcodWludDY0X3QgYWRkciwgbWZuX3QgZnJhbWUsCiAKICAg
ICBvbDFlID0gKnBsMWU7CiAgICAgaWYgKCBVUERBVEVfRU5UUlkobDEsIHBs
MWUsIG9sMWUsIG5sMWUsIGdsMW1mbiwgY3VyciwgMCkgKQorICAgIHsKKyAg
ICAgICAgLyoKKyAgICAgICAgICogV2UgYWx3YXlzIGNyZWF0ZSBtYXBwaW5n
cyBpbiB0aGlzIHBhdGguICBIb3dldmVyLCBvdXIgY2FsbGVyLAorICAgICAg
ICAgKiBtYXBfZ3JhbnRfcmVmKCksIG9ubHkgcGFzc2VzIHBvdGVudGlhbGx5
IG5vbi16ZXJvIGNhY2hlX2ZsYWdzIGZvcgorICAgICAgICAgKiBNTUlPIGZy
YW1lcywgc28gdGhpcyBwYXRoIGRvZXNuJ3QgY3JlYXRlIG5vbi1jb2hlcmVu
dCBtYXBwaW5ncyBvZgorICAgICAgICAgKiBSQU0gZnJhbWVzIGFuZCB0aGVy
ZSdzIG5vIG5lZWQgdG8gY2FsY3VsYXRlIFBHVF9ub25fY29oZXJlbnQuCisg
ICAgICAgICAqLworICAgICAgICBBU1NFUlQoIWNhY2hlX2ZsYWdzIHx8IGlz
X2lvbWVtX3BhZ2UoZnJhbWUpKTsKKwogICAgICAgICByYyA9IEdOVFNUX29r
YXk7CisgICAgfQogCiAgb3V0X3VubG9jazoKICAgICBwYWdlX3VubG9jayhw
YWdlKTsKQEAgLTI5NCw3ICszMDQsMTggQEAgaW50IHJlcGxhY2VfZ3JhbnRf
cHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCBtZm5fdCBmcmFtZSwKICAgICAg
ICAgICAgICAgICAgbDFlX2dldF9mbGFncyhvbDFlKSwgYWRkciwgZ3JhbnRf
cHRlX2ZsYWdzKTsKIAogICAgIGlmICggVVBEQVRFX0VOVFJZKGwxLCBwbDFl
LCBvbDFlLCBubDFlLCBnbDFtZm4sIGN1cnIsIDApICkKKyAgICB7CisgICAg
ICAgIC8qCisgICAgICAgICAqIEdlbmVyYWxseSwgcmVwbGFjZV9ncmFudF9w
dl9tYXBwaW5nKCkgaXMgdXNlZCB0byBkZXN0cm95IG1hcHBpbmdzCisgICAg
ICAgICAqIChuMWxlID0gbDFlX2VtcHR5KCkpLCBidXQgaXQgY2FuIGJlIGEg
cHJlc2VudCBtYXBwaW5nIG9uIHRoZQorICAgICAgICAgKiBHTlRBQk9QX3Vu
bWFwX2FuZF9yZXBsYWNlIHBhdGguCisgICAgICAgICAqCisgICAgICAgICAq
IEluIHN1Y2ggY2FzZXMsIHRoZSBQVEUgaXMgZnVsbHkgdHJhbnNwbGFudGVk
IGZyb20gaXRzIG9sZCBsb2NhdGlvbgorICAgICAgICAgKiB2aWEgc3RlYWxf
bGluZWFyX2FkZHIoKSwgc28gd2UgbmVlZCBub3QgcGVyZm9ybSBQR1Rfbm9u
X2NvaGVyZW50CisgICAgICAgICAqIGNoZWNraW5nIGhlcmUuCisgICAgICAg
ICAqLwogICAgICAgICByYyA9IEdOVFNUX29rYXk7CisgICAgfQogCiAgb3V0
X3VubG9jazoKICAgICBwYWdlX3VubG9jayhwYWdlKTsKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvbW0uaAppbmRleCBmNWI4ODYyYjgzNzQuLjVjMTliNzFlY2E3MCAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvbW0uaApAQCAtNTMsOCArNTMsMTIgQEAKICNkZWZp
bmUgX1BHVF9wYXJ0aWFsICAgICAgUEdfc2hpZnQoOCkKICNkZWZpbmUgUEdU
X3BhcnRpYWwgICAgICAgUEdfbWFzaygxLCA4KQogCisvKiBIYXMgdGhpcyBw
YWdlIGJlZW4gbWFwcGVkIHdyaXRlYWJsZSB3aXRoIGEgbm9uLWNvaGVyZW50
IG1lbW9yeSB0eXBlPyAqLworI2RlZmluZSBfUEdUX25vbl9jb2hlcmVudCBQ
R19zaGlmdCg5KQorI2RlZmluZSBQR1Rfbm9uX2NvaGVyZW50ICBQR19tYXNr
KDEsIDkpCisKICAvKiBDb3VudCBvZiB1c2VzIG9mIHRoaXMgZnJhbWUgYXMg
aXRzIGN1cnJlbnQgdHlwZS4gKi8KLSNkZWZpbmUgUEdUX2NvdW50X3dpZHRo
ICAgUEdfc2hpZnQoOCkKKyNkZWZpbmUgUEdUX2NvdW50X3dpZHRoICAgUEdf
c2hpZnQoOSkKICNkZWZpbmUgUEdUX2NvdW50X21hc2sgICAgKCgxVUw8PFBH
VF9jb3VudF93aWR0aCktMSkKIAogLyogQXJlIHRoZSAndHlwZSBtYXNrJyBi
aXRzIGlkZW50aWNhbD8gKi8K

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.16-1.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.16-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3BhZ2U6IEludHJvZHVjZSBfUEFHRV8qIGNvbnN0
YW50cyBmb3IgbWVtb3J5IHR5cGVzCgouLi4gcmF0aGVyIHRoYW4gb3BlbmNv
ZGluZyB0aGUgUEFUL1BDRC9QV1QgYXR0cmlidXRlcyBpbiBfX1BBR0VfSFlQ
RVJWSVNPUl8qCmNvbnN0YW50cy4gIFRoZXNlIGFyZSBnb2luZyB0byBiZSBu
ZWVkZWQgYnkgZm9ydGhjb21pbmcgbG9naWMuCgpObyBmdW5jdGlvbmFsIGNo
YW5nZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCmluZGV4IDFkMDgwY2ZmYmU4NC4u
MmU1NDIwNTBmNjVhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2
L3BhZ2UuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaApAQCAt
MzMxLDYgKzMzMSwxNCBAQCB2b2lkIGVmaV91cGRhdGVfbDRfcGd0YWJsZSh1
bnNpZ25lZCBpbnQgbDRpZHgsIGw0X3BnZW50cnlfdCk7CiAKICNkZWZpbmUg
UEFHRV9DQUNIRV9BVFRSUyAoX1BBR0VfUEFUIHwgX1BBR0VfUENEIHwgX1BB
R0VfUFdUKQogCisvKiBNZW1vcnkgdHlwZXMsIGVuY29kZWQgdW5kZXIgWGVu
J3MgY2hvaWNlIG9mIE1TUl9QQVQuICovCisjZGVmaW5lIF9QQUdFX1dCICAg
ICAgICAgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkKKyNk
ZWZpbmUgX1BBR0VfV1QgICAgICAgICAoICAgICAgICAgICAgICAgICAgICAg
ICAgX1BBR0VfUFdUKQorI2RlZmluZSBfUEFHRV9VQ00gICAgICAgICggICAg
ICAgICAgICBfUEFHRV9QQ0QgICAgICAgICAgICApCisjZGVmaW5lIF9QQUdF
X1VDICAgICAgICAgKCAgICAgICAgICAgIF9QQUdFX1BDRCB8IF9QQUdFX1BX
VCkKKyNkZWZpbmUgX1BBR0VfV0MgICAgICAgICAoX1BBR0VfUEFUICAgICAg
ICAgICAgICAgICAgICAgICAgKQorI2RlZmluZSBfUEFHRV9XUCAgICAgICAg
IChfUEFHRV9QQVQgfCAgICAgICAgICAgICBfUEFHRV9QV1QpCisKIC8qCiAg
KiBEZWJ1ZyBvcHRpb246IEVuc3VyZSB0aGF0IGdyYW50ZWQgbWFwcGluZ3Mg
YXJlIG5vdCBpbXBsaWNpdGx5IHVubWFwcGVkLgogICogV0FSTklORzogVGhp
cyB3aWxsIG5lZWQgdG8gYmUgZGlzYWJsZWQgdG8gcnVuIE9TZXMgdGhhdCB1
c2UgdGhlIHNwYXJlIFBURQpAQCAtMzQ5LDggKzM1Nyw4IEBAIHZvaWQgZWZp
X3VwZGF0ZV9sNF9wZ3RhYmxlKHVuc2lnbmVkIGludCBsNGlkeCwgbDRfcGdl
bnRyeV90KTsKICNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfUlggICAgICAo
X1BBR0VfUFJFU0VOVCB8IF9QQUdFX0FDQ0VTU0VEKQogI2RlZmluZSBfX1BB
R0VfSFlQRVJWSVNPUiAgICAgICAgIChfX1BBR0VfSFlQRVJWSVNPUl9SWCB8
IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1BBR0Vf
RElSVFkgfCBfUEFHRV9SVykKLSNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1Jf
VUNNSU5VUyAoX19QQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QQ0QpCi0jZGVm
aW5lIF9fUEFHRV9IWVBFUlZJU09SX1VDICAgICAgKF9fUEFHRV9IWVBFUlZJ
U09SIHwgX1BBR0VfUENEIHwgX1BBR0VfUFdUKQorI2RlZmluZSBfX1BBR0Vf
SFlQRVJWSVNPUl9VQ01JTlVTIChfX1BBR0VfSFlQRVJWSVNPUiB8IF9QQUdF
X1VDTSkKKyNkZWZpbmUgX19QQUdFX0hZUEVSVklTT1JfVUMgICAgICAoX19Q
QUdFX0hZUEVSVklTT1IgfCBfUEFHRV9VQykKICNkZWZpbmUgX19QQUdFX0hZ
UEVSVklTT1JfU0hTVEsgICAoX19QQUdFX0hZUEVSVklTT1JfUk8gfCBfUEFH
RV9ESVJUWSkKIAogI2RlZmluZSBNQVBfU01BTExfUEFHRVMgX1BBR0VfQVZB
SUwwIC8qIGRvbid0IHVzZSBzdXBlcnBhZ2VzIG1hcHBpbmdzICovCg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.16-2.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.16-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBEb24ndCBjaGFuZ2UgdGhlIGNhY2hlYWJpbGl0
eSBvZiB0aGUgZGlyZWN0bWFwCgpDaGFuZ2VzZXQgNTVmOTdmNDliN2NlICgi
eDg2OiBDaGFuZ2UgY2FjaGUgYXR0cmlidXRlcyBvZiBYZW4gMToxIHBhZ2Ug
bWFwcGluZ3MKaW4gcmVzcG9uc2UgdG8gZ3Vlc3QgbWFwcGluZyByZXF1ZXN0
cyIpIGF0dGVtcHRlZCB0byBrZWVwIHRoZSBjYWNoZWFiaWxpdHkKY29uc2lz
dGVudCBiZXR3ZWVuIGRpZmZlcmVudCBtYXBwaW5ncyBvZiB0aGUgc2FtZSBw
YWdlLgoKVGhlIHJlYXNvbiB3YXNuJ3QgZGVzY3JpYmVkIGluIHRoZSBjaGFu
Z2Vsb2csIGJ1dCBpdCBpcyB1bmRlcnN0b29kIHRvIGJlIGluCnJlZ2FyZHMg
dG8gYSBjb25jZXJuIG92ZXIgbWFjaGluZSBjaGVjayBleGNlcHRpb25zLCBv
d2luZyB0byBlcnJhdGEgd2hlbiB1c2luZwptaXhlZCBjYWNoZWFiaWxpdGll
cy4gIEl0IGRpZCB0aGlzIHByaW1hcmlseSBieSB1cGRhdGluZyBYZW4ncyBt
YXBwaW5nIG9mIHRoZQpwYWdlIGluIHRoZSBkaXJlY3QgbWFwIHdoZW4gdGhl
IGd1ZXN0IG1hcHBlZCBhIHBhZ2Ugd2l0aCByZWR1Y2VkIGNhY2hlYWJpbGl0
eS4KClVuZm9ydHVuYXRlbHksIHRoZSBsb2dpYyBkaWRuJ3QgYWN0dWFsbHkg
cHJldmVudCBtaXhlZCBjYWNoZWFiaWxpdHkgZnJvbQpvY2N1cnJpbmc6CiAq
IEEgZ3Vlc3QgY291bGQgbWFwIGEgcGFnZSBub3JtYWxseSwgYW5kIHRoZW4g
bWFwIHRoZSBzYW1lIHBhZ2Ugd2l0aAogICBkaWZmZXJlbnQgY2FjaGVhYmls
aXR5OyBub3RoaW5nIHByZXZlbnRlZCB0aGlzLgogKiBUaGUgY2FjaGVhYmls
aXR5IG9mIHRoZSBkaXJlY3RtYXAgd2FzIGFsd2F5cyBsYXRlc3QtdGFrZXMt
cHJlY2VkZW5jZSBpbgogICB0ZXJtcyBvZiBndWVzdCByZXF1ZXN0cy4KICog
R3JhbnQtbWFwcGVkIGZyYW1lcyB3aXRoIGxlc3NlciBjYWNoZWFiaWxpdHkg
ZGlkbid0IGFkanVzdCB0aGUgcGFnZSdzCiAgIGNhY2hlYXR0ciBzZXR0aW5n
cy4KICogVGhlIG1hcF9kb21haW5fcGFnZSgpIGZ1bmN0aW9uIHN0aWxsIHVu
Y29uZGl0aW9uYWxseSBjcmVhdGVkIFdCIG1hcHBpbmdzLAogICBpcnJlc3Bl
Y3RpdmUgb2YgdGhlIHBhZ2UncyBjYWNoZWF0dHIgc2V0dGluZ3MuCgpBZGRp
dGlvbmFsbHksIHVwZGF0ZV94ZW5fbWFwcGluZ3MoKSBoYWQgYSBidWcgd2hl
cmUgdGhlIGFsaWFzIGNhbGN1bGF0aW9uIHdhcwp3cm9uZyBmb3IgbWZuJ3Mg
d2hpY2ggd2VyZSAuaW5pdCBjb250ZW50LCB3aGljaCBzaG91bGQgaGF2ZSBi
ZWVuIHRyZWF0ZWQgYXMKZnVsbHkgZ3Vlc3QgcGFnZXMsIG5vdCBYZW4gcGFn
ZXMuCgpXb3JzZSB5ZXQsIHRoZSBsb2dpYyBpbnRyb2R1Y2VkIGEgdnVsbmVy
YWJpbGl0eSB3aGVyZWJ5IG5lY2Vzc2FyeQpwYWdldGFibGUvc2VnZGVzYyBh
ZGp1c3RtZW50cyBtYWRlIGJ5IFhlbiBpbiB0aGUgdmFsaWRhdGlvbiBsb2dp
YyBjb3VsZCBiZWNvbWUKbm9uLWNvaGVyZW50IGJldHdlZW4gdGhlIGNhY2hl
IGFuZCBtYWluIG1lbW9yeS4gIFRoZSBDUFUgY291bGQgc3Vic2VxdWVudGx5
Cm9wZXJhdGUgb24gdGhlIHN0YWxlIHZhbHVlIGluIHRoZSBjYWNoZSwgcmF0
aGVyIHRoYW4gdGhlIHNhZmUgdmFsdWUgaW4gbWFpbgptZW1vcnkuCgpUaGUg
ZGlyZWN0bWFwIGNvbnRhaW5zIHByaW1hcmlseSBtYXBwaW5ncyBvZiBSQU0u
ICBQQVQvTVRSUiBjb25mbGljdApyZXNvbHV0aW9uIGlzIGFzeW1tZXRyaWMs
IGFuZCBnZW5lcmFsbHkgZm9yIE1UUlI9V0IgcmFuZ2VzLCBQQVQgb2YgbGVz
c2VyCmNhY2hlYWJpbGl0eSByZXNvbHZlcyB0byBiZWluZyBjb2hlcmVudC4g
IFRoZSBzcGVjaWFsIGNhc2UgaXMgV0MgbWFwcGluZ3MsCndoaWNoIGFyZSBu
b24tY29oZXJlbnQgYWdhaW5zdCBNVFJSPVdCIHJlZ2lvbnMgKGV4Y2VwdCBm
b3IgZnVsbHktY29oZXJlbnQKQ1BVcykuCgpYZW4gbXVzdCBub3QgaGF2ZSBh
bnkgV0MgY2FjaGVhYmlsaXR5IGluIHRoZSBkaXJlY3RtYXAsIHRvIHByZXZl
bnQgWGVuJ3MKYWN0aW9ucyBmcm9tIGNyZWF0aW5nIG5vbi1jb2hlcmVuY3ku
ICAoR3Vlc3QgYWN0aW9ucyBjcmVhdGluZyBub24tY29oZXJlbmN5IGlzCmRl
YWx0IHdpdGggaW4gc3Vic2VxdWVudCBwYXRjaGVzLikgIEFzIGFsbCBtZW1v
cnkgdHlwZXMgZm9yIE1UUlI9V0IgcmFuZ2VzCmludGVyLW9wZXJhdGUgY29o
ZXJlbnRseSwgc28gbGVhdmUgWGVuJ3MgZGlyZWN0bWFwIG1hcHBpbmdzIGFz
IFdCLgoKT25seSBQViBndWVzdHMgd2l0aCBhY2Nlc3MgdG8gZGV2aWNlcyBj
YW4gdXNlIHJlZHVjZWQtY2FjaGVhYmlsaXR5IG1hcHBpbmdzIHRvCmJlZ2lu
IHdpdGgsIGFuZCB0aGV5J3JlIHRydXN0ZWQgbm90IHRvIG1vdW50IERvU3Mg
YWdhaW5zdCB0aGUgc3lzdGVtIGFueXdheS4KCkRyb3AgUEdDX2NhY2hlYXR0
cl97YmFzZSxtYXNrfSBlbnRpcmVseSwgYW5kIHRoZSBsb2dpYyB0byBtYW5p
cHVsYXRlIHRoZW0uClNoaWZ0IHRoZSBsYXRlciBQR0NfKiBjb25zdGFudHMg
dXAsIHRvIGdhaW4gMyBleHRyYSBiaXRzIGluIHRoZSBtYWluIHJlZmVyZW5j
ZQpjb3VudC4gIFJldGFpbiB0aGUgY2hlY2sgaW4gZ2V0X3BhZ2VfZnJvbV9s
MWUoKSBmb3Igc3BlY2lhbF9wYWdlcygpIGJlY2F1c2UgYQpndWVzdCBoYXMg
bm8gYnVzaW5lc3MgdXNpbmcgcmVkdWNlZCBjYWNoZWFiaWxpdHkgb24gdGhl
c2UuCgpUaGlzIHJldmVydHMgY2hhbmdlc2V0IDU1Zjk3ZjQ5YjdjZTZjMzUy
MGM1NTVkMTljYWFjNmNmM2Y5YTVkZjAKClRoaXMgaXMgQ1ZFLTIwMjItMjYz
NjMsIHBhcnQgb2YgWFNBLTQwMi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cgpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYv
bW0uYwppbmRleCBjNjQyOWIwZjc0OWEuLmFiMzJkMTNhMWEwZCAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21t
LmMKQEAgLTc4MywyOCArNzgzLDYgQEAgYm9vbCBpc19pb21lbV9wYWdlKG1m
bl90IG1mbikKICAgICByZXR1cm4gKHBhZ2VfZ2V0X293bmVyKHBhZ2UpID09
IGRvbV9pbyk7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3hlbl9tYXBwaW5n
cyh1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgaW50IGNhY2hlYXR0cikK
LXsKLSAgICBpbnQgZXJyID0gMDsKLSAgICBib29sIGFsaWFzID0gbWZuID49
IFBGTl9ET1dOKHhlbl9waHlzX3N0YXJ0KSAmJgotICAgICAgICAgbWZuIDwg
UEZOX1VQKHhlbl9waHlzX3N0YXJ0ICsgeGVuX3ZpcnRfZW5kIC0gWEVOX1ZJ
UlRfU1RBUlQpOwotICAgIHVuc2lnbmVkIGxvbmcgeGVuX3ZhID0KLSAgICAg
ICAgWEVOX1ZJUlRfU1RBUlQgKyAoKG1mbiAtIFBGTl9ET1dOKHhlbl9waHlz
X3N0YXJ0KSkgPDwgUEFHRV9TSElGVCk7Ci0KLSAgICBpZiAoIGJvb3RfY3B1
X2hhcyhYODZfRkVBVFVSRV9YRU5fU0VMRlNOT09QKSApCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgaWYgKCB1bmxpa2VseShhbGlhcykgJiYgY2FjaGVh
dHRyICkKLSAgICAgICAgZXJyID0gbWFwX3BhZ2VzX3RvX3hlbih4ZW5fdmEs
IF9tZm4obWZuKSwgMSwgMCk7Ci0gICAgaWYgKCAhZXJyICkKLSAgICAgICAg
ZXJyID0gbWFwX3BhZ2VzX3RvX3hlbigodW5zaWduZWQgbG9uZyltZm5fdG9f
dmlydChtZm4pLCBfbWZuKG1mbiksIDEsCi0gICAgICAgICAgICAgICAgICAg
ICBQQUdFX0hZUEVSVklTT1IgfCBjYWNoZWF0dHJfdG9fcHRlX2ZsYWdzKGNh
Y2hlYXR0cikpOwotICAgIGlmICggdW5saWtlbHkoYWxpYXMpICYmICFjYWNo
ZWF0dHIgJiYgIWVyciApCi0gICAgICAgIGVyciA9IG1hcF9wYWdlc190b194
ZW4oeGVuX3ZhLCBfbWZuKG1mbiksIDEsIFBBR0VfSFlQRVJWSVNPUik7Ci0K
LSAgICByZXR1cm4gZXJyOwotfQotCiAjaWZuZGVmIE5ERUJVRwogc3RydWN0
IG1taW9fZW11bF9yYW5nZV9jdHh0IHsKICAgICBjb25zdCBzdHJ1Y3QgZG9t
YWluICpkOwpAQCAtMTAwOSw0NyArOTg3LDE0IEBAIGdldF9wYWdlX2Zyb21f
bDFlKAogICAgICAgICBnb3RvIGNvdWxkX25vdF9waW47CiAgICAgfQogCi0g
ICAgaWYgKCBwdGVfZmxhZ3NfdG9fY2FjaGVhdHRyKGwxZikgIT0KLSAgICAg
ICAgICgocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19jYWNoZWF0dHJfbWFzaykg
Pj4gUEdDX2NhY2hlYXR0cl9iYXNlKSApCisgICAgaWYgKCAobDFmICYgUEFH
RV9DQUNIRV9BVFRSUykgIT0gX1BBR0VfV0IgJiYgaXNfc3BlY2lhbF9wYWdl
KHBhZ2UpICkKICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgeCwgbngs
IHkgPSBwYWdlLT5jb3VudF9pbmZvOwotICAgICAgICB1bnNpZ25lZCBsb25n
IGNhY2hlYXR0ciA9IHB0ZV9mbGFnc190b19jYWNoZWF0dHIobDFmKTsKLSAg
ICAgICAgaW50IGVycjsKLQotICAgICAgICBpZiAoIGlzX3NwZWNpYWxfcGFn
ZShwYWdlKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICggd3JpdGUg
KQotICAgICAgICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFnZSk7Ci0gICAg
ICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAgICAgICAgIGdkcHJpbnRr
KFhFTkxPR19XQVJOSU5HLAotICAgICAgICAgICAgICAgICAgICAgIkF0dGVt
cHQgdG8gY2hhbmdlIGNhY2hlIGF0dHJpYnV0ZXMgb2YgWGVuIGhlYXAgcGFn
ZVxuIik7Ci0gICAgICAgICAgICByZXR1cm4gLUVBQ0NFUzsKLSAgICAgICAg
fQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIHggID0geTsKLSAgICAg
ICAgICAgIG54ID0gKHggJiB+UEdDX2NhY2hlYXR0cl9tYXNrKSB8IChjYWNo
ZWF0dHIgPDwgUEdDX2NhY2hlYXR0cl9iYXNlKTsKLSAgICAgICAgfSB3aGls
ZSAoICh5ID0gY21weGNoZygmcGFnZS0+Y291bnRfaW5mbywgeCwgbngpKSAh
PSB4ICk7Ci0KLSAgICAgICAgZXJyID0gdXBkYXRlX3hlbl9tYXBwaW5ncyht
Zm4sIGNhY2hlYXR0cik7Ci0gICAgICAgIGlmICggdW5saWtlbHkoZXJyKSAp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGNhY2hlYXR0ciA9IHkgJiBQR0Nf
Y2FjaGVhdHRyX21hc2s7Ci0gICAgICAgICAgICBkbyB7Ci0gICAgICAgICAg
ICAgICAgeCAgPSB5OwotICAgICAgICAgICAgICAgIG54ID0gKHggJiB+UEdD
X2NhY2hlYXR0cl9tYXNrKSB8IGNhY2hlYXR0cjsKLSAgICAgICAgICAgIH0g
d2hpbGUgKCAoeSA9IGNtcHhjaGcoJnBhZ2UtPmNvdW50X2luZm8sIHgsIG54
KSkgIT0geCApOwotCi0gICAgICAgICAgICBpZiAoIHdyaXRlICkKLSAgICAg
ICAgICAgICAgICBwdXRfcGFnZV90eXBlKHBhZ2UpOwotICAgICAgICAgICAg
cHV0X3BhZ2UocGFnZSk7Ci0KLSAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxP
R19XQVJOSU5HLCAiRXJyb3IgdXBkYXRpbmcgbWFwcGluZ3MgZm9yIG1mbiAl
IiBQUklfbWZuCi0gICAgICAgICAgICAgICAgICAgICAiIChwZm4gJSIgUFJJ
X3BmbiAiLCBmcm9tIEwxIGVudHJ5ICUiIFBSSXB0ZSAiKSBmb3IgZCVkXG4i
LAotICAgICAgICAgICAgICAgICAgICAgbWZuLCBnZXRfZ3Bmbl9mcm9tX21m
bihtZm4pLAotICAgICAgICAgICAgICAgICAgICAgbDFlX2dldF9pbnRwdGUo
bDFlKSwgbDFlX293bmVyLT5kb21haW5faWQpOwotICAgICAgICAgICAgcmV0
dXJuIGVycjsKLSAgICAgICAgfQorICAgICAgICBpZiAoIHdyaXRlICkKKyAg
ICAgICAgICAgIHB1dF9wYWdlX3R5cGUocGFnZSk7CisgICAgICAgIHB1dF9w
YWdlKHBhZ2UpOworICAgICAgICBnZHByaW50ayhYRU5MT0dfV0FSTklORywK
KyAgICAgICAgICAgICAgICAgIkF0dGVtcHQgdG8gY2hhbmdlIGNhY2hlIGF0
dHJpYnV0ZXMgb2YgWGVuIGhlYXAgcGFnZVxuIik7CisgICAgICAgIHJldHVy
biAtRUFDQ0VTOwogICAgIH0KIAogICAgIHJldHVybiAwOwpAQCAtMjQ2Nywy
NSArMjQxMiwxMCBAQCBzdGF0aWMgaW50IG1vZF9sNF9lbnRyeShsNF9wZ2Vu
dHJ5X3QgKnBsNGUsCiAgKi8KIHN0YXRpYyBpbnQgY2xlYW51cF9wYWdlX21h
cHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiB7Ci0gICAgdW5zaWdu
ZWQgaW50IGNhY2hlYXR0ciA9Ci0gICAgICAgIChwYWdlLT5jb3VudF9pbmZv
ICYgUEdDX2NhY2hlYXR0cl9tYXNrKSA+PiBQR0NfY2FjaGVhdHRyX2Jhc2U7
CiAgICAgaW50IHJjID0gMDsKICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IG1m
bl94KHBhZ2VfdG9fbWZuKHBhZ2UpKTsKIAogICAgIC8qCi0gICAgICogSWYg
d2UndmUgbW9kaWZpZWQgeGVuIG1hcHBpbmdzIGFzIGEgcmVzdWx0IG9mIGd1
ZXN0IGNhY2hlCi0gICAgICogYXR0cmlidXRlcywgcmVzdG9yZSB0aGVtIHRv
IHRoZSAibm9ybWFsIiBzdGF0ZS4KLSAgICAgKi8KLSAgICBpZiAoIHVubGlr
ZWx5KGNhY2hlYXR0cikgKQotICAgIHsKLSAgICAgICAgcGFnZS0+Y291bnRf
aW5mbyAmPSB+UEdDX2NhY2hlYXR0cl9tYXNrOwotCi0gICAgICAgIEJVR19P
Tihpc19zcGVjaWFsX3BhZ2UocGFnZSkpOwotCi0gICAgICAgIHJjID0gdXBk
YXRlX3hlbl9tYXBwaW5ncyhtZm4sIDApOwotICAgIH0KLQotICAgIC8qCiAg
ICAgICogSWYgdGhpcyBtYXkgYmUgaW4gYSBQViBkb21haW4ncyBJT01NVSwg
cmVtb3ZlIGl0LgogICAgICAqCiAgICAgICogTkIgdGhhdCB3cml0YWJsZSB4
ZW5oZWFwIHBhZ2VzIGhhdmUgdGhlaXIgdHlwZSBzZXQgYW5kIGNsZWFyZWQg
YnkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCBjYjkwNTI3NDk5NjMuLjhh
OWE0M2JiMGE5ZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9t
bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaApAQCAtNjksMjUg
KzY5LDIyIEBACiAgLyogU2V0IHdoZW4gaXMgdXNpbmcgYSBwYWdlIGFzIGEg
cGFnZSB0YWJsZSAqLwogI2RlZmluZSBfUEdDX3BhZ2VfdGFibGUgICBQR19z
aGlmdCgzKQogI2RlZmluZSBQR0NfcGFnZV90YWJsZSAgICBQR19tYXNrKDEs
IDMpCi0gLyogMy1iaXQgUEFUL1BDRC9QV1QgY2FjaGUtYXR0cmlidXRlIGhp
bnQuICovCi0jZGVmaW5lIFBHQ19jYWNoZWF0dHJfYmFzZSBQR19zaGlmdCg2
KQotI2RlZmluZSBQR0NfY2FjaGVhdHRyX21hc2sgUEdfbWFzayg3LCA2KQog
IC8qIFBhZ2UgaXMgYnJva2VuPyAqLwotI2RlZmluZSBfUEdDX2Jyb2tlbiAg
ICAgICBQR19zaGlmdCg3KQotI2RlZmluZSBQR0NfYnJva2VuICAgICAgICBQ
R19tYXNrKDEsIDcpCisjZGVmaW5lIF9QR0NfYnJva2VuICAgICAgIFBHX3No
aWZ0KDQpCisjZGVmaW5lIFBHQ19icm9rZW4gICAgICAgIFBHX21hc2soMSwg
NCkKICAvKiBNdXR1YWxseS1leGNsdXNpdmUgcGFnZSBzdGF0ZXM6IHsgaW51
c2UsIG9mZmxpbmluZywgb2ZmbGluZWQsIGZyZWUgfS4gKi8KLSNkZWZpbmUg
UEdDX3N0YXRlICAgICAgICAgUEdfbWFzaygzLCA5KQotI2RlZmluZSBQR0Nf
c3RhdGVfaW51c2UgICBQR19tYXNrKDAsIDkpCi0jZGVmaW5lIFBHQ19zdGF0
ZV9vZmZsaW5pbmcgUEdfbWFzaygxLCA5KQotI2RlZmluZSBQR0Nfc3RhdGVf
b2ZmbGluZWQgUEdfbWFzaygyLCA5KQotI2RlZmluZSBQR0Nfc3RhdGVfZnJl
ZSAgICBQR19tYXNrKDMsIDkpCisjZGVmaW5lIFBHQ19zdGF0ZSAgICAgICAg
ICAgUEdfbWFzaygzLCA2KQorI2RlZmluZSBQR0Nfc3RhdGVfaW51c2UgICAg
IFBHX21hc2soMCwgNikKKyNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmluZyBQ
R19tYXNrKDEsIDYpCisjZGVmaW5lIFBHQ19zdGF0ZV9vZmZsaW5lZCAgUEdf
bWFzaygyLCA2KQorI2RlZmluZSBQR0Nfc3RhdGVfZnJlZSAgICAgIFBHX21h
c2soMywgNikKICNkZWZpbmUgcGFnZV9zdGF0ZV9pcyhwZywgc3QpICgoKHBn
KS0+Y291bnRfaW5mbyZQR0Nfc3RhdGUpID09IFBHQ19zdGF0ZV8jI3N0KQog
LyogUGFnZSBpcyBub3QgcmVmZXJlbmNlIGNvdW50ZWQgKHNlZSBiZWxvdyBm
b3IgY2F2ZWF0cykgKi8KLSNkZWZpbmUgX1BHQ19leHRyYSAgICAgICAgUEdf
c2hpZnQoMTApCi0jZGVmaW5lIFBHQ19leHRyYSAgICAgICAgIFBHX21hc2so
MSwgMTApCisjZGVmaW5lIF9QR0NfZXh0cmEgICAgICAgIFBHX3NoaWZ0KDcp
CisjZGVmaW5lIFBHQ19leHRyYSAgICAgICAgIFBHX21hc2soMSwgNykKIAog
LyogQ291bnQgb2YgcmVmZXJlbmNlcyB0byB0aGlzIGZyYW1lLiAqLwotI2Rl
ZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlmdCgxMCkKKyNkZWZpbmUg
UEdDX2NvdW50X3dpZHRoICAgUEdfc2hpZnQoNykKICNkZWZpbmUgUEdDX2Nv
dW50X21hc2sgICAgKCgxVUw8PFBHQ19jb3VudF93aWR0aCktMSkKIAogLyoK

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.16-3.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.16-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2OiBTcGxpdCBjYWNoZV9mbHVzaCgpIG91dCBvZiBj
YWNoZV93cml0ZWJhY2soKQoKU3Vic2VxdWVudCBjaGFuZ2VzIHdpbGwgd2Fu
dCBhIGZ1bGx5IGZsdXNoaW5nIHZlcnNpb24uCgpVc2UgdGhlIG5ldyBoZWxw
ZXIgcmF0aGVyIHRoYW4gb3BlbmNvZGluZyBpdCBpbiBmbHVzaF9hcmVhX2xv
Y2FsKCkuICBUaGlzCnJlc29sdmVzIGFuIG91dHN0YW5kaW5nIGlzc3VlIHdo
ZXJlIHRoZSBjb25kaXRpb25hbCBzZmVuY2UgaXMgb24gdGhlIHdyb25nCnNp
ZGUgb2YgdGhlIGNsZmx1c2hvcHQgbG9vcC4gIGNsZmx1c2hvcHQgaXMgb3Jk
ZXJlZCB3aXRoIHJlc3BlY3QgdG8gb2xkZXIKc3RvcmVzLCBub3QgdG8geW91
bmdlciBzdG9yZXMuCgpSZW5hbWUgZ250dGFiX2NhY2hlX2ZsdXNoKCkncyBo
ZWxwZXIgdG8gYXZvaWQgY29sbGlkaW5nIGluIG5hbWUuCmdyYW50X3RhYmxl
LmMgY2FuIHNlZSB0aGUgcHJvdG90eXBlIGZyb20gY2FjaGUuaCBzbyB0aGUg
YnVpbGQgZmFpbHMKb3RoZXJ3aXNlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00
MDIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgoKWGVuIDQuMTYgYW5kIGVhcmxpZXI6CiAqIEFs
c28gYmFja3BvcnQgaGFsZiBvZiBjL3MgMzMzMDAxM2U2NzM5NiAiVlQtZCAv
IHg4NjogcmUtYXJyYW5nZSBjYWNoZQogICBzeW5jaW5nIiB0byBzcGxpdCBj
YWNoZV93cml0ZWJhY2soKSBvdXQgb2YgdGhlIElPTU1VIGxvZ2ljLCBidXQg
d2l0aG91dCB0aGUKICAgYXNzb2NpYXRlZCBob29rcyBjaGFuZ2VzLgoKZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jIGIveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMKaW5kZXggMjU3OThkZjUwZjU0Li4wYzkxMmI4NjY5
ZjggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCkBAIC0yMzQsNyArMjM0LDcgQEAg
dW5zaWduZWQgaW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEs
IHVuc2lnbmVkIGludCBmbGFncykKICAgICBpZiAoIGZsYWdzICYgRkxVU0hf
Q0FDSEUgKQogICAgIHsKICAgICAgICAgY29uc3Qgc3RydWN0IGNwdWluZm9f
eDg2ICpjID0gJmN1cnJlbnRfY3B1X2RhdGE7Ci0gICAgICAgIHVuc2lnbmVk
IGxvbmcgaSwgc3ogPSAwOworICAgICAgICB1bnNpZ25lZCBsb25nIHN6ID0g
MDsKIAogICAgICAgICBpZiAoIG9yZGVyIDwgKEJJVFNfUEVSX0xPTkcgLSBQ
QUdFX1NISUZUKSApCiAgICAgICAgICAgICBzeiA9IDFVTCA8PCAob3JkZXIg
KyBQQUdFX1NISUZUKTsKQEAgLTI0NCwxMyArMjQ0LDcgQEAgdW5zaWduZWQg
aW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVk
IGludCBmbGFncykKICAgICAgICAgICAgICBjLT54ODZfY2xmbHVzaF9zaXpl
ICYmIGMtPng4Nl9jYWNoZV9zaXplICYmIHN6ICYmCiAgICAgICAgICAgICAg
KChzeiA+PiAxMCkgPCBjLT54ODZfY2FjaGVfc2l6ZSkgKQogICAgICAgICB7
Ci0gICAgICAgICAgICBhbHRlcm5hdGl2ZSgiIiwgInNmZW5jZSIsIFg4Nl9G
RUFUVVJFX0NMRkxVU0hPUFQpOwotICAgICAgICAgICAgZm9yICggaSA9IDA7
IGkgPCBzejsgaSArPSBjLT54ODZfY2xmbHVzaF9zaXplICkKLSAgICAgICAg
ICAgICAgICBhbHRlcm5hdGl2ZV9pbnB1dCgiLmJ5dGUgIiBfX3N0cmluZ2lm
eShOT1BfRFNfUFJFRklYKSAiOyIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiIGNsZmx1c2ggJTAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJkYXRhMTYgY2xmbHVzaCAlMCIsICAgICAgLyog
Y2xmbHVzaG9wdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIm0iICgoKGNvbnN0IGNoYXIgKil2YSlbaV0p
KTsKKyAgICAgICAgICAgIGNhY2hlX2ZsdXNoKHZhLCBzeik7CiAgICAgICAg
ICAgICBmbGFncyAmPSB+RkxVU0hfQ0FDSEU7CiAgICAgICAgIH0KICAgICAg
ICAgZWxzZQpAQCAtMjY1LDYgKzI1OSw4MCBAQCB1bnNpZ25lZCBpbnQgZmx1
c2hfYXJlYV9sb2NhbChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50IGZs
YWdzKQogICAgIHJldHVybiBmbGFnczsKIH0KIAordm9pZCBjYWNoZV9mbHVz
aChjb25zdCB2b2lkICphZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKyAg
ICAvKgorICAgICAqIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBiZWZv
cmUgY3VycmVudF9jcHVfZGF0YSBpcyBlc3RhYmxpc2hlZC4KKyAgICAgKiBI
ZW5jZSBhIGZhbGxiYWNrIGlzIG5lZWRlZCB0byBwcmV2ZW50IHRoZSBsb29w
IGJlbG93IGJlY29taW5nIGluZmluaXRlLgorICAgICAqLworICAgIHVuc2ln
bmVkIGludCBjbGZsdXNoX3NpemUgPSBjdXJyZW50X2NwdV9kYXRhLng4Nl9j
bGZsdXNoX3NpemUgPzogMTY7CisgICAgY29uc3Qgdm9pZCAqZW5kID0gYWRk
ciArIHNpemU7CisKKyAgICBhZGRyIC09ICh1bnNpZ25lZCBsb25nKWFkZHIg
JiAoY2xmbHVzaF9zaXplIC0gMSk7CisgICAgZm9yICggOyBhZGRyIDwgZW5k
OyBhZGRyICs9IGNsZmx1c2hfc2l6ZSApCisgICAgeworICAgICAgICAvKgor
ICAgICAgICAgKiBOb3RlIHJlZ2FyZGluZyB0aGUgImRzIiBwcmVmaXggdXNl
OiBpdCdzIGZhc3RlciB0byBkbyBhIGNsZmx1c2gKKyAgICAgICAgICogKyBw
cmVmaXggdGhhbiBhIGNsZmx1c2ggKyBub3AsIGFuZCBoZW5jZSB0aGUgcHJl
Zml4IGlzIGFkZGVkIGluc3RlYWQKKyAgICAgICAgICogb2YgbGV0dGluZyB0
aGUgYWx0ZXJuYXRpdmUgZnJhbWV3b3JrIGZpbGwgdGhlIGdhcCBieSBhcHBl
bmRpbmcgbm9wcy4KKyAgICAgICAgICovCisgICAgICAgIGFsdGVybmF0aXZl
X2lvKCJkczsgY2xmbHVzaCAlW3BdIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgImRhdGExNiBjbGZsdXNoICVbcF0iLCAvKiBjbGZsdXNob3B0ICovCisg
ICAgICAgICAgICAgICAgICAgICAgIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQs
CisgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIG91dHB1dHMgKi8sCisg
ICAgICAgICAgICAgICAgICAgICAgIFtwXSAibSIgKCooY29uc3QgY2hhciAq
KShhZGRyKSkpOworICAgIH0KKworICAgIGFsdGVybmF0aXZlKCIiLCAic2Zl
bmNlIiwgWDg2X0ZFQVRVUkVfQ0xGTFVTSE9QVCk7Cit9CisKK3ZvaWQgY2Fj
aGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBz
aXplKQoreworICAgIHVuc2lnbmVkIGludCBjbGZsdXNoX3NpemU7CisgICAg
Y29uc3Qgdm9pZCAqZW5kID0gYWRkciArIHNpemU7CisKKyAgICAvKiBGYWxs
IGJhY2sgdG8gQ0xGTFVTSHssT1BUfSB3aGVuIENMV0IgaXNuJ3QgYXZhaWxh
YmxlLiAqLworICAgIGlmICggIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9D
TFdCKSApCisgICAgICAgIHJldHVybiBjYWNoZV9mbHVzaChhZGRyLCBzaXpl
KTsKKworICAgIC8qCisgICAgICogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2Fs
bGVkIGJlZm9yZSBjdXJyZW50X2NwdV9kYXRhIGlzIGVzdGFibGlzaGVkLgor
ICAgICAqIEhlbmNlIGEgZmFsbGJhY2sgaXMgbmVlZGVkIHRvIHByZXZlbnQg
dGhlIGxvb3AgYmVsb3cgYmVjb21pbmcgaW5maW5pdGUuCisgICAgICovCisg
ICAgY2xmbHVzaF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVz
aF9zaXplID86IDE2OworICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRk
ciAmIChjbGZsdXNoX3NpemUgLSAxKTsKKyAgICBmb3IgKCA7IGFkZHIgPCBl
bmQ7IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKKyAgICB7CisvKgorICogVGhl
IGFyZ3VtZW50cyB0byBhIG1hY3JvIG11c3Qgbm90IGluY2x1ZGUgcHJlcHJv
Y2Vzc29yIGRpcmVjdGl2ZXMuIERvaW5nIHNvCisgKiByZXN1bHRzIGluIHVu
ZGVmaW5lZCBiZWhhdmlvciwgc28gd2UgaGF2ZSB0byBjcmVhdGUgc29tZSBk
ZWZpbmVzIGhlcmUgaW4KKyAqIG9yZGVyIHRvIGF2b2lkIGl0LgorICovCisj
aWYgZGVmaW5lZChIQVZFX0FTX0NMV0IpCisjIGRlZmluZSBDTFdCX0VOQ09E
SU5HICJjbHdiICVbcF0iCisjZWxpZiBkZWZpbmVkKEhBVkVfQVNfWFNBVkVP
UFQpCisjIGRlZmluZSBDTFdCX0VOQ09ESU5HICJkYXRhMTYgeHNhdmVvcHQg
JVtwXSIgLyogY2x3YiAqLworI2Vsc2UKKyMgZGVmaW5lIENMV0JfRU5DT0RJ
TkcgIi5ieXRlIDB4NjYsIDB4MGYsIDB4YWUsIDB4MzAiIC8qIGNsd2IgKCUl
cmF4KSAqLworI2VuZGlmCisKKyNkZWZpbmUgQkFTRV9JTlBVVChhZGRyKSBb
cF0gIm0iICgqKGNvbnN0IGNoYXIgKikoYWRkcikpCisjaWYgZGVmaW5lZChI
QVZFX0FTX0NMV0IpIHx8IGRlZmluZWQoSEFWRV9BU19YU0FWRU9QVCkKKyMg
ZGVmaW5lIElOUFVUIEJBU0VfSU5QVVQKKyNlbHNlCisjIGRlZmluZSBJTlBV
VChhZGRyKSAiYSIgKGFkZHIpLCBCQVNFX0lOUFVUKGFkZHIpCisjZW5kaWYK
KworICAgICAgICBhc20gdm9sYXRpbGUgKENMV0JfRU5DT0RJTkcgOjogSU5Q
VVQoYWRkcikpOworCisjdW5kZWYgSU5QVVQKKyN1bmRlZiBCQVNFX0lOUFVU
CisjdW5kZWYgQ0xXQl9FTkNPRElORworICAgIH0KKworICAgIGFzbSB2b2xh
dGlsZSAoInNmZW5jZSIgOjo6ICJtZW1vcnkiKTsKK30KKwogdW5zaWduZWQg
aW50IGd1ZXN0X2ZsdXNoX3RsYl9mbGFncyhjb25zdCBzdHJ1Y3QgZG9tYWlu
ICpkKQogewogICAgIGJvb2wgc2hhZG93ID0gcGFnaW5nX21vZGVfc2hhZG93
KGQpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIv
eGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4IDY2ZjhjZTcxNzQxYy4u
NGM3NDJjZDhmZTgxIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2dyYW50X3Rh
YmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0zNDMx
LDcgKzM0MzEsNyBAQCBnbnR0YWJfc3dhcF9ncmFudF9yZWYoWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTShnbnR0YWJfc3dhcF9ncmFudF9yZWZfdCkgdW9wLAog
ICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNhY2hlX2ZsdXNoKGNv
bnN0IGdudHRhYl9jYWNoZV9mbHVzaF90ICpjZmx1c2gsIGdyYW50X3JlZl90
ICpjdXJfcmVmKQorc3RhdGljIGludCBfY2FjaGVfZmx1c2goY29uc3QgZ250
dGFiX2NhY2hlX2ZsdXNoX3QgKmNmbHVzaCwgZ3JhbnRfcmVmX3QgKmN1cl9y
ZWYpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCwgKm93bmVyOwogICAgIHN0
cnVjdCBwYWdlX2luZm8gKnBhZ2U7CkBAIC0zNTI1LDcgKzM1MjUsNyBAQCBn
bnR0YWJfY2FjaGVfZmx1c2goWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShnbnR0
YWJfY2FjaGVfZmx1c2hfdCkgdW9wLAogICAgICAgICAgICAgcmV0dXJuIC1F
RkFVTFQ7CiAgICAgICAgIGZvciAoIDsgOyApCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGludCByZXQgPSBjYWNoZV9mbHVzaCgmb3AsIGN1cl9yZWYpOwor
ICAgICAgICAgICAgaW50IHJldCA9IF9jYWNoZV9mbHVzaCgmb3AsIGN1cl9y
ZWYpOwogCiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAg
ICAgICAgIHJldHVybiByZXQ7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvZXh0ZXJuLmggYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC92dGQvZXh0ZXJuLmgKaW5kZXggMDFlMDEwYTEwZDYxLi40MDEwNzky
OTk3MjUgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9leHRlcm4uaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
ZXh0ZXJuLmgKQEAgLTc2LDcgKzc2LDYgQEAgaW50IF9fbXVzdF9jaGVjayBx
aW52YWxfZGV2aWNlX2lvdGxiX3N5bmMoc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgcGNpX2RldiAqcGRldiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHUxNiBkaWQsIHUxNiBzaXplLCB1NjQg
YWRkcik7CiAKLXVuc2lnbmVkIGludCBnZXRfY2FjaGVfbGluZV9zaXplKHZv
aWQpOwogdm9pZCBmbHVzaF9hbGxfY2FjaGUodm9pZCk7CiAKIHVpbnQ2NF90
IGFsbG9jX3BndGFibGVfbWFkZHIodW5zaWduZWQgbG9uZyBucGFnZXMsIG5v
ZGVpZF90IG5vZGUpOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuYwppbmRleCA4OTc1YzFkZTYxYmMuLmJjMzc3YzliY2ZhNCAx
MDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK
QEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx4ZW4vcGNpLmg+CiAjaW5j
bHVkZSA8eGVuL3BjaV9yZWdzLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRs
ZXIuaD4KKyNpbmNsdWRlIDxhc20vY2FjaGUuaD4KICNpbmNsdWRlIDxhc20v
bXNpLmg+CiAjaW5jbHVkZSA8YXNtL25vcHMuaD4KICNpbmNsdWRlIDxhc20v
aXJxLmg+CkBAIC0yMDYsNTQgKzIwNyw2IEBAIHN0YXRpYyB2b2lkIGNoZWNr
X2NsZWFudXBfZG9taWRfbWFwKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiAg
ICAgfQogfQogCi1zdGF0aWMgdm9pZCBzeW5jX2NhY2hlKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQotewotICAgIHN0YXRpYyB1bnNp
Z25lZCBsb25nIGNsZmx1c2hfc2l6ZSA9IDA7Ci0gICAgY29uc3Qgdm9pZCAq
ZW5kID0gYWRkciArIHNpemU7Ci0KLSAgICBpZiAoIGNsZmx1c2hfc2l6ZSA9
PSAwICkKLSAgICAgICAgY2xmbHVzaF9zaXplID0gZ2V0X2NhY2hlX2xpbmVf
c2l6ZSgpOwotCi0gICAgYWRkciAtPSAodW5zaWduZWQgbG9uZylhZGRyICYg
KGNsZmx1c2hfc2l6ZSAtIDEpOwotICAgIGZvciAoIDsgYWRkciA8IGVuZDsg
YWRkciArPSBjbGZsdXNoX3NpemUgKQotLyoKLSAqIFRoZSBhcmd1bWVudHMg
dG8gYSBtYWNybyBtdXN0IG5vdCBpbmNsdWRlIHByZXByb2Nlc3NvciBkaXJl
Y3RpdmVzLiBEb2luZyBzbwotICogcmVzdWx0cyBpbiB1bmRlZmluZWQgYmVo
YXZpb3IsIHNvIHdlIGhhdmUgdG8gY3JlYXRlIHNvbWUgZGVmaW5lcyBoZXJl
IGluCi0gKiBvcmRlciB0byBhdm9pZCBpdC4KLSAqLwotI2lmIGRlZmluZWQo
SEFWRV9BU19DTFdCKQotIyBkZWZpbmUgQ0xXQl9FTkNPRElORyAiY2x3YiAl
W3BdIgotI2VsaWYgZGVmaW5lZChIQVZFX0FTX1hTQVZFT1BUKQotIyBkZWZp
bmUgQ0xXQl9FTkNPRElORyAiZGF0YTE2IHhzYXZlb3B0ICVbcF0iIC8qIGNs
d2IgKi8KLSNlbHNlCi0jIGRlZmluZSBDTFdCX0VOQ09ESU5HICIuYnl0ZSAw
eDY2LCAweDBmLCAweGFlLCAweDMwIiAvKiBjbHdiICglJXJheCkgKi8KLSNl
bmRpZgotCi0jZGVmaW5lIEJBU0VfSU5QVVQoYWRkcikgW3BdICJtIiAoKihj
b25zdCBjaGFyICopKGFkZHIpKQotI2lmIGRlZmluZWQoSEFWRV9BU19DTFdC
KSB8fCBkZWZpbmVkKEhBVkVfQVNfWFNBVkVPUFQpCi0jIGRlZmluZSBJTlBV
VCBCQVNFX0lOUFVUCi0jZWxzZQotIyBkZWZpbmUgSU5QVVQoYWRkcikgImEi
IChhZGRyKSwgQkFTRV9JTlBVVChhZGRyKQotI2VuZGlmCi0gICAgICAgIC8q
Ci0gICAgICAgICAqIE5vdGUgcmVnYXJkaW5nIHRoZSB1c2Ugb2YgTk9QX0RT
X1BSRUZJWDogaXQncyBmYXN0ZXIgdG8gZG8gYSBjbGZsdXNoCi0gICAgICAg
ICAqICsgcHJlZml4IHRoYW4gYSBjbGZsdXNoICsgbm9wLCBhbmQgaGVuY2Ug
dGhlIHByZWZpeCBpcyBhZGRlZCBpbnN0ZWFkCi0gICAgICAgICAqIG9mIGxl
dHRpbmcgdGhlIGFsdGVybmF0aXZlIGZyYW1ld29yayBmaWxsIHRoZSBnYXAg
YnkgYXBwZW5kaW5nIG5vcHMuCi0gICAgICAgICAqLwotICAgICAgICBhbHRl
cm5hdGl2ZV9pb18yKCIuYnl0ZSAiIF9fc3RyaW5naWZ5KE5PUF9EU19QUkVG
SVgpICI7IGNsZmx1c2ggJVtwXSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgImRhdGExNiBjbGZsdXNoICVbcF0iLCAvKiBjbGZsdXNob3B0ICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgWDg2X0ZFQVRVUkVfQ0xGTFVTSE9Q
VCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBDTFdCX0VOQ09ESU5HLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9GRUFUVVJFX0NMV0IsIC8q
IG5vIG91dHB1dHMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgSU5Q
VVQoYWRkcikpOwotI3VuZGVmIElOUFVUCi0jdW5kZWYgQkFTRV9JTlBVVAot
I3VuZGVmIENMV0JfRU5DT0RJTkcKLQotICAgIGFsdGVybmF0aXZlXzIoIiIs
ICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BULAotICAgICAgICAg
ICAgICAgICAgICAgICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTFdCKTsKLX0K
LQogLyogQWxsb2NhdGUgcGFnZSB0YWJsZSwgcmV0dXJuIGl0cyBtYWNoaW5l
IGFkZHJlc3MgKi8KIHVpbnQ2NF90IGFsbG9jX3BndGFibGVfbWFkZHIodW5z
aWduZWQgbG9uZyBucGFnZXMsIG5vZGVpZF90IG5vZGUpCiB7CkBAIC0yNzMs
NyArMjI2LDcgQEAgdWludDY0X3QgYWxsb2NfcGd0YWJsZV9tYWRkcih1bnNp
Z25lZCBsb25nIG5wYWdlcywgbm9kZWlkX3Qgbm9kZSkKICAgICAgICAgY2xl
YXJfcGFnZSh2YWRkcik7CiAKICAgICAgICAgaWYgKCAoaW9tbXVfb3BzLmlu
aXQgPyAmaW9tbXVfb3BzIDogJnZ0ZF9vcHMpLT5zeW5jX2NhY2hlICkKLSAg
ICAgICAgICAgIHN5bmNfY2FjaGUodmFkZHIsIFBBR0VfU0laRSk7CisgICAg
ICAgICAgICBjYWNoZV93cml0ZWJhY2sodmFkZHIsIFBBR0VfU0laRSk7CiAg
ICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKHZhZGRyKTsKICAgICAgICAgY3Vy
X3BnKys7CiAgICAgfQpAQCAtMTMwNSw3ICsxMjU4LDcgQEAgaW50IF9faW5p
dCBpb21tdV9hbGxvYyhzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQpCiAg
ICAgaW9tbXUtPm5yX3B0X2xldmVscyA9IGFnYXdfdG9fbGV2ZWwoYWdhdyk7
CiAKICAgICBpZiAoICFlY2FwX2NvaGVyZW50KGlvbW11LT5lY2FwKSApCi0g
ICAgICAgIHZ0ZF9vcHMuc3luY19jYWNoZSA9IHN5bmNfY2FjaGU7CisgICAg
ICAgIHZ0ZF9vcHMuc3luY19jYWNoZSA9IGNhY2hlX3dyaXRlYmFjazsKIAog
ICAgIC8qIGFsbG9jYXRlIGRvbWFpbiBpZCBiaXRtYXAgKi8KICAgICBpb21t
dS0+ZG9taWRfYml0bWFwID0geHphbGxvY19hcnJheSh1bnNpZ25lZCBsb25n
LCBCSVRTX1RPX0xPTkdTKG5yX2RvbSkpOwpkaWZmIC0tZ2l0IGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni92dGQuYyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL3Z0ZC94ODYvdnRkLmMKaW5kZXggNjY4MWRjY2Q2OTcw
Li41NWYwZmFhNTIxY2IgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC94ODYvdnRkLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvdnRkL3g4Ni92dGQuYwpAQCAtNDcsMTEgKzQ3LDYgQEAgdm9pZCB1
bm1hcF92dGRfZG9tYWluX3BhZ2UoY29uc3Qgdm9pZCAqdmEpCiAgICAgdW5t
YXBfZG9tYWluX3BhZ2UodmEpOwogfQogCi11bnNpZ25lZCBpbnQgZ2V0X2Nh
Y2hlX2xpbmVfc2l6ZSh2b2lkKQotewotICAgIHJldHVybiAoKGNwdWlkX2Vi
eCgxKSA+PiA4KSAmIDB4ZmYpICogODsKLX0KLQogdm9pZCBmbHVzaF9hbGxf
Y2FjaGUoKQogewogICAgIHdiaW52ZCgpOwpkaWZmIC0tZ2l0IGEveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9jYWNoZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9j
YWNoZS5oCmluZGV4IDFmNzE3M2Q4YzcyYy4uZTQ3NzBlZmIyMmI5IDEwMDY0
NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NhY2hlLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9jYWNoZS5oCkBAIC0xMSw0ICsxMSwxMSBAQAog
CiAjZGVmaW5lIF9fcmVhZF9tb3N0bHkgX19zZWN0aW9uKCIuZGF0YS5yZWFk
X21vc3RseSIpCiAKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisKK3ZvaWQgY2Fj
aGVfZmx1c2goY29uc3Qgdm9pZCAqYWRkciwgdW5zaWduZWQgaW50IHNpemUp
Owordm9pZCBjYWNoZV93cml0ZWJhY2soY29uc3Qgdm9pZCAqYWRkciwgdW5z
aWduZWQgaW50IHNpemUpOworCisjZW5kaWYKKwogI2VuZGlmCg==

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.16-4.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.16-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L2FtZDogV29yayBhcm91bmQgQ0xGTFVTSCBvcmRl
cmluZyBvbiBvbGRlciBwYXJ0cwoKT24gcHJlLUNMRkxVU0hPUFQgQU1EIENQ
VXMsIENMRkxVU0ggaXMgd2Vha2VseSBvcmRlcmVkIHdpdGggZXZlcnl0aGlu
ZywKaW5jbHVkaW5nIHJlYWRzIGFuZCB3cml0ZXMgdG8gdGhlIGFkZHJlc3Ms
IGFuZCBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KClRoaXMgY3JlYXRl
cyBhIG11bHRpdHVkZSBvZiBwcm9ibGVtYXRpYyBjb3JuZXIgY2FzZXMsIGxh
aWQgb3V0IGluIHRoZSBtYW51YWwuCkFycmFuZ2UgdG8gdXNlIE1GRU5DRSBv
biBib3RoIHNpZGVzIG9mIHRoZSBDTEZMVVNIIHRvIGZvcmNlIHByb3BlciBv
cmRlcmluZy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9m
Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIveGVu
L2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCBhOGUzN2RiYjFmNWMuLmIzYjlh
MGRmNWZlZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYwor
KysgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCkBAIC04MTIsNiArODEyLDE0
IEBAIHN0YXRpYyB2b2lkIGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAq
YykKIAlpZiAoIWNwdV9oYXNfbGZlbmNlX2Rpc3BhdGNoKQogCQlfX3NldF9i
aXQoWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDLCBjLT54ODZfY2FwYWJpbGl0
eSk7CiAKKwkvKgorCSAqIE9uIHByZS1DTEZMVVNIT1BUIEFNRCBDUFVzLCBD
TEZMVVNIIGlzIHdlYWtseSBvcmRlcmVkIHdpdGgKKwkgKiBldmVyeXRoaW5n
LCBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRlcyB0byBhZGRyZXNzLCBhbmQK
KwkgKiBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KKwkgKi8KKwlpZiAo
IWNwdV9oYXNfY2xmbHVzaG9wdCkKKwkJc2V0dXBfZm9yY2VfY3B1X2NhcChY
ODZfQlVHX0NMRkxVU0hfTUZFTkNFKTsKKwogCXN3aXRjaChjLT54ODYpCiAJ
ewogCWNhc2UgMHhmIC4uLiAweDExOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwppbmRl
eCAwYzkxMmI4NjY5ZjguLmRjYmI0MDY0MDEyZSAxMDA2NDQKLS0tIGEveGVu
L2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gveDg2L2ZsdXNo
dGxiLmMKQEAgLTI1OSw2ICsyNTksMTMgQEAgdW5zaWduZWQgaW50IGZsdXNo
X2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFn
cykKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKKy8qCisgKiBPbiBwcmUtQ0xG
TFVTSE9QVCBBTUQgQ1BVcywgQ0xGTFVTSCBpcyB3ZWFrbHkgb3JkZXJlZCB3
aXRoIGV2ZXJ5dGhpbmcsCisgKiBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRl
cyB0byBhZGRyZXNzLCBhbmQgTEZFTkNFL1NGRU5DRSBpbnN0cnVjdGlvbnMu
CisgKgorICogVGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIHNhZmVseSBhZnRl
ciBhbHRlcm5hdGl2ZXMgaGF2ZSBydW4uICBMdWNraWx5LCBhdAorICogdGhl
IHRpbWUgb2Ygd3JpdGluZywgd2UgZG9uJ3QgZmx1c2ggdGhlIGNhY2hlcyB0
aGF0IGVhcmx5LgorICovCiB2b2lkIGNhY2hlX2ZsdXNoKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogewogICAgIC8qCkBAIC0yNjgs
NiArMjc1LDggQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRy
LCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICB1bnNpZ25lZCBpbnQgY2xmbHVz
aF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVzaF9zaXplID86
IDE2OwogICAgIGNvbnN0IHZvaWQgKmVuZCA9IGFkZHIgKyBzaXplOwogCisg
ICAgYWx0ZXJuYXRpdmUoIiIsICJtZmVuY2UiLCBYODZfQlVHX0NMRkxVU0hf
TUZFTkNFKTsKKwogICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxvbmcpYWRkciAm
IChjbGZsdXNoX3NpemUgLSAxKTsKICAgICBmb3IgKCA7IGFkZHIgPCBlbmQ7
IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKICAgICB7CkBAIC0yODMsNyArMjky
LDkgQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICphZGRyLCB1bnNp
Z25lZCBpbnQgc2l6ZSkKICAgICAgICAgICAgICAgICAgICAgICAgW3BdICJt
IiAoKihjb25zdCBjaGFyICopKGFkZHIpKSk7CiAgICAgfQogCi0gICAgYWx0
ZXJuYXRpdmUoIiIsICJzZmVuY2UiLCBYODZfRkVBVFVSRV9DTEZMVVNIT1BU
KTsKKyAgICBhbHRlcm5hdGl2ZV8yKCIiLAorICAgICAgICAgICAgICAgICAg
InNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCisgICAgICAgICAg
ICAgICAgICAibWZlbmNlIiwgWDg2X0JVR19DTEZMVVNIX01GRU5DRSk7CiB9
CiAKIHZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0IHZvaWQgKmFkZHIsIHVu
c2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9jcHVmZWF0dXJlcy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVm
ZWF0dXJlcy5oCmluZGV4IDc0MTNmZWJkN2FkOC4uZmYzMTU3ZDUyZDEzIDEw
MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCkBAIC00
Nyw2ICs0Nyw3IEBAIFhFTl9DUFVGRUFUVVJFKFhFTl9JQlQsICAgICAgICAg
ICBYODZfU1lOVEgoMjcpKSAvKiBYZW4gdXNlcyBDRVQgSW5kaXJlY3QgQnJh
bmNoCiAKICNkZWZpbmUgWDg2X0JVR19GUFVfUFRSUyAgICAgICAgICBYODZf
QlVHKCAwKSAvKiAoRilYe1NBVkUsUlNUT1J9IGRvZXNuJ3Qgc2F2ZS9yZXN0
b3JlIEZPUC9GSVAvRkRQLiAqLwogI2RlZmluZSBYODZfQlVHX05VTExfU0VH
ICAgICAgICAgIFg4Nl9CVUcoIDEpIC8qIE5VTEwtaW5nIGEgc2VsZWN0b3Ig
cHJlc2VydmVzIHRoZSBiYXNlIGFuZCBsaW1pdC4gKi8KKyNkZWZpbmUgWDg2
X0JVR19DTEZMVVNIX01GRU5DRSAgICBYODZfQlVHKCAyKSAvKiBNRkVOQ0Ug
bmVlZGVkIHRvIHNlcmlhbGlzZSBDTEZMVVNIICovCiAKIC8qIFRvdGFsIG51
bWJlciBvZiBjYXBhYmlsaXR5IHdvcmRzLCBpbmMgc3ludGggYW5kIGJ1ZyB3
b3Jkcy4gKi8KICNkZWZpbmUgTkNBUElOVFMgKEZTQ0FQSU5UUyArIFg4Nl9O
Ul9TWU5USCArIFg4Nl9OUl9CVUcpIC8qIE4gMzItYml0IHdvcmRzIHdvcnRo
IG9mIGluZm8gKi8K

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.16-5.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.16-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBUcmFjayBhbmQgZmx1c2ggbm9uLWNvaGVy
ZW50IG1hcHBpbmdzIG9mIFJBTQoKVGhlcmUgYXJlIGxlZ2l0aW1hdGUgdXNl
cyBvZiBXQyBtYXBwaW5ncyBvZiBSQU0sIGUuZy4gZm9yIERNQSBidWZmZXJz
IHdpdGgKZGV2aWNlcyB0aGF0IG1ha2Ugbm9uLWNvaGVyZW50IHdyaXRlcy4g
IFRoZSBMaW51eCBzb3VuZCBzdWJzeXN0ZW0gbWFrZXMKZXh0ZW5zaXZlIHVz
ZSBvZiB0aGlzIHRlY2huaXF1ZS4KCkZvciBzdWNoIHVzZWNhc2VzLCB0aGUg
Z3Vlc3QncyBETUEgYnVmZmVyIGlzIG1hcHBlZCBhbmQgY29uc2lzdGVudGx5
IHVzZWQgYXMKV0MsIGFuZCBYZW4gZG9lc24ndCBpbnRlcmFjdCB3aXRoIHRo
ZSBidWZmZXIuCgpIb3dldmVyLCBhIG1pc2NoZXZpb3VzIGd1ZXN0IGNhbiB1
c2UgV0MgbWFwcGluZ3MgdG8gZGVsaWJlcmF0ZWx5IGNyZWF0ZQpub24tY29o
ZXJlbmN5IGJldHdlZW4gdGhlIGNhY2hlIGFuZCBSQU0sIGFuZCB1c2UgdGhp
cyB0byB0cmljayBYZW4gaW50bwp2YWxpZGF0aW5nIGEgcGFnZXRhYmxlIHdo
aWNoIGlzbid0IGFjdHVhbGx5IHNhZmUuCgpBbGxvY2F0ZSBhIG5ldyBQR1Rf
bm9uX2NvaGVyZW50IHRvIHRyYWNrIHRoZSBub24tY29oZXJlbmN5IG9mIG1h
cHBpbmdzLiAgU2V0Cml0IHdoZW5ldmVyIGEgbm9uLWNvaGVyZW50IHdyaXRl
YWJsZSBtYXBwaW5nIGlzIGNyZWF0ZWQuICBJZiB0aGUgcGFnZSBpcyB1c2Vk
CmFzIGFueXRoaW5nIG90aGVyIHRoYW4gUEdUX3dyaXRhYmxlX3BhZ2UsIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlCnZhbGlkYXRpb24uICBBbHNvIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlIHRoZSBwYWdlIGlzIHJldHVybmVk
IHRvIHRoZSBoZWFwLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2NCwgcGFydCBv
ZiBYU0EtNDAyLgoKUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8amFubmhAZ29v
Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5s
YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IGFi
MzJkMTNhMWEwZC4uYmFiOTYyNGZhYmI3IDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtOTk3LDYg
Kzk5NywxNSBAQCBnZXRfcGFnZV9mcm9tX2wxZSgKICAgICAgICAgcmV0dXJu
IC1FQUNDRVM7CiAgICAgfQogCisgICAgLyoKKyAgICAgKiBUcmFjayB3cml0
ZWFibGUgbm9uLWNvaGVyZW50IG1hcHBpbmdzIHRvIFJBTSBwYWdlcywgdG8g
dHJpZ2dlciBhIGNhY2hlCisgICAgICogZmx1c2ggbGF0ZXIgaWYgdGhlIHRh
cmdldCBpcyB1c2VkIGFzIGFueXRoaW5nIGJ1dCBhIFBHVF93cml0ZWFibGUg
cGFnZS4KKyAgICAgKiBXZSBjYXJlIGFib3V0IGFsbCB3cml0ZWFibGUgbWFw
cGluZ3MsIGluY2x1ZGluZyBmb3JlaWduIG1hcHBpbmdzLgorICAgICAqLwor
ICAgIGlmICggIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YRU5fU0VMRlNO
T09QKSAmJgorICAgICAgICAgKGwxZiAmIChQQUdFX0NBQ0hFX0FUVFJTIHwg
X1BBR0VfUlcpKSA9PSAoX1BBR0VfV0MgfCBfUEFHRV9SVykgKQorICAgICAg
ICBzZXRfYml0KF9QR1Rfbm9uX2NvaGVyZW50LCAmcGFnZS0+dS5pbnVzZS50
eXBlX2luZm8pOworCiAgICAgcmV0dXJuIDA7CiAKICBjb3VsZF9ub3RfcGlu
OgpAQCAtMjQ1NCw2ICsyNDYzLDE5IEBAIHN0YXRpYyBpbnQgY2xlYW51cF9w
YWdlX21hcHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiAgICAgICAg
IH0KICAgICB9CiAKKyAgICAvKgorICAgICAqIEZsdXNoIHRoZSBjYWNoZSBp
ZiB0aGVyZSB3ZXJlIHByZXZpb3VzbHkgbm9uLWNvaGVyZW50IHdyaXRlYWJs
ZQorICAgICAqIG1hcHBpbmdzIG9mIHRoaXMgcGFnZS4gIFRoaXMgZm9yY2Vz
IHRoZSBwYWdlIHRvIGJlIGNvaGVyZW50IGJlZm9yZSBpdAorICAgICAqIGlz
IGZyZWVkIGJhY2sgdG8gdGhlIGhlYXAuCisgICAgICovCisgICAgaWYgKCBf
X3Rlc3RfYW5kX2NsZWFyX2JpdChfUEdUX25vbl9jb2hlcmVudCwgJnBhZ2Ut
PnUuaW51c2UudHlwZV9pbmZvKSApCisgICAgeworICAgICAgICB2b2lkICph
ZGRyID0gX19tYXBfZG9tYWluX3BhZ2UocGFnZSk7CisKKyAgICAgICAgY2Fj
aGVfZmx1c2goYWRkciwgUEFHRV9TSVpFKTsKKyAgICAgICAgdW5tYXBfZG9t
YWluX3BhZ2UoYWRkcik7CisgICAgfQorCiAgICAgcmV0dXJuIHJjOwogfQog
CkBAIC0zMDI4LDYgKzMwNTAsMjIgQEAgc3RhdGljIGludCBfZ2V0X3BhZ2Vf
dHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5
cGUsCiAgICAgaWYgKCB1bmxpa2VseSghKG54ICYgUEdUX3ZhbGlkYXRlZCkp
ICkKICAgICB7CiAgICAgICAgIC8qCisgICAgICAgICAqIEZsdXNoIHRoZSBj
YWNoZSBpZiB0aGVyZSB3ZXJlIHByZXZpb3VzbHkgbm9uLWNvaGVyZW50IG1h
cHBpbmdzIG9mCisgICAgICAgICAqIHRoaXMgcGFnZSwgYW5kIHdlJ3JlIHRy
eWluZyB0byB1c2UgaXQgYXMgYW55dGhpbmcgb3RoZXIgdGhhbiBhCisgICAg
ICAgICAqIHdyaXRlYWJsZSBwYWdlLiAgVGhpcyBmb3JjZXMgdGhlIHBhZ2Ug
dG8gYmUgY29oZXJlbnQgYmVmb3JlIHdlCisgICAgICAgICAqIHZhbGlkYXRl
IGl0cyBjb250ZW50cyBmb3Igc2FmZXR5LgorICAgICAgICAgKi8KKyAgICAg
ICAgaWYgKCAobnggJiBQR1Rfbm9uX2NvaGVyZW50KSAmJiB0eXBlICE9IFBH
VF93cml0YWJsZV9wYWdlICkKKyAgICAgICAgeworICAgICAgICAgICAgdm9p
ZCAqYWRkciA9IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOworCisgICAgICAg
ICAgICBjYWNoZV9mbHVzaChhZGRyLCBQQUdFX1NJWkUpOworICAgICAgICAg
ICAgdW5tYXBfZG9tYWluX3BhZ2UoYWRkcik7CisKKyAgICAgICAgICAgIHBh
Z2UtPnUuaW51c2UudHlwZV9pbmZvICY9IH5QR1Rfbm9uX2NvaGVyZW50Owor
ICAgICAgICB9CisKKyAgICAgICAgLyoKICAgICAgICAgICogTm8gc3BlY2lh
bCB2YWxpZGF0aW9uIG5lZWRlZCBmb3Igd3JpdGFibGUgb3Igc2hhcmVkIHBh
Z2VzLiAgUGFnZQogICAgICAgICAgKiB0YWJsZXMgYW5kIEdEVC9MRFQgbmVl
ZCB0byBoYXZlIHRoZWlyIGNvbnRlbnRzIGF1ZGl0ZWQuCiAgICAgICAgICAq
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZ3JhbnRfdGFibGUuYyBi
L3hlbi9hcmNoL3g4Ni9wdi9ncmFudF90YWJsZS5jCmluZGV4IDAzMjU2MThj
OTg4My4uODFjNzJlNjFlZDU1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
cHYvZ3JhbnRfdGFibGUuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZ3JhbnRf
dGFibGUuYwpAQCAtMTA5LDcgKzEwOSwxNyBAQCBpbnQgY3JlYXRlX2dyYW50
X3B2X21hcHBpbmcodWludDY0X3QgYWRkciwgbWZuX3QgZnJhbWUsCiAKICAg
ICBvbDFlID0gKnBsMWU7CiAgICAgaWYgKCBVUERBVEVfRU5UUlkobDEsIHBs
MWUsIG9sMWUsIG5sMWUsIGdsMW1mbiwgY3VyciwgMCkgKQorICAgIHsKKyAg
ICAgICAgLyoKKyAgICAgICAgICogV2UgYWx3YXlzIGNyZWF0ZSBtYXBwaW5n
cyBpbiB0aGlzIHBhdGguICBIb3dldmVyLCBvdXIgY2FsbGVyLAorICAgICAg
ICAgKiBtYXBfZ3JhbnRfcmVmKCksIG9ubHkgcGFzc2VzIHBvdGVudGlhbGx5
IG5vbi16ZXJvIGNhY2hlX2ZsYWdzIGZvcgorICAgICAgICAgKiBNTUlPIGZy
YW1lcywgc28gdGhpcyBwYXRoIGRvZXNuJ3QgY3JlYXRlIG5vbi1jb2hlcmVu
dCBtYXBwaW5ncyBvZgorICAgICAgICAgKiBSQU0gZnJhbWVzIGFuZCB0aGVy
ZSdzIG5vIG5lZWQgdG8gY2FsY3VsYXRlIFBHVF9ub25fY29oZXJlbnQuCisg
ICAgICAgICAqLworICAgICAgICBBU1NFUlQoIWNhY2hlX2ZsYWdzIHx8IGlz
X2lvbWVtX3BhZ2UoZnJhbWUpKTsKKwogICAgICAgICByYyA9IEdOVFNUX29r
YXk7CisgICAgfQogCiAgb3V0X3VubG9jazoKICAgICBwYWdlX3VubG9jayhw
YWdlKTsKQEAgLTI5NCw3ICszMDQsMTggQEAgaW50IHJlcGxhY2VfZ3JhbnRf
cHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCBtZm5fdCBmcmFtZSwKICAgICAg
ICAgICAgICAgICAgbDFlX2dldF9mbGFncyhvbDFlKSwgYWRkciwgZ3JhbnRf
cHRlX2ZsYWdzKTsKIAogICAgIGlmICggVVBEQVRFX0VOVFJZKGwxLCBwbDFl
LCBvbDFlLCBubDFlLCBnbDFtZm4sIGN1cnIsIDApICkKKyAgICB7CisgICAg
ICAgIC8qCisgICAgICAgICAqIEdlbmVyYWxseSwgcmVwbGFjZV9ncmFudF9w
dl9tYXBwaW5nKCkgaXMgdXNlZCB0byBkZXN0cm95IG1hcHBpbmdzCisgICAg
ICAgICAqIChuMWxlID0gbDFlX2VtcHR5KCkpLCBidXQgaXQgY2FuIGJlIGEg
cHJlc2VudCBtYXBwaW5nIG9uIHRoZQorICAgICAgICAgKiBHTlRBQk9QX3Vu
bWFwX2FuZF9yZXBsYWNlIHBhdGguCisgICAgICAgICAqCisgICAgICAgICAq
IEluIHN1Y2ggY2FzZXMsIHRoZSBQVEUgaXMgZnVsbHkgdHJhbnNwbGFudGVk
IGZyb20gaXRzIG9sZCBsb2NhdGlvbgorICAgICAgICAgKiB2aWEgc3RlYWxf
bGluZWFyX2FkZHIoKSwgc28gd2UgbmVlZCBub3QgcGVyZm9ybSBQR1Rfbm9u
X2NvaGVyZW50CisgICAgICAgICAqIGNoZWNraW5nIGhlcmUuCisgICAgICAg
ICAqLwogICAgICAgICByYyA9IEdOVFNUX29rYXk7CisgICAgfQogCiAgb3V0
X3VubG9jazoKICAgICBwYWdlX3VubG9jayhwYWdlKTsKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvbW0uaAppbmRleCA4YTlhNDNiYjBhOWQuLjc0NjQxNjdhZTE5MiAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvbW0uaApAQCAtNTMsOCArNTMsMTIgQEAKICNkZWZp
bmUgX1BHVF9wYXJ0aWFsICAgICAgUEdfc2hpZnQoOCkKICNkZWZpbmUgUEdU
X3BhcnRpYWwgICAgICAgUEdfbWFzaygxLCA4KQogCisvKiBIYXMgdGhpcyBw
YWdlIGJlZW4gbWFwcGVkIHdyaXRlYWJsZSB3aXRoIGEgbm9uLWNvaGVyZW50
IG1lbW9yeSB0eXBlPyAqLworI2RlZmluZSBfUEdUX25vbl9jb2hlcmVudCBQ
R19zaGlmdCg5KQorI2RlZmluZSBQR1Rfbm9uX2NvaGVyZW50ICBQR19tYXNr
KDEsIDkpCisKICAvKiBDb3VudCBvZiB1c2VzIG9mIHRoaXMgZnJhbWUgYXMg
aXRzIGN1cnJlbnQgdHlwZS4gKi8KLSNkZWZpbmUgUEdUX2NvdW50X3dpZHRo
ICAgUEdfc2hpZnQoOCkKKyNkZWZpbmUgUEdUX2NvdW50X3dpZHRoICAgUEdf
c2hpZnQoOSkKICNkZWZpbmUgUEdUX2NvdW50X21hc2sgICAgKCgxVUw8PFBH
VF9jb3VudF93aWR0aCktMSkKIAogLyogQXJlIHRoZSAndHlwZSBtYXNrJyBi
aXRzIGlkZW50aWNhbD8gKi8K

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-4.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L2FtZDogV29yayBhcm91bmQgQ0xGTFVTSCBvcmRl
cmluZyBvbiBvbGRlciBwYXJ0cwoKT24gcHJlLUNMRkxVU0hPUFQgQU1EIENQ
VXMsIENMRkxVU0ggaXMgd2Vha2VseSBvcmRlcmVkIHdpdGggZXZlcnl0aGlu
ZywKaW5jbHVkaW5nIHJlYWRzIGFuZCB3cml0ZXMgdG8gdGhlIGFkZHJlc3Ms
IGFuZCBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KClRoaXMgY3JlYXRl
cyBhIG11bHRpdHVkZSBvZiBwcm9ibGVtYXRpYyBjb3JuZXIgY2FzZXMsIGxh
aWQgb3V0IGluIHRoZSBtYW51YWwuCkFycmFuZ2UgdG8gdXNlIE1GRU5DRSBv
biBib3RoIHNpZGVzIG9mIHRoZSBDTEZMVVNIIHRvIGZvcmNlIHByb3BlciBv
cmRlcmluZy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDAyLgoKU2lnbmVkLW9m
Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIveGVu
L2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCA0OTk5ZjhiZTJiMTEuLjk0Yjll
MzEwMTYxZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYwor
KysgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCkBAIC04MTIsNiArODEyLDE0
IEBAIHN0YXRpYyB2b2lkIGNmX2NoZWNrIGluaXRfYW1kKHN0cnVjdCBjcHVp
bmZvX3g4NiAqYykKIAlpZiAoIWNwdV9oYXNfbGZlbmNlX2Rpc3BhdGNoKQog
CQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDLCBjLT54ODZf
Y2FwYWJpbGl0eSk7CiAKKwkvKgorCSAqIE9uIHByZS1DTEZMVVNIT1BUIEFN
RCBDUFVzLCBDTEZMVVNIIGlzIHdlYWtseSBvcmRlcmVkIHdpdGgKKwkgKiBl
dmVyeXRoaW5nLCBpbmNsdWRpbmcgcmVhZHMgYW5kIHdyaXRlcyB0byBhZGRy
ZXNzLCBhbmQKKwkgKiBMRkVOQ0UvU0ZFTkNFIGluc3RydWN0aW9ucy4KKwkg
Ki8KKwlpZiAoIWNwdV9oYXNfY2xmbHVzaG9wdCkKKwkJc2V0dXBfZm9yY2Vf
Y3B1X2NhcChYODZfQlVHX0NMRkxVU0hfTUZFTkNFKTsKKwogCXN3aXRjaChj
LT54ODYpCiAJewogCWNhc2UgMHhmIC4uLiAweDExOgpkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gveDg2L2ZsdXNodGxiLmMgYi94ZW4vYXJjaC94ODYvZmx1c2h0
bGIuYwppbmRleCA0NzFiM2UzMWM0NmMuLjE4NzQ4YjJiYzgwNSAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMKKysrIGIveGVuL2FyY2gv
eDg2L2ZsdXNodGxiLmMKQEAgLTI2MCw2ICsyNjAsMTMgQEAgdW5zaWduZWQg
aW50IGZsdXNoX2FyZWFfbG9jYWwoY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVk
IGludCBmbGFncykKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKKy8qCisgKiBP
biBwcmUtQ0xGTFVTSE9QVCBBTUQgQ1BVcywgQ0xGTFVTSCBpcyB3ZWFrbHkg
b3JkZXJlZCB3aXRoIGV2ZXJ5dGhpbmcsCisgKiBpbmNsdWRpbmcgcmVhZHMg
YW5kIHdyaXRlcyB0byBhZGRyZXNzLCBhbmQgTEZFTkNFL1NGRU5DRSBpbnN0
cnVjdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIHNh
ZmVseSBhZnRlciBhbHRlcm5hdGl2ZXMgaGF2ZSBydW4uICBMdWNraWx5LCBh
dAorICogdGhlIHRpbWUgb2Ygd3JpdGluZywgd2UgZG9uJ3QgZmx1c2ggdGhl
IGNhY2hlcyB0aGF0IGVhcmx5LgorICovCiB2b2lkIGNhY2hlX2ZsdXNoKGNv
bnN0IHZvaWQgKmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQogewogICAgIC8q
CkBAIC0yNjksNiArMjc2LDggQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2
b2lkICphZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICB1bnNpZ25lZCBp
bnQgY2xmbHVzaF9zaXplID0gY3VycmVudF9jcHVfZGF0YS54ODZfY2xmbHVz
aF9zaXplID86IDE2OwogICAgIGNvbnN0IHZvaWQgKmVuZCA9IGFkZHIgKyBz
aXplOwogCisgICAgYWx0ZXJuYXRpdmUoIiIsICJtZmVuY2UiLCBYODZfQlVH
X0NMRkxVU0hfTUZFTkNFKTsKKwogICAgIGFkZHIgLT0gKHVuc2lnbmVkIGxv
bmcpYWRkciAmIChjbGZsdXNoX3NpemUgLSAxKTsKICAgICBmb3IgKCA7IGFk
ZHIgPCBlbmQ7IGFkZHIgKz0gY2xmbHVzaF9zaXplICkKICAgICB7CkBAIC0y
ODQsNyArMjkzLDkgQEAgdm9pZCBjYWNoZV9mbHVzaChjb25zdCB2b2lkICph
ZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICAgICAgICAgICAgICAgICAg
ICAgW3BdICJtIiAoKihjb25zdCBjaGFyICopKGFkZHIpKSk7CiAgICAgfQog
Ci0gICAgYWx0ZXJuYXRpdmUoIiIsICJzZmVuY2UiLCBYODZfRkVBVFVSRV9D
TEZMVVNIT1BUKTsKKyAgICBhbHRlcm5hdGl2ZV8yKCIiLAorICAgICAgICAg
ICAgICAgICAgInNmZW5jZSIsIFg4Nl9GRUFUVVJFX0NMRkxVU0hPUFQsCisg
ICAgICAgICAgICAgICAgICAibWZlbmNlIiwgWDg2X0JVR19DTEZMVVNIX01G
RU5DRSk7CiB9CiAKIHZvaWQgY2FjaGVfd3JpdGViYWNrKGNvbnN0IHZvaWQg
KmFkZHIsIHVuc2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmggYi94ZW4vYXJjaC94
ODYvaW5jbHVkZS9hc20vY3B1ZmVhdHVyZXMuaAppbmRleCA3NDEzZmViZDdh
ZDguLmZmMzE1N2Q1MmQxMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmgKKysrIGIveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgWEVO
X0NQVUZFQVRVUkUoWEVOX0lCVCwgICAgICAgICAgIFg4Nl9TWU5USCgyNykp
IC8qIFhlbiB1c2VzIENFVCBJbmRpcmVjdCBCcmFuY2gKIAogI2RlZmluZSBY
ODZfQlVHX0ZQVV9QVFJTICAgICAgICAgIFg4Nl9CVUcoIDApIC8qIChGKVh7
U0FWRSxSU1RPUn0gZG9lc24ndCBzYXZlL3Jlc3RvcmUgRk9QL0ZJUC9GRFAu
ICovCiAjZGVmaW5lIFg4Nl9CVUdfTlVMTF9TRUcgICAgICAgICAgWDg2X0JV
RyggMSkgLyogTlVMTC1pbmcgYSBzZWxlY3RvciBwcmVzZXJ2ZXMgdGhlIGJh
c2UgYW5kIGxpbWl0LiAqLworI2RlZmluZSBYODZfQlVHX0NMRkxVU0hfTUZF
TkNFICAgIFg4Nl9CVUcoIDIpIC8qIE1GRU5DRSBuZWVkZWQgdG8gc2VyaWFs
aXNlIENMRkxVU0ggKi8KIAogLyogVG90YWwgbnVtYmVyIG9mIGNhcGFiaWxp
dHkgd29yZHMsIGluYyBzeW50aCBhbmQgYnVnIHdvcmRzLiAqLwogI2RlZmlu
ZSBOQ0FQSU5UUyAoRlNDQVBJTlRTICsgWDg2X05SX1NZTlRIICsgWDg2X05S
X0JVRykgLyogTiAzMi1iaXQgd29yZHMgd29ydGggb2YgaW5mbyAqLwo=

--=separator
Content-Type: application/octet-stream; name="xsa402/xsa402-5.patch"
Content-Disposition: attachment; filename="xsa402/xsa402-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3B2OiBUcmFjayBhbmQgZmx1c2ggbm9uLWNvaGVy
ZW50IG1hcHBpbmdzIG9mIFJBTQoKVGhlcmUgYXJlIGxlZ2l0aW1hdGUgdXNl
cyBvZiBXQyBtYXBwaW5ncyBvZiBSQU0sIGUuZy4gZm9yIERNQSBidWZmZXJz
IHdpdGgKZGV2aWNlcyB0aGF0IG1ha2Ugbm9uLWNvaGVyZW50IHdyaXRlcy4g
IFRoZSBMaW51eCBzb3VuZCBzdWJzeXN0ZW0gbWFrZXMKZXh0ZW5zaXZlIHVz
ZSBvZiB0aGlzIHRlY2huaXF1ZS4KCkZvciBzdWNoIHVzZWNhc2VzLCB0aGUg
Z3Vlc3QncyBETUEgYnVmZmVyIGlzIG1hcHBlZCBhbmQgY29uc2lzdGVudGx5
IHVzZWQgYXMKV0MsIGFuZCBYZW4gZG9lc24ndCBpbnRlcmFjdCB3aXRoIHRo
ZSBidWZmZXIuCgpIb3dldmVyLCBhIG1pc2NoZXZpb3VzIGd1ZXN0IGNhbiB1
c2UgV0MgbWFwcGluZ3MgdG8gZGVsaWJlcmF0ZWx5IGNyZWF0ZQpub24tY29o
ZXJlbmN5IGJldHdlZW4gdGhlIGNhY2hlIGFuZCBSQU0sIGFuZCB1c2UgdGhp
cyB0byB0cmljayBYZW4gaW50bwp2YWxpZGF0aW5nIGEgcGFnZXRhYmxlIHdo
aWNoIGlzbid0IGFjdHVhbGx5IHNhZmUuCgpBbGxvY2F0ZSBhIG5ldyBQR1Rf
bm9uX2NvaGVyZW50IHRvIHRyYWNrIHRoZSBub24tY29oZXJlbmN5IG9mIG1h
cHBpbmdzLiAgU2V0Cml0IHdoZW5ldmVyIGEgbm9uLWNvaGVyZW50IHdyaXRl
YWJsZSBtYXBwaW5nIGlzIGNyZWF0ZWQuICBJZiB0aGUgcGFnZSBpcyB1c2Vk
CmFzIGFueXRoaW5nIG90aGVyIHRoYW4gUEdUX3dyaXRhYmxlX3BhZ2UsIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlCnZhbGlkYXRpb24uICBBbHNvIGZv
cmNlIGEgY2FjaGUgZmx1c2ggYmVmb3JlIHRoZSBwYWdlIGlzIHJldHVybmVk
IHRvIHRoZSBoZWFwLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2NCwgcGFydCBv
ZiBYU0EtNDAyLgoKUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8amFubmhAZ29v
Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5s
YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbW0uaCBiL3hlbi9hcmNoL3g4Ni9p
bmNsdWRlL2FzbS9tbS5oCmluZGV4IDYwNWMxMDE1MjgwNS4uMDdiNTljOTgy
YjM5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbW0u
aAorKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbW0uaApAQCAtNTMs
OCArNTMsMTIgQEAKICNkZWZpbmUgX1BHVF9wYXJ0aWFsICAgICAgUEdfc2hp
ZnQoOCkKICNkZWZpbmUgUEdUX3BhcnRpYWwgICAgICAgUEdfbWFzaygxLCA4
KQogCisvKiBIYXMgdGhpcyBwYWdlIGJlZW4gbWFwcGVkIHdyaXRlYWJsZSB3
aXRoIGEgbm9uLWNvaGVyZW50IG1lbW9yeSB0eXBlPyAqLworI2RlZmluZSBf
UEdUX25vbl9jb2hlcmVudCBQR19zaGlmdCg5KQorI2RlZmluZSBQR1Rfbm9u
X2NvaGVyZW50ICBQR19tYXNrKDEsIDkpCisKICAvKiBDb3VudCBvZiB1c2Vz
IG9mIHRoaXMgZnJhbWUgYXMgaXRzIGN1cnJlbnQgdHlwZS4gKi8KLSNkZWZp
bmUgUEdUX2NvdW50X3dpZHRoICAgUEdfc2hpZnQoOCkKKyNkZWZpbmUgUEdU
X2NvdW50X3dpZHRoICAgUEdfc2hpZnQoOSkKICNkZWZpbmUgUEdUX2NvdW50
X21hc2sgICAgKCgxVUw8PFBHVF9jb3VudF93aWR0aCktMSkKIAogLyogQXJl
IHRoZSAndHlwZSBtYXNrJyBiaXRzIGlkZW50aWNhbD8gKi8KZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5k
ZXggMmI1ZjViNTUzZDk0Li45NGY2YWU5YWU3NDIgMTAwNjQ0Ci0tLSBhL3hl
bi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC0x
MDI1LDYgKzEwMjUsMTUgQEAgZ2V0X3BhZ2VfZnJvbV9sMWUoCiAgICAgICAg
IHJldHVybiAtRUFDQ0VTOwogICAgIH0KIAorICAgIC8qCisgICAgICogVHJh
Y2sgd3JpdGVhYmxlIG5vbi1jb2hlcmVudCBtYXBwaW5ncyB0byBSQU0gcGFn
ZXMsIHRvIHRyaWdnZXIgYSBjYWNoZQorICAgICAqIGZsdXNoIGxhdGVyIGlm
IHRoZSB0YXJnZXQgaXMgdXNlZCBhcyBhbnl0aGluZyBidXQgYSBQR1Rfd3Jp
dGVhYmxlIHBhZ2UuCisgICAgICogV2UgY2FyZSBhYm91dCBhbGwgd3JpdGVh
YmxlIG1hcHBpbmdzLCBpbmNsdWRpbmcgZm9yZWlnbiBtYXBwaW5ncy4KKyAg
ICAgKi8KKyAgICBpZiAoICFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWEVO
X1NFTEZTTk9PUCkgJiYKKyAgICAgICAgIChsMWYgJiAoUEFHRV9DQUNIRV9B
VFRSUyB8IF9QQUdFX1JXKSkgPT0gKF9QQUdFX1dDIHwgX1BBR0VfUlcpICkK
KyAgICAgICAgc2V0X2JpdChfUEdUX25vbl9jb2hlcmVudCwgJnBhZ2UtPnUu
aW51c2UudHlwZV9pbmZvKTsKKwogICAgIHJldHVybiAwOwogCiAgY291bGRf
bm90X3BpbjoKQEAgLTI0ODIsNiArMjQ5MSwxOSBAQCBzdGF0aWMgaW50IGNs
ZWFudXBfcGFnZV9tYXBwaW5ncyhzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQog
ICAgICAgICB9CiAgICAgfQogCisgICAgLyoKKyAgICAgKiBGbHVzaCB0aGUg
Y2FjaGUgaWYgdGhlcmUgd2VyZSBwcmV2aW91c2x5IG5vbi1jb2hlcmVudCB3
cml0ZWFibGUKKyAgICAgKiBtYXBwaW5ncyBvZiB0aGlzIHBhZ2UuICBUaGlz
IGZvcmNlcyB0aGUgcGFnZSB0byBiZSBjb2hlcmVudCBiZWZvcmUgaXQKKyAg
ICAgKiBpcyBmcmVlZCBiYWNrIHRvIHRoZSBoZWFwLgorICAgICAqLworICAg
IGlmICggX190ZXN0X2FuZF9jbGVhcl9iaXQoX1BHVF9ub25fY29oZXJlbnQs
ICZwYWdlLT51LmludXNlLnR5cGVfaW5mbykgKQorICAgIHsKKyAgICAgICAg
dm9pZCAqYWRkciA9IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOworCisgICAg
ICAgIGNhY2hlX2ZsdXNoKGFkZHIsIFBBR0VfU0laRSk7CisgICAgICAgIHVu
bWFwX2RvbWFpbl9wYWdlKGFkZHIpOworICAgIH0KKwogICAgIHJldHVybiBy
YzsKIH0KIApAQCAtMzA1Niw2ICszMDc4LDIyIEBAIHN0YXRpYyBpbnQgX2dl
dF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQg
bG9uZyB0eXBlLAogICAgIGlmICggdW5saWtlbHkoIShueCAmIFBHVF92YWxp
ZGF0ZWQpKSApCiAgICAgewogICAgICAgICAvKgorICAgICAgICAgKiBGbHVz
aCB0aGUgY2FjaGUgaWYgdGhlcmUgd2VyZSBwcmV2aW91c2x5IG5vbi1jb2hl
cmVudCBtYXBwaW5ncyBvZgorICAgICAgICAgKiB0aGlzIHBhZ2UsIGFuZCB3
ZSdyZSB0cnlpbmcgdG8gdXNlIGl0IGFzIGFueXRoaW5nIG90aGVyIHRoYW4g
YQorICAgICAgICAgKiB3cml0ZWFibGUgcGFnZS4gIFRoaXMgZm9yY2VzIHRo
ZSBwYWdlIHRvIGJlIGNvaGVyZW50IGJlZm9yZSB3ZQorICAgICAgICAgKiB2
YWxpZGF0ZSBpdHMgY29udGVudHMgZm9yIHNhZmV0eS4KKyAgICAgICAgICov
CisgICAgICAgIGlmICggKG54ICYgUEdUX25vbl9jb2hlcmVudCkgJiYgdHlw
ZSAhPSBQR1Rfd3JpdGFibGVfcGFnZSApCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHZvaWQgKmFkZHIgPSBfX21hcF9kb21haW5fcGFnZShwYWdlKTsKKwor
ICAgICAgICAgICAgY2FjaGVfZmx1c2goYWRkciwgUEFHRV9TSVpFKTsKKyAg
ICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGFkZHIpOworCisgICAgICAg
ICAgICBwYWdlLT51LmludXNlLnR5cGVfaW5mbyAmPSB+UEdUX25vbl9jb2hl
cmVudDsKKyAgICAgICAgfQorCisgICAgICAgIC8qCiAgICAgICAgICAqIE5v
IHNwZWNpYWwgdmFsaWRhdGlvbiBuZWVkZWQgZm9yIHdyaXRhYmxlIG9yIHNo
YXJlZCBwYWdlcy4gIFBhZ2UKICAgICAgICAgICogdGFibGVzIGFuZCBHRFQv
TERUIG5lZWQgdG8gaGF2ZSB0aGVpciBjb250ZW50cyBhdWRpdGVkLgogICAg
ICAgICAgKgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2dyYW50X3Rh
YmxlLmMgYi94ZW4vYXJjaC94ODYvcHYvZ3JhbnRfdGFibGUuYwppbmRleCAw
MzI1NjE4Yzk4ODMuLjgxYzcyZTYxZWQ1NSAxMDA2NDQKLS0tIGEveGVuL2Fy
Y2gveDg2L3B2L2dyYW50X3RhYmxlLmMKKysrIGIveGVuL2FyY2gveDg2L3B2
L2dyYW50X3RhYmxlLmMKQEAgLTEwOSw3ICsxMDksMTcgQEAgaW50IGNyZWF0
ZV9ncmFudF9wdl9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIG1mbl90IGZyYW1l
LAogCiAgICAgb2wxZSA9ICpwbDFlOwogICAgIGlmICggVVBEQVRFX0VOVFJZ
KGwxLCBwbDFlLCBvbDFlLCBubDFlLCBnbDFtZm4sIGN1cnIsIDApICkKKyAg
ICB7CisgICAgICAgIC8qCisgICAgICAgICAqIFdlIGFsd2F5cyBjcmVhdGUg
bWFwcGluZ3MgaW4gdGhpcyBwYXRoLiAgSG93ZXZlciwgb3VyIGNhbGxlciwK
KyAgICAgICAgICogbWFwX2dyYW50X3JlZigpLCBvbmx5IHBhc3NlcyBwb3Rl
bnRpYWxseSBub24temVybyBjYWNoZV9mbGFncyBmb3IKKyAgICAgICAgICog
TU1JTyBmcmFtZXMsIHNvIHRoaXMgcGF0aCBkb2Vzbid0IGNyZWF0ZSBub24t
Y29oZXJlbnQgbWFwcGluZ3Mgb2YKKyAgICAgICAgICogUkFNIGZyYW1lcyBh
bmQgdGhlcmUncyBubyBuZWVkIHRvIGNhbGN1bGF0ZSBQR1Rfbm9uX2NvaGVy
ZW50LgorICAgICAgICAgKi8KKyAgICAgICAgQVNTRVJUKCFjYWNoZV9mbGFn
cyB8fCBpc19pb21lbV9wYWdlKGZyYW1lKSk7CisKICAgICAgICAgcmMgPSBH
TlRTVF9va2F5OworICAgIH0KIAogIG91dF91bmxvY2s6CiAgICAgcGFnZV91
bmxvY2socGFnZSk7CkBAIC0yOTQsNyArMzA0LDE4IEBAIGludCByZXBsYWNl
X2dyYW50X3B2X21hcHBpbmcodWludDY0X3QgYWRkciwgbWZuX3QgZnJhbWUs
CiAgICAgICAgICAgICAgICAgIGwxZV9nZXRfZmxhZ3Mob2wxZSksIGFkZHIs
IGdyYW50X3B0ZV9mbGFncyk7CiAKICAgICBpZiAoIFVQREFURV9FTlRSWShs
MSwgcGwxZSwgb2wxZSwgbmwxZSwgZ2wxbWZuLCBjdXJyLCAwKSApCisgICAg
eworICAgICAgICAvKgorICAgICAgICAgKiBHZW5lcmFsbHksIHJlcGxhY2Vf
Z3JhbnRfcHZfbWFwcGluZygpIGlzIHVzZWQgdG8gZGVzdHJveSBtYXBwaW5n
cworICAgICAgICAgKiAobjFsZSA9IGwxZV9lbXB0eSgpKSwgYnV0IGl0IGNh
biBiZSBhIHByZXNlbnQgbWFwcGluZyBvbiB0aGUKKyAgICAgICAgICogR05U
QUJPUF91bm1hcF9hbmRfcmVwbGFjZSBwYXRoLgorICAgICAgICAgKgorICAg
ICAgICAgKiBJbiBzdWNoIGNhc2VzLCB0aGUgUFRFIGlzIGZ1bGx5IHRyYW5z
cGxhbnRlZCBmcm9tIGl0cyBvbGQgbG9jYXRpb24KKyAgICAgICAgICogdmlh
IHN0ZWFsX2xpbmVhcl9hZGRyKCksIHNvIHdlIG5lZWQgbm90IHBlcmZvcm0g
UEdUX25vbl9jb2hlcmVudAorICAgICAgICAgKiBjaGVja2luZyBoZXJlLgor
ICAgICAgICAgKi8KICAgICAgICAgcmMgPSBHTlRTVF9va2F5OworICAgIH0K
IAogIG91dF91bmxvY2s6CiAgICAgcGFnZV91bmxvY2socGFnZSk7Cg==

--=separator--


From xen-users-bounces@lists.xenproject.org Tue Jun 14 18:27:52 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Jun 2022 18:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.349328.575516 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o1BFf-0003bm-LZ; Tue, 14 Jun 2022 18:26:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 349328.575516; Tue, 14 Jun 2022 18:26:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o1BFf-0003a6-H6; Tue, 14 Jun 2022 18:26:55 +0000
Received: by outflank-mailman (input) for mailman id 349328;
 Tue, 14 Jun 2022 18:26:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u8si=WV=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1o1BFe-0003Bq-IV
 for xen-users@lists.xen.org; Tue, 14 Jun 2022 18:26:54 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8be34b65-ec0f-11ec-bd2c-47488cf2e6aa;
 Tue, 14 Jun 2022 20:26:50 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1o1BFN-0005Uq-C2; Tue, 14 Jun 2022 18:26:37 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1o1BFN-0008DW-A3; Tue, 14 Jun 2022 18:26:37 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 8be34b65-ec0f-11ec-bd2c-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=WGn0/VWzRWv6gn0JjFVwvwtiz4kbV4BS5PjVZX9TWzg=; b=0NioSXsq/EEQGWbo0TfQeX0tEl
	y2GpMaLvMSW9nauwYyS86iyZbfZ2mBJkWhHqzue09jyEvq3agrxDOQAeFJ1fEOHNjoWGTgqSpzVVp
	xrie+j7EgjRHrlZhshSA6pXRg1QF6S9XuTqcnYOrFMEhnNJtps5drzicK548Abt3tj/w=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 404 v1 (CVE-2022-21123,CVE-2022-21124,CVE-2022-21166)
 - x86: MMIO Stale Data vulnerabilities
Message-Id: <E1o1BFN-0008DW-A3@xenbits.xenproject.org>
Date: Tue, 14 Jun 2022 18:26:37 +0000

--=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-2022-21123,CVE-2022-21124,CVE-2022-21166 / XSA-404

                 x86: MMIO Stale Data vulnerabilities

ISSUE DESCRIPTION
=================

This issue is related to the SRBDS, TAA and MDS vulnerabilities.  Please
see:

  https://xenbits.xen.org/xsa/advisory-320.html (SRBDS)
  https://xenbits.xen.org/xsa/advisory-305.html (TAA)
  https://xenbits.xen.org/xsa/advisory-297.html (MDS)

Please see Intel's whitepaper:

  https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/processor-mmio-stale-data-vulnerabilities.html

IMPACT
======

An attacker might be able to directly read or infer data from other
security contexts in the system.  This can include data belonging to
other VMs, or to Xen itself.  The degree to which an attacker can obtain
data depends on the CPU, and the system configuration.

VULNERABLE SYSTEMS
==================

Systems running all versions of Xen are affected.

Only x86 processors are vulnerable.  Processors from other manufacturers
(e.g. ARM) are not believed to be vulnerable.

Only Intel based processors are affected.  Processors from other x86
manufacturers (e.g. AMD) are not believed to be vulnerable.

Please consult the Intel Security Advisory for details on the affected
processors and configurations.

Per Xen's support statement, PCI passthrough should be to trusted
domains because the overall system security depends on factors outside
of Xen's control.

As such, Xen, in a supported configuration, is not vulnerable to
DRPW/SBDR.

MITIGATION
==========

All mitigations depend on functionality added in the IPU 2022.1 (May
2022) microcode release from Intel.  Consult your dom0 OS vendor.

To the best of the security team's understanding, the summary is as
follows:

Server CPUs (Xeon EP/EX, Scalable, and some Atom servers), excluding
Xeon E3 (which use the client CPU design), are potentially vulnerable to
DRPW (CVE-2022-21166).

Client CPUs (inc Xeon E3) are, furthermore, potentially vulnerable to
SBDR (CVE-2022-21123) and SBDS (CVE-2022-21125).

SBDS only affects CPUs vulnerable to MDS.  On these CPUs, there are
previously undiscovered leakage channels.  There is no change to the
existing MDS mitigations.

DRPW and SBDR only affects configurations where less privileged domains
have MMIO mappings of buggy endpoints.  Consult your hardware vendor.

In configurations where less privileged domains have MMIO access to
buggy endpoints, `spec-ctrl=unpriv-mmio` can be enabled which will cause
Xen to mitigate cross-domain fill buffer leakage, and extend SRBDS
protections to protect RNG data from leakage.

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.

The patches are still under review.  An update will be sent once they
are reviewed and the backports are done.

xsa404/xsa404-?.patch           xen-unstable

$ sha256sum xsa404*/*
18b307c2cbbd08d568e9dcb2447901d94e22ff1e3945c3436173aa693f6456fb  xsa404/xsa404-1.patch
d6f193ad963396285e983aa1c18539f67222582711fc62105c21b71b3b53a97d  xsa404/xsa404-2.patch
d2c123ccdf5eb9f862d6e9cb0e59045ae18799a07db149c7d90e301ca20436aa  xsa404/xsa404-3.patch
$

NOTE CONCERNING CVE-2022-21127 / Update to SRBDS
================================================

An issue was discovered with the SRBDS microcode mitigation.  A
microcode update was released as part of Intel's IPU 2022.1 in May 2022.

Updating microcode is sufficient to fix the issue, with no extra actions
required on Xen's behalf.  Consult your dom0 OS vendor or OEM for
updated microcode.

NOTE CONCERNING CVE-2022-21180 / Undefined MMIO Hang
====================================================

A related issue was discovered.  See:

  https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/undefined-mmio-hang.html

Xen is not vulnerable to UMH in supported configurations.

The only mitigation to is avoid passing impacted devices through to
untrusted guests.
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmKo0Z0MHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZc8cH/RFgxQ4L8OewWMxsuowpgLg8NVyYGFMBgttscBh+
ANpjRTnV4yQGpt9nNFDAcXT1c/fvWhypOiwadEtczRl5k/Q96JOKFdiAc1QR35Oj
vmbCLgO20jQ/GdTzaqKUaGBwi8GLShJvH1zMPJ2KuXk5w5uFDhj2gEiB6Kdv9+9O
4FBxQkpDzll0gs5v16ien8btKhEuZj9lNtzXZw5j4+DJD69MvQqsRPVdEt+M17Ox
XGYcpfpLeGUaIUPFTPZDcFIJnMvqPBQyt+2eaeR2ezW2ouNpxepCSPsEDlAmSZ/K
uZA0ShyJD3pfCxjc8eztyF/4zajY5EvuEtWdUZC/3zVaUec=
=4EdA
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-1.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogTWFrZSBWRVJXIGZsdXNoaW5n
IHJ1bnRpbWUgY29uZGl0aW9uYWwKCkN1cnJlbnRseSwgVkVSVyBmbHVzaGlu
ZyB0byBtaXRpZ2F0ZSBNRFMgaXMgYm9vdCB0aW1lIGNvbmRpdGlvbmFsIHBl
ciBkb21haW4KdHlwZS4gIEhvd2V2ZXIsIHRvIHByb3ZpZGUgbWl0aWdhdGlv
bnMgZm9yIERSUFcgKENWRS0yMDIyLTIxMTY2KSwgd2UgbmVlZCB0bwpjb25k
aXRpb25hbGx5IHVzZSBWRVJXIGJhc2VkIG9uIHRoZSB0cnVzdHdvcnRoaW5l
c3Mgb2YgdGhlIGd1ZXN0LCBhbmQgdGhlCmRldmljZXMgcGFzc2VkIHRocm91
Z2guCgpSZW1vdmUgdGhlIFBWL0hWTSBhbHRlcm5hdGl2ZXMgYW5kIGluc3Rl
YWQgaXNzdWUgYSBWRVJXIG9uIHRoZSByZXR1cm4tdG8tZ3Vlc3QKcGF0aCBk
ZXBlbmRpbmcgb24gdGhlIFNDRl92ZXJ3IGJpdCBpbiBjcHVpbmZvIHNwZWNf
Y3RybF9mbGFncy4KCkludHJvZHVjZSBzcGVjX2N0cmxfaW5pdF9kb21haW4o
KSBhbmQgZC0+YXJjaC52ZXJ3IHRvIGNhbGN1bGF0ZSB0aGUgVkVSVwpkaXNw
b3NpdGlvbiBhdCBkb21haW4gY3JlYXRpb24gdGltZSwgYW5kIGNvbnRleHQg
c3dpdGNoIHRoZSBTQ0ZfdmVydyBiaXQuCgpGb3Igbm93LCB0aGUgZXhpc3Rp
bmcgbWQtY2xlYXI9IG9wdGlvbnMgY29udHJvbCBWRVJXIGZsdXNoaW5nIGlu
IHRoZSBzYW1lIHdheQphcyBiZWZvcmUsIGJ1dCBsYXRlciBwYXRjaGVzIHdp
bGwgYWRqdXN0IGl0IG9uIGEgcGVyLWRvbWFpbiBiYXNpcy4KCk5vIGNoYW5n
ZSBpbiBiZWhhdmlvdXIuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQwNC4KClNp
Z25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21tYW5k
LWxpbmUucGFuZG9jIGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFu
ZG9jCmluZGV4IDBkMWQ5OGQ3MTViMC4uNDc2OTQyYTQ4YmEwIDEwMDY0NAot
LS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MKKysrIGIv
ZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCkBAIC0yMjgxLDEw
ICsyMjgxLDEwIEBAIGluIHBsYWNlIGZvciBndWVzdHMgdG8gdXNlLgogCiBV
c2Ugb2YgYSBwb3NpdGl2ZSBib29sZWFuIHZhbHVlIGZvciBlaXRoZXIgb2Yg
dGhlc2Ugb3B0aW9ucyBpcyBpbnZhbGlkLgogCi1UaGUgYm9vbGVhbnMgYHB2
PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNiPWAgYW5kIGBtZC1jbGVhcj1g
IG9mZmVyIGZpbmUKLWdyYWluZWQgY29udHJvbCBvdmVyIHRoZSBhbHRlcm5h
dGl2ZSBibG9ja3MgdXNlZCBieSBYZW4uICBUaGVzZSBpbXBhY3QgWGVuJ3MK
LWFiaWxpdHkgdG8gcHJvdGVjdCBpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5
IHRvIHZpcnR1YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzCi10byB1c2UuCitU
aGUgYm9vbGVhbnMgYHB2PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNiPWAg
b2ZmZXIgZmluZSBncmFpbmVkIGNvbnRyb2wgb3ZlcgordGhlIGFsdGVybmF0
aXZlIGJsb2NrcyB1c2VkIGJ5IFhlbi4gIChgbWQtY2xlYXI9YCBpcyBubyBs
b25nZXIgYW4gYWx0ZXJuYXRpdmUKK2Jsb2NrLCBhbmQganVzdCBhIG1pdGln
YXRpb24gc2V0dGluZy4pICBUaGVzZSBpbXBhY3QgWGVuJ3MgYWJpbGl0eSB0
byBwcm90ZWN0CitpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1
YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzIHRvIHVzZS4KIAogKiBgcHY9YCBh
bmQgYGh2bT1gIG9mZmVyIGNvbnRyb2wgb3ZlciBhbGwgc3Vib3B0aW9ucyBm
b3IgUFYgYW5kIEhWTSBndWVzdHMKICAgcmVzcGVjdGl2ZWx5LgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCmluZGV4IGE3MmNjOTU1MmFkNi4uOWVkZGVhYTIwYmQ1IDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L2RvbWFpbi5jCkBAIC04NjQsNiArODY0LDggQEAgaW50IGFyY2hfZG9t
YWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgZC0+YXJjaC5t
c3JfcmVsYXhlZCA9IGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzICYgWEVOX1g4
Nl9NU1JfUkVMQVhFRDsKIAorICAgIHNwZWNfY3RybF9pbml0X2RvbWFpbihk
KTsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKQEAgLTIwMTgsMTQgKzIw
MjAsMTUgQEAgc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2b2lkKQog
dm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0
IHZjcHUgKm5leHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9w
cm9jZXNzb3JfaWQoKTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm8gPSBn
ZXRfY3B1X2luZm8oKTsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpwcmV2
ZCA9IHByZXYtPmRvbWFpbiwgKm5leHRkID0gbmV4dC0+ZG9tYWluOwogICAg
IHVuc2lnbmVkIGludCBkaXJ0eV9jcHUgPSByZWFkX2F0b21pYygmbmV4dC0+
ZGlydHlfY3B1KTsKIAogICAgIEFTU0VSVChwcmV2ICE9IG5leHQpOwogICAg
IEFTU0VSVChsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAgIGdldF9j
cHVfaW5mbygpLT51c2VfcHZfY3IzID0gZmFsc2U7Ci0gICAgZ2V0X2NwdV9p
bmZvKCktPnhlbl9jcjMgPSAwOworICAgIGluZm8tPnVzZV9wdl9jcjMgPSBm
YWxzZTsKKyAgICBpbmZvLT54ZW5fY3IzID0gMDsKIAogICAgIGlmICggdW5s
aWtlbHkoZGlydHlfY3B1ICE9IGNwdSkgJiYgZGlydHlfY3B1ICE9IFZDUFVf
Q1BVX0NMRUFOICkKICAgICB7CkBAIC0yMDg5LDYgKzIwOTIsMTEgQEAgdm9p
ZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0IHZj
cHUgKm5leHQpCiAgICAgICAgICAgICAgICAgKmxhc3RfaWQgPSBuZXh0X2lk
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgLyogVXBk
YXRlIHRoZSB0b3Atb2Ytc3RhY2sgYmxvY2sgd2l0aCB0aGUgVkVSVyBkaXNw
b3NpdGlvbi4gKi8KKyAgICAgICAgaW5mby0+c3BlY19jdHJsX2ZsYWdzICY9
IH5TQ0ZfdmVydzsKKyAgICAgICAgaWYgKCBuZXh0ZC0+YXJjaC52ZXJ3ICkK
KyAgICAgICAgICAgIGluZm8tPnNwZWNfY3RybF9mbGFncyB8PSBTQ0ZfdmVy
dzsKICAgICB9CiAKICAgICBzY2hlZF9jb250ZXh0X3N3aXRjaGVkKHByZXYs
IG5leHQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvZW50
cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMKaW5kZXggNDk2
NTFmM2M0MzVhLi41ZjVkZTQ1YTEzMDkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9odm0vdm14L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92
bXgvZW50cnkuUwpAQCAtODcsNyArODcsNyBAQCBVTkxJS0VMWV9FTkQocmVh
bG1vZGUpCiAKICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpg
LCBgam1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAqLwogICAg
ICAgICAvKiBTUEVDX0NUUkxfRVhJVF9UT19WTVggICBSZXE6ICVyc3A9cmVn
cy9jcHVpbmZvICAgICAgICAgICAgICBDbG9iOiAgICAqLwotICAgICAgICBB
TFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndf
c2VsKCVyc3ApKSwgWDg2X0ZFQVRVUkVfU0NfVkVSV19IVk0KKyAgICAgICAg
RE9fU1BFQ19DVFJMX0NPTkRfVkVSVwogCiAgICAgICAgIG1vdiAgVkNQVV9o
dm1fZ3Vlc3RfY3IyKCVyYngpLCVyYXgKIApkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmggYi94ZW4vYXJjaC94
ODYvaW5jbHVkZS9hc20vY3B1ZmVhdHVyZXMuaAppbmRleCBmZjMxNTdkNTJk
MTMuLmJkNDVhMTQ0ZWU3OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmgKKysrIGIveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmgKQEAgLTM1LDggKzM1LDcgQEAgWEVO
X0NQVUZFQVRVUkUoU0NfUlNCX0hWTSwgICAgICAgIFg4Nl9TWU5USCgxOSkp
IC8qIFJTQiBvdmVyd3JpdGUgbmVlZGVkIGZvciBIVk0KIFhFTl9DUFVGRUFU
VVJFKFhFTl9TRUxGU05PT1AsICAgICBYODZfU1lOVEgoMjApKSAvKiBTRUxG
U05PT1AgZ2V0cyB1c2VkIGJ5IFhlbiBpdHNlbGYgKi8KIFhFTl9DUFVGRUFU
VVJFKFNDX01TUl9JRExFLCAgICAgICBYODZfU1lOVEgoMjEpKSAvKiAoU0Nf
TVNSX1BWIHx8IFNDX01TUl9IVk0pICYmIGRlZmF1bHRfeGVuX3NwZWNfY3Ry
bCAqLwogWEVOX0NQVUZFQVRVUkUoWEVOX0xCUiwgICAgICAgICAgIFg4Nl9T
WU5USCgyMikpIC8qIFhlbiB1c2VzIE1TUl9ERUJVR0NUTC5MQlIgKi8KLVhF
Tl9DUFVGRUFUVVJFKFNDX1ZFUldfUFYsICAgICAgICBYODZfU1lOVEgoMjMp
KSAvKiBWRVJXIHVzZWQgYnkgWGVuIGZvciBQViAqLwotWEVOX0NQVUZFQVRV
UkUoU0NfVkVSV19IVk0sICAgICAgIFg4Nl9TWU5USCgyNCkpIC8qIFZFUlcg
dXNlZCBieSBYZW4gZm9yIEhWTSAqLworLyogQml0cyAyMywyNCB1bnVzZWQu
ICovCiBYRU5fQ1BVRkVBVFVSRShTQ19WRVJXX0lETEUsICAgICAgWDg2X1NZ
TlRIKDI1KSkgLyogVkVSVyB1c2VkIGJ5IFhlbiBmb3IgaWRsZSAqLwogWEVO
X0NQVUZFQVRVUkUoWEVOX1NIU1RLLCAgICAgICAgIFg4Nl9TWU5USCgyNikp
IC8qIFhlbiB1c2VzIENFVCBTaGFkb3cgU3RhY2tzICovCiBYRU5fQ1BVRkVB
VFVSRShYRU5fSUJULCAgICAgICAgICAgWDg2X1NZTlRIKDI3KSkgLyogWGVu
IHVzZXMgQ0VUIEluZGlyZWN0IEJyYW5jaCBUcmFja2luZyAqLwpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oIGIveGVu
L2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oCmluZGV4IDNhYTA5MTlm
YTZiOC4uN2VmNGNiNzA2ZGFkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vZG9tYWluLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1
ZGUvYXNtL2RvbWFpbi5oCkBAIC0zMTksNiArMzE5LDkgQEAgc3RydWN0IGFy
Y2hfZG9tYWluCiAgICAgdWludDMyX3QgcGNpX2NmODsKICAgICB1aW50OF90
IGNtb3NfaWR4OwogCisgICAgLyogVXNlIFZFUlcgb24gcmV0dXJuLXRvLWd1
ZXN0IGZvciBpdHMgZmx1c2hpbmcgc2lkZSBlZmZlY3QuICovCisgICAgYm9v
bCB2ZXJ3OworCiAgICAgdW5pb24gewogICAgICAgICBzdHJ1Y3QgcHZfZG9t
YWluIHB2OwogICAgICAgICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm07CmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsLmgg
Yi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsLmgKaW5kZXgg
Zjc2MDI5NTIzNjEwLi43NTEzNTVmNDcxZjQgMTAwNjQ0Ci0tLSBhL3hlbi9h
cmNoL3g4Ni9pbmNsdWRlL2FzbS9zcGVjX2N0cmwuaAorKysgYi94ZW4vYXJj
aC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsLmgKQEAgLTI0LDYgKzI0LDcg
QEAKICNkZWZpbmUgU0NGX3VzZV9zaGFkb3cgKDEgPDwgMCkKICNkZWZpbmUg
U0NGX2lzdF93cm1zciAgKDEgPDwgMSkKICNkZWZpbmUgU0NGX2lzdF9yc2Ig
ICAgKDEgPDwgMikKKyNkZWZpbmUgU0NGX3ZlcncgICAgICAgKDEgPDwgMykK
IAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzIsNiArMzMsNyBAQAog
I2luY2x1ZGUgPGFzbS9tc3ItaW5kZXguaD4KIAogdm9pZCBpbml0X3NwZWN1
bGF0aW9uX21pdGlnYXRpb25zKHZvaWQpOwordm9pZCBzcGVjX2N0cmxfaW5p
dF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7CiAKIGV4dGVybiBib29sIG9w
dF9pYnBiOwogZXh0ZXJuIGJvb2wgb3B0X3NzYmQ7CmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsX2FzbS5oIGIveGVu
L2FyY2gveDg2L2luY2x1ZGUvYXNtL3NwZWNfY3RybF9hc20uaAppbmRleCAw
MmIzYjE4Y2U2OWYuLjYyMjA2MjE3OTdmMiAxMDA2NDQKLS0tIGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL3NwZWNfY3RybF9hc20uaAorKysgYi94ZW4v
YXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsX2FzbS5oCkBAIC0xMzYs
NiArMTM2LDE4IEBACiAjZW5kaWYKIC5lbmRtCiAKKy5tYWNybyBET19TUEVD
X0NUUkxfQ09ORF9WRVJXCisvKgorICogUmVxdWlyZXMgJXJzcD1jcHVpbmZv
CisgKgorICogSXNzdWUgYSBWRVJXIGZvciBpdHMgZmx1c2hpbmcgc2lkZSBl
ZmZlY3QgaWYgaW5kaWNhdGVkLgorICovCisgICAgdGVzdGIgJFNDRl92ZXJ3
LCBDUFVJTkZPX3NwZWNfY3RybF9mbGFncyglcnNwKQorICAgIGp6IC5MXEBf
dmVyd19za2lwCisgICAgdmVydyBDUFVJTkZPX3Zlcndfc2VsKCVyc3ApCisu
TFxAX3Zlcndfc2tpcDoKKy5lbmRtCisKIC5tYWNybyBET19TUEVDX0NUUkxf
RU5UUlkgbWF5YmV4ZW46cmVxCiAvKgogICogUmVxdWlyZXMgJXJzcD1yZWdz
IChhbHNvIGNwdWluZm8gaWYgIW1heWJleGVuKQpAQCAtMjMxLDggKzI0Myw3
IEBACiAjZGVmaW5lIFNQRUNfQ1RSTF9FWElUX1RPX1BWICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQUxURVJO
QVRJVkUgIiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgICAgIERPX1NQRUNfQ1RSTF9FWElU
X1RPX0dVRVNULCBYODZfRkVBVFVSRV9TQ19NU1JfUFY7ICAgICAgICAgICAg
ICBcCi0gICAgQUxURVJOQVRJVkUgIiIsIF9fc3RyaW5naWZ5KHZlcncgQ1BV
SU5GT192ZXJ3X3NlbCglcnNwKSksICAgICAgICAgICBcCi0gICAgICAgIFg4
Nl9GRUFUVVJFX1NDX1ZFUldfUFYKKyAgICBET19TUEVDX0NUUkxfQ09ORF9W
RVJXCiAKIC8qCiAgKiBVc2UgaW4gSVNUIGludGVycnVwdC9leGNlcHRpb24g
Y29udGV4dC4gIE1heSBpbnRlcnJ1cHQgWGVuIG9yIFBWIGNvbnRleHQuCmRp
ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJj
aC94ODYvc3BlY19jdHJsLmMKaW5kZXggMTQwOGU0YzdhYmQwLi41ZDUwZWM3
ZWVlYmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwor
KysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTM2LDggKzM2LDgg
QEAgc3RhdGljIGJvb2wgX19pbml0ZGF0YSBvcHRfbXNyX3NjX3B2ID0gdHJ1
ZTsKIHN0YXRpYyBib29sIF9faW5pdGRhdGEgb3B0X21zcl9zY19odm0gPSB0
cnVlOwogc3RhdGljIGludDhfdCBfX2luaXRkYXRhIG9wdF9yc2JfcHYgPSAt
MTsKIHN0YXRpYyBib29sIF9faW5pdGRhdGEgb3B0X3JzYl9odm0gPSB0cnVl
Owotc3RhdGljIGludDhfdCBfX2luaXRkYXRhIG9wdF9tZF9jbGVhcl9wdiA9
IC0xOwotc3RhdGljIGludDhfdCBfX2luaXRkYXRhIG9wdF9tZF9jbGVhcl9o
dm0gPSAtMTsKK3N0YXRpYyBpbnQ4X3QgX19yb19hZnRlcl9pbml0IG9wdF9t
ZF9jbGVhcl9wdiA9IC0xOworc3RhdGljIGludDhfdCBfX3JvX2FmdGVyX2lu
aXQgb3B0X21kX2NsZWFyX2h2bSA9IC0xOwogCiAvKiBDbWRsaW5lIGNvbnRy
b2xzIGZvciBYZW4ncyBzcGVjdWxhdGl2ZSBzZXR0aW5ncy4gKi8KIHN0YXRp
YyBlbnVtIGluZF90aHVuayB7CkBAIC05MzMsNiArOTMzLDEzIEBAIHN0YXRp
YyBfX2luaXQgdm9pZCBtZHNfY2FsY3VsYXRpb25zKHVpbnQ2NF90IGNhcHMp
CiAgICAgfQogfQogCit2b2lkIHNwZWNfY3RybF9pbml0X2RvbWFpbihzdHJ1
Y3QgZG9tYWluICpkKQoreworICAgIGJvb2wgcHYgPSBpc19wdl9kb21haW4o
ZCk7CisKKyAgICBkLT5hcmNoLnZlcncgPSBwdiA/IG9wdF9tZF9jbGVhcl9w
diA6IG9wdF9tZF9jbGVhcl9odm07Cit9CisKIHZvaWQgX19pbml0IGluaXRf
c3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKIHsKICAgICBlbnVtIGlu
ZF90aHVuayB0aHVuayA9IFRIVU5LX0RFRkFVTFQ7CkBAIC0xMTk3LDIxICsx
MjA0LDIwIEBAIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdh
dGlvbnModm9pZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290
X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTURfQ0xFQVIpKTsKIAogICAgIC8qCi0g
ICAgICogRW5hYmxlIE1EUyBkZWZlbmNlcyBhcyBhcHBsaWNhYmxlLiAgVGhl
IFBWIGJsb2NrcyBuZWVkIHVzaW5nIGFsbCB0aGUKLSAgICAgKiB0aW1lLCBh
bmQgdGhlIElkbGUgYmxvY2tzIG5lZWQgdXNpbmcgaWYgZWl0aGVyIFBWIG9y
IEhWTSBkZWZlbmNlcyBhcmUKLSAgICAgKiB1c2VkLgorICAgICAqIEVuYWJs
ZSBNRFMgZGVmZW5jZXMgYXMgYXBwbGljYWJsZS4gIFRoZSBJZGxlIGJsb2Nr
cyBuZWVkIHVzaW5nIGlmCisgICAgICogZWl0aGVyIFBWIG9yIEhWTSBkZWZl
bmNlcyBhcmUgdXNlZC4KICAgICAgKgogICAgICAqIEhWTSBpcyBtb3JlIGNv
bXBsaWNhdGVkLiAgVGhlIE1EX0NMRUFSIG1pY3JvY29kZSBleHRlbmRzIEwx
RF9GTFVTSCB3aXRoCiAgICAgICogZXF1aXZlbGVudCBzZW1hbnRpY3MgdG8g
YXZvaWQgbmVlZGluZyB0byBwZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUK
LSAgICAgKiBIVk0gcGF0aC4gIFRoZSBIVk0gYmxvY2tzIGRvbid0IG5lZWQg
YWN0aXZhdGluZyBpZiBvdXIgaHlwZXJ2aXNvciB0b2xkCi0gICAgICogdXMg
aXQgd2FzIGhhbmRsaW5nIEwxRF9GTFVTSCwgb3Igd2UgYXJlIHVzaW5nIEwx
RF9GTFVTSCBvdXJzZWx2ZXMuCisgICAgICogSFZNIHBhdGguICBUaGVyZWZv
cmUsIHdlIGRvbid0IG5lZWQgVkVSVyBpbiBhZGRpdGlvbiB0byBMMURfRkxV
U0guCisgICAgICoKKyAgICAgKiBBZnRlciBjYWxjdWxhdGluZyB0aGUgYXBw
cm9wcmlhdGUgaWRsZSBzZXR0aW5nLCBzaW1wbGlmeQorICAgICAqIG9wdF9t
ZF9jbGVhcl9odm0gdG8gbWVhbiBqdXN0ICJzaG91bGQgd2UgVkVSVyBvbiB0
aGUgd2F5IGludG8gSFZNCisgICAgICogZ3Vlc3RzIiwgc28gc3BlY19jdHJs
X2luaXRfZG9tYWluKCkgY2FuIGNhbGN1bGF0ZSBzdWl0YWJsZSBzZXR0aW5n
cy4KICAgICAgKi8KLSAgICBpZiAoIG9wdF9tZF9jbGVhcl9wdiApCi0gICAg
ICAgIHNldHVwX2ZvcmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU0NfVkVSV19Q
Vik7CiAgICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFy
X2h2bSApCiAgICAgICAgIHNldHVwX2ZvcmNlX2NwdV9jYXAoWDg2X0ZFQVRV
UkVfU0NfVkVSV19JRExFKTsKLSAgICBpZiAoIG9wdF9tZF9jbGVhcl9odm0g
JiYgIShjYXBzICYgQVJDSF9DQVBTX1NLSVBfTDFERkwpICYmICFvcHRfbDFk
X2ZsdXNoICkKLSAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVB
VFVSRV9TQ19WRVJXX0hWTSk7CisgICAgb3B0X21kX2NsZWFyX2h2bSAmPSAh
KGNhcHMgJiBBUkNIX0NBUFNfU0tJUF9MMURGTCkgJiYgIW9wdF9sMWRfZmx1
c2g7CiAKICAgICAvKgogICAgICAqIFdhcm4gdGhlIHVzZXIgaWYgdGhleSBh
cmUgb24gTUxQRFMvTUZCRFMtdnVsbmVyYWJsZSBoYXJkd2FyZSB3aXRoIEhU
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-2.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRW51bWVyYXRpb24gZm9yIE1N
SU8gU3RhbGUgRGF0YSBjb250cm9scwpNSU1FLVZlcnNpb246IDEuMApDb250
ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U
cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKVGhlIHRocmVlICpfTk8gYml0cyBp
bmRpY2F0ZSBub24tc3VzY2VwdGliaWxpdHkgdG8gdGhlIFNTRFAsIEZCU0RQ
IGFuZCBQU0RQCmRhdGEgbW92ZW1lbnQgcHJpbWl0aXZlcy4KCkZCX0NMRUFS
IGluZGljYXRlcyB0aGF0IHRoZSBWRVJXIGluc3RydWN0aW9uIGhhcyByZS1n
YWluZWQgaXQncyBGaWxsIEJ1ZmZlcgpmbHVzaGluZyBzaWRlIGVmZmVjdC4g
IFRoaXMgaXMgb25seSBlbnVtZXJhdGVkIG9uIHBhcnRzIHdoZXJlIFZFUlcg
aGFkCnByZXZpb3VzbHkgbG9zdCBpdCdzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
IGR1ZSB0byB0aGUgTURTL1RBQSB2dWxuZXJhYmlsaXRpZXMKYmVpbmcgZml4
ZWQgaW4gaGFyZHdhcmUuCgpGQl9DTEVBUl9DVFJMIGlzIGF2YWlsYWJsZSBv
biBhIHN1YnNldCBvZiBGQl9DTEVBUiBwYXJ0cyB3aGVyZSB0aGUgRmlsbCBC
dWZmZXIKY2xlYXJpbmcgc2lkZSBlZmZlY3Qgb2YgVkVSVyBjYW4gYmUgdHVy
bmVkIG9mZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KClRoaXMgaXMgcGFy
dCBvZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3ItaW5kZXguaCBiL3hl
bi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3ItaW5kZXguaAppbmRleCA2YzI1
MGJmY2FkYWQuLmVhNDdmNjhkMDU1OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L2luY2x1ZGUvYXNtL21zci1pbmRleC5oCisrKyBiL3hlbi9hcmNoL3g4
Ni9pbmNsdWRlL2FzbS9tc3ItaW5kZXguaApAQCAtNzEsNiArNzEsMTEgQEAK
ICNkZWZpbmUgIEFSQ0hfQ0FQU19JRl9QU0NIQU5HRV9NQ19OTyAgICAgICAg
KF9BQygxLCBVTEwpIDw8ICA2KQogI2RlZmluZSAgQVJDSF9DQVBTX1RTWF9D
VFJMICAgICAgICAgICAgICAgICAoX0FDKDEsIFVMTCkgPDwgIDcpCiAjZGVm
aW5lICBBUkNIX0NBUFNfVEFBX05PICAgICAgICAgICAgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgOCkKKyNkZWZpbmUgIEFSQ0hfQ0FQU19TQkRSX1NTRFBf
Tk8gICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8IDEzKQorI2RlZmluZSAg
QVJDSF9DQVBTX0ZCU0RQX05PICAgICAgICAgICAgICAgICAoX0FDKDEsIFVM
TCkgPDwgMTQpCisjZGVmaW5lICBBUkNIX0NBUFNfUFNEUF9OTyAgICAgICAg
ICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAxNSkKKyNkZWZpbmUgIEFSQ0hf
Q0FQU19GQl9DTEVBUiAgICAgICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8
IDE3KQorI2RlZmluZSAgQVJDSF9DQVBTX0ZCX0NMRUFSX0NUUkwgICAgICAg
ICAgICAoX0FDKDEsIFVMTCkgPDwgMTgpCiAjZGVmaW5lICBBUkNIX0NBUFNf
UlJTQkEgICAgICAgICAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAxOSkK
ICNkZWZpbmUgIEFSQ0hfQ0FQU19CSElfTk8gICAgICAgICAgICAgICAgICAg
KF9BQygxLCBVTEwpIDw8IDIwKQogCkBAIC05MCw2ICs5NSw3IEBACiAjZGVm
aW5lICBNQ1VfT1BUX0NUUkxfUk5HRFNfTUlUR19ESVMgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgMCkKICNkZWZpbmUgIE1DVV9PUFRfQ1RSTF9SVE1fQUxM
T1cgICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8ICAxKQogI2RlZmluZSAg
TUNVX09QVF9DVFJMX1JUTV9MT0NLRUQgICAgICAgICAgICAoX0FDKDEsIFVM
TCkgPDwgIDIpCisjZGVmaW5lICBNQ1VfT1BUX0NUUkxfRkJfQ0xFQVJfRElT
ICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAgMykKIAogI2RlZmluZSBNU1Jf
UlRJVF9PVVRQVVRfQkFTRSAgICAgICAgICAgICAgICAweDAwMDAwNTYwCiAj
ZGVmaW5lIE1TUl9SVElUX09VVFBVVF9NQVNLICAgICAgICAgICAgICAgIDB4
MDAwMDA1NjEKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwppbmRleCA1ZDUwZWM3ZWVl
YmEuLmRlZDMzZjVkMGYyZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Nw
ZWNfY3RybC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAt
MzIzLDcgKzMyMyw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRh
aWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAg
ICAqIEhhcmR3YXJlIHJlYWQtb25seSBpbmZvcm1hdGlvbiwgc3RhdGluZyBp
bW11bml0eSB0byBjZXJ0YWluIGlzc3Vlcywgb3IKICAgICAgKiBzdWdnZXN0
aW9ucyBvZiB3aGljaCBtaXRpZ2F0aW9uIHRvIHVzZS4KICAgICAgKi8KLSAg
ICBwcmludGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVz
JXMlc1xuIiwKKyAgICBwcmludGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVz
JXMlcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKICAgICAgICAgICAgKGNhcHMg
JiBBUkNIX0NBUFNfUkRDTF9OTykgICAgICAgICAgICAgICAgICAgICAgICA/
ICIgUkRDTF9OTyIgICAgICAgIDogIiIsCiAgICAgICAgICAgIChjYXBzICYg
QVJDSF9DQVBTX0lCUlNfQUxMKSAgICAgICAgICAgICAgICAgICAgICAgPyAi
IElCUlNfQUxMIiAgICAgICA6ICIiLAogICAgICAgICAgICAoY2FwcyAmIEFS
Q0hfQ0FQU19SU0JBKSAgICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBS
U0JBIiAgICAgICAgICAgOiAiIiwKQEAgLTMzMiwxMyArMzMyLDE2IEBAIHN0
YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5r
IHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAgICAoY2FwcyAmIEFS
Q0hfQ0FQU19TU0JfTk8pICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBT
U0JfTk8iICAgICAgICAgOiAiIiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNI
X0NBUFNfTURTX05PKSAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgTURT
X05PIiAgICAgICAgIDogIiIsCiAgICAgICAgICAgIChjYXBzICYgQVJDSF9D
QVBTX1RBQV9OTykgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIFRBQV9O
TyIgICAgICAgICA6ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQ
U19TQkRSX1NTRFBfTk8pICAgICAgICAgICAgICAgICAgID8gIiBTQkRSX1NT
RFBfTk8iICAgOiAiIiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNf
RkJTRFBfTk8pICAgICAgICAgICAgICAgICAgICAgICA/ICIgRkJTRFBfTk8i
ICAgICAgIDogIiIsCisgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1BT
RFBfTk8pICAgICAgICAgICAgICAgICAgICAgICAgPyAiIFBTRFBfTk8iICAg
ICAgICA6ICIiLAogICAgICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhY
ODZfRkVBVFVSRV9JQlJTX0FMV0FZUykpICAgID8gIiBJQlJTX0FMV0FZUyIg
ICAgOiAiIiwKICAgICAgICAgICAgKGU4YiAgJiBjcHVmZWF0X21hc2soWDg2
X0ZFQVRVUkVfU1RJQlBfQUxXQVlTKSkgICA/ICIgU1RJQlBfQUxXQVlTIiAg
IDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9G
RUFUVVJFX0lCUlNfRkFTVCkpICAgICAgPyAiIElCUlNfRkFTVCIgICAgICA6
ICIiLAogICAgICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVB
VFVSRV9JQlJTX1NBTUVfTU9ERSkpID8gIiBJQlJTX1NBTUVfTU9ERSIgOiAi
Iik7CiAKICAgICAvKiBIYXJkd2FyZSBmZWF0dXJlcyB3aGljaCBuZWVkIGRy
aXZpbmcgdG8gbWl0aWdhdGUgaXNzdWVzLiAqLwotICAgIHByaW50aygiICBI
YXJkd2FyZSBmZWF0dXJlczolcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAg
ICBwcmludGsoIiAgSGFyZHdhcmUgZmVhdHVyZXM6JXMlcyVzJXMlcyVzJXMl
cyVzJXMlcyVzXG4iLAogICAgICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9JQlBCKSkgfHwKICAgICAgICAgICAgKF83ZDAgJiBj
cHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSUJSU0IpKSAgICAgICAgICA/ICIg
SUJQQiIgICAgICAgICAgIDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1
ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlMpKSB8fApAQCAtMzUzLDcgKzM1
Niw5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0g
aW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAgICAo
XzdkMCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9NRF9DTEVBUikpICAg
ICAgID8gIiBNRF9DTEVBUiIgICAgICAgOiAiIiwKICAgICAgICAgICAgKF83
ZDAgJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1JCRFNfQ1RSTCkpICAg
ICA/ICIgU1JCRFNfQ1RSTCIgICAgIDogIiIsCiAgICAgICAgICAgIChlOGIg
ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1ZJUlRfU1NCRCkpICAgICAg
PyAiIFZJUlRfU1NCRCIgICAgICA6ICIiLAotICAgICAgICAgICAoY2FwcyAm
IEFSQ0hfQ0FQU19UU1hfQ1RSTCkgICAgICAgICAgICAgICAgICAgICAgID8g
IiBUU1hfQ1RSTCIgICAgICAgOiAiIik7CisgICAgICAgICAgIChjYXBzICYg
QVJDSF9DQVBTX1RTWF9DVFJMKSAgICAgICAgICAgICAgICAgICAgICAgPyAi
IFRTWF9DVFJMIiAgICAgICA6ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFS
Q0hfQ0FQU19GQl9DTEVBUikgICAgICAgICAgICAgICAgICAgICAgID8gIiBG
Ql9DTEVBUiIgICAgICAgOiAiIiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNI
X0NBUFNfRkJfQ0xFQVJfQ1RSTCkgICAgICAgICAgICAgICAgICA/ICIgRkJf
Q0xFQVJfQ1RSTCIgIDogIiIpOwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3Vw
cG9ydCB3aGljaCBwZXJ0YWlucyB0byBtaXRpZ2F0aW9ucy4gKi8KICAgICBp
ZiAoIElTX0VOQUJMRUQoQ09ORklHX0lORElSRUNUX1RIVU5LKSB8fCBJU19F
TkFCTEVEKENPTkZJR19TSEFET1dfUEFHSU5HKSApCg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-3.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogQWRkIHNwZWMtY3RybD11bnBy
aXYtbW1pbwoKUGVyIFhlbidzIHN1cHBvcnQgc3RhdGVtZW50LCBQQ0kgcGFz
c3Rocm91Z2ggc2hvdWxkIGJlIHRvIHRydXN0ZWQgZG9tYWlucwpiZWNhdXNl
IHRoZSBvdmVyYWxsIHN5c3RlbSBzZWN1cml0eSBkZXBlbmRzIG9uIGZhY3Rv
cnMgb3V0c2lkZSBvZiBYZW4ncwpjb250cm9sLgoKQXMgc3VjaCwgWGVuLCBp
biBhIHN1cHBvcnRlZCBjb25maWd1cmF0aW9uLCBpcyBub3QgdnVsbmVyYWJs
ZSB0byBEUlBXL1NCRFIuCgpIb3dldmVyLCB1c2VycyB3aG8gaGF2ZSByaXNr
IGFzc2Vzc2VkIHRoZWlyIGNvbmZpZ3VyYXRpb24gbWF5IGJlIGhhcHB5IHdp
dGgKdGhlIHJpc2sgb2YgRG9TLCBidXQgdW5oYXBweSB3aXRoIHRoZSByaXNr
IG9mIGNyb3NzLWRvbWFpbiBkYXRhIGxlYWthZ2UuICBTdWNoCnVzZXJzIHNo
b3VsZCBlbmFibGUgdGhpcyBvcHRpb24uCgpXaGVuIGVuYWJsZWQsIGFuZCB3
aGVuIHJ1bm5pbmcgd2l0aCBvbiBpbXBhY3RlZCBzeXN0ZW1zIHdpdGggdGhl
IEludGVsIE1heQoyMDIyIG1pY3JvY29kZSwgdGhpcyBvcHRpb24gbWl0aWdh
dGVzIGNyb3NzLWRvbWFpbiBmaWxsIGJ1ZmZlciBsZWFrYWdlIGJ5CmZsdXNo
aW5nIG9uIGVudHJ5IHRvIGFueSBkb21haW4gd2l0aCBNTUlPIGFjY2Vzcywg
YW5kIGVuZ2FnZXMgdGhlIGV4aXN0aW5nCnNyYi1sb2NrIHRvIHByb3RlY3Qg
Uk5HIGRhdGEuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQwNC4KClNpZ25lZC1v
ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j
b20+CgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUu
cGFuZG9jIGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmlu
ZGV4IDQ3Njk0MmE0OGJhMC4uYWRmZDRhZDM5OTQxIDEwMDY0NAotLS0gYS9k
b2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MKKysrIGIvZG9jcy9t
aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCkBAIC0yMjU5LDcgKzIyNTks
NyBAQCBCeSBkZWZhdWx0IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVu
dGltZSAoaS5lIGBzc2JkPXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4
NikKID4gYD0gTGlzdCBvZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2
bSxtc3Itc2MscnNiLG1kLWNsZWFyfT08Ym9vbD4sCiA+ICAgICAgICAgICAg
ICBidGktdGh1bms9cmV0cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIs
c3NiZCxlYWdlci1mcHUsCi0+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJh
bmNoLWhhcmRlbixzcmItbG9ja309PGJvb2w+IF1gCis+ICAgICAgICAgICAg
ICBsMWQtZmx1c2gsYnJhbmNoLWhhcmRlbixzcmItbG9jayx1bnByaXYtbW1p
b309PGJvb2w+IF1gCiAKIENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVj
dXRpb24gc2lkZWNoYW5uZWwgbWl0aWdhdGlvbnMuICBCeSBkZWZhdWx0LCBY
ZW4KIHdpbGwgcGljayB0aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9u
cyBiYXNlZCBvbiBjb21waWxlZCBpbiBzdXBwb3J0LApAQCAtMjMzOSw4ICsy
MzM5LDE4IEBAIFhlbiB3aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24uCiBP
biBoYXJkd2FyZSBzdXBwb3J0aW5nIFNSQkRTX0NUUkwsIHRoZSBgc3JiLWxv
Y2s9YCBvcHRpb24gY2FuIGJlIHVzZWQgdG8gZm9yY2UKIG9yIHByZXZlbnQg
WGVuIGZyb20gcHJvdGVjdCB0aGUgU3BlY2lhbCBSZWdpc3RlciBCdWZmZXIg
ZnJvbSBsZWFraW5nIHN0YWxlCiBkYXRhLiBCeSBkZWZhdWx0LCBYZW4gd2ls
bCBlbmFibGUgdGhpcyBtaXRpZ2F0aW9uLCBleGNlcHQgb24gcGFydHMgd2hl
cmUgTURTCi1pcyBmaXhlZCBhbmQgVEFBIGlzIGZpeGVkL21pdGlnYXRlZCAo
aW4gd2hpY2ggY2FzZSwgdGhlcmUgaXMgYmVsaWV2ZWQgdG8gYmUgbm8KLXdh
eSBmb3IgYW4gYXR0YWNrZXIgdG8gb2J0YWluIHRoZSBzdGFsZSBkYXRhKS4K
K2lzIGZpeGVkIGFuZCBUQUEgaXMgZml4ZWQvbWl0aWdhdGVkIGFuZCB0aGVy
ZSBhcmUgbm8gdW5wcml2aWxlZ2VkIE1NSU8KK21hcHBpbmdzIChpbiB3aGlj
aCBjYXNlLCB0aGVyZSBpcyBiZWxpZXZlZCB0byBiZSBubyB3YXkgZm9yIGFu
IGF0dGFja2VyIHRvCitvYnRhaW4gc3RhbGUgZGF0YSkuCisKK1RoZSBgdW5w
cml2LW1taW89YCBib29sZWFuIGluZGljYXRlcyB3aGV0aGVyIHRoZSBzeXN0
ZW0gaGFzIChvciB3aWxsIGhhdmUpCitsZXNzIHRoYW4gZnVsbHkgcHJpdmls
ZWdlZCBkb21haW5zIHdpdGggYWNjZXNzIHRvIE1NSU8gZGV2aWNlcy4gIFBl
ciBYZW4ncworc3VwcG9ydCBzdGF0ZW1lbnQgUENJIFBhc3N0aHJvdWdoIHNo
b3VsZCBiZSB0byB0cnVzdGVkIGd1ZXN0cyBvbmx5LCBidXQgdXNlcnMKK3do
byBoYXZlIHJpc2stYXNzZXNzZWQgZnVydGhlciBtaWdodCBiZSBoYXBweSB0
byB0b2xlcmF0ZSB0aGUgcmlzayBvZiBEb1MsIGJ1dAorbm90IG9mIGRhdGEg
bGVha2FnZS4gIFN1Y2ggdXNlciBzaG91bGQgZW5hYmxlIHRoaXMgb3B0aW9u
LiAgV2hlbiBlbmFibGVkLCB0aGlzCitvcHRpb24gdXNlcyBgRkJfQ0xFQVJg
IGFuZC9vciBgU1JCRFNfQ1RSTGAgZnVuY3Rpb25hbGl0eSBhdmFpbGFibGUg
aW4gdGhlCitJbnRlbCBNYXkgMjAyMiBtaWNyb2NvZGUgcmVsZWFzZSB0byBt
aXRpZ2F0ZSBjcm9zcy1kb21haW4gbGVha2FnZSBvZiBmaWxsCitidWZmZXJz
IHZpYSB0aGUgTU1JTyBTdGFsZSBEYXRhIHZ1bG5lcmFiaWxpdGllcy4KIAog
IyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5gCmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3Bl
Y19jdHJsLmMKaW5kZXggZGVkMzNmNWQwZjJlLi5jMTllODJlMDcxNDMgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYworKysgYi94ZW4v
YXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTY3LDYgKzY3LDggQEAgc3RhdGlj
IGJvb2wgX19pbml0ZGF0YSBjcHVfaGFzX2J1Z19tc2Jkc19vbmx5OyAvKiA9
PiBtaW5pbWFsIEhUIGltcGFjdC4gKi8KIHN0YXRpYyBib29sIF9faW5pdGRh
dGEgY3B1X2hhc19idWdfbWRzOyAvKiBBbnkgb3RoZXIgTXtMUCxTQixGQn1E
UyBjb21iaW5hdGlvbi4gKi8KIAogc3RhdGljIGludDhfdCBfX2luaXRkYXRh
IG9wdF9zcmJfbG9jayA9IC0xOworc3RhdGljIGJvb2wgX19yb19hZnRlcl9p
bml0IG9wdF91bnByaXZfbW1pbzsKK3N0YXRpYyBib29sIF9fcm9fYWZ0ZXJf
aW5pdCBvcHRfZmJfY2xlYXJfbW1pbzsKIAogc3RhdGljIGludCBfX2luaXQg
Y2ZfY2hlY2sgcGFyc2Vfc3BlY19jdHJsKGNvbnN0IGNoYXIgKnMpCiB7CkBA
IC0xODQsNiArMTg2LDggQEAgc3RhdGljIGludCBfX2luaXQgY2ZfY2hlY2sg
cGFyc2Vfc3BlY19jdHJsKGNvbnN0IGNoYXIgKnMpCiAgICAgICAgICAgICBv
cHRfYnJhbmNoX2hhcmRlbiA9IHZhbDsKICAgICAgICAgZWxzZSBpZiAoICh2
YWwgPSBwYXJzZV9ib29sZWFuKCJzcmItbG9jayIsIHMsIHNzKSkgPj0gMCAp
CiAgICAgICAgICAgICBvcHRfc3JiX2xvY2sgPSB2YWw7CisgICAgICAgIGVs
c2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigidW5wcml2LW1taW8iLCBz
LCBzcykpID49IDAgKQorICAgICAgICAgICAgb3B0X3VucHJpdl9tbWlvID0g
dmFsOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByYyA9IC1FSU5WQUw7
CiAKQEAgLTM5Miw3ICszOTYsOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcHJp
bnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaywgdWludDY0X3QgY2Fw
cykKICAgICAgICAgICAgb3B0X3NyYl9sb2NrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPyAiIFNSQl9MT0NLKyIgOiAiIFNSQl9MT0NLLSIsCiAg
ICAgICAgICAgIG9wdF9pYnBiICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID8gIiBJQlBCIiAgOiAiIiwKICAgICAgICAgICAgb3B0X2wxZF9m
bHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIEwxRF9GTFVT
SCIgOiAiIiwKLSAgICAgICAgICAgb3B0X21kX2NsZWFyX3B2IHx8IG9wdF9t
ZF9jbGVhcl9odm0gICAgICAgPyAiIFZFUlciICA6ICIiLAorICAgICAgICAg
ICBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2bSB8fAorICAg
ICAgICAgICBvcHRfZmJfY2xlYXJfbW1pbyAgICAgICAgICAgICAgICAgICAg
ICAgICA/ICIgVkVSVyIgIDogIiIsCiAgICAgICAgICAgIG9wdF9icmFuY2hf
aGFyZGVuICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBCUkFOQ0hfSEFS
REVOIiA6ICIiKTsKIAogICAgIC8qIEwxVEYgZGlhZ25vc3RpY3MsIHByaW50
ZWQgaWYgdnVsbmVyYWJsZSBvciBQViBzaGFkb3dpbmcgaXMgaW4gdXNlLiAq
LwpAQCAtOTQyLDcgKzk0Nyw5IEBAIHZvaWQgc3BlY19jdHJsX2luaXRfZG9t
YWluKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgYm9vbCBwdiA9IGlzX3B2
X2RvbWFpbihkKTsKIAotICAgIGQtPmFyY2gudmVydyA9IHB2ID8gb3B0X21k
X2NsZWFyX3B2IDogb3B0X21kX2NsZWFyX2h2bTsKKyAgICBkLT5hcmNoLnZl
cncgPQorICAgICAgICAocHYgPyBvcHRfbWRfY2xlYXJfcHYgOiBvcHRfbWRf
Y2xlYXJfaHZtKSB8fAorICAgICAgICAob3B0X2ZiX2NsZWFyX21taW8gJiYg
aXNfaW9tbXVfZW5hYmxlZChkKSk7CiB9CiAKIHZvaWQgX19pbml0IGluaXRf
c3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKQEAgLTExOTcsNiArMTIw
NCwxOCBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRp
b25zKHZvaWQpCiAgICAgbWRzX2NhbGN1bGF0aW9ucyhjYXBzKTsKIAogICAg
IC8qCisgICAgICogUGFydHMgd2hpY2ggZW51bWVyYXRlIEZCX0NMRUFSIGFy
ZSB0aG9zZSB3aGljaCBoYXZlIHJlaW50cm9kdWNlZCB0aGUKKyAgICAgKiBW
RVJXIGZsdXNoaW5nIHNpZGUgYmVjYXVzZSBvZiBhIHN1Y2VwdGFiaWxpdHkg
dG8gRkJTRFAuCisgICAgICoKKyAgICAgKiBJZiB1bnByaXZpbGVnZWQgZ3Vl
c3RzIGhhdmUgKG9yIHdpbGwgaGF2ZSkgTU1JTyBtYXBwaW5ncywgd2UgY2Fu
CisgICAgICogbWl0aWdhdGUgY3Jvc3MtZG9tYWluIGxlYWthZ2Ugb2YgZmls
bCBidWZmZXIgZGF0YSBieSBpc3N1aW5nIFZFUlcgb24KKyAgICAgKiB0aGUg
cmV0dXJuLXRvLWd1ZXN0IHBhdGguICBBbGwgcHJpdmlsZWdlcyBvZiBzb2Z0
d2FyZSByZXNwb25zaWJsZSBmb3IKKyAgICAgKiBub3QgbGVha2luZyB0aGVp
ciBvd24gc2VjcmV0cyB3aGVuIHVzaW5nIE1NSU8uCisgICAgICovCisgICAg
aWYgKCBvcHRfdW5wcml2X21taW8gKQorICAgICAgICBvcHRfZmJfY2xlYXJf
bW1pbyA9IGNhcHMgJiBBUkNIX0NBUFNfRkJfQ0xFQVI7CisKKyAgICAvKgog
ICAgICAqIEJ5IGRlZmF1bHQsIGVuYWJsZSBQViBhbmQgSFZNIG1pdGlnYXRp
b25zIG9uIE1EUy12dWxuZXJhYmxlIGhhcmR3YXJlLgogICAgICAqIFRoaXMg
d2lsbCBvbmx5IGJlIGEgdG9rZW4gZWZmb3J0IGZvciBNTFBEUy9NRkJEUyB3
aGVuIEhUIGlzIGVuYWJsZWQsCiAgICAgICogYnV0IGl0IGlzIHNvbWV3aGF0
IGJldHRlciB0aGFuIG5vdGhpbmcuCkBAIC0xMjA5LDggKzEyMjgsOCBAQCB2
b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25zKHZvaWQp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdF9jcHVfaGFzKFg4
Nl9GRUFUVVJFX01EX0NMRUFSKSk7CiAKICAgICAvKgotICAgICAqIEVuYWJs
ZSBNRFMgZGVmZW5jZXMgYXMgYXBwbGljYWJsZS4gIFRoZSBJZGxlIGJsb2Nr
cyBuZWVkIHVzaW5nIGlmCi0gICAgICogZWl0aGVyIFBWIG9yIEhWTSBkZWZl
bmNlcyBhcmUgdXNlZC4KKyAgICAgKiBFbmFibGUgTURTL01NSU8gZGVmZW5j
ZXMgYXMgYXBwbGljYWJsZS4gIFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVzaW5n
IGlmCisgICAgICogZWl0aGVyIFBWIG9yIEhWTSwgb3IgaWYgd2UgZ2l2ZSBN
TUlPIGFjY2VzcyB0byB1bnRydXN0ZWQgZ3Vlc3RzLgogICAgICAqCiAgICAg
ICogSFZNIGlzIG1vcmUgY29tcGxpY2F0ZWQuICBUaGUgTURfQ0xFQVIgbWlj
cm9jb2RlIGV4dGVuZHMgTDFEX0ZMVVNIIHdpdGgKICAgICAgKiBlcXVpdmVs
ZW50IHNlbWFudGljcyB0byBhdm9pZCBuZWVkaW5nIHRvIHBlcmZvcm0gYm90
aCBmbHVzaGVzIG9uIHRoZQpAQCAtMTIyMCw3ICsxMjM5LDcgQEAgdm9pZCBf
X2luaXQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKQogICAg
ICAqIG9wdF9tZF9jbGVhcl9odm0gdG8gbWVhbiBqdXN0ICJzaG91bGQgd2Ug
VkVSVyBvbiB0aGUgd2F5IGludG8gSFZNCiAgICAgICogZ3Vlc3RzIiwgc28g
c3BlY19jdHJsX2luaXRfZG9tYWluKCkgY2FuIGNhbGN1bGF0ZSBzdWl0YWJs
ZSBzZXR0aW5ncy4KICAgICAgKi8KLSAgICBpZiAoIG9wdF9tZF9jbGVhcl9w
diB8fCBvcHRfbWRfY2xlYXJfaHZtICkKKyAgICBpZiAoIG9wdF9tZF9jbGVh
cl9wdiB8fCBvcHRfbWRfY2xlYXJfaHZtIHx8IG9wdF9mYl9jbGVhcl9tbWlv
ICkKICAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVSRV9T
Q19WRVJXX0lETEUpOwogICAgIG9wdF9tZF9jbGVhcl9odm0gJj0gIShjYXBz
ICYgQVJDSF9DQVBTX1NLSVBfTDFERkwpICYmICFvcHRfbDFkX2ZsdXNoOwog
CkBAIC0xMjg1LDE0ICsxMzA0LDE5IEBAIHZvaWQgX19pbml0IGluaXRfc3Bl
Y3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgKiBPbiBzb21lIFNS
QkRTLWFmZmVjdGVkIGhhcmR3YXJlLCBpdCBtYXkgYmUgc2FmZSB0byByZWxh
eCBzcmItbG9jayBieQogICAgICAqIGRlZmF1bHQuCiAgICAgICoKLSAgICAg
KiBPbiBwYXJ0cyB3aGljaCBlbnVtZXJhdGUgTURTX05PIGFuZCBub3QgVEFB
X05PLCBUU1ggaXMgdGhlIG9ubHkga25vd24KLSAgICAgKiB3YXkgdG8gYWNj
ZXNzIHRoZSBGaWxsIEJ1ZmZlci4gIElmIFRTWCBpc24ndCBhdmFpbGFibGUg
KGluYy4gU0tVCi0gICAgICogcmVhc29ucyBvbiBzb21lIG1vZGVscyksIG9y
IFRTWCBpcyBleHBsaWNpdGx5IGRpc2FibGVkLCB0aGVuIHRoZXJlIGlzCi0g
ICAgICogbm8gbmVlZCBmb3IgdGhlIGV4dHJhIG92ZXJoZWFkIHRvIHByb3Rl
Y3QgUkRSQU5EL1JEU0VFRC4KKyAgICAgKiBBbGwgcGFydHMgd2l0aCBTUkJE
U19DVFJMIHN1ZmZlciBTU0RQLCB0aGUgbWVjaGFuaXNtIGJ5IHdoaWNoIHN0
YWxlIFJORworICAgICAqIGRhdGEgYmVjb21lcyBhdmFpbGFibGUgdG8gb3Ro
ZXIgY29udGV4dHMuICBUbyByZWNvdmVyIHRoZSBkYXRhLCBhbgorICAgICAq
IGF0dGFrZXIgbmVlZHMgdG8gdXNlOgorICAgICAqICAtIFNCRFMgKE1EUyBv
ciBUQUEgdG8gc2FtcGxlIHRoZSBjb3JlcyBmaWxsIGJ1ZmZlcikKKyAgICAg
KiAgLSBTQkRSIChBcmNoaXRlY3RydWFsbHkgcmV0cmlldmUgc3RhbGUgdHJh
bnNhY3Rpb24gYnVmZmVyIGNvbnRlbnRzKQorICAgICAqICAtIERSUFcgKEFy
Y2hpdGVjdHJ1YWxseSBsYXRjaCBzdGFsZSBmaWxsIGJ1ZmZlciBkYXRhKQor
ICAgICAqCisgICAgICogVGhlcmVmb3JlLCBvbiBNRFNfTk8gcGFydHMsIGFu
ZCBUQUFfTk8gb3IgVFNYIHVuYXZhaWxhYmxlL2Rpc2FibGVkLCBhbmQKKyAg
ICAgKiBubyB1bnByaXZpbGVnZWQgTU1JTyBhY2Nlc3MsIHRoZSBSTkcgZGF0
YSBkb2Vzbid0IG5lZWQgcHJvdGVjdGluZy4KICAgICAgKi8KICAgICBpZiAo
IGNwdV9oYXNfc3JiZHNfY3RybCApCiAgICAgewotICAgICAgICBpZiAoIG9w
dF9zcmJfbG9jayA9PSAtMSAmJgorICAgICAgICBpZiAoIG9wdF9zcmJfbG9j
ayA9PSAtMSAmJiAhb3B0X3VucHJpdl9tbWlvICYmCiAgICAgICAgICAgICAg
KGNhcHMgJiAoQVJDSF9DQVBTX01EU19OT3xBUkNIX0NBUFNfVEFBX05PKSkg
PT0gQVJDSF9DQVBTX01EU19OTyAmJgogICAgICAgICAgICAgICghY3B1X2hh
c19obGUgfHwgKChjYXBzICYgQVJDSF9DQVBTX1RTWF9DVFJMKSAmJiBydG1f
ZGlzYWJsZWQpKSApCiAgICAgICAgICAgICBvcHRfc3JiX2xvY2sgPSAwOwo=

--=separator--


From xen-users-bounces@lists.xenproject.org Thu Jun 16 16:11:07 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Jun 2022 16:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.350694.577174 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o1s4d-0004ZJ-GD; Thu, 16 Jun 2022 16:10:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 350694.577174; Thu, 16 Jun 2022 16:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o1s4d-0004Y0-Ad; Thu, 16 Jun 2022 16:10:23 +0000
Received: by outflank-mailman (input) for mailman id 350694;
 Thu, 16 Jun 2022 16:10:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8SYV=WX=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1o1s4c-0004NM-0O
 for xen-users@lists.xen.org; Thu, 16 Jun 2022 16:10:22 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cef20c58-ed8e-11ec-ab14-113154c10af9;
 Thu, 16 Jun 2022 18:10:18 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1o1s4J-0006G0-3c; Thu, 16 Jun 2022 16:10:03 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1o1s4I-00011l-V8; Thu, 16 Jun 2022 16:10:02 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: cef20c58-ed8e-11ec-ab14-113154c10af9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=nhwmZ2xiIfHUXHUlEvQ+jKqLWMxkxayVcigPURx5bFE=; b=UxH4IeUmW2HC6aOO68fbKrZq9i
	yqACwqivQQC4724Q3+XAlUBc6pOwa625+iJg8wVEa15N1NwyRHfQdoMUqmfLwRfmK9hw/AbZvdZzC
	ykKb+gEx0lGnJpw8AwA5LWeXC/j9DtWuiaa1LsX0iKDWBZXzsQ13T7VDlg2OIxnlSq4Y=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 404 v2 (CVE-2022-21123,CVE-2022-21125,CVE-2022-21166)
 - x86: MMIO Stale Data vulnerabilities
Message-Id: <E1o1s4I-00011l-V8@xenbits.xenproject.org>
Date: Thu, 16 Jun 2022 16:10:02 +0000

--=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-2022-21123,CVE-2022-21125,CVE-2022-21166 / XSA-404
                                   version 2

                 x86: MMIO Stale Data vulnerabilities

UPDATES IN VERSION 2
====================

Correct one CVE.  The title for version 1 gave CVE-2022-21124 which was
incorrect and should have been CVE-2022-21125.

Patches are now reviewed.  Backports are available.

ISSUE DESCRIPTION
=================

This issue is related to the SRBDS, TAA and MDS vulnerabilities.  Please
see:

  https://xenbits.xen.org/xsa/advisory-320.html (SRBDS)
  https://xenbits.xen.org/xsa/advisory-305.html (TAA)
  https://xenbits.xen.org/xsa/advisory-297.html (MDS)

Please see Intel's whitepaper:

  https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/processor-mmio-stale-data-vulnerabilities.html

IMPACT
======

An attacker might be able to directly read or infer data from other
security contexts in the system.  This can include data belonging to
other VMs, or to Xen itself.  The degree to which an attacker can obtain
data depends on the CPU, and the system configuration.

VULNERABLE SYSTEMS
==================

Systems running all versions of Xen are affected.

Only x86 processors are vulnerable.  Processors from other manufacturers
(e.g. ARM) are not believed to be vulnerable.

Only Intel based processors are affected.  Processors from other x86
manufacturers (e.g. AMD) are not believed to be vulnerable.

Please consult the Intel Security Advisory for details on the affected
processors and configurations.

Per Xen's support statement, PCI passthrough should be to trusted
domains because the overall system security depends on factors outside
of Xen's control.

As such, Xen, in a supported configuration, is not vulnerable to
DRPW/SBDR.

MITIGATION
==========

All mitigations depend on functionality added in the IPU 2022.1 (May
2022) microcode release from Intel.  Consult your dom0 OS vendor.

To the best of the security team's understanding, the summary is as
follows:

Server CPUs (Xeon EP/EX, Scalable, and some Atom servers), excluding
Xeon E3 (which use the client CPU design), are potentially vulnerable to
DRPW (CVE-2022-21166).

Client CPUs (inc Xeon E3) are, furthermore, potentially vulnerable to
SBDR (CVE-2022-21123) and SBDS (CVE-2022-21125).

SBDS only affects CPUs vulnerable to MDS.  On these CPUs, there are
previously undiscovered leakage channels.  There is no change to the
existing MDS mitigations.

DRPW and SBDR only affects configurations where less privileged domains
have MMIO mappings of buggy endpoints.  Consult your hardware vendor.

In configurations where less privileged domains have MMIO access to
buggy endpoints, `spec-ctrl=unpriv-mmio` can be enabled which will cause
Xen to mitigate cross-domain fill buffer leakage, and extend SRBDS
protections to protect RNG data from leakage.

RESOLUTION
==========

Applying the appropriate attached patches and enabling the newly
introduced command line option, if appropriate, mitigates these issues.

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.

xsa404/xsa404-?.patch           xen-unstable
xsa404/xsa404-4.16-?.patch      Xen 4.16.x
xsa404/xsa404-4.15-?.patch      Xen 4.15.x
xsa404/xsa404-4.14-?.patch      Xen 4.14.x
xsa404/xsa404-4.13-?.patch      Xen 4.13.x

$ sha256sum xsa404*/*
51a812b3e37fb5067aff94d7e587c3fed0de4fcc89e694c7b7dbf1ef2d7e2acc  xsa404/xsa404-1.patch
99d9657cd811f5ed86949bd44777b6bfbb4356fea70795edaa9c7ede341603a0  xsa404/xsa404-2.patch
7e61db8f1741a9e2e9e68e7221cc532f4d17c4d0b2e02ce9ba4468ce187b7b57  xsa404/xsa404-3.patch
be78110d460db361be29f5e5f4b4608bbd25d2032c5f14eed05fd10e66e99e87  xsa404/xsa404-4.13-1.patch
7734bc21a04eb0cea30564bd0855ecc969b7b427a250b5ea6efc6fab46483b70  xsa404/xsa404-4.13-2.patch
6abbdcf5308c033ab7b59c6c75514e29aa14f06c61ef807e2d0c80695af1cace  xsa404/xsa404-4.13-3.patch
ccff36c3615d0068ade29e1d25abd6112b9e90490a5b0ef3d189b27aa53976b2  xsa404/xsa404-4.14-1.patch
ac446bed9d33d84e0b20e4898ce1424f3ed7ed4b05c3c559045a377a9a044b0c  xsa404/xsa404-4.14-2.patch
0ca7801e0442dd304d62538a0861fe459b08dc367530d2142405d602930e1dab  xsa404/xsa404-4.14-3.patch
a26036a136c10810de88960704e6922a40b483a49c8b1821a6e265cae968bfc2  xsa404/xsa404-4.15-1.patch
25616a8665b96b965fbc0b799fb8cd17a360b4add71c6e6e504859cfd35f19ce  xsa404/xsa404-4.15-2.patch
a4c3608210f62e453f9c983ebc1a3b0846ca3a52ba32ee13143561710b4c4118  xsa404/xsa404-4.15-3.patch
a18c04cfdacf7dbb518216ac85047a5851c1f64c62d64e234f8ed19b6905ba60  xsa404/xsa404-4.16-1.patch
d22af75e0bc42e249a37bd91165b426c7146f69dfd6c4de4a06d6ed0b3e5e713  xsa404/xsa404-4.16-2.patch
b04603668f61fbd40e2effaaeb7b3d9c555a8d8a4667208ae0ae42baf323230a  xsa404/xsa404-4.16-3.patch
$

In addition, the backports have already been pushed to xen.git.  They are
available in the following branches:

staging      8c24b70fedcb52633b2370f834d8a2be3f7fa38e
staging-4.16 2e82446cb252f6c8ac697e81f4155872c69afde4
staging-4.15 a3faf632606e54437146dbcac2c9bbb89b9a4007
staging-4.14 c5f774eaeeca195ef85b47713f0b21220c4b41e6
staging-4.13 87ff11354f0dc0d6e77e1695e6c1e14aa1382cdc

NOTE CONCERNING CVE-2022-21127 / Update to SRBDS
================================================

An issue was discovered with the SRBDS microcode mitigation.  A
microcode update was released as part of Intel's IPU 2022.1 in May 2022.

Updating microcode is sufficient to fix the issue, with no extra actions
required on Xen's behalf.  Consult your dom0 OS vendor or OEM for
updated microcode.

NOTE CONCERNING CVE-2022-21180 / Undefined MMIO Hang
====================================================

A related issue was discovered.  See:

  https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/undefined-mmio-hang.html

Xen is not vulnerable to UMH in supported configurations.

The only mitigation is to avoid passing impacted devices through to
untrusted guests.

NOTE CONCERNING LACK OF EMBARGO
===============================

The discoverer did not authorise us to predisclose.
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmKrVbAMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ2AcH/jWGiu0jpWMkQw/3U4DUu2a77PcC9jLH8NONesB7
SGfdhIMNqmStUI5VJf54ccDIrZSLQxvNVWWxXyQPhZXWhSPf5xE2uYK1qUL+Za8c
kOIJr0Drzffr2Bmu3NnBCRdQDkmXl2GDgqig4YWK/+BOlOO+YxBGdyoE0mBOXMo4
+cQHHvYa16kZVuwxyS0mZxhKFo3JQZaKqh2DEzKZUWm3w8n3NKEYG8S00sttZfjs
dS8rNXEu+yrmPjsJ+hFfJw8MfoETE6yGI47C89dFTN9Q0KedEYM28oD6ClMUC+ks
kwnFAk561m4VUoTqkSv82PeJfS9Sp5D6yO4CDdC05Eyc9gA=
=K9Tq
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-1.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogTWFrZSBWRVJXIGZsdXNoaW5n
IHJ1bnRpbWUgY29uZGl0aW9uYWwKCkN1cnJlbnRseSwgVkVSVyBmbHVzaGlu
ZyB0byBtaXRpZ2F0ZSBNRFMgaXMgYm9vdCB0aW1lIGNvbmRpdGlvbmFsIHBl
ciBkb21haW4KdHlwZS4gIEhvd2V2ZXIsIHRvIHByb3ZpZGUgbWl0aWdhdGlv
bnMgZm9yIERSUFcgKENWRS0yMDIyLTIxMTY2KSwgd2UgbmVlZCB0bwpjb25k
aXRpb25hbGx5IHVzZSBWRVJXIGJhc2VkIG9uIHRoZSB0cnVzdHdvcnRoaW5l
c3Mgb2YgdGhlIGd1ZXN0LCBhbmQgdGhlCmRldmljZXMgcGFzc2VkIHRocm91
Z2guCgpSZW1vdmUgdGhlIFBWL0hWTSBhbHRlcm5hdGl2ZXMgYW5kIGluc3Rl
YWQgaXNzdWUgYSBWRVJXIG9uIHRoZSByZXR1cm4tdG8tZ3Vlc3QKcGF0aCBk
ZXBlbmRpbmcgb24gdGhlIFNDRl92ZXJ3IGJpdCBpbiBjcHVpbmZvIHNwZWNf
Y3RybF9mbGFncy4KCkludHJvZHVjZSBzcGVjX2N0cmxfaW5pdF9kb21haW4o
KSBhbmQgZC0+YXJjaC52ZXJ3IHRvIGNhbGN1bGF0ZSB0aGUgVkVSVwpkaXNw
b3NpdGlvbiBhdCBkb21haW4gY3JlYXRpb24gdGltZSwgYW5kIGNvbnRleHQg
c3dpdGNoIHRoZSBTQ0ZfdmVydyBiaXQuCgpGb3Igbm93LCBWRVJXIGZsdXNo
aW5nIGlzIHVzZWQgYW5kIGNvbnRyb2xsZWQgZXhhY3RseSBhcyBiZWZvcmUs
IGJ1dCBsYXRlcgpwYXRjaGVzIHdpbGwgYWRkIHBlci1kb21haW4gY2FzZXMg
dG9vLgoKTm8gY2hhbmdlIGluIGJlaGF2aW91ci4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdpdCBh
L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlz
Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwppbmRleCAwZDFkOThkNzE1YjAu
LjI2NmExMWFiNTg0ZSAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21t
YW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1s
aW5lLnBhbmRvYwpAQCAtMjI4Miw5ICsyMjgyLDggQEAgaW4gcGxhY2UgZm9y
IGd1ZXN0cyB0byB1c2UuCiBVc2Ugb2YgYSBwb3NpdGl2ZSBib29sZWFuIHZh
bHVlIGZvciBlaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBpcyBpbnZhbGlkLgog
CiBUaGUgYm9vbGVhbnMgYHB2PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNi
PWAgYW5kIGBtZC1jbGVhcj1gIG9mZmVyIGZpbmUKLWdyYWluZWQgY29udHJv
bCBvdmVyIHRoZSBhbHRlcm5hdGl2ZSBibG9ja3MgdXNlZCBieSBYZW4uICBU
aGVzZSBpbXBhY3QgWGVuJ3MKLWFiaWxpdHkgdG8gcHJvdGVjdCBpdHNlbGYs
IGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1YWxpc2Ugc3VwcG9ydCBmb3Ig
Z3Vlc3RzCi10byB1c2UuCitncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgcHJp
bWl0aXZlcyBieSBYZW4uICBUaGVzZSBpbXBhY3QgWGVuJ3MgYWJpbGl0eSB0
bworcHJvdGVjdCBpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1
YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzIHRvIHVzZS4KIAogKiBgcHY9YCBh
bmQgYGh2bT1gIG9mZmVyIGNvbnRyb2wgb3ZlciBhbGwgc3Vib3B0aW9ucyBm
b3IgUFYgYW5kIEhWTSBndWVzdHMKICAgcmVzcGVjdGl2ZWx5LgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCmluZGV4IGE3MmNjOTU1MmFkNi4uOWVkZGVhYTIwYmQ1IDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L2RvbWFpbi5jCkBAIC04NjQsNiArODY0LDggQEAgaW50IGFyY2hfZG9t
YWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgZC0+YXJjaC5t
c3JfcmVsYXhlZCA9IGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzICYgWEVOX1g4
Nl9NU1JfUkVMQVhFRDsKIAorICAgIHNwZWNfY3RybF9pbml0X2RvbWFpbihk
KTsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKQEAgLTIwMTgsMTQgKzIw
MjAsMTUgQEAgc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2b2lkKQog
dm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0
IHZjcHUgKm5leHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9w
cm9jZXNzb3JfaWQoKTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm8gPSBn
ZXRfY3B1X2luZm8oKTsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpwcmV2
ZCA9IHByZXYtPmRvbWFpbiwgKm5leHRkID0gbmV4dC0+ZG9tYWluOwogICAg
IHVuc2lnbmVkIGludCBkaXJ0eV9jcHUgPSByZWFkX2F0b21pYygmbmV4dC0+
ZGlydHlfY3B1KTsKIAogICAgIEFTU0VSVChwcmV2ICE9IG5leHQpOwogICAg
IEFTU0VSVChsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAgIGdldF9j
cHVfaW5mbygpLT51c2VfcHZfY3IzID0gZmFsc2U7Ci0gICAgZ2V0X2NwdV9p
bmZvKCktPnhlbl9jcjMgPSAwOworICAgIGluZm8tPnVzZV9wdl9jcjMgPSBm
YWxzZTsKKyAgICBpbmZvLT54ZW5fY3IzID0gMDsKIAogICAgIGlmICggdW5s
aWtlbHkoZGlydHlfY3B1ICE9IGNwdSkgJiYgZGlydHlfY3B1ICE9IFZDUFVf
Q1BVX0NMRUFOICkKICAgICB7CkBAIC0yMDg5LDYgKzIwOTIsMTEgQEAgdm9p
ZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0IHZj
cHUgKm5leHQpCiAgICAgICAgICAgICAgICAgKmxhc3RfaWQgPSBuZXh0X2lk
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgLyogVXBk
YXRlIHRoZSB0b3Atb2Ytc3RhY2sgYmxvY2sgd2l0aCB0aGUgVkVSVyBkaXNw
b3NpdGlvbi4gKi8KKyAgICAgICAgaW5mby0+c3BlY19jdHJsX2ZsYWdzICY9
IH5TQ0ZfdmVydzsKKyAgICAgICAgaWYgKCBuZXh0ZC0+YXJjaC52ZXJ3ICkK
KyAgICAgICAgICAgIGluZm8tPnNwZWNfY3RybF9mbGFncyB8PSBTQ0ZfdmVy
dzsKICAgICB9CiAKICAgICBzY2hlZF9jb250ZXh0X3N3aXRjaGVkKHByZXYs
IG5leHQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvZW50
cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMKaW5kZXggNDk2
NTFmM2M0MzVhLi41ZjVkZTQ1YTEzMDkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9odm0vdm14L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92
bXgvZW50cnkuUwpAQCAtODcsNyArODcsNyBAQCBVTkxJS0VMWV9FTkQocmVh
bG1vZGUpCiAKICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpg
LCBgam1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAqLwogICAg
ICAgICAvKiBTUEVDX0NUUkxfRVhJVF9UT19WTVggICBSZXE6ICVyc3A9cmVn
cy9jcHVpbmZvICAgICAgICAgICAgICBDbG9iOiAgICAqLwotICAgICAgICBB
TFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndf
c2VsKCVyc3ApKSwgWDg2X0ZFQVRVUkVfU0NfVkVSV19IVk0KKyAgICAgICAg
RE9fU1BFQ19DVFJMX0NPTkRfVkVSVwogCiAgICAgICAgIG1vdiAgVkNQVV9o
dm1fZ3Vlc3RfY3IyKCVyYngpLCVyYXgKIApkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmggYi94ZW4vYXJjaC94
ODYvaW5jbHVkZS9hc20vY3B1ZmVhdHVyZXMuaAppbmRleCBmZjMxNTdkNTJk
MTMuLmJkNDVhMTQ0ZWU3OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmgKKysrIGIveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2NwdWZlYXR1cmVzLmgKQEAgLTM1LDggKzM1LDcgQEAgWEVO
X0NQVUZFQVRVUkUoU0NfUlNCX0hWTSwgICAgICAgIFg4Nl9TWU5USCgxOSkp
IC8qIFJTQiBvdmVyd3JpdGUgbmVlZGVkIGZvciBIVk0KIFhFTl9DUFVGRUFU
VVJFKFhFTl9TRUxGU05PT1AsICAgICBYODZfU1lOVEgoMjApKSAvKiBTRUxG
U05PT1AgZ2V0cyB1c2VkIGJ5IFhlbiBpdHNlbGYgKi8KIFhFTl9DUFVGRUFU
VVJFKFNDX01TUl9JRExFLCAgICAgICBYODZfU1lOVEgoMjEpKSAvKiAoU0Nf
TVNSX1BWIHx8IFNDX01TUl9IVk0pICYmIGRlZmF1bHRfeGVuX3NwZWNfY3Ry
bCAqLwogWEVOX0NQVUZFQVRVUkUoWEVOX0xCUiwgICAgICAgICAgIFg4Nl9T
WU5USCgyMikpIC8qIFhlbiB1c2VzIE1TUl9ERUJVR0NUTC5MQlIgKi8KLVhF
Tl9DUFVGRUFUVVJFKFNDX1ZFUldfUFYsICAgICAgICBYODZfU1lOVEgoMjMp
KSAvKiBWRVJXIHVzZWQgYnkgWGVuIGZvciBQViAqLwotWEVOX0NQVUZFQVRV
UkUoU0NfVkVSV19IVk0sICAgICAgIFg4Nl9TWU5USCgyNCkpIC8qIFZFUlcg
dXNlZCBieSBYZW4gZm9yIEhWTSAqLworLyogQml0cyAyMywyNCB1bnVzZWQu
ICovCiBYRU5fQ1BVRkVBVFVSRShTQ19WRVJXX0lETEUsICAgICAgWDg2X1NZ
TlRIKDI1KSkgLyogVkVSVyB1c2VkIGJ5IFhlbiBmb3IgaWRsZSAqLwogWEVO
X0NQVUZFQVRVUkUoWEVOX1NIU1RLLCAgICAgICAgIFg4Nl9TWU5USCgyNikp
IC8qIFhlbiB1c2VzIENFVCBTaGFkb3cgU3RhY2tzICovCiBYRU5fQ1BVRkVB
VFVSRShYRU5fSUJULCAgICAgICAgICAgWDg2X1NZTlRIKDI3KSkgLyogWGVu
IHVzZXMgQ0VUIEluZGlyZWN0IEJyYW5jaCBUcmFja2luZyAqLwpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oIGIveGVu
L2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oCmluZGV4IDc1Mzg5ZTk2
MmE1ZS4uYWQwMWVlNjhlMTJjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vZG9tYWluLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1
ZGUvYXNtL2RvbWFpbi5oCkBAIC0zMjQsNiArMzI0LDkgQEAgc3RydWN0IGFy
Y2hfZG9tYWluCiAgICAgdWludDMyX3QgcGNpX2NmODsKICAgICB1aW50OF90
IGNtb3NfaWR4OwogCisgICAgLyogVXNlIFZFUlcgb24gcmV0dXJuLXRvLWd1
ZXN0IGZvciBpdHMgZmx1c2hpbmcgc2lkZSBlZmZlY3QuICovCisgICAgYm9v
bCB2ZXJ3OworCiAgICAgdW5pb24gewogICAgICAgICBzdHJ1Y3QgcHZfZG9t
YWluIHB2OwogICAgICAgICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm07CmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsLmgg
Yi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsLmgKaW5kZXgg
Zjc2MDI5NTIzNjEwLi43NTEzNTVmNDcxZjQgMTAwNjQ0Ci0tLSBhL3hlbi9h
cmNoL3g4Ni9pbmNsdWRlL2FzbS9zcGVjX2N0cmwuaAorKysgYi94ZW4vYXJj
aC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsLmgKQEAgLTI0LDYgKzI0LDcg
QEAKICNkZWZpbmUgU0NGX3VzZV9zaGFkb3cgKDEgPDwgMCkKICNkZWZpbmUg
U0NGX2lzdF93cm1zciAgKDEgPDwgMSkKICNkZWZpbmUgU0NGX2lzdF9yc2Ig
ICAgKDEgPDwgMikKKyNkZWZpbmUgU0NGX3ZlcncgICAgICAgKDEgPDwgMykK
IAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzIsNiArMzMsNyBAQAog
I2luY2x1ZGUgPGFzbS9tc3ItaW5kZXguaD4KIAogdm9pZCBpbml0X3NwZWN1
bGF0aW9uX21pdGlnYXRpb25zKHZvaWQpOwordm9pZCBzcGVjX2N0cmxfaW5p
dF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7CiAKIGV4dGVybiBib29sIG9w
dF9pYnBiOwogZXh0ZXJuIGJvb2wgb3B0X3NzYmQ7CmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsX2FzbS5oIGIveGVu
L2FyY2gveDg2L2luY2x1ZGUvYXNtL3NwZWNfY3RybF9hc20uaAppbmRleCAw
MmIzYjE4Y2U2OWYuLjVhNTkwYmFjNDRhYSAxMDA2NDQKLS0tIGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL3NwZWNfY3RybF9hc20uaAorKysgYi94ZW4v
YXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsX2FzbS5oCkBAIC0xMzYs
NiArMTM2LDE5IEBACiAjZW5kaWYKIC5lbmRtCiAKKy5tYWNybyBET19TUEVD
X0NUUkxfQ09ORF9WRVJXCisvKgorICogUmVxdWlyZXMgJXJzcD1jcHVpbmZv
CisgKgorICogSXNzdWUgYSBWRVJXIGZvciBpdHMgZmx1c2hpbmcgc2lkZSBl
ZmZlY3QsIGlmIGluZGljYXRlZC4gIFRoaXMgaXMgYSBTcGVjdHJlCisgKiB2
MSBnYWRnZXQsIGJ1dCB0aGUgSVJFVC9WTUVudHJ5IGlzIHNlcmlhbGlzaW5n
LgorICovCisgICAgdGVzdGIgJFNDRl92ZXJ3LCBDUFVJTkZPX3NwZWNfY3Ry
bF9mbGFncyglcnNwKQorICAgIGp6IC5MXEBfdmVyd19za2lwCisgICAgdmVy
dyBDUFVJTkZPX3Zlcndfc2VsKCVyc3ApCisuTFxAX3Zlcndfc2tpcDoKKy5l
bmRtCisKIC5tYWNybyBET19TUEVDX0NUUkxfRU5UUlkgbWF5YmV4ZW46cmVx
CiAvKgogICogUmVxdWlyZXMgJXJzcD1yZWdzIChhbHNvIGNwdWluZm8gaWYg
IW1heWJleGVuKQpAQCAtMjMxLDggKzI0NCw3IEBACiAjZGVmaW5lIFNQRUNf
Q1RSTF9FWElUX1RPX1BWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgQUxURVJOQVRJVkUgIiIsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgICAgIERPX1NQRUNfQ1RSTF9FWElUX1RPX0dVRVNULCBYODZfRkVB
VFVSRV9TQ19NU1JfUFY7ICAgICAgICAgICAgICBcCi0gICAgQUxURVJOQVRJ
VkUgIiIsIF9fc3RyaW5naWZ5KHZlcncgQ1BVSU5GT192ZXJ3X3NlbCglcnNw
KSksICAgICAgICAgICBcCi0gICAgICAgIFg4Nl9GRUFUVVJFX1NDX1ZFUldf
UFYKKyAgICBET19TUEVDX0NUUkxfQ09ORF9WRVJXCiAKIC8qCiAgKiBVc2Ug
aW4gSVNUIGludGVycnVwdC9leGNlcHRpb24gY29udGV4dC4gIE1heSBpbnRl
cnJ1cHQgWGVuIG9yIFBWIGNvbnRleHQuCmRpZmYgLS1naXQgYS94ZW4vYXJj
aC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMK
aW5kZXggMTQwOGU0YzdhYmQwLi45MmViNGVjZDNkMDkgMTAwNjQ0Ci0tLSBh
L3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYworKysgYi94ZW4vYXJjaC94ODYv
c3BlY19jdHJsLmMKQEAgLTM2LDggKzM2LDggQEAgc3RhdGljIGJvb2wgX19p
bml0ZGF0YSBvcHRfbXNyX3NjX3B2ID0gdHJ1ZTsKIHN0YXRpYyBib29sIF9f
aW5pdGRhdGEgb3B0X21zcl9zY19odm0gPSB0cnVlOwogc3RhdGljIGludDhf
dCBfX2luaXRkYXRhIG9wdF9yc2JfcHYgPSAtMTsKIHN0YXRpYyBib29sIF9f
aW5pdGRhdGEgb3B0X3JzYl9odm0gPSB0cnVlOwotc3RhdGljIGludDhfdCBf
X2luaXRkYXRhIG9wdF9tZF9jbGVhcl9wdiA9IC0xOwotc3RhdGljIGludDhf
dCBfX2luaXRkYXRhIG9wdF9tZF9jbGVhcl9odm0gPSAtMTsKK3N0YXRpYyBp
bnQ4X3QgX19yb19hZnRlcl9pbml0IG9wdF9tZF9jbGVhcl9wdiA9IC0xOwor
c3RhdGljIGludDhfdCBfX3JvX2FmdGVyX2luaXQgb3B0X21kX2NsZWFyX2h2
bSA9IC0xOwogCiAvKiBDbWRsaW5lIGNvbnRyb2xzIGZvciBYZW4ncyBzcGVj
dWxhdGl2ZSBzZXR0aW5ncy4gKi8KIHN0YXRpYyBlbnVtIGluZF90aHVuayB7
CkBAIC05MzMsNiArOTMzLDEzIEBAIHN0YXRpYyBfX2luaXQgdm9pZCBtZHNf
Y2FsY3VsYXRpb25zKHVpbnQ2NF90IGNhcHMpCiAgICAgfQogfQogCit2b2lk
IHNwZWNfY3RybF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQorewor
ICAgIGJvb2wgcHYgPSBpc19wdl9kb21haW4oZCk7CisKKyAgICBkLT5hcmNo
LnZlcncgPSBwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9o
dm07Cit9CisKIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdh
dGlvbnModm9pZCkKIHsKICAgICBlbnVtIGluZF90aHVuayB0aHVuayA9IFRI
VU5LX0RFRkFVTFQ7CkBAIC0xMTk3LDIxICsxMjA0LDIwIEBAIHZvaWQgX19p
bml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRV
UkVfTURfQ0xFQVIpKTsKIAogICAgIC8qCi0gICAgICogRW5hYmxlIE1EUyBk
ZWZlbmNlcyBhcyBhcHBsaWNhYmxlLiAgVGhlIFBWIGJsb2NrcyBuZWVkIHVz
aW5nIGFsbCB0aGUKLSAgICAgKiB0aW1lLCBhbmQgdGhlIElkbGUgYmxvY2tz
IG5lZWQgdXNpbmcgaWYgZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUK
LSAgICAgKiB1c2VkLgorICAgICAqIEVuYWJsZSBNRFMgZGVmZW5jZXMgYXMg
YXBwbGljYWJsZS4gIFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVzaW5nIGlmCisg
ICAgICogZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUgdXNlZC4KICAg
ICAgKgogICAgICAqIEhWTSBpcyBtb3JlIGNvbXBsaWNhdGVkLiAgVGhlIE1E
X0NMRUFSIG1pY3JvY29kZSBleHRlbmRzIEwxRF9GTFVTSCB3aXRoCi0gICAg
ICogZXF1aXZlbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0byBw
ZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKLSAgICAgKiBIVk0gcGF0aC4g
IFRoZSBIVk0gYmxvY2tzIGRvbid0IG5lZWQgYWN0aXZhdGluZyBpZiBvdXIg
aHlwZXJ2aXNvciB0b2xkCi0gICAgICogdXMgaXQgd2FzIGhhbmRsaW5nIEwx
RF9GTFVTSCwgb3Igd2UgYXJlIHVzaW5nIEwxRF9GTFVTSCBvdXJzZWx2ZXMu
CisgICAgICogZXF1aXZhbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGlu
ZyB0byBwZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKKyAgICAgKiBIVk0g
cGF0aC4gIFRoZXJlZm9yZSwgd2UgZG9uJ3QgbmVlZCBWRVJXIGluIGFkZGl0
aW9uIHRvIEwxRF9GTFVTSC4KKyAgICAgKgorICAgICAqIEFmdGVyIGNhbGN1
bGF0aW5nIHRoZSBhcHByb3ByaWF0ZSBpZGxlIHNldHRpbmcsIHNpbXBsaWZ5
CisgICAgICogb3B0X21kX2NsZWFyX2h2bSB0byBtZWFuIGp1c3QgInNob3Vs
ZCB3ZSBWRVJXIG9uIHRoZSB3YXkgaW50byBIVk0KKyAgICAgKiBndWVzdHMi
LCBzbyBzcGVjX2N0cmxfaW5pdF9kb21haW4oKSBjYW4gY2FsY3VsYXRlIHN1
aXRhYmxlIHNldHRpbmdzLgogICAgICAqLwotICAgIGlmICggb3B0X21kX2Ns
ZWFyX3B2ICkKLSAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVB
VFVSRV9TQ19WRVJXX1BWKTsKICAgICBpZiAoIG9wdF9tZF9jbGVhcl9wdiB8
fCBvcHRfbWRfY2xlYXJfaHZtICkKICAgICAgICAgc2V0dXBfZm9yY2VfY3B1
X2NhcChYODZfRkVBVFVSRV9TQ19WRVJXX0lETEUpOwotICAgIGlmICggb3B0
X21kX2NsZWFyX2h2bSAmJiAhKGNhcHMgJiBBUkNIX0NBUFNfU0tJUF9MMURG
TCkgJiYgIW9wdF9sMWRfZmx1c2ggKQotICAgICAgICBzZXR1cF9mb3JjZV9j
cHVfY2FwKFg4Nl9GRUFUVVJFX1NDX1ZFUldfSFZNKTsKKyAgICBvcHRfbWRf
Y2xlYXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wxREZMKSAm
JiAhb3B0X2wxZF9mbHVzaDsKIAogICAgIC8qCiAgICAgICogV2FybiB0aGUg
dXNlciBpZiB0aGV5IGFyZSBvbiBNTFBEUy9NRkJEUy12dWxuZXJhYmxlIGhh
cmR3YXJlIHdpdGggSFQK

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-2.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRW51bWVyYXRpb24gZm9yIE1N
SU8gU3RhbGUgRGF0YSBjb250cm9scwoKVGhlIHRocmVlICpfTk8gYml0cyBp
bmRpY2F0ZSBub24tc3VzY2VwdGliaWxpdHkgdG8gdGhlIFNTRFAsIEZCU0RQ
IGFuZCBQU0RQCmRhdGEgbW92ZW1lbnQgcHJpbWl0aXZlcy4KCkZCX0NMRUFS
IGluZGljYXRlcyB0aGF0IHRoZSBWRVJXIGluc3RydWN0aW9uIGhhcyByZS1n
YWluZWQgaXQncyBGaWxsIEJ1ZmZlcgpmbHVzaGluZyBzaWRlIGVmZmVjdC4g
IFRoaXMgaXMgb25seSBlbnVtZXJhdGVkIG9uIHBhcnRzIHdoZXJlIFZFUlcg
aGFkCnByZXZpb3VzbHkgbG9zdCBpdCdzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
IGR1ZSB0byB0aGUgTURTL1RBQSB2dWxuZXJhYmlsaXRpZXMKYmVpbmcgZml4
ZWQgaW4gaGFyZHdhcmUuCgpGQl9DTEVBUl9DVFJMIGlzIGF2YWlsYWJsZSBv
biBhIHN1YnNldCBvZiBGQl9DTEVBUiBwYXJ0cyB3aGVyZSB0aGUgRmlsbCBC
dWZmZXIKY2xlYXJpbmcgc2lkZSBlZmZlY3Qgb2YgVkVSVyBjYW4gYmUgdHVy
bmVkIG9mZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KClRoaXMgaXMgcGFy
dCBvZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3ItaW5kZXguaCBiL3hl
bi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3ItaW5kZXguaAppbmRleCA2YzI1
MGJmY2FkYWQuLmVhNDdmNjhkMDU1OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L2luY2x1ZGUvYXNtL21zci1pbmRleC5oCisrKyBiL3hlbi9hcmNoL3g4
Ni9pbmNsdWRlL2FzbS9tc3ItaW5kZXguaApAQCAtNzEsNiArNzEsMTEgQEAK
ICNkZWZpbmUgIEFSQ0hfQ0FQU19JRl9QU0NIQU5HRV9NQ19OTyAgICAgICAg
KF9BQygxLCBVTEwpIDw8ICA2KQogI2RlZmluZSAgQVJDSF9DQVBTX1RTWF9D
VFJMICAgICAgICAgICAgICAgICAoX0FDKDEsIFVMTCkgPDwgIDcpCiAjZGVm
aW5lICBBUkNIX0NBUFNfVEFBX05PICAgICAgICAgICAgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgOCkKKyNkZWZpbmUgIEFSQ0hfQ0FQU19TQkRSX1NTRFBf
Tk8gICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8IDEzKQorI2RlZmluZSAg
QVJDSF9DQVBTX0ZCU0RQX05PICAgICAgICAgICAgICAgICAoX0FDKDEsIFVM
TCkgPDwgMTQpCisjZGVmaW5lICBBUkNIX0NBUFNfUFNEUF9OTyAgICAgICAg
ICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAxNSkKKyNkZWZpbmUgIEFSQ0hf
Q0FQU19GQl9DTEVBUiAgICAgICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8
IDE3KQorI2RlZmluZSAgQVJDSF9DQVBTX0ZCX0NMRUFSX0NUUkwgICAgICAg
ICAgICAoX0FDKDEsIFVMTCkgPDwgMTgpCiAjZGVmaW5lICBBUkNIX0NBUFNf
UlJTQkEgICAgICAgICAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAxOSkK
ICNkZWZpbmUgIEFSQ0hfQ0FQU19CSElfTk8gICAgICAgICAgICAgICAgICAg
KF9BQygxLCBVTEwpIDw8IDIwKQogCkBAIC05MCw2ICs5NSw3IEBACiAjZGVm
aW5lICBNQ1VfT1BUX0NUUkxfUk5HRFNfTUlUR19ESVMgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgMCkKICNkZWZpbmUgIE1DVV9PUFRfQ1RSTF9SVE1fQUxM
T1cgICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8ICAxKQogI2RlZmluZSAg
TUNVX09QVF9DVFJMX1JUTV9MT0NLRUQgICAgICAgICAgICAoX0FDKDEsIFVM
TCkgPDwgIDIpCisjZGVmaW5lICBNQ1VfT1BUX0NUUkxfRkJfQ0xFQVJfRElT
ICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAgMykKIAogI2RlZmluZSBNU1Jf
UlRJVF9PVVRQVVRfQkFTRSAgICAgICAgICAgICAgICAweDAwMDAwNTYwCiAj
ZGVmaW5lIE1TUl9SVElUX09VVFBVVF9NQVNLICAgICAgICAgICAgICAgIDB4
MDAwMDA1NjEKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwppbmRleCA5MmViNGVjZDNk
MDkuLjJlYzMxMjZjZjA2MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Nw
ZWNfY3RybC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAt
MzIzLDcgKzMyMyw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRh
aWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAg
ICAqIEhhcmR3YXJlIHJlYWQtb25seSBpbmZvcm1hdGlvbiwgc3RhdGluZyBp
bW11bml0eSB0byBjZXJ0YWluIGlzc3Vlcywgb3IKICAgICAgKiBzdWdnZXN0
aW9ucyBvZiB3aGljaCBtaXRpZ2F0aW9uIHRvIHVzZS4KICAgICAgKi8KLSAg
ICBwcmludGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVz
JXMlc1xuIiwKKyAgICBwcmludGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVz
JXMlcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKICAgICAgICAgICAgKGNhcHMg
JiBBUkNIX0NBUFNfUkRDTF9OTykgICAgICAgICAgICAgICAgICAgICAgICA/
ICIgUkRDTF9OTyIgICAgICAgIDogIiIsCiAgICAgICAgICAgIChjYXBzICYg
QVJDSF9DQVBTX0lCUlNfQUxMKSAgICAgICAgICAgICAgICAgICAgICAgPyAi
IElCUlNfQUxMIiAgICAgICA6ICIiLAogICAgICAgICAgICAoY2FwcyAmIEFS
Q0hfQ0FQU19SU0JBKSAgICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBS
U0JBIiAgICAgICAgICAgOiAiIiwKQEAgLTMzMiwxMyArMzMyLDE2IEBAIHN0
YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5r
IHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAgICAoY2FwcyAmIEFS
Q0hfQ0FQU19TU0JfTk8pICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBT
U0JfTk8iICAgICAgICAgOiAiIiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNI
X0NBUFNfTURTX05PKSAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgTURT
X05PIiAgICAgICAgIDogIiIsCiAgICAgICAgICAgIChjYXBzICYgQVJDSF9D
QVBTX1RBQV9OTykgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIFRBQV9O
TyIgICAgICAgICA6ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQ
U19TQkRSX1NTRFBfTk8pICAgICAgICAgICAgICAgICAgID8gIiBTQkRSX1NT
RFBfTk8iICAgOiAiIiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNf
RkJTRFBfTk8pICAgICAgICAgICAgICAgICAgICAgICA/ICIgRkJTRFBfTk8i
ICAgICAgIDogIiIsCisgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1BT
RFBfTk8pICAgICAgICAgICAgICAgICAgICAgICAgPyAiIFBTRFBfTk8iICAg
ICAgICA6ICIiLAogICAgICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhY
ODZfRkVBVFVSRV9JQlJTX0FMV0FZUykpICAgID8gIiBJQlJTX0FMV0FZUyIg
ICAgOiAiIiwKICAgICAgICAgICAgKGU4YiAgJiBjcHVmZWF0X21hc2soWDg2
X0ZFQVRVUkVfU1RJQlBfQUxXQVlTKSkgICA/ICIgU1RJQlBfQUxXQVlTIiAg
IDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9G
RUFUVVJFX0lCUlNfRkFTVCkpICAgICAgPyAiIElCUlNfRkFTVCIgICAgICA6
ICIiLAogICAgICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVB
VFVSRV9JQlJTX1NBTUVfTU9ERSkpID8gIiBJQlJTX1NBTUVfTU9ERSIgOiAi
Iik7CiAKICAgICAvKiBIYXJkd2FyZSBmZWF0dXJlcyB3aGljaCBuZWVkIGRy
aXZpbmcgdG8gbWl0aWdhdGUgaXNzdWVzLiAqLwotICAgIHByaW50aygiICBI
YXJkd2FyZSBmZWF0dXJlczolcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAg
ICBwcmludGsoIiAgSGFyZHdhcmUgZmVhdHVyZXM6JXMlcyVzJXMlcyVzJXMl
cyVzJXMlcyVzXG4iLAogICAgICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9JQlBCKSkgfHwKICAgICAgICAgICAgKF83ZDAgJiBj
cHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSUJSU0IpKSAgICAgICAgICA/ICIg
SUJQQiIgICAgICAgICAgIDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1
ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlMpKSB8fApAQCAtMzUzLDcgKzM1
Niw5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0g
aW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAgICAo
XzdkMCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9NRF9DTEVBUikpICAg
ICAgID8gIiBNRF9DTEVBUiIgICAgICAgOiAiIiwKICAgICAgICAgICAgKF83
ZDAgJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1JCRFNfQ1RSTCkpICAg
ICA/ICIgU1JCRFNfQ1RSTCIgICAgIDogIiIsCiAgICAgICAgICAgIChlOGIg
ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1ZJUlRfU1NCRCkpICAgICAg
PyAiIFZJUlRfU1NCRCIgICAgICA6ICIiLAotICAgICAgICAgICAoY2FwcyAm
IEFSQ0hfQ0FQU19UU1hfQ1RSTCkgICAgICAgICAgICAgICAgICAgICAgID8g
IiBUU1hfQ1RSTCIgICAgICAgOiAiIik7CisgICAgICAgICAgIChjYXBzICYg
QVJDSF9DQVBTX1RTWF9DVFJMKSAgICAgICAgICAgICAgICAgICAgICAgPyAi
IFRTWF9DVFJMIiAgICAgICA6ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFS
Q0hfQ0FQU19GQl9DTEVBUikgICAgICAgICAgICAgICAgICAgICAgID8gIiBG
Ql9DTEVBUiIgICAgICAgOiAiIiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNI
X0NBUFNfRkJfQ0xFQVJfQ1RSTCkgICAgICAgICAgICAgICAgICA/ICIgRkJf
Q0xFQVJfQ1RSTCIgIDogIiIpOwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3Vw
cG9ydCB3aGljaCBwZXJ0YWlucyB0byBtaXRpZ2F0aW9ucy4gKi8KICAgICBp
ZiAoIElTX0VOQUJMRUQoQ09ORklHX0lORElSRUNUX1RIVU5LKSB8fCBJU19F
TkFCTEVEKENPTkZJR19TSEFET1dfUEFHSU5HKSApCg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-3.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogQWRkIHNwZWMtY3RybD11bnBy
aXYtbW1pbwoKUGVyIFhlbidzIHN1cHBvcnQgc3RhdGVtZW50LCBQQ0kgcGFz
c3Rocm91Z2ggc2hvdWxkIGJlIHRvIHRydXN0ZWQgZG9tYWlucwpiZWNhdXNl
IHRoZSBvdmVyYWxsIHN5c3RlbSBzZWN1cml0eSBkZXBlbmRzIG9uIGZhY3Rv
cnMgb3V0c2lkZSBvZiBYZW4ncwpjb250cm9sLgoKQXMgc3VjaCwgWGVuLCBp
biBhIHN1cHBvcnRlZCBjb25maWd1cmF0aW9uLCBpcyBub3QgdnVsbmVyYWJs
ZSB0byBEUlBXL1NCRFIuCgpIb3dldmVyLCB1c2VycyB3aG8gaGF2ZSByaXNr
IGFzc2Vzc2VkIHRoZWlyIGNvbmZpZ3VyYXRpb24gbWF5IGJlIGhhcHB5IHdp
dGgKdGhlIHJpc2sgb2YgRG9TLCBidXQgdW5oYXBweSB3aXRoIHRoZSByaXNr
IG9mIGNyb3NzLWRvbWFpbiBkYXRhIGxlYWthZ2UuICBTdWNoCnVzZXJzIHNo
b3VsZCBlbmFibGUgdGhpcyBvcHRpb24uCgpPbiBDUFVzIHZ1bG5lcmFibGUg
dG8gTURTLCB0aGUgZXhpc3RpbmcgbWl0aWdhdGlvbnMgYXJlIHRoZSBiZXN0
IHdlIGNhbiBkbyB0bwptaXRpZ2F0ZSBNTUlPIGNyb3NzLWRvbWFpbiBkYXRh
IGxlYWthZ2UuCgpPbiBDUFVzIGZpeGVkIHRvIE1EUyBidXQgdnVsbmVyYWJs
ZSBNTUlPIHN0YWxlIGRhdGEgbGVha2FnZSwgdGhpcyBvcHRpb246CgogKiBP
biBDUFVzIHN1c2NlcHRpYmxlIHRvIEZCU0RQLCBtaXRpZ2F0ZXMgY3Jvc3Mt
ZG9tYWluIGZpbGwgYnVmZmVyIGxlYWthZ2UKICAgdXNpbmcgRkJfQ0xFQVIu
CiAqIE9uIENQVXMgc3VzY2VwdGlibGUgdG8gU0JEUiwgbWl0aWdhdGVzIFJO
RyBkYXRhIHJlY292ZXJ5IGJ5IGVuZ2FnaW5nIHRoZQogICBzcmItbG9jaywg
cHJldmlvdXNseSB1c2VkIHRvIG1pdGlnYXRlIFNSQkRTLgoKQm90aCBtaXRp
Z2F0aW9ucyByZXF1aXJlIG1pY3JvY29kZSBmcm9tIElQVSAyMDIyLjEsIE1h
eSAyMDIyLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDQuCgpTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+Ci0tLQpCYWNrcG9ydGluZyBub3RlOiBGb3IgWGVuIDQuNyBh
bmQgZWFybGllciB3aXRoIGJvb2xfdCBub3QgYWxpYXNpbmcgYm9vbCwgdGhl
CkFSQ0hfQ0FQU19GQl9DTEVBUiBodW5rIG5lZWRzICEhCgpkaWZmIC0tZ2l0
IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIGIvZG9jcy9t
aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmluZGV4IDI2NmExMWFiNTg0
ZS4uYTkyYjdkMjI4Y2FlIDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNv
bW1hbmQtbGluZS5wYW5kb2MKKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k
LWxpbmUucGFuZG9jCkBAIC0yMjU5LDcgKzIyNTksNyBAQCBCeSBkZWZhdWx0
IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVudGltZSAoaS5lIGBzc2Jk
PXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4NikKID4gYD0gTGlzdCBv
ZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNiLG1k
LWNsZWFyfT08Ym9vbD4sCiA+ICAgICAgICAgICAgICBidGktdGh1bms9cmV0
cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIsc3NiZCxlYWdlci1mcHUs
Ci0+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJhbmNoLWhhcmRlbixzcmIt
bG9ja309PGJvb2w+IF1gCis+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJh
bmNoLWhhcmRlbixzcmItbG9jayx1bnByaXYtbW1pb309PGJvb2w+IF1gCiAK
IENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5u
ZWwgbWl0aWdhdGlvbnMuICBCeSBkZWZhdWx0LCBYZW4KIHdpbGwgcGljayB0
aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBiYXNlZCBvbiBjb21w
aWxlZCBpbiBzdXBwb3J0LApAQCAtMjMzOCw4ICsyMzM4LDE2IEBAIFhlbiB3
aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24uCiBPbiBoYXJkd2FyZSBzdXBw
b3J0aW5nIFNSQkRTX0NUUkwsIHRoZSBgc3JiLWxvY2s9YCBvcHRpb24gY2Fu
IGJlIHVzZWQgdG8gZm9yY2UKIG9yIHByZXZlbnQgWGVuIGZyb20gcHJvdGVj
dCB0aGUgU3BlY2lhbCBSZWdpc3RlciBCdWZmZXIgZnJvbSBsZWFraW5nIHN0
YWxlCiBkYXRhLiBCeSBkZWZhdWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBt
aXRpZ2F0aW9uLCBleGNlcHQgb24gcGFydHMgd2hlcmUgTURTCi1pcyBmaXhl
ZCBhbmQgVEFBIGlzIGZpeGVkL21pdGlnYXRlZCAoaW4gd2hpY2ggY2FzZSwg
dGhlcmUgaXMgYmVsaWV2ZWQgdG8gYmUgbm8KLXdheSBmb3IgYW4gYXR0YWNr
ZXIgdG8gb2J0YWluIHRoZSBzdGFsZSBkYXRhKS4KK2lzIGZpeGVkIGFuZCBU
QUEgaXMgZml4ZWQvbWl0aWdhdGVkIGFuZCB0aGVyZSBhcmUgbm8gdW5wcml2
aWxlZ2VkIE1NSU8KK21hcHBpbmdzIChpbiB3aGljaCBjYXNlLCB0aGVyZSBp
cyBiZWxpZXZlZCB0byBiZSBubyB3YXkgZm9yIGFuIGF0dGFja2VyIHRvCitv
YnRhaW4gc3RhbGUgZGF0YSkuCisKK1RoZSBgdW5wcml2LW1taW89YCBib29s
ZWFuIGluZGljYXRlcyB3aGV0aGVyIHRoZSBzeXN0ZW0gaGFzIChvciB3aWxs
IGhhdmUpCitsZXNzIHRoYW4gZnVsbHkgcHJpdmlsZWdlZCBkb21haW5zIGdy
YW50ZWQgYWNjZXNzIHRvIE1NSU8gZGV2aWNlcy4gIEJ5CitkZWZhdWx0LCB0
aGlzIG9wdGlvbiBpcyBkaXNhYmxlZC4gIElmIGVuYWJsZWQsIFhlbiB3aWxs
IHVzZSB0aGUgYEZCX0NMRUFSYAorYW5kL29yIGBTUkJEU19DVFJMYCBmdW5j
dGlvbmFsaXR5IGF2YWlsYWJsZSBpbiB0aGUgSW50ZWwgTWF5IDIwMjIgbWlj
cm9jb2RlCityZWxlYXNlIHRvIG1pdGlnYXRlIGNyb3NzLWRvbWFpbiBsZWFr
YWdlIG9mIGRhdGEgdmlhIHRoZSBNTUlPIFN0YWxlIERhdGEKK3Z1bG5lcmFi
aWxpdGllcy4KIAogIyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5g
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4v
YXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXggMmVjMzEyNmNmMDYwLi4xZjI3
NWFkMWZiNWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTY3LDYgKzY3
LDggQEAgc3RhdGljIGJvb2wgX19pbml0ZGF0YSBjcHVfaGFzX2J1Z19tc2Jk
c19vbmx5OyAvKiA9PiBtaW5pbWFsIEhUIGltcGFjdC4gKi8KIHN0YXRpYyBi
b29sIF9faW5pdGRhdGEgY3B1X2hhc19idWdfbWRzOyAvKiBBbnkgb3RoZXIg
TXtMUCxTQixGQn1EUyBjb21iaW5hdGlvbi4gKi8KIAogc3RhdGljIGludDhf
dCBfX2luaXRkYXRhIG9wdF9zcmJfbG9jayA9IC0xOworc3RhdGljIGJvb2wg
X19pbml0ZGF0YSBvcHRfdW5wcml2X21taW87CitzdGF0aWMgYm9vbCBfX3Jv
X2FmdGVyX2luaXQgb3B0X2ZiX2NsZWFyX21taW87CiAKIHN0YXRpYyBpbnQg
X19pbml0IGNmX2NoZWNrIHBhcnNlX3NwZWNfY3RybChjb25zdCBjaGFyICpz
KQogewpAQCAtMTg0LDYgKzE4Niw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGNm
X2NoZWNrIHBhcnNlX3NwZWNfY3RybChjb25zdCBjaGFyICpzKQogICAgICAg
ICAgICAgb3B0X2JyYW5jaF9oYXJkZW4gPSB2YWw7CiAgICAgICAgIGVsc2Ug
aWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigic3JiLWxvY2siLCBzLCBzcykp
ID49IDAgKQogICAgICAgICAgICAgb3B0X3NyYl9sb2NrID0gdmFsOworICAg
ICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oInVucHJpdi1t
bWlvIiwgcywgc3MpKSA+PSAwICkKKyAgICAgICAgICAgIG9wdF91bnByaXZf
bW1pbyA9IHZhbDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmMgPSAt
RUlOVkFMOwogCkBAIC0zOTIsNyArMzk2LDggQEAgc3RhdGljIHZvaWQgX19p
bml0IHByaW50X2RldGFpbHMoZW51bSBpbmRfdGh1bmsgdGh1bmssIHVpbnQ2
NF90IGNhcHMpCiAgICAgICAgICAgIG9wdF9zcmJfbG9jayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID8gIiBTUkJfTE9DSysiIDogIiBTUkJfTE9D
Sy0iLAogICAgICAgICAgICBvcHRfaWJwYiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA/ICIgSUJQQiIgIDogIiIsCiAgICAgICAgICAgIG9w
dF9sMWRfZmx1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBM
MURfRkxVU0giIDogIiIsCi0gICAgICAgICAgIG9wdF9tZF9jbGVhcl9wdiB8
fCBvcHRfbWRfY2xlYXJfaHZtICAgICAgID8gIiBWRVJXIiAgOiAiIiwKKyAg
ICAgICAgICAgb3B0X21kX2NsZWFyX3B2IHx8IG9wdF9tZF9jbGVhcl9odm0g
fHwKKyAgICAgICAgICAgb3B0X2ZiX2NsZWFyX21taW8gICAgICAgICAgICAg
ICAgICAgICAgICAgPyAiIFZFUlciICA6ICIiLAogICAgICAgICAgICBvcHRf
YnJhbmNoX2hhcmRlbiAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgQlJB
TkNIX0hBUkRFTiIgOiAiIik7CiAKICAgICAvKiBMMVRGIGRpYWdub3N0aWNz
LCBwcmludGVkIGlmIHZ1bG5lcmFibGUgb3IgUFYgc2hhZG93aW5nIGlzIGlu
IHVzZS4gKi8KQEAgLTk0Miw3ICs5NDcsOSBAQCB2b2lkIHNwZWNfY3RybF9p
bml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIGJvb2wgcHYg
PSBpc19wdl9kb21haW4oZCk7CiAKLSAgICBkLT5hcmNoLnZlcncgPSBwdiA/
IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm07CisgICAgZC0+
YXJjaC52ZXJ3ID0KKyAgICAgICAgKHB2ID8gb3B0X21kX2NsZWFyX3B2IDog
b3B0X21kX2NsZWFyX2h2bSkgfHwKKyAgICAgICAgKG9wdF9mYl9jbGVhcl9t
bWlvICYmIGlzX2lvbW11X2VuYWJsZWQoZCkpOwogfQogCiB2b2lkIF9faW5p
dCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25zKHZvaWQpCkBAIC0xMTk3
LDYgKzEyMDQsMTggQEAgdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxhdGlvbl9t
aXRpZ2F0aW9ucyh2b2lkKQogICAgIG1kc19jYWxjdWxhdGlvbnMoY2Fwcyk7
CiAKICAgICAvKgorICAgICAqIFBhcnRzIHdoaWNoIGVudW1lcmF0ZSBGQl9D
TEVBUiBhcmUgdGhvc2Ugd2hpY2ggYXJlIHBvc3QtTURTX05PIGFuZCBoYXZl
CisgICAgICogcmVpbnRyb2R1Y2VkIHRoZSBWRVJXIGZpbGwgYnVmZmVyIGZs
dXNoaW5nIHNpZGUgZWZmZWN0IGJlY2F1c2Ugb2YgYQorICAgICAqIHN1c2Nl
cHRpYmlsaXR5IHRvIEZCU0RQLgorICAgICAqCisgICAgICogSWYgdW5wcml2
aWxlZ2VkIGd1ZXN0cyBoYXZlIChvciB3aWxsIGhhdmUpIE1NSU8gbWFwcGlu
Z3MsIHdlIGNhbgorICAgICAqIG1pdGlnYXRlIGNyb3NzLWRvbWFpbiBsZWFr
YWdlIG9mIGZpbGwgYnVmZmVyIGRhdGEgYnkgaXNzdWluZyBWRVJXIG9uCisg
ICAgICogdGhlIHJldHVybi10by1ndWVzdCBwYXRoLgorICAgICAqLworICAg
IGlmICggb3B0X3VucHJpdl9tbWlvICkKKyAgICAgICAgb3B0X2ZiX2NsZWFy
X21taW8gPSBjYXBzICYgQVJDSF9DQVBTX0ZCX0NMRUFSOworCisgICAgLyoK
ICAgICAgKiBCeSBkZWZhdWx0LCBlbmFibGUgUFYgYW5kIEhWTSBtaXRpZ2F0
aW9ucyBvbiBNRFMtdnVsbmVyYWJsZSBoYXJkd2FyZS4KICAgICAgKiBUaGlz
IHdpbGwgb25seSBiZSBhIHRva2VuIGVmZm9ydCBmb3IgTUxQRFMvTUZCRFMg
d2hlbiBIVCBpcyBlbmFibGVkLAogICAgICAqIGJ1dCBpdCBpcyBzb21ld2hh
dCBiZXR0ZXIgdGhhbiBub3RoaW5nLgpAQCAtMTIwOSwxOCArMTIyOCwyMCBA
QCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25zKHZv
aWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdF9jcHVfaGFz
KFg4Nl9GRUFUVVJFX01EX0NMRUFSKSk7CiAKICAgICAvKgotICAgICAqIEVu
YWJsZSBNRFMgZGVmZW5jZXMgYXMgYXBwbGljYWJsZS4gIFRoZSBJZGxlIGJs
b2NrcyBuZWVkIHVzaW5nIGlmCi0gICAgICogZWl0aGVyIFBWIG9yIEhWTSBk
ZWZlbmNlcyBhcmUgdXNlZC4KKyAgICAgKiBFbmFibGUgTURTL01NSU8gZGVm
ZW5jZXMgYXMgYXBwbGljYWJsZS4gIFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVz
aW5nIGlmCisgICAgICogZWl0aGVyIHRoZSBQViBvciBIVk0gTURTIGRlZmVu
Y2VzIGFyZSB1c2VkLCBvciBpZiB3ZSBtYXkgZ2l2ZSBNTUlPCisgICAgICog
YWNjZXNzIHRvIHVudHJ1c3RlZCBndWVzdHMuCiAgICAgICoKICAgICAgKiBI
Vk0gaXMgbW9yZSBjb21wbGljYXRlZC4gIFRoZSBNRF9DTEVBUiBtaWNyb2Nv
ZGUgZXh0ZW5kcyBMMURfRkxVU0ggd2l0aAogICAgICAqIGVxdWl2YWxlbnQg
c2VtYW50aWNzIHRvIGF2b2lkIG5lZWRpbmcgdG8gcGVyZm9ybSBib3RoIGZs
dXNoZXMgb24gdGhlCi0gICAgICogSFZNIHBhdGguICBUaGVyZWZvcmUsIHdl
IGRvbid0IG5lZWQgVkVSVyBpbiBhZGRpdGlvbiB0byBMMURfRkxVU0guCisg
ICAgICogSFZNIHBhdGguICBUaGVyZWZvcmUsIHdlIGRvbid0IG5lZWQgVkVS
VyBpbiBhZGRpdGlvbiB0byBMMURfRkxVU0ggKGZvcgorICAgICAqIE1EUyBt
aXRpZ2F0aW9ucy4gIEwxRF9GTFVTSCBpcyBub3Qgc2FmZSBmb3IgTU1JTyBt
aXRpZ2F0aW9ucy4pCiAgICAgICoKICAgICAgKiBBZnRlciBjYWxjdWxhdGlu
ZyB0aGUgYXBwcm9wcmlhdGUgaWRsZSBzZXR0aW5nLCBzaW1wbGlmeQogICAg
ICAqIG9wdF9tZF9jbGVhcl9odm0gdG8gbWVhbiBqdXN0ICJzaG91bGQgd2Ug
VkVSVyBvbiB0aGUgd2F5IGludG8gSFZNCiAgICAgICogZ3Vlc3RzIiwgc28g
c3BlY19jdHJsX2luaXRfZG9tYWluKCkgY2FuIGNhbGN1bGF0ZSBzdWl0YWJs
ZSBzZXR0aW5ncy4KICAgICAgKi8KLSAgICBpZiAoIG9wdF9tZF9jbGVhcl9w
diB8fCBvcHRfbWRfY2xlYXJfaHZtICkKKyAgICBpZiAoIG9wdF9tZF9jbGVh
cl9wdiB8fCBvcHRfbWRfY2xlYXJfaHZtIHx8IG9wdF9mYl9jbGVhcl9tbWlv
ICkKICAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVSRV9T
Q19WRVJXX0lETEUpOwogICAgIG9wdF9tZF9jbGVhcl9odm0gJj0gIShjYXBz
ICYgQVJDSF9DQVBTX1NLSVBfTDFERkwpICYmICFvcHRfbDFkX2ZsdXNoOwog
CkBAIC0xMjg1LDE0ICsxMzA2LDE5IEBAIHZvaWQgX19pbml0IGluaXRfc3Bl
Y3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgKiBPbiBzb21lIFNS
QkRTLWFmZmVjdGVkIGhhcmR3YXJlLCBpdCBtYXkgYmUgc2FmZSB0byByZWxh
eCBzcmItbG9jayBieQogICAgICAqIGRlZmF1bHQuCiAgICAgICoKLSAgICAg
KiBPbiBwYXJ0cyB3aGljaCBlbnVtZXJhdGUgTURTX05PIGFuZCBub3QgVEFB
X05PLCBUU1ggaXMgdGhlIG9ubHkga25vd24KLSAgICAgKiB3YXkgdG8gYWNj
ZXNzIHRoZSBGaWxsIEJ1ZmZlci4gIElmIFRTWCBpc24ndCBhdmFpbGFibGUg
KGluYy4gU0tVCi0gICAgICogcmVhc29ucyBvbiBzb21lIG1vZGVscyksIG9y
IFRTWCBpcyBleHBsaWNpdGx5IGRpc2FibGVkLCB0aGVuIHRoZXJlIGlzCi0g
ICAgICogbm8gbmVlZCBmb3IgdGhlIGV4dHJhIG92ZXJoZWFkIHRvIHByb3Rl
Y3QgUkRSQU5EL1JEU0VFRC4KKyAgICAgKiBBbGwgcGFydHMgd2l0aCBTUkJE
U19DVFJMIHN1ZmZlciBTU0RQLCB0aGUgbWVjaGFuaXNtIGJ5IHdoaWNoIHN0
YWxlIFJORworICAgICAqIGRhdGEgYmVjb21lcyBhdmFpbGFibGUgdG8gb3Ro
ZXIgY29udGV4dHMuICBUbyByZWNvdmVyIHRoZSBkYXRhLCBhbgorICAgICAq
IGF0dGFja2VyIG5lZWRzIHRvIHVzZToKKyAgICAgKiAgLSBTQkRTIChNRFMg
b3IgVEFBIHRvIHNhbXBsZSB0aGUgY29yZXMgZmlsbCBidWZmZXIpCisgICAg
ICogIC0gU0JEUiAoQXJjaGl0ZWN0dXJhbGx5IHJldHJpZXZlIHN0YWxlIHRy
YW5zYWN0aW9uIGJ1ZmZlciBjb250ZW50cykKKyAgICAgKiAgLSBEUlBXIChB
cmNoaXRlY3R1cmFsbHkgbGF0Y2ggc3RhbGUgZmlsbCBidWZmZXIgZGF0YSkK
KyAgICAgKgorICAgICAqIE9uIE1EU19OTyBwYXJ0cywgYW5kIHdpdGggVEFB
X05PIG9yIFRTWCB1bmF2YWlsYWJsZS9kaXNhYmxlZCwgYW5kIHRoZXJlCisg
ICAgICogaXMgbm8gdW5wcml2aWxlZ2VkIE1NSU8gYWNjZXNzLCB0aGUgUk5H
IGRhdGEgZG9lc24ndCBuZWVkIHByb3RlY3RpbmcuCiAgICAgICovCiAgICAg
aWYgKCBjcHVfaGFzX3NyYmRzX2N0cmwgKQogICAgIHsKLSAgICAgICAgaWYg
KCBvcHRfc3JiX2xvY2sgPT0gLTEgJiYKKyAgICAgICAgaWYgKCBvcHRfc3Ji
X2xvY2sgPT0gLTEgJiYgIW9wdF91bnByaXZfbW1pbyAmJgogICAgICAgICAg
ICAgIChjYXBzICYgKEFSQ0hfQ0FQU19NRFNfTk98QVJDSF9DQVBTX1RBQV9O
TykpID09IEFSQ0hfQ0FQU19NRFNfTk8gJiYKICAgICAgICAgICAgICAoIWNw
dV9oYXNfaGxlIHx8ICgoY2FwcyAmIEFSQ0hfQ0FQU19UU1hfQ1RSTCkgJiYg
cnRtX2Rpc2FibGVkKSkgKQogICAgICAgICAgICAgb3B0X3NyYl9sb2NrID0g
MDsK

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.13-1.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.13-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogTWFrZSBWRVJXIGZsdXNoaW5n
IHJ1bnRpbWUgY29uZGl0aW9uYWwKCkN1cnJlbnRseSwgVkVSVyBmbHVzaGlu
ZyB0byBtaXRpZ2F0ZSBNRFMgaXMgYm9vdCB0aW1lIGNvbmRpdGlvbmFsIHBl
ciBkb21haW4KdHlwZS4gIEhvd2V2ZXIsIHRvIHByb3ZpZGUgbWl0aWdhdGlv
bnMgZm9yIERSUFcgKENWRS0yMDIyLTIxMTY2KSwgd2UgbmVlZCB0bwpjb25k
aXRpb25hbGx5IHVzZSBWRVJXIGJhc2VkIG9uIHRoZSB0cnVzdHdvcnRoaW5l
c3Mgb2YgdGhlIGd1ZXN0LCBhbmQgdGhlCmRldmljZXMgcGFzc2VkIHRocm91
Z2guCgpSZW1vdmUgdGhlIFBWL0hWTSBhbHRlcm5hdGl2ZXMgYW5kIGluc3Rl
YWQgaXNzdWUgYSBWRVJXIG9uIHRoZSByZXR1cm4tdG8tZ3Vlc3QKcGF0aCBk
ZXBlbmRpbmcgb24gdGhlIFNDRl92ZXJ3IGJpdCBpbiBjcHVpbmZvIHNwZWNf
Y3RybF9mbGFncy4KCkludHJvZHVjZSBzcGVjX2N0cmxfaW5pdF9kb21haW4o
KSBhbmQgZC0+YXJjaC52ZXJ3IHRvIGNhbGN1bGF0ZSB0aGUgVkVSVwpkaXNw
b3NpdGlvbiBhdCBkb21haW4gY3JlYXRpb24gdGltZSwgYW5kIGNvbnRleHQg
c3dpdGNoIHRoZSBTQ0ZfdmVydyBiaXQuCgpGb3Igbm93LCBWRVJXIGZsdXNo
aW5nIGlzIHVzZWQgYW5kIGNvbnRyb2xsZWQgZXhhY3RseSBhcyBiZWZvcmUs
IGJ1dCBsYXRlcgpwYXRjaGVzIHdpbGwgYWRkIHBlci1kb21haW4gY2FzZXMg
dG9vLgoKTm8gY2hhbmdlIGluIGJlaGF2aW91ci4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdpdCBh
L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlz
Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwppbmRleCBlZWFkNjlhZGEyYzIu
LmU4YmRmMzBmYTQ2YyAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21t
YW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1s
aW5lLnBhbmRvYwpAQCAtMjA1OCw5ICsyMDU4LDggQEAgaW4gcGxhY2UgZm9y
IGd1ZXN0cyB0byB1c2UuCiBVc2Ugb2YgYSBwb3NpdGl2ZSBib29sZWFuIHZh
bHVlIGZvciBlaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBpcyBpbnZhbGlkLgog
CiBUaGUgYm9vbGVhbnMgYHB2PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNi
PWAgYW5kIGBtZC1jbGVhcj1gIG9mZmVyIGZpbmUKLWdyYWluZWQgY29udHJv
bCBvdmVyIHRoZSBhbHRlcm5hdGl2ZSBibG9ja3MgdXNlZCBieSBYZW4uICBU
aGVzZSBpbXBhY3QgWGVuJ3MKLWFiaWxpdHkgdG8gcHJvdGVjdCBpdHNlbGYs
IGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1YWxpc2Ugc3VwcG9ydCBmb3Ig
Z3Vlc3RzCi10byB1c2UuCitncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgcHJp
bWl0aXZlcyBieSBYZW4uICBUaGVzZSBpbXBhY3QgWGVuJ3MgYWJpbGl0eSB0
bworcHJvdGVjdCBpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1
YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzIHRvIHVzZS4KIAogKiBgcHY9YCBh
bmQgYGh2bT1gIG9mZmVyIGNvbnRyb2wgb3ZlciBhbGwgc3Vib3B0aW9ucyBm
b3IgUFYgYW5kIEhWTSBndWVzdHMKICAgcmVzcGVjdGl2ZWx5LgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCmluZGV4IDgyMGNiMGY5MDU1OC4uZmU5NWIyNWEwMzRlIDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L2RvbWFpbi5jCkBAIC02NTEsNiArNjUxLDggQEAgaW50IGFyY2hfZG9t
YWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgZG9tYWluX2Nw
dV9wb2xpY3lfY2hhbmdlZChkKTsKIAorICAgIHNwZWNfY3RybF9pbml0X2Rv
bWFpbihkKTsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKQEAgLTE3NDYs
MTQgKzE3NDgsMTUgQEAgc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2
b2lkKQogdm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwg
c3RydWN0IHZjcHUgKm5leHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9
IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmlu
Zm8gPSBnZXRfY3B1X2luZm8oKTsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWlu
ICpwcmV2ZCA9IHByZXYtPmRvbWFpbiwgKm5leHRkID0gbmV4dC0+ZG9tYWlu
OwogICAgIHVuc2lnbmVkIGludCBkaXJ0eV9jcHUgPSBuZXh0LT5kaXJ0eV9j
cHU7CiAKICAgICBBU1NFUlQocHJldiAhPSBuZXh0KTsKICAgICBBU1NFUlQo
bG9jYWxfaXJxX2lzX2VuYWJsZWQoKSk7CiAKLSAgICBnZXRfY3B1X2luZm8o
KS0+dXNlX3B2X2NyMyA9IGZhbHNlOwotICAgIGdldF9jcHVfaW5mbygpLT54
ZW5fY3IzID0gMDsKKyAgICBpbmZvLT51c2VfcHZfY3IzID0gZmFsc2U7Cisg
ICAgaW5mby0+eGVuX2NyMyA9IDA7CiAKICAgICBpZiAoIHVubGlrZWx5KGRp
cnR5X2NwdSAhPSBjcHUpICYmIGRpcnR5X2NwdSAhPSBWQ1BVX0NQVV9DTEVB
TiApCiAgICAgewpAQCAtMTgxNiw2ICsxODE5LDExIEBAIHZvaWQgY29udGV4
dF9zd2l0Y2goc3RydWN0IHZjcHUgKnByZXYsIHN0cnVjdCB2Y3B1ICpuZXh0
KQogICAgICAgICAgICAgICAgICpsYXN0X2lkID0gbmV4dF9pZDsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIC8qIFVwZGF0ZSB0aGUg
dG9wLW9mLXN0YWNrIGJsb2NrIHdpdGggdGhlIFZFUlcgZGlzcG9zaXRpb24u
ICovCisgICAgICAgIGluZm8tPnNwZWNfY3RybF9mbGFncyAmPSB+U0NGX3Zl
cnc7CisgICAgICAgIGlmICggbmV4dGQtPmFyY2gudmVydyApCisgICAgICAg
ICAgICBpbmZvLT5zcGVjX2N0cmxfZmxhZ3MgfD0gU0NGX3Zlcnc7CiAgICAg
fQogCiAgICAgc2NoZWRfY29udGV4dF9zd2l0Y2hlZChwcmV2LCBuZXh0KTsK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMgYi94
ZW4vYXJjaC94ODYvaHZtL3ZteC9lbnRyeS5TCmluZGV4IDI3YzhjNWNhNDk0
My4uNjJlZDBkODU0ZGYxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZt
L3ZteC9lbnRyeS5TCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5
LlMKQEAgLTgxLDYgKzgxLDcgQEAgVU5MSUtFTFlfRU5EKHJlYWxtb2RlKQog
CiAgICAgICAgIC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAq
YCBub3Qgc2FmZSBiZXlvbmQgdGhpcyBwb2ludC4gKi8KICAgICAgICAgU1BF
Q19DVFJMX0VYSVRfVE9fSFZNICAgLyogUmVxOiBhPXNwZWNfY3RybCAlcnNw
PXJlZ3MvY3B1aW5mbywgQ2xvYjogY2QgKi8KKyAgICAgICAgRE9fU1BFQ19D
VFJMX0NPTkRfVkVSVwogCiAgICAgICAgIG1vdiAgVkNQVV9odm1fZ3Vlc3Rf
Y3IyKCVyYngpLCVyYXgKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Nw
ZWNfY3RybC5jIGIveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCmluZGV4IDc0
NDdkNGE4ZTViNS4uMzhlMWYxMDk4MjEwIDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2FyY2gveDg2L3NwZWNfY3Ry
bC5jCkBAIC0zNSw4ICszNSw4IEBAIHN0YXRpYyBib29sIF9faW5pdGRhdGEg
b3B0X21zcl9zY19wdiA9IHRydWU7CiBzdGF0aWMgYm9vbCBfX2luaXRkYXRh
IG9wdF9tc3Jfc2NfaHZtID0gdHJ1ZTsKIHN0YXRpYyBib29sIF9faW5pdGRh
dGEgb3B0X3JzYl9wdiA9IHRydWU7CiBzdGF0aWMgYm9vbCBfX2luaXRkYXRh
IG9wdF9yc2JfaHZtID0gdHJ1ZTsKLXN0YXRpYyBpbnQ4X3QgX19pbml0ZGF0
YSBvcHRfbWRfY2xlYXJfcHYgPSAtMTsKLXN0YXRpYyBpbnQ4X3QgX19pbml0
ZGF0YSBvcHRfbWRfY2xlYXJfaHZtID0gLTE7CitzdGF0aWMgaW50OF90IF9f
cmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX3B2ID0gLTE7CitzdGF0aWMgaW50
OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX2h2bSA9IC0xOwogCiAv
KiBDbWRsaW5lIGNvbnRyb2xzIGZvciBYZW4ncyBzcGVjdWxhdGl2ZSBzZXR0
aW5ncy4gKi8KIHN0YXRpYyBlbnVtIGluZF90aHVuayB7CkBAIC04NzgsNiAr
ODc4LDEzIEBAIHN0YXRpYyBfX2luaXQgdm9pZCBtZHNfY2FsY3VsYXRpb25z
KHVpbnQ2NF90IGNhcHMpCiAgICAgfQogfQogCit2b2lkIHNwZWNfY3RybF9p
bml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIGJvb2wgcHYg
PSBpc19wdl9kb21haW4oZCk7CisKKyAgICBkLT5hcmNoLnZlcncgPSBwdiA/
IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm07Cit9CisKIHZv
aWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkK
IHsKICAgICBlbnVtIGluZF90aHVuayB0aHVuayA9IFRIVU5LX0RFRkFVTFQ7
CkBAIC0xMDc4LDIxICsxMDg1LDIwIEBAIHZvaWQgX19pbml0IGluaXRfc3Bl
Y3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTURfQ0xFQVIp
KTsKIAogICAgIC8qCi0gICAgICogRW5hYmxlIE1EUyBkZWZlbmNlcyBhcyBh
cHBsaWNhYmxlLiAgVGhlIFBWIGJsb2NrcyBuZWVkIHVzaW5nIGFsbCB0aGUK
LSAgICAgKiB0aW1lLCBhbmQgdGhlIElkbGUgYmxvY2tzIG5lZWQgdXNpbmcg
aWYgZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUKLSAgICAgKiB1c2Vk
LgorICAgICAqIEVuYWJsZSBNRFMgZGVmZW5jZXMgYXMgYXBwbGljYWJsZS4g
IFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVzaW5nIGlmCisgICAgICogZWl0aGVy
IFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUgdXNlZC4KICAgICAgKgogICAgICAq
IEhWTSBpcyBtb3JlIGNvbXBsaWNhdGVkLiAgVGhlIE1EX0NMRUFSIG1pY3Jv
Y29kZSBleHRlbmRzIEwxRF9GTFVTSCB3aXRoCi0gICAgICogZXF1aXZlbGVu
dCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0byBwZXJmb3JtIGJvdGgg
Zmx1c2hlcyBvbiB0aGUKLSAgICAgKiBIVk0gcGF0aC4gIFRoZSBIVk0gYmxv
Y2tzIGRvbid0IG5lZWQgYWN0aXZhdGluZyBpZiBvdXIgaHlwZXJ2aXNvciB0
b2xkCi0gICAgICogdXMgaXQgd2FzIGhhbmRsaW5nIEwxRF9GTFVTSCwgb3Ig
d2UgYXJlIHVzaW5nIEwxRF9GTFVTSCBvdXJzZWx2ZXMuCisgICAgICogZXF1
aXZhbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0byBwZXJmb3Jt
IGJvdGggZmx1c2hlcyBvbiB0aGUKKyAgICAgKiBIVk0gcGF0aC4gIFRoZXJl
Zm9yZSwgd2UgZG9uJ3QgbmVlZCBWRVJXIGluIGFkZGl0aW9uIHRvIEwxRF9G
TFVTSC4KKyAgICAgKgorICAgICAqIEFmdGVyIGNhbGN1bGF0aW5nIHRoZSBh
cHByb3ByaWF0ZSBpZGxlIHNldHRpbmcsIHNpbXBsaWZ5CisgICAgICogb3B0
X21kX2NsZWFyX2h2bSB0byBtZWFuIGp1c3QgInNob3VsZCB3ZSBWRVJXIG9u
IHRoZSB3YXkgaW50byBIVk0KKyAgICAgKiBndWVzdHMiLCBzbyBzcGVjX2N0
cmxfaW5pdF9kb21haW4oKSBjYW4gY2FsY3VsYXRlIHN1aXRhYmxlIHNldHRp
bmdzLgogICAgICAqLwotICAgIGlmICggb3B0X21kX2NsZWFyX3B2ICkKLSAg
ICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVSRV9TQ19WRVJX
X1BWKTsKICAgICBpZiAoIG9wdF9tZF9jbGVhcl9wdiB8fCBvcHRfbWRfY2xl
YXJfaHZtICkKICAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVB
VFVSRV9TQ19WRVJXX0lETEUpOwotICAgIGlmICggb3B0X21kX2NsZWFyX2h2
bSAmJiAhKGNhcHMgJiBBUkNIX0NBUFNfU0tJUF9MMURGTCkgJiYgIW9wdF9s
MWRfZmx1c2ggKQotICAgICAgICBzZXR1cF9mb3JjZV9jcHVfY2FwKFg4Nl9G
RUFUVVJFX1NDX1ZFUldfSFZNKTsKKyAgICBvcHRfbWRfY2xlYXJfaHZtICY9
ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wxREZMKSAmJiAhb3B0X2wxZF9m
bHVzaDsKIAogICAgIC8qCiAgICAgICogV2FybiB0aGUgdXNlciBpZiB0aGV5
IGFyZSBvbiBNTFBEUy9NRkJEUy12dWxuZXJhYmxlIGhhcmR3YXJlIHdpdGgg
SFQKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVy
ZXMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaAppbmRl
eCBhODIyMmU5NzhjZDkuLmJjYmE5MjZiZGE0MSAxMDA2NDQKLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCisrKyBiL3hlbi9pbmNs
dWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaApAQCAtMzUsOCArMzUsNyBAQCBY
RU5fQ1BVRkVBVFVSRShTQ19SU0JfSFZNLCAgICAgICAgWDg2X1NZTlRIKDE5
KSkgLyogUlNCIG92ZXJ3cml0ZSBuZWVkZWQgZm9yIEhWTQogWEVOX0NQVUZF
QVRVUkUoWEVOX1NFTEZTTk9PUCwgICAgIFg4Nl9TWU5USCgyMCkpIC8qIFNF
TEZTTk9PUCBnZXRzIHVzZWQgYnkgWGVuIGl0c2VsZiAqLwogWEVOX0NQVUZF
QVRVUkUoU0NfTVNSX0lETEUsICAgICAgIFg4Nl9TWU5USCgyMSkpIC8qIChT
Q19NU1JfUFYgfHwgU0NfTVNSX0hWTSkgJiYgZGVmYXVsdF94ZW5fc3BlY19j
dHJsICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fTEJSLCAgICAgICAgICAgWDg2
X1NZTlRIKDIyKSkgLyogWGVuIHVzZXMgTVNSX0RFQlVHQ1RMLkxCUiAqLwot
WEVOX0NQVUZFQVRVUkUoU0NfVkVSV19QViwgICAgICAgIFg4Nl9TWU5USCgy
MykpIC8qIFZFUlcgdXNlZCBieSBYZW4gZm9yIFBWICovCi1YRU5fQ1BVRkVB
VFVSRShTQ19WRVJXX0hWTSwgICAgICAgWDg2X1NZTlRIKDI0KSkgLyogVkVS
VyB1c2VkIGJ5IFhlbiBmb3IgSFZNICovCisvKiBCaXRzIDIzLDI0IHVudXNl
ZC4gKi8KIFhFTl9DUFVGRUFUVVJFKFNDX1ZFUldfSURMRSwgICAgICBYODZf
U1lOVEgoMjUpKSAvKiBWRVJXIHVzZWQgYnkgWGVuIGZvciBpZGxlICovCiAK
IC8qIEJ1ZyB3b3JkcyBmb2xsb3cgdGhlIHN5bnRoZXRpYyB3b3Jkcy4gKi8K
ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggYi94
ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCmluZGV4IDMwOWI1NmUyZDZi
Ny4uNzFkMWNhMjQzYjMyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t
eDg2L2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWlu
LmgKQEAgLTI5NSw2ICsyOTUsOSBAQCBzdHJ1Y3QgYXJjaF9kb21haW4KICAg
ICB1aW50MzJfdCBwY2lfY2Y4OwogICAgIHVpbnQ4X3QgY21vc19pZHg7CiAK
KyAgICAvKiBVc2UgVkVSVyBvbiByZXR1cm4tdG8tZ3Vlc3QgZm9yIGl0cyBm
bHVzaGluZyBzaWRlIGVmZmVjdC4gKi8KKyAgICBib29sIHZlcnc7CisKICAg
ICB1bmlvbiB7CiAgICAgICAgIHN0cnVjdCBwdl9kb21haW4gcHY7CiAgICAg
ICAgIHN0cnVjdCBodm1fZG9tYWluIGh2bTsKZGlmZiAtLWdpdCBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvc3BlY19jdHJsLmggYi94ZW4vaW5jbHVkZS9hc20t
eDg2L3NwZWNfY3RybC5oCmluZGV4IGIyNTJiYjg2MzExMS4uMTU3YTJjNjdk
ODljIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3Ry
bC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc3BlY19jdHJsLmgKQEAg
LTI0LDYgKzI0LDcgQEAKICNkZWZpbmUgU0NGX3VzZV9zaGFkb3cgKDEgPDwg
MCkKICNkZWZpbmUgU0NGX2lzdF93cm1zciAgKDEgPDwgMSkKICNkZWZpbmUg
U0NGX2lzdF9yc2IgICAgKDEgPDwgMikKKyNkZWZpbmUgU0NGX3ZlcncgICAg
ICAgKDEgPDwgMykKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzIs
NiArMzMsNyBAQAogI2luY2x1ZGUgPGFzbS9tc3ItaW5kZXguaD4KIAogdm9p
ZCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25zKHZvaWQpOwordm9pZCBz
cGVjX2N0cmxfaW5pdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7CiAKIGV4
dGVybiBib29sIG9wdF9pYnBiOwogZXh0ZXJuIGJvb2wgb3B0X3NzYmQ7CmRp
ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20u
aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc3BlY19jdHJsX2FzbS5oCmluZGV4
IGM2MDA5M2IwOTBiNS4uNGEzNzc3Y2M1MjI3IDEwMDY0NAotLS0gYS94ZW4v
aW5jbHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaApAQCAtMTQxLDYgKzE0MSwx
OSBAQAogICAgIHdybXNyCiAuZW5kbQogCisubWFjcm8gRE9fU1BFQ19DVFJM
X0NPTkRfVkVSVworLyoKKyAqIFJlcXVpcmVzICVyc3A9Y3B1aW5mbworICoK
KyAqIElzc3VlIGEgVkVSVyBmb3IgaXRzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
LCBpZiBpbmRpY2F0ZWQuICBUaGlzIGlzIGEgU3BlY3RyZQorICogdjEgZ2Fk
Z2V0LCBidXQgdGhlIElSRVQvVk1FbnRyeSBpcyBzZXJpYWxpc2luZy4KKyAq
LworICAgIHRlc3RiICRTQ0ZfdmVydywgQ1BVSU5GT19zcGVjX2N0cmxfZmxh
Z3MoJXJzcCkKKyAgICBqeiAuTFxAX3Zlcndfc2tpcAorICAgIHZlcncgQ1BV
SU5GT192ZXJ3X3NlbCglcnNwKQorLkxcQF92ZXJ3X3NraXA6CisuZW5kbQor
CiAubWFjcm8gRE9fU1BFQ19DVFJMX0VOVFJZIG1heWJleGVuOnJlcQogLyoK
ICAqIFJlcXVpcmVzICVyc3A9cmVncyAoYWxzbyBjcHVpbmZvIGlmICFtYXli
ZXhlbikKQEAgLTI0MiwxNSArMjU1LDEyIEBACiAjZGVmaW5lIFNQRUNfQ1RS
TF9FWElUX1RPX1BWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgQUxURVJOQVRJVkUgIiIsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgICAgIERPX1NQRUNfQ1RSTF9FWElUX1RPX0dVRVNULCBYODZfRkVBVFVS
RV9TQ19NU1JfUFY7ICAgICAgICAgICAgICBcCi0gICAgQUxURVJOQVRJVkUg
IiIsIF9fc3RyaW5naWZ5KHZlcncgQ1BVSU5GT192ZXJ3X3NlbCglcnNwKSks
ICAgICAgICAgICBcCi0gICAgICAgIFg4Nl9GRUFUVVJFX1NDX1ZFUldfUFYK
KyAgICBET19TUEVDX0NUUkxfQ09ORF9WRVJXCiAKIC8qIFVzZSB3aGVuIGV4
aXRpbmcgdG8gSFZNIGd1ZXN0IGNvbnRleHQuICovCiAjZGVmaW5lIFNQRUNf
Q1RSTF9FWElUX1RPX0hWTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgQUxURVJOQVRJVkUgIiIsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgICAgIERPX1NQRUNfQ1RSTF9FWElUX1RPX0dVRVNULCBYODZfRkVB
VFVSRV9TQ19NU1JfSFZNOyAgICAgICAgICAgICBcCi0gICAgQUxURVJOQVRJ
VkUgIiIsIF9fc3RyaW5naWZ5KHZlcncgQ1BVSU5GT192ZXJ3X3NlbCglcnNw
KSksICAgICAgICAgICBcCi0gICAgICAgIFg4Nl9GRUFUVVJFX1NDX1ZFUldf
SFZNCiAKIC8qCiAgKiBVc2UgaW4gSVNUIGludGVycnVwdC9leGNlcHRpb24g
Y29udGV4dC4gIE1heSBpbnRlcnJ1cHQgWGVuIG9yIFBWIGNvbnRleHQuCg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.13-2.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.13-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRW51bWVyYXRpb24gZm9yIE1N
SU8gU3RhbGUgRGF0YSBjb250cm9scwoKVGhlIHRocmVlICpfTk8gYml0cyBp
bmRpY2F0ZSBub24tc3VzY2VwdGliaWxpdHkgdG8gdGhlIFNTRFAsIEZCU0RQ
IGFuZCBQU0RQCmRhdGEgbW92ZW1lbnQgcHJpbWl0aXZlcy4KCkZCX0NMRUFS
IGluZGljYXRlcyB0aGF0IHRoZSBWRVJXIGluc3RydWN0aW9uIGhhcyByZS1n
YWluZWQgaXQncyBGaWxsIEJ1ZmZlcgpmbHVzaGluZyBzaWRlIGVmZmVjdC4g
IFRoaXMgaXMgb25seSBlbnVtZXJhdGVkIG9uIHBhcnRzIHdoZXJlIFZFUlcg
aGFkCnByZXZpb3VzbHkgbG9zdCBpdCdzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
IGR1ZSB0byB0aGUgTURTL1RBQSB2dWxuZXJhYmlsaXRpZXMKYmVpbmcgZml4
ZWQgaW4gaGFyZHdhcmUuCgpGQl9DTEVBUl9DVFJMIGlzIGF2YWlsYWJsZSBv
biBhIHN1YnNldCBvZiBGQl9DTEVBUiBwYXJ0cyB3aGVyZSB0aGUgRmlsbCBC
dWZmZXIKY2xlYXJpbmcgc2lkZSBlZmZlY3Qgb2YgVkVSVyBjYW4gYmUgdHVy
bmVkIG9mZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KClRoaXMgaXMgcGFy
dCBvZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyBiL3hlbi9hcmNoL3g4Ni9z
cGVjX2N0cmwuYwppbmRleCAzOGUxZjEwOTgyMTAuLmZkMzY5MjdiYTFjYiAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtMzE4LDcgKzMxOCw3IEBAIHN0
YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5r
IHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgIHByaW50aygiU3BlY3VsYXRp
dmUgbWl0aWdhdGlvbiBmYWNpbGl0aWVzOlxuIik7CiAKICAgICAvKiBIYXJk
d2FyZSBmZWF0dXJlcyB3aGljaCBwZXJ0YWluIHRvIHNwZWN1bGF0aXZlIG1p
dGlnYXRpb25zLiAqLwotICAgIHByaW50aygiICBIYXJkd2FyZSBmZWF0dXJl
czolcyVzJXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVzJXNcbiIsCisgICAgcHJp
bnRrKCIgIEhhcmR3YXJlIGZlYXR1cmVzOiVzJXMlcyVzJXMlcyVzJXMlcyVz
JXMlcyVzJXMlcyVzJXMlcyVzJXNcbiIsCiAgICAgICAgICAgIChfN2QwICYg
Y3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlNCKSkgPyAiIElCUlMvSUJQ
QiIgOiAiIiwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2soWDg2
X0ZFQVRVUkVfU1RJQlApKSA/ICIgU1RJQlAiICAgICA6ICIiLAogICAgICAg
ICAgICAoXzdkMCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9MMURfRkxV
U0gpKSA/ICIgTDFEX0ZMVVNIIiA6ICIiLApAQCAtMzMzLDcgKzMzMywxMiBA
QCBzdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfZGV0YWlscyhlbnVtIGluZF90
aHVuayB0aHVuaywgdWludDY0X3QgY2FwcykKICAgICAgICAgICAgKGNhcHMg
JiBBUkNIX0NBUFNfU1NCX05PKSAgICAgICAgICAgICAgICA/ICIgU1NCX05P
IiAgICA6ICIiLAogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19NRFNf
Tk8pICAgICAgICAgICAgICAgID8gIiBNRFNfTk8iICAgIDogIiIsCiAgICAg
ICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RTWF9DVFJMKSAgICAgICAgICAg
ICAgPyAiIFRTWF9DVFJMIiAgOiAiIiwKLSAgICAgICAgICAgKGNhcHMgJiBB
UkNIX0NBUFNfVEFBX05PKSAgICAgICAgICAgICAgICA/ICIgVEFBX05PIiAg
ICA6ICIiKTsKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfVEFBX05P
KSAgICAgICAgICAgICAgICA/ICIgVEFBX05PIiAgICA6ICIiLAorICAgICAg
ICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TQkRSX1NTRFBfTk8pICAgICAgICAg
ID8gIiBTQkRSX1NTRFBfTk8iIDogIiIsCisgICAgICAgICAgIChjYXBzICYg
QVJDSF9DQVBTX0ZCU0RQX05PKSAgICAgICAgICAgICAgPyAiIEZCU0RQX05P
IiAgOiAiIiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfUFNEUF9O
TykgICAgICAgICAgICAgICA/ICIgUFNEUF9OTyIgICA6ICIiLAorICAgICAg
ICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19GQl9DTEVBUikgICAgICAgICAgICAg
ID8gIiBGQl9DTEVBUiIgIDogIiIsCisgICAgICAgICAgIChjYXBzICYgQVJD
SF9DQVBTX0ZCX0NMRUFSX0NUUkwpICAgICAgICAgPyAiIEZCX0NMRUFSX0NU
UkwiIDogIiIpOwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3VwcG9ydCB3aGlj
aCBwZXJ0YWlucyB0byBtaXRpZ2F0aW9ucy4gKi8KICAgICBpZiAoIElTX0VO
QUJMRUQoQ09ORklHX0lORElSRUNUX1RIVU5LKSB8fCBJU19FTkFCTEVEKENP
TkZJR19TSEFET1dfUEFHSU5HKSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk
ZS9hc20teDg2L21zci1pbmRleC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9t
c3ItaW5kZXguaAppbmRleCBiYTllOTBhZjIxMGIuLjJhODA2NjBkODQ5ZCAx
MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCkBAIC01NSw2
ICs1NSwxMSBAQAogI2RlZmluZSBBUkNIX0NBUFNfSUZfUFNDSEFOR0VfTUNf
Tk8JKF9BQygxLCBVTEwpIDw8IDYpCiAjZGVmaW5lIEFSQ0hfQ0FQU19UU1hf
Q1RSTAkJKF9BQygxLCBVTEwpIDw8IDcpCiAjZGVmaW5lIEFSQ0hfQ0FQU19U
QUFfTk8JCShfQUMoMSwgVUxMKSA8PCA4KQorI2RlZmluZSBBUkNIX0NBUFNf
U0JEUl9TU0RQX05PCQkoX0FDKDEsIFVMTCkgPDwgMTMpCisjZGVmaW5lIEFS
Q0hfQ0FQU19GQlNEUF9OTwkJKF9BQygxLCBVTEwpIDw8IDE0KQorI2RlZmlu
ZSBBUkNIX0NBUFNfUFNEUF9OTwkJKF9BQygxLCBVTEwpIDw8IDE1KQorI2Rl
ZmluZSBBUkNIX0NBUFNfRkJfQ0xFQVIJCShfQUMoMSwgVUxMKSA8PCAxNykK
KyNkZWZpbmUgQVJDSF9DQVBTX0ZCX0NMRUFSX0NUUkwJCShfQUMoMSwgVUxM
KSA8PCAxOCkKIAogI2RlZmluZSBNU1JfRkxVU0hfQ01ECQkJMHgwMDAwMDEw
YgogI2RlZmluZSBGTFVTSF9DTURfTDFECQkJKF9BQygxLCBVTEwpIDw8IDAp
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.13-3.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.13-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogQWRkIHNwZWMtY3RybD11bnBy
aXYtbW1pbwoKUGVyIFhlbidzIHN1cHBvcnQgc3RhdGVtZW50LCBQQ0kgcGFz
c3Rocm91Z2ggc2hvdWxkIGJlIHRvIHRydXN0ZWQgZG9tYWlucwpiZWNhdXNl
IHRoZSBvdmVyYWxsIHN5c3RlbSBzZWN1cml0eSBkZXBlbmRzIG9uIGZhY3Rv
cnMgb3V0c2lkZSBvZiBYZW4ncwpjb250cm9sLgoKQXMgc3VjaCwgWGVuLCBp
biBhIHN1cHBvcnRlZCBjb25maWd1cmF0aW9uLCBpcyBub3QgdnVsbmVyYWJs
ZSB0byBEUlBXL1NCRFIuCgpIb3dldmVyLCB1c2VycyB3aG8gaGF2ZSByaXNr
IGFzc2Vzc2VkIHRoZWlyIGNvbmZpZ3VyYXRpb24gbWF5IGJlIGhhcHB5IHdp
dGgKdGhlIHJpc2sgb2YgRG9TLCBidXQgdW5oYXBweSB3aXRoIHRoZSByaXNr
IG9mIGNyb3NzLWRvbWFpbiBkYXRhIGxlYWthZ2UuICBTdWNoCnVzZXJzIHNo
b3VsZCBlbmFibGUgdGhpcyBvcHRpb24uCgpPbiBDUFVzIHZ1bG5lcmFibGUg
dG8gTURTLCB0aGUgZXhpc3RpbmcgbWl0aWdhdGlvbnMgYXJlIHRoZSBiZXN0
IHdlIGNhbiBkbyB0bwptaXRpZ2F0ZSBNTUlPIGNyb3NzLWRvbWFpbiBkYXRh
IGxlYWthZ2UuCgpPbiBDUFVzIGZpeGVkIHRvIE1EUyBidXQgdnVsbmVyYWJs
ZSBNTUlPIHN0YWxlIGRhdGEgbGVha2FnZSwgdGhpcyBvcHRpb246CgogKiBP
biBDUFVzIHN1c2NlcHRpYmxlIHRvIEZCU0RQLCBtaXRpZ2F0ZXMgY3Jvc3Mt
ZG9tYWluIGZpbGwgYnVmZmVyIGxlYWthZ2UKICAgdXNpbmcgRkJfQ0xFQVIu
CiAqIE9uIENQVXMgc3VzY2VwdGlibGUgdG8gU0JEUiwgbWl0aWdhdGVzIFJO
RyBkYXRhIHJlY292ZXJ5IGJ5IGVuZ2FnaW5nIHRoZQogICBzcmItbG9jaywg
cHJldmlvdXNseSB1c2VkIHRvIG1pdGlnYXRlIFNSQkRTLgoKQm90aCBtaXRp
Z2F0aW9ucyByZXF1aXJlIG1pY3JvY29kZSBmcm9tIElQVSAyMDIyLjEsIE1h
eSAyMDIyLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDQuCgpTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+Ci0tLQpCYWNrcG9ydGluZyBub3RlOiBGb3IgWGVuIDQuNyBh
bmQgZWFybGllciB3aXRoIGJvb2xfdCBub3QgYWxpYXNpbmcgYm9vbCwgdGhl
CkFSQ0hfQ0FQU19GQl9DTEVBUiBodW5rIG5lZWRzICEhCgpkaWZmIC0tZ2l0
IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIGIvZG9jcy9t
aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmluZGV4IGU4YmRmMzBmYTQ2
Yy4uMDIyY2IwMWRhNzYyIDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNv
bW1hbmQtbGluZS5wYW5kb2MKKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k
LWxpbmUucGFuZG9jCkBAIC0yMDM1LDcgKzIwMzUsNyBAQCBCeSBkZWZhdWx0
IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVudGltZSAoaS5lIGBzc2Jk
PXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4NikKID4gYD0gTGlzdCBv
ZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNiLG1k
LWNsZWFyfT08Ym9vbD4sCiA+ICAgICAgICAgICAgICBidGktdGh1bms9cmV0
cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIsc3NiZCxlYWdlci1mcHUs
Ci0+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJhbmNoLWhhcmRlbixzcmIt
bG9ja309PGJvb2w+IF1gCis+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJh
bmNoLWhhcmRlbixzcmItbG9jayx1bnByaXYtbW1pb309PGJvb2w+IF1gCiAK
IENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5u
ZWwgbWl0aWdhdGlvbnMuICBCeSBkZWZhdWx0LCBYZW4KIHdpbGwgcGljayB0
aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBiYXNlZCBvbiBjb21w
aWxlZCBpbiBzdXBwb3J0LApAQCAtMjExNCw4ICsyMTE0LDE2IEBAIFhlbiB3
aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24uCiBPbiBoYXJkd2FyZSBzdXBw
b3J0aW5nIFNSQkRTX0NUUkwsIHRoZSBgc3JiLWxvY2s9YCBvcHRpb24gY2Fu
IGJlIHVzZWQgdG8gZm9yY2UKIG9yIHByZXZlbnQgWGVuIGZyb20gcHJvdGVj
dCB0aGUgU3BlY2lhbCBSZWdpc3RlciBCdWZmZXIgZnJvbSBsZWFraW5nIHN0
YWxlCiBkYXRhLiBCeSBkZWZhdWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBt
aXRpZ2F0aW9uLCBleGNlcHQgb24gcGFydHMgd2hlcmUgTURTCi1pcyBmaXhl
ZCBhbmQgVEFBIGlzIGZpeGVkL21pdGlnYXRlZCAoaW4gd2hpY2ggY2FzZSwg
dGhlcmUgaXMgYmVsaWV2ZWQgdG8gYmUgbm8KLXdheSBmb3IgYW4gYXR0YWNr
ZXIgdG8gb2J0YWluIHRoZSBzdGFsZSBkYXRhKS4KK2lzIGZpeGVkIGFuZCBU
QUEgaXMgZml4ZWQvbWl0aWdhdGVkIGFuZCB0aGVyZSBhcmUgbm8gdW5wcml2
aWxlZ2VkIE1NSU8KK21hcHBpbmdzIChpbiB3aGljaCBjYXNlLCB0aGVyZSBp
cyBiZWxpZXZlZCB0byBiZSBubyB3YXkgZm9yIGFuIGF0dGFja2VyIHRvCitv
YnRhaW4gc3RhbGUgZGF0YSkuCisKK1RoZSBgdW5wcml2LW1taW89YCBib29s
ZWFuIGluZGljYXRlcyB3aGV0aGVyIHRoZSBzeXN0ZW0gaGFzIChvciB3aWxs
IGhhdmUpCitsZXNzIHRoYW4gZnVsbHkgcHJpdmlsZWdlZCBkb21haW5zIGdy
YW50ZWQgYWNjZXNzIHRvIE1NSU8gZGV2aWNlcy4gIEJ5CitkZWZhdWx0LCB0
aGlzIG9wdGlvbiBpcyBkaXNhYmxlZC4gIElmIGVuYWJsZWQsIFhlbiB3aWxs
IHVzZSB0aGUgYEZCX0NMRUFSYAorYW5kL29yIGBTUkJEU19DVFJMYCBmdW5j
dGlvbmFsaXR5IGF2YWlsYWJsZSBpbiB0aGUgSW50ZWwgTWF5IDIwMjIgbWlj
cm9jb2RlCityZWxlYXNlIHRvIG1pdGlnYXRlIGNyb3NzLWRvbWFpbiBsZWFr
YWdlIG9mIGRhdGEgdmlhIHRoZSBNTUlPIFN0YWxlIERhdGEKK3Z1bG5lcmFi
aWxpdGllcy4KIAogIyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5g
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4v
YXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXggZmQzNjkyN2JhMWNiLi5kNGJh
OTQxMjA2N2IgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTY3LDYgKzY3
LDggQEAgc3RhdGljIGJvb2wgX19pbml0ZGF0YSBjcHVfaGFzX2J1Z19tZHM7
IC8qIEFueSBvdGhlciBNe0xQLFNCLEZCfURTIGNvbWJpbmF0aW9uLgogCiBz
dGF0aWMgaW50OF90IF9faW5pdGRhdGEgb3B0X3NyYl9sb2NrID0gLTE7CiB1
aW50NjRfdCBfX3JlYWRfbW9zdGx5IGRlZmF1bHRfeGVuX21jdV9vcHRfY3Ry
bDsKK3N0YXRpYyBib29sIF9faW5pdGRhdGEgb3B0X3VucHJpdl9tbWlvOwor
c3RhdGljIGJvb2wgX19yZWFkX21vc3RseSBvcHRfZmJfY2xlYXJfbW1pbzsK
IAogc3RhdGljIGludCBfX2luaXQgcGFyc2Vfc3BlY19jdHJsKGNvbnN0IGNo
YXIgKnMpCiB7CkBAIC0xODQsNiArMTg2LDggQEAgc3RhdGljIGludCBfX2lu
aXQgcGFyc2Vfc3BlY19jdHJsKGNvbnN0IGNoYXIgKnMpCiAgICAgICAgICAg
ICBvcHRfYnJhbmNoX2hhcmRlbiA9IHZhbDsKICAgICAgICAgZWxzZSBpZiAo
ICh2YWwgPSBwYXJzZV9ib29sZWFuKCJzcmItbG9jayIsIHMsIHNzKSkgPj0g
MCApCiAgICAgICAgICAgICBvcHRfc3JiX2xvY2sgPSB2YWw7CisgICAgICAg
IGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigidW5wcml2LW1taW8i
LCBzLCBzcykpID49IDAgKQorICAgICAgICAgICAgb3B0X3VucHJpdl9tbWlv
ID0gdmFsOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByYyA9IC1FSU5W
QUw7CiAKQEAgLTM2Nyw3ICszNzEsOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQg
cHJpbnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaywgdWludDY0X3Qg
Y2FwcykKICAgICAgICAgICAgb3B0X3NyYl9sb2NrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPyAiIFNSQl9MT0NLKyIgOiAiIFNSQl9MT0NLLSIs
CiAgICAgICAgICAgIG9wdF9pYnBiICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID8gIiBJQlBCIiAgOiAiIiwKICAgICAgICAgICAgb3B0X2wx
ZF9mbHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIEwxRF9G
TFVTSCIgOiAiIiwKLSAgICAgICAgICAgb3B0X21kX2NsZWFyX3B2IHx8IG9w
dF9tZF9jbGVhcl9odm0gICAgICAgPyAiIFZFUlciICA6ICIiLAorICAgICAg
ICAgICBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2bSB8fAor
ICAgICAgICAgICBvcHRfZmJfY2xlYXJfbW1pbyAgICAgICAgICAgICAgICAg
ICAgICAgICA/ICIgVkVSVyIgIDogIiIsCiAgICAgICAgICAgIG9wdF9icmFu
Y2hfaGFyZGVuICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBCUkFOQ0hf
SEFSREVOIiA6ICIiKTsKIAogICAgIC8qIEwxVEYgZGlhZ25vc3RpY3MsIHBy
aW50ZWQgaWYgdnVsbmVyYWJsZSBvciBQViBzaGFkb3dpbmcgaXMgaW4gdXNl
LiAqLwpAQCAtODg3LDcgKzg5Miw5IEBAIHZvaWQgc3BlY19jdHJsX2luaXRf
ZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgYm9vbCBwdiA9IGlz
X3B2X2RvbWFpbihkKTsKIAotICAgIGQtPmFyY2gudmVydyA9IHB2ID8gb3B0
X21kX2NsZWFyX3B2IDogb3B0X21kX2NsZWFyX2h2bTsKKyAgICBkLT5hcmNo
LnZlcncgPQorICAgICAgICAocHYgPyBvcHRfbWRfY2xlYXJfcHYgOiBvcHRf
bWRfY2xlYXJfaHZtKSB8fAorICAgICAgICAob3B0X2ZiX2NsZWFyX21taW8g
JiYgaXNfaW9tbXVfZW5hYmxlZChkKSk7CiB9CiAKIHZvaWQgX19pbml0IGlu
aXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKQEAgLTEwNzgsNiAr
MTA4NSwxOCBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGln
YXRpb25zKHZvaWQpCiAgICAgbWRzX2NhbGN1bGF0aW9ucyhjYXBzKTsKIAog
ICAgIC8qCisgICAgICogUGFydHMgd2hpY2ggZW51bWVyYXRlIEZCX0NMRUFS
IGFyZSB0aG9zZSB3aGljaCBhcmUgcG9zdC1NRFNfTk8gYW5kIGhhdmUKKyAg
ICAgKiByZWludHJvZHVjZWQgdGhlIFZFUlcgZmlsbCBidWZmZXIgZmx1c2hp
bmcgc2lkZSBlZmZlY3QgYmVjYXVzZSBvZiBhCisgICAgICogc3VzY2VwdGli
aWxpdHkgdG8gRkJTRFAuCisgICAgICoKKyAgICAgKiBJZiB1bnByaXZpbGVn
ZWQgZ3Vlc3RzIGhhdmUgKG9yIHdpbGwgaGF2ZSkgTU1JTyBtYXBwaW5ncywg
d2UgY2FuCisgICAgICogbWl0aWdhdGUgY3Jvc3MtZG9tYWluIGxlYWthZ2Ug
b2YgZmlsbCBidWZmZXIgZGF0YSBieSBpc3N1aW5nIFZFUlcgb24KKyAgICAg
KiB0aGUgcmV0dXJuLXRvLWd1ZXN0IHBhdGguCisgICAgICovCisgICAgaWYg
KCBvcHRfdW5wcml2X21taW8gKQorICAgICAgICBvcHRfZmJfY2xlYXJfbW1p
byA9IGNhcHMgJiBBUkNIX0NBUFNfRkJfQ0xFQVI7CisKKyAgICAvKgogICAg
ICAqIEJ5IGRlZmF1bHQsIGVuYWJsZSBQViBhbmQgSFZNIG1pdGlnYXRpb25z
IG9uIE1EUy12dWxuZXJhYmxlIGhhcmR3YXJlLgogICAgICAqIFRoaXMgd2ls
bCBvbmx5IGJlIGEgdG9rZW4gZWZmb3J0IGZvciBNTFBEUy9NRkJEUyB3aGVu
IEhUIGlzIGVuYWJsZWQsCiAgICAgICogYnV0IGl0IGlzIHNvbWV3aGF0IGJl
dHRlciB0aGFuIG5vdGhpbmcuCkBAIC0xMDkwLDE4ICsxMTA5LDIwIEBAIHZv
aWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2
X0ZFQVRVUkVfTURfQ0xFQVIpKTsKIAogICAgIC8qCi0gICAgICogRW5hYmxl
IE1EUyBkZWZlbmNlcyBhcyBhcHBsaWNhYmxlLiAgVGhlIElkbGUgYmxvY2tz
IG5lZWQgdXNpbmcgaWYKLSAgICAgKiBlaXRoZXIgUFYgb3IgSFZNIGRlZmVu
Y2VzIGFyZSB1c2VkLgorICAgICAqIEVuYWJsZSBNRFMvTU1JTyBkZWZlbmNl
cyBhcyBhcHBsaWNhYmxlLiAgVGhlIElkbGUgYmxvY2tzIG5lZWQgdXNpbmcg
aWYKKyAgICAgKiBlaXRoZXIgdGhlIFBWIG9yIEhWTSBNRFMgZGVmZW5jZXMg
YXJlIHVzZWQsIG9yIGlmIHdlIG1heSBnaXZlIE1NSU8KKyAgICAgKiBhY2Nl
c3MgdG8gdW50cnVzdGVkIGd1ZXN0cy4KICAgICAgKgogICAgICAqIEhWTSBp
cyBtb3JlIGNvbXBsaWNhdGVkLiAgVGhlIE1EX0NMRUFSIG1pY3JvY29kZSBl
eHRlbmRzIEwxRF9GTFVTSCB3aXRoCiAgICAgICogZXF1aXZhbGVudCBzZW1h
bnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0byBwZXJmb3JtIGJvdGggZmx1c2hl
cyBvbiB0aGUKLSAgICAgKiBIVk0gcGF0aC4gIFRoZXJlZm9yZSwgd2UgZG9u
J3QgbmVlZCBWRVJXIGluIGFkZGl0aW9uIHRvIEwxRF9GTFVTSC4KKyAgICAg
KiBIVk0gcGF0aC4gIFRoZXJlZm9yZSwgd2UgZG9uJ3QgbmVlZCBWRVJXIGlu
IGFkZGl0aW9uIHRvIEwxRF9GTFVTSCAoZm9yCisgICAgICogTURTIG1pdGln
YXRpb25zLiAgTDFEX0ZMVVNIIGlzIG5vdCBzYWZlIGZvciBNTUlPIG1pdGln
YXRpb25zLikKICAgICAgKgogICAgICAqIEFmdGVyIGNhbGN1bGF0aW5nIHRo
ZSBhcHByb3ByaWF0ZSBpZGxlIHNldHRpbmcsIHNpbXBsaWZ5CiAgICAgICog
b3B0X21kX2NsZWFyX2h2bSB0byBtZWFuIGp1c3QgInNob3VsZCB3ZSBWRVJX
IG9uIHRoZSB3YXkgaW50byBIVk0KICAgICAgKiBndWVzdHMiLCBzbyBzcGVj
X2N0cmxfaW5pdF9kb21haW4oKSBjYW4gY2FsY3VsYXRlIHN1aXRhYmxlIHNl
dHRpbmdzLgogICAgICAqLwotICAgIGlmICggb3B0X21kX2NsZWFyX3B2IHx8
IG9wdF9tZF9jbGVhcl9odm0gKQorICAgIGlmICggb3B0X21kX2NsZWFyX3B2
IHx8IG9wdF9tZF9jbGVhcl9odm0gfHwgb3B0X2ZiX2NsZWFyX21taW8gKQog
ICAgICAgICBzZXR1cF9mb3JjZV9jcHVfY2FwKFg4Nl9GRUFUVVJFX1NDX1ZF
UldfSURMRSk7CiAgICAgb3B0X21kX2NsZWFyX2h2bSAmPSAhKGNhcHMgJiBB
UkNIX0NBUFNfU0tJUF9MMURGTCkgJiYgIW9wdF9sMWRfZmx1c2g7CiAKQEAg
LTExNzAsMTIgKzExOTEsMTggQEAgdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxh
dGlvbl9taXRpZ2F0aW9ucyh2b2lkKQogICAgICAgICAgKiBPbiBzb21lIFNS
QkRTLWFmZmVjdGVkIGhhcmR3YXJlLCBpdCBtYXkgYmUgc2FmZSB0byByZWxh
eCBzcmItbG9jawogICAgICAgICAgKiBieSBkZWZhdWx0LgogICAgICAgICAg
KgotICAgICAgICAgKiBPbiBwYXJ0cyB3aGljaCBlbnVtZXJhdGUgTURTX05P
IGFuZCBub3QgVEFBX05PLCBUU1ggaXMgdGhlIG9ubHkgd2F5Ci0gICAgICAg
ICAqIHRvIGFjY2VzcyB0aGUgRmlsbCBCdWZmZXIuICBJZiBUU1ggaXNuJ3Qg
YXZhaWxhYmxlIChpbmMuIFNLVQotICAgICAgICAgKiByZWFzb25zIG9uIHNv
bWUgbW9kZWxzKSwgb3IgVFNYIGlzIGV4cGxpY2l0bHkgZGlzYWJsZWQsIHRo
ZW4gdGhlcmUKLSAgICAgICAgICogaXMgbm8gbmVlZCBmb3IgdGhlIGV4dHJh
IG92ZXJoZWFkIHRvIHByb3RlY3QgUkRSQU5EL1JEU0VFRC4KKyAgICAgICAg
ICogQWxsIHBhcnRzIHdpdGggU1JCRFNfQ1RSTCBzdWZmZXIgU1NEUCwgdGhl
IG1lY2hhbmlzbSBieSB3aGljaCBzdGFsZQorICAgICAgICAgKiBSTkcgZGF0
YSBiZWNvbWVzIGF2YWlsYWJsZSB0byBvdGhlciBjb250ZXh0cy4gIFRvIHJl
Y292ZXIgdGhlIGRhdGEsCisgICAgICAgICAqIGFuIGF0dGFja2VyIG5lZWRz
IHRvIHVzZToKKyAgICAgICAgICogIC0gU0JEUyAoTURTIG9yIFRBQSB0byBz
YW1wbGUgdGhlIGNvcmVzIGZpbGwgYnVmZmVyKQorICAgICAgICAgKiAgLSBT
QkRSIChBcmNoaXRlY3R1cmFsbHkgcmV0cmlldmUgc3RhbGUgdHJhbnNhY3Rp
b24gYnVmZmVyIGNvbnRlbnRzKQorICAgICAgICAgKiAgLSBEUlBXIChBcmNo
aXRlY3R1cmFsbHkgbGF0Y2ggc3RhbGUgZmlsbCBidWZmZXIgZGF0YSkKKyAg
ICAgICAgICoKKyAgICAgICAgICogT24gTURTX05PIHBhcnRzLCBhbmQgd2l0
aCBUQUFfTk8gb3IgVFNYIHVuYXZhaWxhYmxlL2Rpc2FibGVkLCBhbmQKKyAg
ICAgICAgICogdGhlcmUgaXMgbm8gdW5wcml2aWxlZ2VkIE1NSU8gYWNjZXNz
LCB0aGUgUk5HIGRhdGEgZG9lc24ndCBuZWVkCisgICAgICAgICAqIHByb3Rl
Y3RpbmcuCiAgICAgICAgICAqLwotICAgICAgICBpZiAoIG9wdF9zcmJfbG9j
ayA9PSAtMSAmJgorICAgICAgICBpZiAoIG9wdF9zcmJfbG9jayA9PSAtMSAm
JiAhb3B0X3VucHJpdl9tbWlvICYmCiAgICAgICAgICAgICAgKGNhcHMgJiAo
QVJDSF9DQVBTX01EU19OT3xBUkNIX0NBUFNfVEFBX05PKSkgPT0gQVJDSF9D
QVBTX01EU19OTyAmJgogICAgICAgICAgICAgICghY3B1X2hhc19obGUgfHwg
KChjYXBzICYgQVJDSF9DQVBTX1RTWF9DVFJMKSAmJiBvcHRfdHN4ID09IDAp
KSApCiAgICAgICAgICAgICBvcHRfc3JiX2xvY2sgPSAwOwo=

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.14-1.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.14-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogTWFrZSBWRVJXIGZsdXNoaW5n
IHJ1bnRpbWUgY29uZGl0aW9uYWwKCkN1cnJlbnRseSwgVkVSVyBmbHVzaGlu
ZyB0byBtaXRpZ2F0ZSBNRFMgaXMgYm9vdCB0aW1lIGNvbmRpdGlvbmFsIHBl
ciBkb21haW4KdHlwZS4gIEhvd2V2ZXIsIHRvIHByb3ZpZGUgbWl0aWdhdGlv
bnMgZm9yIERSUFcgKENWRS0yMDIyLTIxMTY2KSwgd2UgbmVlZCB0bwpjb25k
aXRpb25hbGx5IHVzZSBWRVJXIGJhc2VkIG9uIHRoZSB0cnVzdHdvcnRoaW5l
c3Mgb2YgdGhlIGd1ZXN0LCBhbmQgdGhlCmRldmljZXMgcGFzc2VkIHRocm91
Z2guCgpSZW1vdmUgdGhlIFBWL0hWTSBhbHRlcm5hdGl2ZXMgYW5kIGluc3Rl
YWQgaXNzdWUgYSBWRVJXIG9uIHRoZSByZXR1cm4tdG8tZ3Vlc3QKcGF0aCBk
ZXBlbmRpbmcgb24gdGhlIFNDRl92ZXJ3IGJpdCBpbiBjcHVpbmZvIHNwZWNf
Y3RybF9mbGFncy4KCkludHJvZHVjZSBzcGVjX2N0cmxfaW5pdF9kb21haW4o
KSBhbmQgZC0+YXJjaC52ZXJ3IHRvIGNhbGN1bGF0ZSB0aGUgVkVSVwpkaXNw
b3NpdGlvbiBhdCBkb21haW4gY3JlYXRpb24gdGltZSwgYW5kIGNvbnRleHQg
c3dpdGNoIHRoZSBTQ0ZfdmVydyBiaXQuCgpGb3Igbm93LCBWRVJXIGZsdXNo
aW5nIGlzIHVzZWQgYW5kIGNvbnRyb2xsZWQgZXhhY3RseSBhcyBiZWZvcmUs
IGJ1dCBsYXRlcgpwYXRjaGVzIHdpbGwgYWRkIHBlci1kb21haW4gY2FzZXMg
dG9vLgoKTm8gY2hhbmdlIGluIGJlaGF2aW91ci4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdpdCBh
L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlz
Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwppbmRleCA1NDY3YWU3MTY4ZmYu
LmFkODU3ODVlMTRiMyAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21t
YW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1s
aW5lLnBhbmRvYwpAQCAtMjEyOSw5ICsyMTI5LDggQEAgaW4gcGxhY2UgZm9y
IGd1ZXN0cyB0byB1c2UuCiBVc2Ugb2YgYSBwb3NpdGl2ZSBib29sZWFuIHZh
bHVlIGZvciBlaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBpcyBpbnZhbGlkLgog
CiBUaGUgYm9vbGVhbnMgYHB2PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNi
PWAgYW5kIGBtZC1jbGVhcj1gIG9mZmVyIGZpbmUKLWdyYWluZWQgY29udHJv
bCBvdmVyIHRoZSBhbHRlcm5hdGl2ZSBibG9ja3MgdXNlZCBieSBYZW4uICBU
aGVzZSBpbXBhY3QgWGVuJ3MKLWFiaWxpdHkgdG8gcHJvdGVjdCBpdHNlbGYs
IGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1YWxpc2Ugc3VwcG9ydCBmb3Ig
Z3Vlc3RzCi10byB1c2UuCitncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgcHJp
bWl0aXZlcyBieSBYZW4uICBUaGVzZSBpbXBhY3QgWGVuJ3MgYWJpbGl0eSB0
bworcHJvdGVjdCBpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1
YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzIHRvIHVzZS4KIAogKiBgcHY9YCBh
bmQgYGh2bT1gIG9mZmVyIGNvbnRyb2wgb3ZlciBhbGwgc3Vib3B0aW9ucyBm
b3IgUFYgYW5kIEhWTSBndWVzdHMKICAgcmVzcGVjdGl2ZWx5LgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCmluZGV4IDNkYTgxZWJmMWQ0MS4uNWVhNWVmNmJhMDM3IDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L2RvbWFpbi5jCkBAIC02NTEsNiArNjUxLDggQEAgaW50IGFyY2hfZG9t
YWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgZG9tYWluX2Nw
dV9wb2xpY3lfY2hhbmdlZChkKTsKIAorICAgIHNwZWNfY3RybF9pbml0X2Rv
bWFpbihkKTsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKQEAgLTE3NjMs
MTQgKzE3NjUsMTUgQEAgc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2
b2lkKQogdm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwg
c3RydWN0IHZjcHUgKm5leHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9
IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmlu
Zm8gPSBnZXRfY3B1X2luZm8oKTsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWlu
ICpwcmV2ZCA9IHByZXYtPmRvbWFpbiwgKm5leHRkID0gbmV4dC0+ZG9tYWlu
OwogICAgIHVuc2lnbmVkIGludCBkaXJ0eV9jcHUgPSByZWFkX2F0b21pYygm
bmV4dC0+ZGlydHlfY3B1KTsKIAogICAgIEFTU0VSVChwcmV2ICE9IG5leHQp
OwogICAgIEFTU0VSVChsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAg
IGdldF9jcHVfaW5mbygpLT51c2VfcHZfY3IzID0gZmFsc2U7Ci0gICAgZ2V0
X2NwdV9pbmZvKCktPnhlbl9jcjMgPSAwOworICAgIGluZm8tPnVzZV9wdl9j
cjMgPSBmYWxzZTsKKyAgICBpbmZvLT54ZW5fY3IzID0gMDsKIAogICAgIGlm
ICggdW5saWtlbHkoZGlydHlfY3B1ICE9IGNwdSkgJiYgZGlydHlfY3B1ICE9
IFZDUFVfQ1BVX0NMRUFOICkKICAgICB7CkBAIC0xODM0LDYgKzE4MzcsMTEg
QEAgdm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3Ry
dWN0IHZjcHUgKm5leHQpCiAgICAgICAgICAgICAgICAgKmxhc3RfaWQgPSBu
ZXh0X2lkOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAg
LyogVXBkYXRlIHRoZSB0b3Atb2Ytc3RhY2sgYmxvY2sgd2l0aCB0aGUgVkVS
VyBkaXNwb3NpdGlvbi4gKi8KKyAgICAgICAgaW5mby0+c3BlY19jdHJsX2Zs
YWdzICY9IH5TQ0ZfdmVydzsKKyAgICAgICAgaWYgKCBuZXh0ZC0+YXJjaC52
ZXJ3ICkKKyAgICAgICAgICAgIGluZm8tPnNwZWNfY3RybF9mbGFncyB8PSBT
Q0ZfdmVydzsKICAgICB9CiAKICAgICBzY2hlZF9jb250ZXh0X3N3aXRjaGVk
KHByZXYsIG5leHQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92
bXgvZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMKaW5k
ZXggNDk2NTFmM2M0MzVhLi41ZjVkZTQ1YTEzMDkgMTAwNjQ0Ci0tLSBhL3hl
bi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2
L2h2bS92bXgvZW50cnkuUwpAQCAtODcsNyArODcsNyBAQCBVTkxJS0VMWV9F
TkQocmVhbG1vZGUpCiAKICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBj
YWxsICpgLCBgam1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAq
LwogICAgICAgICAvKiBTUEVDX0NUUkxfRVhJVF9UT19WTVggICBSZXE6ICVy
c3A9cmVncy9jcHVpbmZvICAgICAgICAgICAgICBDbG9iOiAgICAqLwotICAg
ICAgICBBTFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZP
X3Zlcndfc2VsKCVyc3ApKSwgWDg2X0ZFQVRVUkVfU0NfVkVSV19IVk0KKyAg
ICAgICAgRE9fU1BFQ19DVFJMX0NPTkRfVkVSVwogCiAgICAgICAgIG1vdiAg
VkNQVV9odm1fZ3Vlc3RfY3IyKCVyYngpLCVyYXgKIApkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gveDg2L3NwZWNfY3RybC5jIGIveGVuL2FyY2gveDg2L3NwZWNf
Y3RybC5jCmluZGV4IDFlMjI2MTAyZDM5OS4uYjRlZmM5NDBhYTJiIDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2Fy
Y2gveDg2L3NwZWNfY3RybC5jCkBAIC0zNiw4ICszNiw4IEBAIHN0YXRpYyBi
b29sIF9faW5pdGRhdGEgb3B0X21zcl9zY19wdiA9IHRydWU7CiBzdGF0aWMg
Ym9vbCBfX2luaXRkYXRhIG9wdF9tc3Jfc2NfaHZtID0gdHJ1ZTsKIHN0YXRp
YyBib29sIF9faW5pdGRhdGEgb3B0X3JzYl9wdiA9IHRydWU7CiBzdGF0aWMg
Ym9vbCBfX2luaXRkYXRhIG9wdF9yc2JfaHZtID0gdHJ1ZTsKLXN0YXRpYyBp
bnQ4X3QgX19pbml0ZGF0YSBvcHRfbWRfY2xlYXJfcHYgPSAtMTsKLXN0YXRp
YyBpbnQ4X3QgX19pbml0ZGF0YSBvcHRfbWRfY2xlYXJfaHZtID0gLTE7Citz
dGF0aWMgaW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX3B2ID0g
LTE7CitzdGF0aWMgaW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFy
X2h2bSA9IC0xOwogCiAvKiBDbWRsaW5lIGNvbnRyb2xzIGZvciBYZW4ncyBz
cGVjdWxhdGl2ZSBzZXR0aW5ncy4gKi8KIHN0YXRpYyBlbnVtIGluZF90aHVu
ayB7CkBAIC05MDMsNiArOTAzLDEzIEBAIHN0YXRpYyBfX2luaXQgdm9pZCBt
ZHNfY2FsY3VsYXRpb25zKHVpbnQ2NF90IGNhcHMpCiAgICAgfQogfQogCit2
b2lkIHNwZWNfY3RybF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQor
eworICAgIGJvb2wgcHYgPSBpc19wdl9kb21haW4oZCk7CisKKyAgICBkLT5h
cmNoLnZlcncgPSBwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVh
cl9odm07Cit9CisKIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0
aWdhdGlvbnModm9pZCkKIHsKICAgICBlbnVtIGluZF90aHVuayB0aHVuayA9
IFRIVU5LX0RFRkFVTFQ7CkBAIC0xMTQ4LDIxICsxMTU1LDIwIEBAIHZvaWQg
X19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZF
QVRVUkVfTURfQ0xFQVIpKTsKIAogICAgIC8qCi0gICAgICogRW5hYmxlIE1E
UyBkZWZlbmNlcyBhcyBhcHBsaWNhYmxlLiAgVGhlIFBWIGJsb2NrcyBuZWVk
IHVzaW5nIGFsbCB0aGUKLSAgICAgKiB0aW1lLCBhbmQgdGhlIElkbGUgYmxv
Y2tzIG5lZWQgdXNpbmcgaWYgZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBh
cmUKLSAgICAgKiB1c2VkLgorICAgICAqIEVuYWJsZSBNRFMgZGVmZW5jZXMg
YXMgYXBwbGljYWJsZS4gIFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVzaW5nIGlm
CisgICAgICogZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUgdXNlZC4K
ICAgICAgKgogICAgICAqIEhWTSBpcyBtb3JlIGNvbXBsaWNhdGVkLiAgVGhl
IE1EX0NMRUFSIG1pY3JvY29kZSBleHRlbmRzIEwxRF9GTFVTSCB3aXRoCi0g
ICAgICogZXF1aXZlbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0
byBwZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKLSAgICAgKiBIVk0gcGF0
aC4gIFRoZSBIVk0gYmxvY2tzIGRvbid0IG5lZWQgYWN0aXZhdGluZyBpZiBv
dXIgaHlwZXJ2aXNvciB0b2xkCi0gICAgICogdXMgaXQgd2FzIGhhbmRsaW5n
IEwxRF9GTFVTSCwgb3Igd2UgYXJlIHVzaW5nIEwxRF9GTFVTSCBvdXJzZWx2
ZXMuCisgICAgICogZXF1aXZhbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVl
ZGluZyB0byBwZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKKyAgICAgKiBI
Vk0gcGF0aC4gIFRoZXJlZm9yZSwgd2UgZG9uJ3QgbmVlZCBWRVJXIGluIGFk
ZGl0aW9uIHRvIEwxRF9GTFVTSC4KKyAgICAgKgorICAgICAqIEFmdGVyIGNh
bGN1bGF0aW5nIHRoZSBhcHByb3ByaWF0ZSBpZGxlIHNldHRpbmcsIHNpbXBs
aWZ5CisgICAgICogb3B0X21kX2NsZWFyX2h2bSB0byBtZWFuIGp1c3QgInNo
b3VsZCB3ZSBWRVJXIG9uIHRoZSB3YXkgaW50byBIVk0KKyAgICAgKiBndWVz
dHMiLCBzbyBzcGVjX2N0cmxfaW5pdF9kb21haW4oKSBjYW4gY2FsY3VsYXRl
IHN1aXRhYmxlIHNldHRpbmdzLgogICAgICAqLwotICAgIGlmICggb3B0X21k
X2NsZWFyX3B2ICkKLSAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZf
RkVBVFVSRV9TQ19WRVJXX1BWKTsKICAgICBpZiAoIG9wdF9tZF9jbGVhcl9w
diB8fCBvcHRfbWRfY2xlYXJfaHZtICkKICAgICAgICAgc2V0dXBfZm9yY2Vf
Y3B1X2NhcChYODZfRkVBVFVSRV9TQ19WRVJXX0lETEUpOwotICAgIGlmICgg
b3B0X21kX2NsZWFyX2h2bSAmJiAhKGNhcHMgJiBBUkNIX0NBUFNfU0tJUF9M
MURGTCkgJiYgIW9wdF9sMWRfZmx1c2ggKQotICAgICAgICBzZXR1cF9mb3Jj
ZV9jcHVfY2FwKFg4Nl9GRUFUVVJFX1NDX1ZFUldfSFZNKTsKKyAgICBvcHRf
bWRfY2xlYXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wxREZM
KSAmJiAhb3B0X2wxZF9mbHVzaDsKIAogICAgIC8qCiAgICAgICogV2FybiB0
aGUgdXNlciBpZiB0aGV5IGFyZSBvbiBNTFBEUy9NRkJEUy12dWxuZXJhYmxl
IGhhcmR3YXJlIHdpdGggSFQKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz
bS14ODYvY3B1ZmVhdHVyZXMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1
ZmVhdHVyZXMuaAppbmRleCAwOWY2MTk0NTliYzcuLjllYWFiN2EyYTFmYSAx
MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5o
CisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaApAQCAt
MzUsOCArMzUsNyBAQCBYRU5fQ1BVRkVBVFVSRShTQ19SU0JfSFZNLCAgICAg
ICAgWDg2X1NZTlRIKDE5KSkgLyogUlNCIG92ZXJ3cml0ZSBuZWVkZWQgZm9y
IEhWTQogWEVOX0NQVUZFQVRVUkUoWEVOX1NFTEZTTk9PUCwgICAgIFg4Nl9T
WU5USCgyMCkpIC8qIFNFTEZTTk9PUCBnZXRzIHVzZWQgYnkgWGVuIGl0c2Vs
ZiAqLwogWEVOX0NQVUZFQVRVUkUoU0NfTVNSX0lETEUsICAgICAgIFg4Nl9T
WU5USCgyMSkpIC8qIChTQ19NU1JfUFYgfHwgU0NfTVNSX0hWTSkgJiYgZGVm
YXVsdF94ZW5fc3BlY19jdHJsICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fTEJS
LCAgICAgICAgICAgWDg2X1NZTlRIKDIyKSkgLyogWGVuIHVzZXMgTVNSX0RF
QlVHQ1RMLkxCUiAqLwotWEVOX0NQVUZFQVRVUkUoU0NfVkVSV19QViwgICAg
ICAgIFg4Nl9TWU5USCgyMykpIC8qIFZFUlcgdXNlZCBieSBYZW4gZm9yIFBW
ICovCi1YRU5fQ1BVRkVBVFVSRShTQ19WRVJXX0hWTSwgICAgICAgWDg2X1NZ
TlRIKDI0KSkgLyogVkVSVyB1c2VkIGJ5IFhlbiBmb3IgSFZNICovCisvKiBC
aXRzIDIzLDI0IHVudXNlZC4gKi8KIFhFTl9DUFVGRUFUVVJFKFNDX1ZFUldf
SURMRSwgICAgICBYODZfU1lOVEgoMjUpKSAvKiBWRVJXIHVzZWQgYnkgWGVu
IGZvciBpZGxlICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fU0hTVEssICAgICAg
ICAgWDg2X1NZTlRIKDI2KSkgLyogWGVuIHVzZXMgQ0VUIFNoYWRvdyBTdGFj
a3MgKi8KIFhFTl9DUFVGRUFUVVJFKFhFTl9JQlQsICAgICAgICAgICBYODZf
U1lOVEgoMjcpKSAvKiBYZW4gdXNlcyBDRVQgSW5kaXJlY3QgQnJhbmNoIFRy
YWNraW5nICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2Rv
bWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAppbmRleCAw
ZGI1NTFiZmYzNDQuLjRlZTc2YmJhNDVkYSAxMDA2NDQKLS0tIGEveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20t
eDg2L2RvbWFpbi5oCkBAIC0zMDgsNiArMzA4LDkgQEAgc3RydWN0IGFyY2hf
ZG9tYWluCiAgICAgdWludDMyX3QgcGNpX2NmODsKICAgICB1aW50OF90IGNt
b3NfaWR4OwogCisgICAgLyogVXNlIFZFUlcgb24gcmV0dXJuLXRvLWd1ZXN0
IGZvciBpdHMgZmx1c2hpbmcgc2lkZSBlZmZlY3QuICovCisgICAgYm9vbCB2
ZXJ3OworCiAgICAgdW5pb24gewogICAgICAgICBzdHJ1Y3QgcHZfZG9tYWlu
IHB2OwogICAgICAgICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm07CmRpZmYgLS1n
aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5oIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaAppbmRleCA5Y2FlY2RkZmVjOTYu
LjY4ZjZjNDZjNDcwYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4
Ni9zcGVjX2N0cmwuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNf
Y3RybC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjZGVmaW5lIFNDRl91c2Vfc2hh
ZG93ICgxIDw8IDApCiAjZGVmaW5lIFNDRl9pc3Rfd3Jtc3IgICgxIDw8IDEp
CiAjZGVmaW5lIFNDRl9pc3RfcnNiICAgICgxIDw8IDIpCisjZGVmaW5lIFND
Rl92ZXJ3ICAgICAgICgxIDw8IDMpCiAKICNpZm5kZWYgX19BU1NFTUJMWV9f
CiAKQEAgLTMyLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxhc20vbXNyLWluZGV4
Lmg+CiAKIHZvaWQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lk
KTsKK3ZvaWQgc3BlY19jdHJsX2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4g
KmQpOwogCiBleHRlcm4gYm9vbCBvcHRfaWJwYjsKIGV4dGVybiBib29sIG9w
dF9zc2JkOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVj
X2N0cmxfYXNtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybF9h
c20uaAppbmRleCAwMmIzYjE4Y2U2OWYuLjVhNTkwYmFjNDRhYSAxMDA2NDQK
LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmgKKysr
IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmgKQEAgLTEz
Niw2ICsxMzYsMTkgQEAKICNlbmRpZgogLmVuZG0KIAorLm1hY3JvIERPX1NQ
RUNfQ1RSTF9DT05EX1ZFUlcKKy8qCisgKiBSZXF1aXJlcyAlcnNwPWNwdWlu
Zm8KKyAqCisgKiBJc3N1ZSBhIFZFUlcgZm9yIGl0cyBmbHVzaGluZyBzaWRl
IGVmZmVjdCwgaWYgaW5kaWNhdGVkLiAgVGhpcyBpcyBhIFNwZWN0cmUKKyAq
IHYxIGdhZGdldCwgYnV0IHRoZSBJUkVUL1ZNRW50cnkgaXMgc2VyaWFsaXNp
bmcuCisgKi8KKyAgICB0ZXN0YiAkU0NGX3ZlcncsIENQVUlORk9fc3BlY19j
dHJsX2ZsYWdzKCVyc3ApCisgICAganogLkxcQF92ZXJ3X3NraXAKKyAgICB2
ZXJ3IENQVUlORk9fdmVyd19zZWwoJXJzcCkKKy5MXEBfdmVyd19za2lwOgor
LmVuZG0KKwogLm1hY3JvIERPX1NQRUNfQ1RSTF9FTlRSWSBtYXliZXhlbjpy
ZXEKIC8qCiAgKiBSZXF1aXJlcyAlcnNwPXJlZ3MgKGFsc28gY3B1aW5mbyBp
ZiAhbWF5YmV4ZW4pCkBAIC0yMzEsOCArMjQ0LDcgQEAKICNkZWZpbmUgU1BF
Q19DVFJMX0VYSVRfVE9fUFYgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICBBTFRFUk5BVElWRSAiIiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICAgICAgRE9fU1BFQ19DVFJMX0VYSVRfVE9fR1VFU1QsIFg4Nl9G
RUFUVVJFX1NDX01TUl9QVjsgICAgICAgICAgICAgIFwKLSAgICBBTFRFUk5B
VElWRSAiIiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndfc2VsKCVy
c3ApKSwgICAgICAgICAgIFwKLSAgICAgICAgWDg2X0ZFQVRVUkVfU0NfVkVS
V19QVgorICAgIERPX1NQRUNfQ1RSTF9DT05EX1ZFUlcKIAogLyoKICAqIFVz
ZSBpbiBJU1QgaW50ZXJydXB0L2V4Y2VwdGlvbiBjb250ZXh0LiAgTWF5IGlu
dGVycnVwdCBYZW4gb3IgUFYgY29udGV4dC4K

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.14-2.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.14-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRW51bWVyYXRpb24gZm9yIE1N
SU8gU3RhbGUgRGF0YSBjb250cm9scwoKVGhlIHRocmVlICpfTk8gYml0cyBp
bmRpY2F0ZSBub24tc3VzY2VwdGliaWxpdHkgdG8gdGhlIFNTRFAsIEZCU0RQ
IGFuZCBQU0RQCmRhdGEgbW92ZW1lbnQgcHJpbWl0aXZlcy4KCkZCX0NMRUFS
IGluZGljYXRlcyB0aGF0IHRoZSBWRVJXIGluc3RydWN0aW9uIGhhcyByZS1n
YWluZWQgaXQncyBGaWxsIEJ1ZmZlcgpmbHVzaGluZyBzaWRlIGVmZmVjdC4g
IFRoaXMgaXMgb25seSBlbnVtZXJhdGVkIG9uIHBhcnRzIHdoZXJlIFZFUlcg
aGFkCnByZXZpb3VzbHkgbG9zdCBpdCdzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
IGR1ZSB0byB0aGUgTURTL1RBQSB2dWxuZXJhYmlsaXRpZXMKYmVpbmcgZml4
ZWQgaW4gaGFyZHdhcmUuCgpGQl9DTEVBUl9DVFJMIGlzIGF2YWlsYWJsZSBv
biBhIHN1YnNldCBvZiBGQl9DTEVBUiBwYXJ0cyB3aGVyZSB0aGUgRmlsbCBC
dWZmZXIKY2xlYXJpbmcgc2lkZSBlZmZlY3Qgb2YgVkVSVyBjYW4gYmUgdHVy
bmVkIG9mZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KClRoaXMgaXMgcGFy
dCBvZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyBiL3hlbi9hcmNoL3g4Ni9z
cGVjX2N0cmwuYwppbmRleCBiNGVmYzk0MGFhMmIuLjM4ZTBjYzI4NDdlMCAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtMzIzLDcgKzMyMyw3IEBAIHN0
YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5r
IHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAqIEhhcmR3YXJlIHJlYWQt
b25seSBpbmZvcm1hdGlvbiwgc3RhdGluZyBpbW11bml0eSB0byBjZXJ0YWlu
IGlzc3Vlcywgb3IKICAgICAgKiBzdWdnZXN0aW9ucyBvZiB3aGljaCBtaXRp
Z2F0aW9uIHRvIHVzZS4KICAgICAgKi8KLSAgICBwcmludGsoIiAgSGFyZHdh
cmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAgICBwcmlu
dGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVz
JXMlc1xuIiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfUkRDTF9O
TykgICAgICAgICAgICAgICAgICAgICAgICA/ICIgUkRDTF9OTyIgICAgICAg
IDogIiIsCiAgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX0lCUlNfQUxM
KSAgICAgICAgICAgICAgICAgICAgICAgPyAiIElCUlNfQUxMIiAgICAgICA6
ICIiLAogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19SU0JBKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBSU0JBIiAgICAgICAgICAgOiAi
IiwKQEAgLTMzMiwxMyArMzMyLDE2IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBw
cmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBj
YXBzKQogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TU0JfTk8pICAg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBTU0JfTk8iICAgICAgICAgOiAi
IiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfTURTX05PKSAgICAg
ICAgICAgICAgICAgICAgICAgICA/ICIgTURTX05PIiAgICAgICAgIDogIiIs
CiAgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RBQV9OTykgICAgICAg
ICAgICAgICAgICAgICAgICAgPyAiIFRBQV9OTyIgICAgICAgICA6ICIiLAor
ICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TQkRSX1NTRFBfTk8pICAg
ICAgICAgICAgICAgICAgID8gIiBTQkRSX1NTRFBfTk8iICAgOiAiIiwKKyAg
ICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfRkJTRFBfTk8pICAgICAgICAg
ICAgICAgICAgICAgICA/ICIgRkJTRFBfTk8iICAgICAgIDogIiIsCisgICAg
ICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1BTRFBfTk8pICAgICAgICAgICAg
ICAgICAgICAgICAgPyAiIFBTRFBfTk8iICAgICAgICA6ICIiLAogICAgICAg
ICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlJTX0FM
V0FZUykpICAgID8gIiBJQlJTX0FMV0FZUyIgICAgOiAiIiwKICAgICAgICAg
ICAgKGU4YiAgJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1RJQlBfQUxX
QVlTKSkgICA/ICIgU1RJQlBfQUxXQVlTIiAgIDogIiIsCiAgICAgICAgICAg
IChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlNfRkFTVCkp
ICAgICAgPyAiIElCUlNfRkFTVCIgICAgICA6ICIiLAogICAgICAgICAgICAo
ZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlJTX1NBTUVfTU9E
RSkpID8gIiBJQlJTX1NBTUVfTU9ERSIgOiAiIik7CiAKICAgICAvKiBIYXJk
d2FyZSBmZWF0dXJlcyB3aGljaCBuZWVkIGRyaXZpbmcgdG8gbWl0aWdhdGUg
aXNzdWVzLiAqLwotICAgIHByaW50aygiICBIYXJkd2FyZSBmZWF0dXJlczol
cyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAgICBwcmludGsoIiAgSGFyZHdh
cmUgZmVhdHVyZXM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVzXG4iLAogICAg
ICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlBC
KSkgfHwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2soWDg2X0ZF
QVRVUkVfSUJSU0IpKSAgICAgICAgICA/ICIgSUJQQiIgICAgICAgICAgIDog
IiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFU
VVJFX0lCUlMpKSB8fApAQCAtMzUzLDcgKzM1Niw5IEBAIHN0YXRpYyB2b2lk
IF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1
aW50NjRfdCBjYXBzKQogICAgICAgICAgICAoXzdkMCAmIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9NRF9DTEVBUikpICAgICAgID8gIiBNRF9DTEVBUiIg
ICAgICAgOiAiIiwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2so
WDg2X0ZFQVRVUkVfU1JCRFNfQ1RSTCkpICAgICA/ICIgU1JCRFNfQ1RSTCIg
ICAgIDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4
Nl9GRUFUVVJFX1ZJUlRfU1NCRCkpICAgICAgPyAiIFZJUlRfU1NCRCIgICAg
ICA6ICIiLAotICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19UU1hfQ1RS
TCkgICAgICAgICAgICAgICAgICAgICAgID8gIiBUU1hfQ1RSTCIgICAgICAg
OiAiIik7CisgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RTWF9DVFJM
KSAgICAgICAgICAgICAgICAgICAgICAgPyAiIFRTWF9DVFJMIiAgICAgICA6
ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19GQl9DTEVBUikg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBGQl9DTEVBUiIgICAgICAgOiAi
IiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfRkJfQ0xFQVJfQ1RS
TCkgICAgICAgICAgICAgICAgICA/ICIgRkJfQ0xFQVJfQ1RSTCIgIDogIiIp
OwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3VwcG9ydCB3aGljaCBwZXJ0YWlu
cyB0byBtaXRpZ2F0aW9ucy4gKi8KICAgICBpZiAoIElTX0VOQUJMRUQoQ09O
RklHX0lORElSRUNUX1RIVU5LKSB8fCBJU19FTkFCTEVEKENPTkZJR19TSEFE
T1dfUEFHSU5HKSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2
L21zci1pbmRleC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXgu
aAppbmRleCA3YTM5ZDk0YjlhNzAuLmM4NjcwZWFiOGVmNSAxMDA2NDQKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi94ZW4v
aW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCkBAIC01Niw2ICs1NiwxMSBA
QAogI2RlZmluZSAgQVJDSF9DQVBTX0lGX1BTQ0hBTkdFX01DX05PICAgICAg
ICAoX0FDKDEsIFVMTCkgPDwgIDYpCiAjZGVmaW5lICBBUkNIX0NBUFNfVFNY
X0NUUkwgICAgICAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAgNykKICNk
ZWZpbmUgIEFSQ0hfQ0FQU19UQUFfTk8gICAgICAgICAgICAgICAgICAgKF9B
QygxLCBVTEwpIDw8ICA4KQorI2RlZmluZSAgQVJDSF9DQVBTX1NCRFJfU1NE
UF9OTyAgICAgICAgICAgICAoX0FDKDEsIFVMTCkgPDwgMTMpCisjZGVmaW5l
ICBBUkNIX0NBUFNfRkJTRFBfTk8gICAgICAgICAgICAgICAgIChfQUMoMSwg
VUxMKSA8PCAxNCkKKyNkZWZpbmUgIEFSQ0hfQ0FQU19QU0RQX05PICAgICAg
ICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8IDE1KQorI2RlZmluZSAgQVJD
SF9DQVBTX0ZCX0NMRUFSICAgICAgICAgICAgICAgICAoX0FDKDEsIFVMTCkg
PDwgMTcpCisjZGVmaW5lICBBUkNIX0NBUFNfRkJfQ0xFQVJfQ1RSTCAgICAg
ICAgICAgIChfQUMoMSwgVUxMKSA8PCAxOCkKIAogI2RlZmluZSBNU1JfRkxV
U0hfQ01EICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTBiCiAjZGVm
aW5lICBGTFVTSF9DTURfTDFEICAgICAgICAgICAgICAgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgMCkKQEAgLTczLDYgKzc4LDcgQEAKICNkZWZpbmUgIE1D
VV9PUFRfQ1RSTF9STkdEU19NSVRHX0RJUyAgICAgICAgKF9BQygxLCBVTEwp
IDw8ICAwKQogI2RlZmluZSAgTUNVX09QVF9DVFJMX1JUTV9BTExPVyAgICAg
ICAgICAgICAoX0FDKDEsIFVMTCkgPDwgIDEpCiAjZGVmaW5lICBNQ1VfT1BU
X0NUUkxfUlRNX0xPQ0tFRCAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAg
MikKKyNkZWZpbmUgIE1DVV9PUFRfQ1RSTF9GQl9DTEVBUl9ESVMgICAgICAg
ICAgKF9BQygxLCBVTEwpIDw8ICAzKQogCiAjZGVmaW5lIE1TUl9SVElUX09V
VFBVVF9CQVNFICAgICAgICAgICAgICAgIDB4MDAwMDA1NjAKICNkZWZpbmUg
TVNSX1JUSVRfT1VUUFVUX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDU2
MQo=

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.14-3.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.14-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogQWRkIHNwZWMtY3RybD11bnBy
aXYtbW1pbwoKUGVyIFhlbidzIHN1cHBvcnQgc3RhdGVtZW50LCBQQ0kgcGFz
c3Rocm91Z2ggc2hvdWxkIGJlIHRvIHRydXN0ZWQgZG9tYWlucwpiZWNhdXNl
IHRoZSBvdmVyYWxsIHN5c3RlbSBzZWN1cml0eSBkZXBlbmRzIG9uIGZhY3Rv
cnMgb3V0c2lkZSBvZiBYZW4ncwpjb250cm9sLgoKQXMgc3VjaCwgWGVuLCBp
biBhIHN1cHBvcnRlZCBjb25maWd1cmF0aW9uLCBpcyBub3QgdnVsbmVyYWJs
ZSB0byBEUlBXL1NCRFIuCgpIb3dldmVyLCB1c2VycyB3aG8gaGF2ZSByaXNr
IGFzc2Vzc2VkIHRoZWlyIGNvbmZpZ3VyYXRpb24gbWF5IGJlIGhhcHB5IHdp
dGgKdGhlIHJpc2sgb2YgRG9TLCBidXQgdW5oYXBweSB3aXRoIHRoZSByaXNr
IG9mIGNyb3NzLWRvbWFpbiBkYXRhIGxlYWthZ2UuICBTdWNoCnVzZXJzIHNo
b3VsZCBlbmFibGUgdGhpcyBvcHRpb24uCgpPbiBDUFVzIHZ1bG5lcmFibGUg
dG8gTURTLCB0aGUgZXhpc3RpbmcgbWl0aWdhdGlvbnMgYXJlIHRoZSBiZXN0
IHdlIGNhbiBkbyB0bwptaXRpZ2F0ZSBNTUlPIGNyb3NzLWRvbWFpbiBkYXRh
IGxlYWthZ2UuCgpPbiBDUFVzIGZpeGVkIHRvIE1EUyBidXQgdnVsbmVyYWJs
ZSBNTUlPIHN0YWxlIGRhdGEgbGVha2FnZSwgdGhpcyBvcHRpb246CgogKiBP
biBDUFVzIHN1c2NlcHRpYmxlIHRvIEZCU0RQLCBtaXRpZ2F0ZXMgY3Jvc3Mt
ZG9tYWluIGZpbGwgYnVmZmVyIGxlYWthZ2UKICAgdXNpbmcgRkJfQ0xFQVIu
CiAqIE9uIENQVXMgc3VzY2VwdGlibGUgdG8gU0JEUiwgbWl0aWdhdGVzIFJO
RyBkYXRhIHJlY292ZXJ5IGJ5IGVuZ2FnaW5nIHRoZQogICBzcmItbG9jaywg
cHJldmlvdXNseSB1c2VkIHRvIG1pdGlnYXRlIFNSQkRTLgoKQm90aCBtaXRp
Z2F0aW9ucyByZXF1aXJlIG1pY3JvY29kZSBmcm9tIElQVSAyMDIyLjEsIE1h
eSAyMDIyLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDQuCgpTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+Ci0tLQpCYWNrcG9ydGluZyBub3RlOiBGb3IgWGVuIDQuNyBh
bmQgZWFybGllciB3aXRoIGJvb2xfdCBub3QgYWxpYXNpbmcgYm9vbCwgdGhl
CkFSQ0hfQ0FQU19GQl9DTEVBUiBodW5rIG5lZWRzICEhCgpkaWZmIC0tZ2l0
IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIGIvZG9jcy9t
aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmluZGV4IGFkODU3ODVlMTRi
My4uZDFkNTg1MmNkZDg0IDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNv
bW1hbmQtbGluZS5wYW5kb2MKKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k
LWxpbmUucGFuZG9jCkBAIC0yMTA2LDcgKzIxMDYsNyBAQCBCeSBkZWZhdWx0
IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVudGltZSAoaS5lIGBzc2Jk
PXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4NikKID4gYD0gTGlzdCBv
ZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNiLG1k
LWNsZWFyfT08Ym9vbD4sCiA+ICAgICAgICAgICAgICBidGktdGh1bms9cmV0
cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIsc3NiZCxlYWdlci1mcHUs
Ci0+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJhbmNoLWhhcmRlbixzcmIt
bG9ja309PGJvb2w+IF1gCis+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJh
bmNoLWhhcmRlbixzcmItbG9jayx1bnByaXYtbW1pb309PGJvb2w+IF1gCiAK
IENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5u
ZWwgbWl0aWdhdGlvbnMuICBCeSBkZWZhdWx0LCBYZW4KIHdpbGwgcGljayB0
aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBiYXNlZCBvbiBjb21w
aWxlZCBpbiBzdXBwb3J0LApAQCAtMjE4NSw4ICsyMTg1LDE2IEBAIFhlbiB3
aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24uCiBPbiBoYXJkd2FyZSBzdXBw
b3J0aW5nIFNSQkRTX0NUUkwsIHRoZSBgc3JiLWxvY2s9YCBvcHRpb24gY2Fu
IGJlIHVzZWQgdG8gZm9yY2UKIG9yIHByZXZlbnQgWGVuIGZyb20gcHJvdGVj
dCB0aGUgU3BlY2lhbCBSZWdpc3RlciBCdWZmZXIgZnJvbSBsZWFraW5nIHN0
YWxlCiBkYXRhLiBCeSBkZWZhdWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBt
aXRpZ2F0aW9uLCBleGNlcHQgb24gcGFydHMgd2hlcmUgTURTCi1pcyBmaXhl
ZCBhbmQgVEFBIGlzIGZpeGVkL21pdGlnYXRlZCAoaW4gd2hpY2ggY2FzZSwg
dGhlcmUgaXMgYmVsaWV2ZWQgdG8gYmUgbm8KLXdheSBmb3IgYW4gYXR0YWNr
ZXIgdG8gb2J0YWluIHRoZSBzdGFsZSBkYXRhKS4KK2lzIGZpeGVkIGFuZCBU
QUEgaXMgZml4ZWQvbWl0aWdhdGVkIGFuZCB0aGVyZSBhcmUgbm8gdW5wcml2
aWxlZ2VkIE1NSU8KK21hcHBpbmdzIChpbiB3aGljaCBjYXNlLCB0aGVyZSBp
cyBiZWxpZXZlZCB0byBiZSBubyB3YXkgZm9yIGFuIGF0dGFja2VyIHRvCitv
YnRhaW4gc3RhbGUgZGF0YSkuCisKK1RoZSBgdW5wcml2LW1taW89YCBib29s
ZWFuIGluZGljYXRlcyB3aGV0aGVyIHRoZSBzeXN0ZW0gaGFzIChvciB3aWxs
IGhhdmUpCitsZXNzIHRoYW4gZnVsbHkgcHJpdmlsZWdlZCBkb21haW5zIGdy
YW50ZWQgYWNjZXNzIHRvIE1NSU8gZGV2aWNlcy4gIEJ5CitkZWZhdWx0LCB0
aGlzIG9wdGlvbiBpcyBkaXNhYmxlZC4gIElmIGVuYWJsZWQsIFhlbiB3aWxs
IHVzZSB0aGUgYEZCX0NMRUFSYAorYW5kL29yIGBTUkJEU19DVFJMYCBmdW5j
dGlvbmFsaXR5IGF2YWlsYWJsZSBpbiB0aGUgSW50ZWwgTWF5IDIwMjIgbWlj
cm9jb2RlCityZWxlYXNlIHRvIG1pdGlnYXRlIGNyb3NzLWRvbWFpbiBsZWFr
YWdlIG9mIGRhdGEgdmlhIHRoZSBNTUlPIFN0YWxlIERhdGEKK3Z1bG5lcmFi
aWxpdGllcy4KIAogIyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5g
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4v
YXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXggMzhlMGNjMjg0N2UwLi44M2I4
NTZmYTkxNTggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTY3LDYgKzY3
LDggQEAgc3RhdGljIGJvb2wgX19pbml0ZGF0YSBjcHVfaGFzX2J1Z19tc2Jk
c19vbmx5OyAvKiA9PiBtaW5pbWFsIEhUIGltcGFjdC4gKi8KIHN0YXRpYyBi
b29sIF9faW5pdGRhdGEgY3B1X2hhc19idWdfbWRzOyAvKiBBbnkgb3RoZXIg
TXtMUCxTQixGQn1EUyBjb21iaW5hdGlvbi4gKi8KIAogc3RhdGljIGludDhf
dCBfX2luaXRkYXRhIG9wdF9zcmJfbG9jayA9IC0xOworc3RhdGljIGJvb2wg
X19pbml0ZGF0YSBvcHRfdW5wcml2X21taW87CitzdGF0aWMgYm9vbCBfX3Jl
YWRfbW9zdGx5IG9wdF9mYl9jbGVhcl9tbWlvOwogCiBzdGF0aWMgaW50IF9f
aW5pdCBwYXJzZV9zcGVjX2N0cmwoY29uc3QgY2hhciAqcykKIHsKQEAgLTE4
NCw2ICsxODYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9zcGVjX2N0
cmwoY29uc3QgY2hhciAqcykKICAgICAgICAgICAgIG9wdF9icmFuY2hfaGFy
ZGVuID0gdmFsOwogICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jv
b2xlYW4oInNyYi1sb2NrIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAgICAg
IG9wdF9zcmJfbG9jayA9IHZhbDsKKyAgICAgICAgZWxzZSBpZiAoICh2YWwg
PSBwYXJzZV9ib29sZWFuKCJ1bnByaXYtbW1pbyIsIHMsIHNzKSkgPj0gMCAp
CisgICAgICAgICAgICBvcHRfdW5wcml2X21taW8gPSB2YWw7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKIApAQCAtMzkyLDcg
KzM5Niw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVu
dW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAg
ICBvcHRfc3JiX2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/
ICIgU1JCX0xPQ0srIiA6ICIgU1JCX0xPQ0stIiwKICAgICAgICAgICAgb3B0
X2licGIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIElC
UEIiICA6ICIiLAogICAgICAgICAgICBvcHRfbDFkX2ZsdXNoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA/ICIgTDFEX0ZMVVNIIiA6ICIiLAotICAg
ICAgICAgICBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2bSAg
ICAgICA/ICIgVkVSVyIgIDogIiIsCisgICAgICAgICAgIG9wdF9tZF9jbGVh
cl9wdiB8fCBvcHRfbWRfY2xlYXJfaHZtIHx8CisgICAgICAgICAgIG9wdF9m
Yl9jbGVhcl9tbWlvICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBWRVJX
IiAgOiAiIiwKICAgICAgICAgICAgb3B0X2JyYW5jaF9oYXJkZW4gICAgICAg
ICAgICAgICAgICAgICAgICAgPyAiIEJSQU5DSF9IQVJERU4iIDogIiIpOwog
CiAgICAgLyogTDFURiBkaWFnbm9zdGljcywgcHJpbnRlZCBpZiB2dWxuZXJh
YmxlIG9yIFBWIHNoYWRvd2luZyBpcyBpbiB1c2UuICovCkBAIC05MTIsNyAr
OTE3LDkgQEAgdm9pZCBzcGVjX2N0cmxfaW5pdF9kb21haW4oc3RydWN0IGRv
bWFpbiAqZCkKIHsKICAgICBib29sIHB2ID0gaXNfcHZfZG9tYWluKGQpOwog
Ci0gICAgZC0+YXJjaC52ZXJ3ID0gcHYgPyBvcHRfbWRfY2xlYXJfcHYgOiBv
cHRfbWRfY2xlYXJfaHZtOworICAgIGQtPmFyY2gudmVydyA9CisgICAgICAg
IChwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm0pIHx8
CisgICAgICAgIChvcHRfZmJfY2xlYXJfbW1pbyAmJiBpc19pb21tdV9lbmFi
bGVkKGQpKTsKIH0KIAogdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxhdGlvbl9t
aXRpZ2F0aW9ucyh2b2lkKQpAQCAtMTE0OCw2ICsxMTU1LDE4IEBAIHZvaWQg
X19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAg
ICBtZHNfY2FsY3VsYXRpb25zKGNhcHMpOwogCiAgICAgLyoKKyAgICAgKiBQ
YXJ0cyB3aGljaCBlbnVtZXJhdGUgRkJfQ0xFQVIgYXJlIHRob3NlIHdoaWNo
IGFyZSBwb3N0LU1EU19OTyBhbmQgaGF2ZQorICAgICAqIHJlaW50cm9kdWNl
ZCB0aGUgVkVSVyBmaWxsIGJ1ZmZlciBmbHVzaGluZyBzaWRlIGVmZmVjdCBi
ZWNhdXNlIG9mIGEKKyAgICAgKiBzdXNjZXB0aWJpbGl0eSB0byBGQlNEUC4K
KyAgICAgKgorICAgICAqIElmIHVucHJpdmlsZWdlZCBndWVzdHMgaGF2ZSAo
b3Igd2lsbCBoYXZlKSBNTUlPIG1hcHBpbmdzLCB3ZSBjYW4KKyAgICAgKiBt
aXRpZ2F0ZSBjcm9zcy1kb21haW4gbGVha2FnZSBvZiBmaWxsIGJ1ZmZlciBk
YXRhIGJ5IGlzc3VpbmcgVkVSVyBvbgorICAgICAqIHRoZSByZXR1cm4tdG8t
Z3Vlc3QgcGF0aC4KKyAgICAgKi8KKyAgICBpZiAoIG9wdF91bnByaXZfbW1p
byApCisgICAgICAgIG9wdF9mYl9jbGVhcl9tbWlvID0gY2FwcyAmIEFSQ0hf
Q0FQU19GQl9DTEVBUjsKKworICAgIC8qCiAgICAgICogQnkgZGVmYXVsdCwg
ZW5hYmxlIFBWIGFuZCBIVk0gbWl0aWdhdGlvbnMgb24gTURTLXZ1bG5lcmFi
bGUgaGFyZHdhcmUuCiAgICAgICogVGhpcyB3aWxsIG9ubHkgYmUgYSB0b2tl
biBlZmZvcnQgZm9yIE1MUERTL01GQkRTIHdoZW4gSFQgaXMgZW5hYmxlZCwK
ICAgICAgKiBidXQgaXQgaXMgc29tZXdoYXQgYmV0dGVyIHRoYW4gbm90aGlu
Zy4KQEAgLTExNjAsMTggKzExNzksMjAgQEAgdm9pZCBfX2luaXQgaW5pdF9z
cGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NRF9DTEVB
UikpOwogCiAgICAgLyoKLSAgICAgKiBFbmFibGUgTURTIGRlZmVuY2VzIGFz
IGFwcGxpY2FibGUuICBUaGUgSWRsZSBibG9ja3MgbmVlZCB1c2luZyBpZgot
ICAgICAqIGVpdGhlciBQViBvciBIVk0gZGVmZW5jZXMgYXJlIHVzZWQuCisg
ICAgICogRW5hYmxlIE1EUy9NTUlPIGRlZmVuY2VzIGFzIGFwcGxpY2FibGUu
ICBUaGUgSWRsZSBibG9ja3MgbmVlZCB1c2luZyBpZgorICAgICAqIGVpdGhl
ciB0aGUgUFYgb3IgSFZNIE1EUyBkZWZlbmNlcyBhcmUgdXNlZCwgb3IgaWYg
d2UgbWF5IGdpdmUgTU1JTworICAgICAqIGFjY2VzcyB0byB1bnRydXN0ZWQg
Z3Vlc3RzLgogICAgICAqCiAgICAgICogSFZNIGlzIG1vcmUgY29tcGxpY2F0
ZWQuICBUaGUgTURfQ0xFQVIgbWljcm9jb2RlIGV4dGVuZHMgTDFEX0ZMVVNI
IHdpdGgKICAgICAgKiBlcXVpdmFsZW50IHNlbWFudGljcyB0byBhdm9pZCBu
ZWVkaW5nIHRvIHBlcmZvcm0gYm90aCBmbHVzaGVzIG9uIHRoZQotICAgICAq
IEhWTSBwYXRoLiAgVGhlcmVmb3JlLCB3ZSBkb24ndCBuZWVkIFZFUlcgaW4g
YWRkaXRpb24gdG8gTDFEX0ZMVVNILgorICAgICAqIEhWTSBwYXRoLiAgVGhl
cmVmb3JlLCB3ZSBkb24ndCBuZWVkIFZFUlcgaW4gYWRkaXRpb24gdG8gTDFE
X0ZMVVNIIChmb3IKKyAgICAgKiBNRFMgbWl0aWdhdGlvbnMuICBMMURfRkxV
U0ggaXMgbm90IHNhZmUgZm9yIE1NSU8gbWl0aWdhdGlvbnMuKQogICAgICAq
CiAgICAgICogQWZ0ZXIgY2FsY3VsYXRpbmcgdGhlIGFwcHJvcHJpYXRlIGlk
bGUgc2V0dGluZywgc2ltcGxpZnkKICAgICAgKiBvcHRfbWRfY2xlYXJfaHZt
IHRvIG1lYW4ganVzdCAic2hvdWxkIHdlIFZFUlcgb24gdGhlIHdheSBpbnRv
IEhWTQogICAgICAqIGd1ZXN0cyIsIHNvIHNwZWNfY3RybF9pbml0X2RvbWFp
bigpIGNhbiBjYWxjdWxhdGUgc3VpdGFibGUgc2V0dGluZ3MuCiAgICAgICov
Ci0gICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2
bSApCisgICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFy
X2h2bSB8fCBvcHRfZmJfY2xlYXJfbW1pbyApCiAgICAgICAgIHNldHVwX2Zv
cmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU0NfVkVSV19JRExFKTsKICAgICBv
cHRfbWRfY2xlYXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wx
REZMKSAmJiAhb3B0X2wxZF9mbHVzaDsKIApAQCAtMTIzNiwxNCArMTI1Nywx
OSBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25z
KHZvaWQpCiAgICAgICogT24gc29tZSBTUkJEUy1hZmZlY3RlZCBoYXJkd2Fy
ZSwgaXQgbWF5IGJlIHNhZmUgdG8gcmVsYXggc3JiLWxvY2sgYnkKICAgICAg
KiBkZWZhdWx0LgogICAgICAqCi0gICAgICogT24gcGFydHMgd2hpY2ggZW51
bWVyYXRlIE1EU19OTyBhbmQgbm90IFRBQV9OTywgVFNYIGlzIHRoZSBvbmx5
IGtub3duCi0gICAgICogd2F5IHRvIGFjY2VzcyB0aGUgRmlsbCBCdWZmZXIu
ICBJZiBUU1ggaXNuJ3QgYXZhaWxhYmxlIChpbmMuIFNLVQotICAgICAqIHJl
YXNvbnMgb24gc29tZSBtb2RlbHMpLCBvciBUU1ggaXMgZXhwbGljaXRseSBk
aXNhYmxlZCwgdGhlbiB0aGVyZSBpcwotICAgICAqIG5vIG5lZWQgZm9yIHRo
ZSBleHRyYSBvdmVyaGVhZCB0byBwcm90ZWN0IFJEUkFORC9SRFNFRUQuCisg
ICAgICogQWxsIHBhcnRzIHdpdGggU1JCRFNfQ1RSTCBzdWZmZXIgU1NEUCwg
dGhlIG1lY2hhbmlzbSBieSB3aGljaCBzdGFsZSBSTkcKKyAgICAgKiBkYXRh
IGJlY29tZXMgYXZhaWxhYmxlIHRvIG90aGVyIGNvbnRleHRzLiAgVG8gcmVj
b3ZlciB0aGUgZGF0YSwgYW4KKyAgICAgKiBhdHRhY2tlciBuZWVkcyB0byB1
c2U6CisgICAgICogIC0gU0JEUyAoTURTIG9yIFRBQSB0byBzYW1wbGUgdGhl
IGNvcmVzIGZpbGwgYnVmZmVyKQorICAgICAqICAtIFNCRFIgKEFyY2hpdGVj
dHVyYWxseSByZXRyaWV2ZSBzdGFsZSB0cmFuc2FjdGlvbiBidWZmZXIgY29u
dGVudHMpCisgICAgICogIC0gRFJQVyAoQXJjaGl0ZWN0dXJhbGx5IGxhdGNo
IHN0YWxlIGZpbGwgYnVmZmVyIGRhdGEpCisgICAgICoKKyAgICAgKiBPbiBN
RFNfTk8gcGFydHMsIGFuZCB3aXRoIFRBQV9OTyBvciBUU1ggdW5hdmFpbGFi
bGUvZGlzYWJsZWQsIGFuZCB0aGVyZQorICAgICAqIGlzIG5vIHVucHJpdmls
ZWdlZCBNTUlPIGFjY2VzcywgdGhlIFJORyBkYXRhIGRvZXNuJ3QgbmVlZCBw
cm90ZWN0aW5nLgogICAgICAqLwogICAgIGlmICggY3B1X2hhc19zcmJkc19j
dHJsICkKICAgICB7Ci0gICAgICAgIGlmICggb3B0X3NyYl9sb2NrID09IC0x
ICYmCisgICAgICAgIGlmICggb3B0X3NyYl9sb2NrID09IC0xICYmICFvcHRf
dW5wcml2X21taW8gJiYKICAgICAgICAgICAgICAoY2FwcyAmIChBUkNIX0NB
UFNfTURTX05PfEFSQ0hfQ0FQU19UQUFfTk8pKSA9PSBBUkNIX0NBUFNfTURT
X05PICYmCiAgICAgICAgICAgICAgKCFjcHVfaGFzX2hsZSB8fCAoKGNhcHMg
JiBBUkNIX0NBUFNfVFNYX0NUUkwpICYmIHJ0bV9kaXNhYmxlZCkpICkKICAg
ICAgICAgICAgIG9wdF9zcmJfbG9jayA9IDA7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.15-1.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.15-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogTWFrZSBWRVJXIGZsdXNoaW5n
IHJ1bnRpbWUgY29uZGl0aW9uYWwKCkN1cnJlbnRseSwgVkVSVyBmbHVzaGlu
ZyB0byBtaXRpZ2F0ZSBNRFMgaXMgYm9vdCB0aW1lIGNvbmRpdGlvbmFsIHBl
ciBkb21haW4KdHlwZS4gIEhvd2V2ZXIsIHRvIHByb3ZpZGUgbWl0aWdhdGlv
bnMgZm9yIERSUFcgKENWRS0yMDIyLTIxMTY2KSwgd2UgbmVlZCB0bwpjb25k
aXRpb25hbGx5IHVzZSBWRVJXIGJhc2VkIG9uIHRoZSB0cnVzdHdvcnRoaW5l
c3Mgb2YgdGhlIGd1ZXN0LCBhbmQgdGhlCmRldmljZXMgcGFzc2VkIHRocm91
Z2guCgpSZW1vdmUgdGhlIFBWL0hWTSBhbHRlcm5hdGl2ZXMgYW5kIGluc3Rl
YWQgaXNzdWUgYSBWRVJXIG9uIHRoZSByZXR1cm4tdG8tZ3Vlc3QKcGF0aCBk
ZXBlbmRpbmcgb24gdGhlIFNDRl92ZXJ3IGJpdCBpbiBjcHVpbmZvIHNwZWNf
Y3RybF9mbGFncy4KCkludHJvZHVjZSBzcGVjX2N0cmxfaW5pdF9kb21haW4o
KSBhbmQgZC0+YXJjaC52ZXJ3IHRvIGNhbGN1bGF0ZSB0aGUgVkVSVwpkaXNw
b3NpdGlvbiBhdCBkb21haW4gY3JlYXRpb24gdGltZSwgYW5kIGNvbnRleHQg
c3dpdGNoIHRoZSBTQ0ZfdmVydyBiaXQuCgpGb3Igbm93LCBWRVJXIGZsdXNo
aW5nIGlzIHVzZWQgYW5kIGNvbnRyb2xsZWQgZXhhY3RseSBhcyBiZWZvcmUs
IGJ1dCBsYXRlcgpwYXRjaGVzIHdpbGwgYWRkIHBlci1kb21haW4gY2FzZXMg
dG9vLgoKTm8gY2hhbmdlIGluIGJlaGF2aW91ci4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdpdCBh
L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlz
Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwppbmRleCAxY2FiMjZmZWY2MWYu
LmU0YzgyMGUxNzA1MyAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21t
YW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1s
aW5lLnBhbmRvYwpAQCAtMjE5NCw5ICsyMTk0LDggQEAgaW4gcGxhY2UgZm9y
IGd1ZXN0cyB0byB1c2UuCiBVc2Ugb2YgYSBwb3NpdGl2ZSBib29sZWFuIHZh
bHVlIGZvciBlaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBpcyBpbnZhbGlkLgog
CiBUaGUgYm9vbGVhbnMgYHB2PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNi
PWAgYW5kIGBtZC1jbGVhcj1gIG9mZmVyIGZpbmUKLWdyYWluZWQgY29udHJv
bCBvdmVyIHRoZSBhbHRlcm5hdGl2ZSBibG9ja3MgdXNlZCBieSBYZW4uICBU
aGVzZSBpbXBhY3QgWGVuJ3MKLWFiaWxpdHkgdG8gcHJvdGVjdCBpdHNlbGYs
IGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1YWxpc2Ugc3VwcG9ydCBmb3Ig
Z3Vlc3RzCi10byB1c2UuCitncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgcHJp
bWl0aXZlcyBieSBYZW4uICBUaGVzZSBpbXBhY3QgWGVuJ3MgYWJpbGl0eSB0
bworcHJvdGVjdCBpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1
YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzIHRvIHVzZS4KIAogKiBgcHY9YCBh
bmQgYGh2bT1gIG9mZmVyIGNvbnRyb2wgb3ZlciBhbGwgc3Vib3B0aW9ucyBm
b3IgUFYgYW5kIEhWTSBndWVzdHMKICAgcmVzcGVjdGl2ZWx5LgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCmluZGV4IGIyMTI3Mjk4ODAwNi4uNGE2MWU5NTFmYWNmIDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L2RvbWFpbi5jCkBAIC04NjEsNiArODYxLDggQEAgaW50IGFyY2hfZG9t
YWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgZC0+YXJjaC5t
c3JfcmVsYXhlZCA9IGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzICYgWEVOX1g4
Nl9NU1JfUkVMQVhFRDsKIAorICAgIHNwZWNfY3RybF9pbml0X2RvbWFpbihk
KTsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKQEAgLTE5OTQsMTQgKzE5
OTYsMTUgQEAgc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2b2lkKQog
dm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0
IHZjcHUgKm5leHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9w
cm9jZXNzb3JfaWQoKTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm8gPSBn
ZXRfY3B1X2luZm8oKTsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpwcmV2
ZCA9IHByZXYtPmRvbWFpbiwgKm5leHRkID0gbmV4dC0+ZG9tYWluOwogICAg
IHVuc2lnbmVkIGludCBkaXJ0eV9jcHUgPSByZWFkX2F0b21pYygmbmV4dC0+
ZGlydHlfY3B1KTsKIAogICAgIEFTU0VSVChwcmV2ICE9IG5leHQpOwogICAg
IEFTU0VSVChsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAgIGdldF9j
cHVfaW5mbygpLT51c2VfcHZfY3IzID0gZmFsc2U7Ci0gICAgZ2V0X2NwdV9p
bmZvKCktPnhlbl9jcjMgPSAwOworICAgIGluZm8tPnVzZV9wdl9jcjMgPSBm
YWxzZTsKKyAgICBpbmZvLT54ZW5fY3IzID0gMDsKIAogICAgIGlmICggdW5s
aWtlbHkoZGlydHlfY3B1ICE9IGNwdSkgJiYgZGlydHlfY3B1ICE9IFZDUFVf
Q1BVX0NMRUFOICkKICAgICB7CkBAIC0yMDY1LDYgKzIwNjgsMTEgQEAgdm9p
ZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0IHZj
cHUgKm5leHQpCiAgICAgICAgICAgICAgICAgKmxhc3RfaWQgPSBuZXh0X2lk
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgLyogVXBk
YXRlIHRoZSB0b3Atb2Ytc3RhY2sgYmxvY2sgd2l0aCB0aGUgVkVSVyBkaXNw
b3NpdGlvbi4gKi8KKyAgICAgICAgaW5mby0+c3BlY19jdHJsX2ZsYWdzICY9
IH5TQ0ZfdmVydzsKKyAgICAgICAgaWYgKCBuZXh0ZC0+YXJjaC52ZXJ3ICkK
KyAgICAgICAgICAgIGluZm8tPnNwZWNfY3RybF9mbGFncyB8PSBTQ0ZfdmVy
dzsKICAgICB9CiAKICAgICBzY2hlZF9jb250ZXh0X3N3aXRjaGVkKHByZXYs
IG5leHQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvZW50
cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMKaW5kZXggNDk2
NTFmM2M0MzVhLi41ZjVkZTQ1YTEzMDkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9odm0vdm14L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92
bXgvZW50cnkuUwpAQCAtODcsNyArODcsNyBAQCBVTkxJS0VMWV9FTkQocmVh
bG1vZGUpCiAKICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpg
LCBgam1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAqLwogICAg
ICAgICAvKiBTUEVDX0NUUkxfRVhJVF9UT19WTVggICBSZXE6ICVyc3A9cmVn
cy9jcHVpbmZvICAgICAgICAgICAgICBDbG9iOiAgICAqLwotICAgICAgICBB
TFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndf
c2VsKCVyc3ApKSwgWDg2X0ZFQVRVUkVfU0NfVkVSV19IVk0KKyAgICAgICAg
RE9fU1BFQ19DVFJMX0NPTkRfVkVSVwogCiAgICAgICAgIG1vdiAgVkNQVV9o
dm1fZ3Vlc3RfY3IyKCVyYngpLCVyYXgKIApkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3NwZWNfY3RybC5jIGIveGVuL2FyY2gveDg2L3NwZWNfY3RybC5j
CmluZGV4IDFlMjI2MTAyZDM5OS4uYjRlZmM5NDBhYTJiIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2FyY2gveDg2
L3NwZWNfY3RybC5jCkBAIC0zNiw4ICszNiw4IEBAIHN0YXRpYyBib29sIF9f
aW5pdGRhdGEgb3B0X21zcl9zY19wdiA9IHRydWU7CiBzdGF0aWMgYm9vbCBf
X2luaXRkYXRhIG9wdF9tc3Jfc2NfaHZtID0gdHJ1ZTsKIHN0YXRpYyBib29s
IF9faW5pdGRhdGEgb3B0X3JzYl9wdiA9IHRydWU7CiBzdGF0aWMgYm9vbCBf
X2luaXRkYXRhIG9wdF9yc2JfaHZtID0gdHJ1ZTsKLXN0YXRpYyBpbnQ4X3Qg
X19pbml0ZGF0YSBvcHRfbWRfY2xlYXJfcHYgPSAtMTsKLXN0YXRpYyBpbnQ4
X3QgX19pbml0ZGF0YSBvcHRfbWRfY2xlYXJfaHZtID0gLTE7CitzdGF0aWMg
aW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX3B2ID0gLTE7Citz
dGF0aWMgaW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX2h2bSA9
IC0xOwogCiAvKiBDbWRsaW5lIGNvbnRyb2xzIGZvciBYZW4ncyBzcGVjdWxh
dGl2ZSBzZXR0aW5ncy4gKi8KIHN0YXRpYyBlbnVtIGluZF90aHVuayB7CkBA
IC05MDMsNiArOTAzLDEzIEBAIHN0YXRpYyBfX2luaXQgdm9pZCBtZHNfY2Fs
Y3VsYXRpb25zKHVpbnQ2NF90IGNhcHMpCiAgICAgfQogfQogCit2b2lkIHNw
ZWNfY3RybF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQoreworICAg
IGJvb2wgcHYgPSBpc19wdl9kb21haW4oZCk7CisKKyAgICBkLT5hcmNoLnZl
cncgPSBwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm07
Cit9CisKIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlv
bnModm9pZCkKIHsKICAgICBlbnVtIGluZF90aHVuayB0aHVuayA9IFRIVU5L
X0RFRkFVTFQ7CkBAIC0xMTQ4LDIxICsxMTU1LDIwIEBAIHZvaWQgX19pbml0
IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVf
TURfQ0xFQVIpKTsKIAogICAgIC8qCi0gICAgICogRW5hYmxlIE1EUyBkZWZl
bmNlcyBhcyBhcHBsaWNhYmxlLiAgVGhlIFBWIGJsb2NrcyBuZWVkIHVzaW5n
IGFsbCB0aGUKLSAgICAgKiB0aW1lLCBhbmQgdGhlIElkbGUgYmxvY2tzIG5l
ZWQgdXNpbmcgaWYgZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUKLSAg
ICAgKiB1c2VkLgorICAgICAqIEVuYWJsZSBNRFMgZGVmZW5jZXMgYXMgYXBw
bGljYWJsZS4gIFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVzaW5nIGlmCisgICAg
ICogZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUgdXNlZC4KICAgICAg
KgogICAgICAqIEhWTSBpcyBtb3JlIGNvbXBsaWNhdGVkLiAgVGhlIE1EX0NM
RUFSIG1pY3JvY29kZSBleHRlbmRzIEwxRF9GTFVTSCB3aXRoCi0gICAgICog
ZXF1aXZlbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0byBwZXJm
b3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKLSAgICAgKiBIVk0gcGF0aC4gIFRo
ZSBIVk0gYmxvY2tzIGRvbid0IG5lZWQgYWN0aXZhdGluZyBpZiBvdXIgaHlw
ZXJ2aXNvciB0b2xkCi0gICAgICogdXMgaXQgd2FzIGhhbmRsaW5nIEwxRF9G
TFVTSCwgb3Igd2UgYXJlIHVzaW5nIEwxRF9GTFVTSCBvdXJzZWx2ZXMuCisg
ICAgICogZXF1aXZhbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0
byBwZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKKyAgICAgKiBIVk0gcGF0
aC4gIFRoZXJlZm9yZSwgd2UgZG9uJ3QgbmVlZCBWRVJXIGluIGFkZGl0aW9u
IHRvIEwxRF9GTFVTSC4KKyAgICAgKgorICAgICAqIEFmdGVyIGNhbGN1bGF0
aW5nIHRoZSBhcHByb3ByaWF0ZSBpZGxlIHNldHRpbmcsIHNpbXBsaWZ5Cisg
ICAgICogb3B0X21kX2NsZWFyX2h2bSB0byBtZWFuIGp1c3QgInNob3VsZCB3
ZSBWRVJXIG9uIHRoZSB3YXkgaW50byBIVk0KKyAgICAgKiBndWVzdHMiLCBz
byBzcGVjX2N0cmxfaW5pdF9kb21haW4oKSBjYW4gY2FsY3VsYXRlIHN1aXRh
YmxlIHNldHRpbmdzLgogICAgICAqLwotICAgIGlmICggb3B0X21kX2NsZWFy
X3B2ICkKLSAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVS
RV9TQ19WRVJXX1BWKTsKICAgICBpZiAoIG9wdF9tZF9jbGVhcl9wdiB8fCBv
cHRfbWRfY2xlYXJfaHZtICkKICAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2Nh
cChYODZfRkVBVFVSRV9TQ19WRVJXX0lETEUpOwotICAgIGlmICggb3B0X21k
X2NsZWFyX2h2bSAmJiAhKGNhcHMgJiBBUkNIX0NBUFNfU0tJUF9MMURGTCkg
JiYgIW9wdF9sMWRfZmx1c2ggKQotICAgICAgICBzZXR1cF9mb3JjZV9jcHVf
Y2FwKFg4Nl9GRUFUVVJFX1NDX1ZFUldfSFZNKTsKKyAgICBvcHRfbWRfY2xl
YXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wxREZMKSAmJiAh
b3B0X2wxZF9mbHVzaDsKIAogICAgIC8qCiAgICAgICogV2FybiB0aGUgdXNl
ciBpZiB0aGV5IGFyZSBvbiBNTFBEUy9NRkJEUy12dWxuZXJhYmxlIGhhcmR3
YXJlIHdpdGggSFQKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
Y3B1ZmVhdHVyZXMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVy
ZXMuaAppbmRleCAwOWY2MTk0NTliYzcuLjllYWFiN2EyYTFmYSAxMDA2NDQK
LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCisrKyBi
L3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaApAQCAtMzUsOCAr
MzUsNyBAQCBYRU5fQ1BVRkVBVFVSRShTQ19SU0JfSFZNLCAgICAgICAgWDg2
X1NZTlRIKDE5KSkgLyogUlNCIG92ZXJ3cml0ZSBuZWVkZWQgZm9yIEhWTQog
WEVOX0NQVUZFQVRVUkUoWEVOX1NFTEZTTk9PUCwgICAgIFg4Nl9TWU5USCgy
MCkpIC8qIFNFTEZTTk9PUCBnZXRzIHVzZWQgYnkgWGVuIGl0c2VsZiAqLwog
WEVOX0NQVUZFQVRVUkUoU0NfTVNSX0lETEUsICAgICAgIFg4Nl9TWU5USCgy
MSkpIC8qIChTQ19NU1JfUFYgfHwgU0NfTVNSX0hWTSkgJiYgZGVmYXVsdF94
ZW5fc3BlY19jdHJsICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fTEJSLCAgICAg
ICAgICAgWDg2X1NZTlRIKDIyKSkgLyogWGVuIHVzZXMgTVNSX0RFQlVHQ1RM
LkxCUiAqLwotWEVOX0NQVUZFQVRVUkUoU0NfVkVSV19QViwgICAgICAgIFg4
Nl9TWU5USCgyMykpIC8qIFZFUlcgdXNlZCBieSBYZW4gZm9yIFBWICovCi1Y
RU5fQ1BVRkVBVFVSRShTQ19WRVJXX0hWTSwgICAgICAgWDg2X1NZTlRIKDI0
KSkgLyogVkVSVyB1c2VkIGJ5IFhlbiBmb3IgSFZNICovCisvKiBCaXRzIDIz
LDI0IHVudXNlZC4gKi8KIFhFTl9DUFVGRUFUVVJFKFNDX1ZFUldfSURMRSwg
ICAgICBYODZfU1lOVEgoMjUpKSAvKiBWRVJXIHVzZWQgYnkgWGVuIGZvciBp
ZGxlICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fU0hTVEssICAgICAgICAgWDg2
X1NZTlRIKDI2KSkgLyogWGVuIHVzZXMgQ0VUIFNoYWRvdyBTdGFja3MgKi8K
IFhFTl9DUFVGRUFUVVJFKFhFTl9JQlQsICAgICAgICAgICBYODZfU1lOVEgo
MjcpKSAvKiBYZW4gdXNlcyBDRVQgSW5kaXJlY3QgQnJhbmNoIFRyYWNraW5n
ICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5o
IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAppbmRleCA3MjEzZDE4
NGIwMTYuLmQwZGY3ZjgzYWEwYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2Rv
bWFpbi5oCkBAIC0zMTksNiArMzE5LDkgQEAgc3RydWN0IGFyY2hfZG9tYWlu
CiAgICAgdWludDMyX3QgcGNpX2NmODsKICAgICB1aW50OF90IGNtb3NfaWR4
OwogCisgICAgLyogVXNlIFZFUlcgb24gcmV0dXJuLXRvLWd1ZXN0IGZvciBp
dHMgZmx1c2hpbmcgc2lkZSBlZmZlY3QuICovCisgICAgYm9vbCB2ZXJ3Owor
CiAgICAgdW5pb24gewogICAgICAgICBzdHJ1Y3QgcHZfZG9tYWluIHB2Owog
ICAgICAgICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm07CmRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5oIGIveGVuL2luY2x1ZGUv
YXNtLXg4Ni9zcGVjX2N0cmwuaAppbmRleCA5Y2FlY2RkZmVjOTYuLjY4ZjZj
NDZjNDcwYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVj
X2N0cmwuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5o
CkBAIC0yNCw2ICsyNCw3IEBACiAjZGVmaW5lIFNDRl91c2Vfc2hhZG93ICgx
IDw8IDApCiAjZGVmaW5lIFNDRl9pc3Rfd3Jtc3IgICgxIDw8IDEpCiAjZGVm
aW5lIFNDRl9pc3RfcnNiICAgICgxIDw8IDIpCisjZGVmaW5lIFNDRl92ZXJ3
ICAgICAgICgxIDw8IDMpCiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKQEAg
LTMyLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxhc20vbXNyLWluZGV4Lmg+CiAK
IHZvaWQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKTsKK3Zv
aWQgc3BlY19jdHJsX2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpOwog
CiBleHRlcm4gYm9vbCBvcHRfaWJwYjsKIGV4dGVybiBib29sIG9wdF9zc2Jk
OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxf
YXNtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaApp
bmRleCAwMmIzYjE4Y2U2OWYuLjVhNTkwYmFjNDRhYSAxMDA2NDQKLS0tIGEv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmgKQEAgLTEzNiw2ICsx
MzYsMTkgQEAKICNlbmRpZgogLmVuZG0KIAorLm1hY3JvIERPX1NQRUNfQ1RS
TF9DT05EX1ZFUlcKKy8qCisgKiBSZXF1aXJlcyAlcnNwPWNwdWluZm8KKyAq
CisgKiBJc3N1ZSBhIFZFUlcgZm9yIGl0cyBmbHVzaGluZyBzaWRlIGVmZmVj
dCwgaWYgaW5kaWNhdGVkLiAgVGhpcyBpcyBhIFNwZWN0cmUKKyAqIHYxIGdh
ZGdldCwgYnV0IHRoZSBJUkVUL1ZNRW50cnkgaXMgc2VyaWFsaXNpbmcuCisg
Ki8KKyAgICB0ZXN0YiAkU0NGX3ZlcncsIENQVUlORk9fc3BlY19jdHJsX2Zs
YWdzKCVyc3ApCisgICAganogLkxcQF92ZXJ3X3NraXAKKyAgICB2ZXJ3IENQ
VUlORk9fdmVyd19zZWwoJXJzcCkKKy5MXEBfdmVyd19za2lwOgorLmVuZG0K
KwogLm1hY3JvIERPX1NQRUNfQ1RSTF9FTlRSWSBtYXliZXhlbjpyZXEKIC8q
CiAgKiBSZXF1aXJlcyAlcnNwPXJlZ3MgKGFsc28gY3B1aW5mbyBpZiAhbWF5
YmV4ZW4pCkBAIC0yMzEsOCArMjQ0LDcgQEAKICNkZWZpbmUgU1BFQ19DVFJM
X0VYSVRfVE9fUFYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBBTFRFUk5BVElWRSAiIiwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICAgICAgRE9fU1BFQ19DVFJMX0VYSVRfVE9fR1VFU1QsIFg4Nl9GRUFUVVJF
X1NDX01TUl9QVjsgICAgICAgICAgICAgIFwKLSAgICBBTFRFUk5BVElWRSAi
IiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndfc2VsKCVyc3ApKSwg
ICAgICAgICAgIFwKLSAgICAgICAgWDg2X0ZFQVRVUkVfU0NfVkVSV19QVgor
ICAgIERPX1NQRUNfQ1RSTF9DT05EX1ZFUlcKIAogLyoKICAqIFVzZSBpbiBJ
U1QgaW50ZXJydXB0L2V4Y2VwdGlvbiBjb250ZXh0LiAgTWF5IGludGVycnVw
dCBYZW4gb3IgUFYgY29udGV4dC4K

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.15-2.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.15-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRW51bWVyYXRpb24gZm9yIE1N
SU8gU3RhbGUgRGF0YSBjb250cm9scwoKVGhlIHRocmVlICpfTk8gYml0cyBp
bmRpY2F0ZSBub24tc3VzY2VwdGliaWxpdHkgdG8gdGhlIFNTRFAsIEZCU0RQ
IGFuZCBQU0RQCmRhdGEgbW92ZW1lbnQgcHJpbWl0aXZlcy4KCkZCX0NMRUFS
IGluZGljYXRlcyB0aGF0IHRoZSBWRVJXIGluc3RydWN0aW9uIGhhcyByZS1n
YWluZWQgaXQncyBGaWxsIEJ1ZmZlcgpmbHVzaGluZyBzaWRlIGVmZmVjdC4g
IFRoaXMgaXMgb25seSBlbnVtZXJhdGVkIG9uIHBhcnRzIHdoZXJlIFZFUlcg
aGFkCnByZXZpb3VzbHkgbG9zdCBpdCdzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
IGR1ZSB0byB0aGUgTURTL1RBQSB2dWxuZXJhYmlsaXRpZXMKYmVpbmcgZml4
ZWQgaW4gaGFyZHdhcmUuCgpGQl9DTEVBUl9DVFJMIGlzIGF2YWlsYWJsZSBv
biBhIHN1YnNldCBvZiBGQl9DTEVBUiBwYXJ0cyB3aGVyZSB0aGUgRmlsbCBC
dWZmZXIKY2xlYXJpbmcgc2lkZSBlZmZlY3Qgb2YgVkVSVyBjYW4gYmUgdHVy
bmVkIG9mZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KClRoaXMgaXMgcGFy
dCBvZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyBiL3hlbi9hcmNoL3g4Ni9z
cGVjX2N0cmwuYwppbmRleCBiNGVmYzk0MGFhMmIuLjM4ZTBjYzI4NDdlMCAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtMzIzLDcgKzMyMyw3IEBAIHN0
YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5r
IHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAqIEhhcmR3YXJlIHJlYWQt
b25seSBpbmZvcm1hdGlvbiwgc3RhdGluZyBpbW11bml0eSB0byBjZXJ0YWlu
IGlzc3Vlcywgb3IKICAgICAgKiBzdWdnZXN0aW9ucyBvZiB3aGljaCBtaXRp
Z2F0aW9uIHRvIHVzZS4KICAgICAgKi8KLSAgICBwcmludGsoIiAgSGFyZHdh
cmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAgICBwcmlu
dGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVz
JXMlc1xuIiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfUkRDTF9O
TykgICAgICAgICAgICAgICAgICAgICAgICA/ICIgUkRDTF9OTyIgICAgICAg
IDogIiIsCiAgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX0lCUlNfQUxM
KSAgICAgICAgICAgICAgICAgICAgICAgPyAiIElCUlNfQUxMIiAgICAgICA6
ICIiLAogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19SU0JBKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBSU0JBIiAgICAgICAgICAgOiAi
IiwKQEAgLTMzMiwxMyArMzMyLDE2IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBw
cmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBj
YXBzKQogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TU0JfTk8pICAg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBTU0JfTk8iICAgICAgICAgOiAi
IiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfTURTX05PKSAgICAg
ICAgICAgICAgICAgICAgICAgICA/ICIgTURTX05PIiAgICAgICAgIDogIiIs
CiAgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RBQV9OTykgICAgICAg
ICAgICAgICAgICAgICAgICAgPyAiIFRBQV9OTyIgICAgICAgICA6ICIiLAor
ICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TQkRSX1NTRFBfTk8pICAg
ICAgICAgICAgICAgICAgID8gIiBTQkRSX1NTRFBfTk8iICAgOiAiIiwKKyAg
ICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfRkJTRFBfTk8pICAgICAgICAg
ICAgICAgICAgICAgICA/ICIgRkJTRFBfTk8iICAgICAgIDogIiIsCisgICAg
ICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1BTRFBfTk8pICAgICAgICAgICAg
ICAgICAgICAgICAgPyAiIFBTRFBfTk8iICAgICAgICA6ICIiLAogICAgICAg
ICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlJTX0FM
V0FZUykpICAgID8gIiBJQlJTX0FMV0FZUyIgICAgOiAiIiwKICAgICAgICAg
ICAgKGU4YiAgJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1RJQlBfQUxX
QVlTKSkgICA/ICIgU1RJQlBfQUxXQVlTIiAgIDogIiIsCiAgICAgICAgICAg
IChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlNfRkFTVCkp
ICAgICAgPyAiIElCUlNfRkFTVCIgICAgICA6ICIiLAogICAgICAgICAgICAo
ZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlJTX1NBTUVfTU9E
RSkpID8gIiBJQlJTX1NBTUVfTU9ERSIgOiAiIik7CiAKICAgICAvKiBIYXJk
d2FyZSBmZWF0dXJlcyB3aGljaCBuZWVkIGRyaXZpbmcgdG8gbWl0aWdhdGUg
aXNzdWVzLiAqLwotICAgIHByaW50aygiICBIYXJkd2FyZSBmZWF0dXJlczol
cyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAgICBwcmludGsoIiAgSGFyZHdh
cmUgZmVhdHVyZXM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVzXG4iLAogICAg
ICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlBC
KSkgfHwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2soWDg2X0ZF
QVRVUkVfSUJSU0IpKSAgICAgICAgICA/ICIgSUJQQiIgICAgICAgICAgIDog
IiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFU
VVJFX0lCUlMpKSB8fApAQCAtMzUzLDcgKzM1Niw5IEBAIHN0YXRpYyB2b2lk
IF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1
aW50NjRfdCBjYXBzKQogICAgICAgICAgICAoXzdkMCAmIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9NRF9DTEVBUikpICAgICAgID8gIiBNRF9DTEVBUiIg
ICAgICAgOiAiIiwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2so
WDg2X0ZFQVRVUkVfU1JCRFNfQ1RSTCkpICAgICA/ICIgU1JCRFNfQ1RSTCIg
ICAgIDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4
Nl9GRUFUVVJFX1ZJUlRfU1NCRCkpICAgICAgPyAiIFZJUlRfU1NCRCIgICAg
ICA6ICIiLAotICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19UU1hfQ1RS
TCkgICAgICAgICAgICAgICAgICAgICAgID8gIiBUU1hfQ1RSTCIgICAgICAg
OiAiIik7CisgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RTWF9DVFJM
KSAgICAgICAgICAgICAgICAgICAgICAgPyAiIFRTWF9DVFJMIiAgICAgICA6
ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19GQl9DTEVBUikg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBGQl9DTEVBUiIgICAgICAgOiAi
IiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfRkJfQ0xFQVJfQ1RS
TCkgICAgICAgICAgICAgICAgICA/ICIgRkJfQ0xFQVJfQ1RSTCIgIDogIiIp
OwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3VwcG9ydCB3aGljaCBwZXJ0YWlu
cyB0byBtaXRpZ2F0aW9ucy4gKi8KICAgICBpZiAoIElTX0VOQUJMRUQoQ09O
RklHX0lORElSRUNUX1RIVU5LKSB8fCBJU19FTkFCTEVEKENPTkZJR19TSEFE
T1dfUEFHSU5HKSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2
L21zci1pbmRleC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXgu
aAppbmRleCA5NDc3NzgxMDVmYjYuLjFlNzQzNDYxZTkxZCAxMDA2NDQKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi94ZW4v
aW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCkBAIC01OSw2ICs1OSwxMSBA
QAogI2RlZmluZSAgQVJDSF9DQVBTX0lGX1BTQ0hBTkdFX01DX05PICAgICAg
ICAoX0FDKDEsIFVMTCkgPDwgIDYpCiAjZGVmaW5lICBBUkNIX0NBUFNfVFNY
X0NUUkwgICAgICAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAgNykKICNk
ZWZpbmUgIEFSQ0hfQ0FQU19UQUFfTk8gICAgICAgICAgICAgICAgICAgKF9B
QygxLCBVTEwpIDw8ICA4KQorI2RlZmluZSAgQVJDSF9DQVBTX1NCRFJfU1NE
UF9OTyAgICAgICAgICAgICAoX0FDKDEsIFVMTCkgPDwgMTMpCisjZGVmaW5l
ICBBUkNIX0NBUFNfRkJTRFBfTk8gICAgICAgICAgICAgICAgIChfQUMoMSwg
VUxMKSA8PCAxNCkKKyNkZWZpbmUgIEFSQ0hfQ0FQU19QU0RQX05PICAgICAg
ICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8IDE1KQorI2RlZmluZSAgQVJD
SF9DQVBTX0ZCX0NMRUFSICAgICAgICAgICAgICAgICAoX0FDKDEsIFVMTCkg
PDwgMTcpCisjZGVmaW5lICBBUkNIX0NBUFNfRkJfQ0xFQVJfQ1RSTCAgICAg
ICAgICAgIChfQUMoMSwgVUxMKSA8PCAxOCkKIAogI2RlZmluZSBNU1JfRkxV
U0hfQ01EICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTBiCiAjZGVm
aW5lICBGTFVTSF9DTURfTDFEICAgICAgICAgICAgICAgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgMCkKQEAgLTc2LDYgKzgxLDcgQEAKICNkZWZpbmUgIE1D
VV9PUFRfQ1RSTF9STkdEU19NSVRHX0RJUyAgICAgICAgKF9BQygxLCBVTEwp
IDw8ICAwKQogI2RlZmluZSAgTUNVX09QVF9DVFJMX1JUTV9BTExPVyAgICAg
ICAgICAgICAoX0FDKDEsIFVMTCkgPDwgIDEpCiAjZGVmaW5lICBNQ1VfT1BU
X0NUUkxfUlRNX0xPQ0tFRCAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAg
MikKKyNkZWZpbmUgIE1DVV9PUFRfQ1RSTF9GQl9DTEVBUl9ESVMgICAgICAg
ICAgKF9BQygxLCBVTEwpIDw8ICAzKQogCiAjZGVmaW5lIE1TUl9SVElUX09V
VFBVVF9CQVNFICAgICAgICAgICAgICAgIDB4MDAwMDA1NjAKICNkZWZpbmUg
TVNSX1JUSVRfT1VUUFVUX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDU2
MQo=

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.15-3.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.15-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogQWRkIHNwZWMtY3RybD11bnBy
aXYtbW1pbwoKUGVyIFhlbidzIHN1cHBvcnQgc3RhdGVtZW50LCBQQ0kgcGFz
c3Rocm91Z2ggc2hvdWxkIGJlIHRvIHRydXN0ZWQgZG9tYWlucwpiZWNhdXNl
IHRoZSBvdmVyYWxsIHN5c3RlbSBzZWN1cml0eSBkZXBlbmRzIG9uIGZhY3Rv
cnMgb3V0c2lkZSBvZiBYZW4ncwpjb250cm9sLgoKQXMgc3VjaCwgWGVuLCBp
biBhIHN1cHBvcnRlZCBjb25maWd1cmF0aW9uLCBpcyBub3QgdnVsbmVyYWJs
ZSB0byBEUlBXL1NCRFIuCgpIb3dldmVyLCB1c2VycyB3aG8gaGF2ZSByaXNr
IGFzc2Vzc2VkIHRoZWlyIGNvbmZpZ3VyYXRpb24gbWF5IGJlIGhhcHB5IHdp
dGgKdGhlIHJpc2sgb2YgRG9TLCBidXQgdW5oYXBweSB3aXRoIHRoZSByaXNr
IG9mIGNyb3NzLWRvbWFpbiBkYXRhIGxlYWthZ2UuICBTdWNoCnVzZXJzIHNo
b3VsZCBlbmFibGUgdGhpcyBvcHRpb24uCgpPbiBDUFVzIHZ1bG5lcmFibGUg
dG8gTURTLCB0aGUgZXhpc3RpbmcgbWl0aWdhdGlvbnMgYXJlIHRoZSBiZXN0
IHdlIGNhbiBkbyB0bwptaXRpZ2F0ZSBNTUlPIGNyb3NzLWRvbWFpbiBkYXRh
IGxlYWthZ2UuCgpPbiBDUFVzIGZpeGVkIHRvIE1EUyBidXQgdnVsbmVyYWJs
ZSBNTUlPIHN0YWxlIGRhdGEgbGVha2FnZSwgdGhpcyBvcHRpb246CgogKiBP
biBDUFVzIHN1c2NlcHRpYmxlIHRvIEZCU0RQLCBtaXRpZ2F0ZXMgY3Jvc3Mt
ZG9tYWluIGZpbGwgYnVmZmVyIGxlYWthZ2UKICAgdXNpbmcgRkJfQ0xFQVIu
CiAqIE9uIENQVXMgc3VzY2VwdGlibGUgdG8gU0JEUiwgbWl0aWdhdGVzIFJO
RyBkYXRhIHJlY292ZXJ5IGJ5IGVuZ2FnaW5nIHRoZQogICBzcmItbG9jaywg
cHJldmlvdXNseSB1c2VkIHRvIG1pdGlnYXRlIFNSQkRTLgoKQm90aCBtaXRp
Z2F0aW9ucyByZXF1aXJlIG1pY3JvY29kZSBmcm9tIElQVSAyMDIyLjEsIE1h
eSAyMDIyLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDQuCgpTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+Ci0tLQpCYWNrcG9ydGluZyBub3RlOiBGb3IgWGVuIDQuNyBh
bmQgZWFybGllciB3aXRoIGJvb2xfdCBub3QgYWxpYXNpbmcgYm9vbCwgdGhl
CkFSQ0hfQ0FQU19GQl9DTEVBUiBodW5rIG5lZWRzICEhCgpkaWZmIC0tZ2l0
IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIGIvZG9jcy9t
aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmluZGV4IGU0YzgyMGUxNzA1
My4uZTE3YTgzNWVkMjU0IDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNv
bW1hbmQtbGluZS5wYW5kb2MKKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k
LWxpbmUucGFuZG9jCkBAIC0yMTcxLDcgKzIxNzEsNyBAQCBCeSBkZWZhdWx0
IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVudGltZSAoaS5lIGBzc2Jk
PXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4NikKID4gYD0gTGlzdCBv
ZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNiLG1k
LWNsZWFyfT08Ym9vbD4sCiA+ICAgICAgICAgICAgICBidGktdGh1bms9cmV0
cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIsc3NiZCxlYWdlci1mcHUs
Ci0+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJhbmNoLWhhcmRlbixzcmIt
bG9ja309PGJvb2w+IF1gCis+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJh
bmNoLWhhcmRlbixzcmItbG9jayx1bnByaXYtbW1pb309PGJvb2w+IF1gCiAK
IENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5u
ZWwgbWl0aWdhdGlvbnMuICBCeSBkZWZhdWx0LCBYZW4KIHdpbGwgcGljayB0
aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBiYXNlZCBvbiBjb21w
aWxlZCBpbiBzdXBwb3J0LApAQCAtMjI1MCw4ICsyMjUwLDE2IEBAIFhlbiB3
aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24uCiBPbiBoYXJkd2FyZSBzdXBw
b3J0aW5nIFNSQkRTX0NUUkwsIHRoZSBgc3JiLWxvY2s9YCBvcHRpb24gY2Fu
IGJlIHVzZWQgdG8gZm9yY2UKIG9yIHByZXZlbnQgWGVuIGZyb20gcHJvdGVj
dCB0aGUgU3BlY2lhbCBSZWdpc3RlciBCdWZmZXIgZnJvbSBsZWFraW5nIHN0
YWxlCiBkYXRhLiBCeSBkZWZhdWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBt
aXRpZ2F0aW9uLCBleGNlcHQgb24gcGFydHMgd2hlcmUgTURTCi1pcyBmaXhl
ZCBhbmQgVEFBIGlzIGZpeGVkL21pdGlnYXRlZCAoaW4gd2hpY2ggY2FzZSwg
dGhlcmUgaXMgYmVsaWV2ZWQgdG8gYmUgbm8KLXdheSBmb3IgYW4gYXR0YWNr
ZXIgdG8gb2J0YWluIHRoZSBzdGFsZSBkYXRhKS4KK2lzIGZpeGVkIGFuZCBU
QUEgaXMgZml4ZWQvbWl0aWdhdGVkIGFuZCB0aGVyZSBhcmUgbm8gdW5wcml2
aWxlZ2VkIE1NSU8KK21hcHBpbmdzIChpbiB3aGljaCBjYXNlLCB0aGVyZSBp
cyBiZWxpZXZlZCB0byBiZSBubyB3YXkgZm9yIGFuIGF0dGFja2VyIHRvCitv
YnRhaW4gc3RhbGUgZGF0YSkuCisKK1RoZSBgdW5wcml2LW1taW89YCBib29s
ZWFuIGluZGljYXRlcyB3aGV0aGVyIHRoZSBzeXN0ZW0gaGFzIChvciB3aWxs
IGhhdmUpCitsZXNzIHRoYW4gZnVsbHkgcHJpdmlsZWdlZCBkb21haW5zIGdy
YW50ZWQgYWNjZXNzIHRvIE1NSU8gZGV2aWNlcy4gIEJ5CitkZWZhdWx0LCB0
aGlzIG9wdGlvbiBpcyBkaXNhYmxlZC4gIElmIGVuYWJsZWQsIFhlbiB3aWxs
IHVzZSB0aGUgYEZCX0NMRUFSYAorYW5kL29yIGBTUkJEU19DVFJMYCBmdW5j
dGlvbmFsaXR5IGF2YWlsYWJsZSBpbiB0aGUgSW50ZWwgTWF5IDIwMjIgbWlj
cm9jb2RlCityZWxlYXNlIHRvIG1pdGlnYXRlIGNyb3NzLWRvbWFpbiBsZWFr
YWdlIG9mIGRhdGEgdmlhIHRoZSBNTUlPIFN0YWxlIERhdGEKK3Z1bG5lcmFi
aWxpdGllcy4KIAogIyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5g
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4v
YXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXggMzhlMGNjMjg0N2UwLi44M2I4
NTZmYTkxNTggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTY3LDYgKzY3
LDggQEAgc3RhdGljIGJvb2wgX19pbml0ZGF0YSBjcHVfaGFzX2J1Z19tc2Jk
c19vbmx5OyAvKiA9PiBtaW5pbWFsIEhUIGltcGFjdC4gKi8KIHN0YXRpYyBi
b29sIF9faW5pdGRhdGEgY3B1X2hhc19idWdfbWRzOyAvKiBBbnkgb3RoZXIg
TXtMUCxTQixGQn1EUyBjb21iaW5hdGlvbi4gKi8KIAogc3RhdGljIGludDhf
dCBfX2luaXRkYXRhIG9wdF9zcmJfbG9jayA9IC0xOworc3RhdGljIGJvb2wg
X19pbml0ZGF0YSBvcHRfdW5wcml2X21taW87CitzdGF0aWMgYm9vbCBfX3Jl
YWRfbW9zdGx5IG9wdF9mYl9jbGVhcl9tbWlvOwogCiBzdGF0aWMgaW50IF9f
aW5pdCBwYXJzZV9zcGVjX2N0cmwoY29uc3QgY2hhciAqcykKIHsKQEAgLTE4
NCw2ICsxODYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9zcGVjX2N0
cmwoY29uc3QgY2hhciAqcykKICAgICAgICAgICAgIG9wdF9icmFuY2hfaGFy
ZGVuID0gdmFsOwogICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jv
b2xlYW4oInNyYi1sb2NrIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAgICAg
IG9wdF9zcmJfbG9jayA9IHZhbDsKKyAgICAgICAgZWxzZSBpZiAoICh2YWwg
PSBwYXJzZV9ib29sZWFuKCJ1bnByaXYtbW1pbyIsIHMsIHNzKSkgPj0gMCAp
CisgICAgICAgICAgICBvcHRfdW5wcml2X21taW8gPSB2YWw7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKIApAQCAtMzkyLDcg
KzM5Niw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVu
dW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAg
ICBvcHRfc3JiX2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/
ICIgU1JCX0xPQ0srIiA6ICIgU1JCX0xPQ0stIiwKICAgICAgICAgICAgb3B0
X2licGIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIElC
UEIiICA6ICIiLAogICAgICAgICAgICBvcHRfbDFkX2ZsdXNoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA/ICIgTDFEX0ZMVVNIIiA6ICIiLAotICAg
ICAgICAgICBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2bSAg
ICAgICA/ICIgVkVSVyIgIDogIiIsCisgICAgICAgICAgIG9wdF9tZF9jbGVh
cl9wdiB8fCBvcHRfbWRfY2xlYXJfaHZtIHx8CisgICAgICAgICAgIG9wdF9m
Yl9jbGVhcl9tbWlvICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBWRVJX
IiAgOiAiIiwKICAgICAgICAgICAgb3B0X2JyYW5jaF9oYXJkZW4gICAgICAg
ICAgICAgICAgICAgICAgICAgPyAiIEJSQU5DSF9IQVJERU4iIDogIiIpOwog
CiAgICAgLyogTDFURiBkaWFnbm9zdGljcywgcHJpbnRlZCBpZiB2dWxuZXJh
YmxlIG9yIFBWIHNoYWRvd2luZyBpcyBpbiB1c2UuICovCkBAIC05MTIsNyAr
OTE3LDkgQEAgdm9pZCBzcGVjX2N0cmxfaW5pdF9kb21haW4oc3RydWN0IGRv
bWFpbiAqZCkKIHsKICAgICBib29sIHB2ID0gaXNfcHZfZG9tYWluKGQpOwog
Ci0gICAgZC0+YXJjaC52ZXJ3ID0gcHYgPyBvcHRfbWRfY2xlYXJfcHYgOiBv
cHRfbWRfY2xlYXJfaHZtOworICAgIGQtPmFyY2gudmVydyA9CisgICAgICAg
IChwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm0pIHx8
CisgICAgICAgIChvcHRfZmJfY2xlYXJfbW1pbyAmJiBpc19pb21tdV9lbmFi
bGVkKGQpKTsKIH0KIAogdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxhdGlvbl9t
aXRpZ2F0aW9ucyh2b2lkKQpAQCAtMTE0OCw2ICsxMTU1LDE4IEBAIHZvaWQg
X19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAg
ICBtZHNfY2FsY3VsYXRpb25zKGNhcHMpOwogCiAgICAgLyoKKyAgICAgKiBQ
YXJ0cyB3aGljaCBlbnVtZXJhdGUgRkJfQ0xFQVIgYXJlIHRob3NlIHdoaWNo
IGFyZSBwb3N0LU1EU19OTyBhbmQgaGF2ZQorICAgICAqIHJlaW50cm9kdWNl
ZCB0aGUgVkVSVyBmaWxsIGJ1ZmZlciBmbHVzaGluZyBzaWRlIGVmZmVjdCBi
ZWNhdXNlIG9mIGEKKyAgICAgKiBzdXNjZXB0aWJpbGl0eSB0byBGQlNEUC4K
KyAgICAgKgorICAgICAqIElmIHVucHJpdmlsZWdlZCBndWVzdHMgaGF2ZSAo
b3Igd2lsbCBoYXZlKSBNTUlPIG1hcHBpbmdzLCB3ZSBjYW4KKyAgICAgKiBt
aXRpZ2F0ZSBjcm9zcy1kb21haW4gbGVha2FnZSBvZiBmaWxsIGJ1ZmZlciBk
YXRhIGJ5IGlzc3VpbmcgVkVSVyBvbgorICAgICAqIHRoZSByZXR1cm4tdG8t
Z3Vlc3QgcGF0aC4KKyAgICAgKi8KKyAgICBpZiAoIG9wdF91bnByaXZfbW1p
byApCisgICAgICAgIG9wdF9mYl9jbGVhcl9tbWlvID0gY2FwcyAmIEFSQ0hf
Q0FQU19GQl9DTEVBUjsKKworICAgIC8qCiAgICAgICogQnkgZGVmYXVsdCwg
ZW5hYmxlIFBWIGFuZCBIVk0gbWl0aWdhdGlvbnMgb24gTURTLXZ1bG5lcmFi
bGUgaGFyZHdhcmUuCiAgICAgICogVGhpcyB3aWxsIG9ubHkgYmUgYSB0b2tl
biBlZmZvcnQgZm9yIE1MUERTL01GQkRTIHdoZW4gSFQgaXMgZW5hYmxlZCwK
ICAgICAgKiBidXQgaXQgaXMgc29tZXdoYXQgYmV0dGVyIHRoYW4gbm90aGlu
Zy4KQEAgLTExNjAsMTggKzExNzksMjAgQEAgdm9pZCBfX2luaXQgaW5pdF9z
cGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NRF9DTEVB
UikpOwogCiAgICAgLyoKLSAgICAgKiBFbmFibGUgTURTIGRlZmVuY2VzIGFz
IGFwcGxpY2FibGUuICBUaGUgSWRsZSBibG9ja3MgbmVlZCB1c2luZyBpZgot
ICAgICAqIGVpdGhlciBQViBvciBIVk0gZGVmZW5jZXMgYXJlIHVzZWQuCisg
ICAgICogRW5hYmxlIE1EUy9NTUlPIGRlZmVuY2VzIGFzIGFwcGxpY2FibGUu
ICBUaGUgSWRsZSBibG9ja3MgbmVlZCB1c2luZyBpZgorICAgICAqIGVpdGhl
ciB0aGUgUFYgb3IgSFZNIE1EUyBkZWZlbmNlcyBhcmUgdXNlZCwgb3IgaWYg
d2UgbWF5IGdpdmUgTU1JTworICAgICAqIGFjY2VzcyB0byB1bnRydXN0ZWQg
Z3Vlc3RzLgogICAgICAqCiAgICAgICogSFZNIGlzIG1vcmUgY29tcGxpY2F0
ZWQuICBUaGUgTURfQ0xFQVIgbWljcm9jb2RlIGV4dGVuZHMgTDFEX0ZMVVNI
IHdpdGgKICAgICAgKiBlcXVpdmFsZW50IHNlbWFudGljcyB0byBhdm9pZCBu
ZWVkaW5nIHRvIHBlcmZvcm0gYm90aCBmbHVzaGVzIG9uIHRoZQotICAgICAq
IEhWTSBwYXRoLiAgVGhlcmVmb3JlLCB3ZSBkb24ndCBuZWVkIFZFUlcgaW4g
YWRkaXRpb24gdG8gTDFEX0ZMVVNILgorICAgICAqIEhWTSBwYXRoLiAgVGhl
cmVmb3JlLCB3ZSBkb24ndCBuZWVkIFZFUlcgaW4gYWRkaXRpb24gdG8gTDFE
X0ZMVVNIIChmb3IKKyAgICAgKiBNRFMgbWl0aWdhdGlvbnMuICBMMURfRkxV
U0ggaXMgbm90IHNhZmUgZm9yIE1NSU8gbWl0aWdhdGlvbnMuKQogICAgICAq
CiAgICAgICogQWZ0ZXIgY2FsY3VsYXRpbmcgdGhlIGFwcHJvcHJpYXRlIGlk
bGUgc2V0dGluZywgc2ltcGxpZnkKICAgICAgKiBvcHRfbWRfY2xlYXJfaHZt
IHRvIG1lYW4ganVzdCAic2hvdWxkIHdlIFZFUlcgb24gdGhlIHdheSBpbnRv
IEhWTQogICAgICAqIGd1ZXN0cyIsIHNvIHNwZWNfY3RybF9pbml0X2RvbWFp
bigpIGNhbiBjYWxjdWxhdGUgc3VpdGFibGUgc2V0dGluZ3MuCiAgICAgICov
Ci0gICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2
bSApCisgICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFy
X2h2bSB8fCBvcHRfZmJfY2xlYXJfbW1pbyApCiAgICAgICAgIHNldHVwX2Zv
cmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU0NfVkVSV19JRExFKTsKICAgICBv
cHRfbWRfY2xlYXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wx
REZMKSAmJiAhb3B0X2wxZF9mbHVzaDsKIApAQCAtMTIzNiwxNCArMTI1Nywx
OSBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25z
KHZvaWQpCiAgICAgICogT24gc29tZSBTUkJEUy1hZmZlY3RlZCBoYXJkd2Fy
ZSwgaXQgbWF5IGJlIHNhZmUgdG8gcmVsYXggc3JiLWxvY2sgYnkKICAgICAg
KiBkZWZhdWx0LgogICAgICAqCi0gICAgICogT24gcGFydHMgd2hpY2ggZW51
bWVyYXRlIE1EU19OTyBhbmQgbm90IFRBQV9OTywgVFNYIGlzIHRoZSBvbmx5
IGtub3duCi0gICAgICogd2F5IHRvIGFjY2VzcyB0aGUgRmlsbCBCdWZmZXIu
ICBJZiBUU1ggaXNuJ3QgYXZhaWxhYmxlIChpbmMuIFNLVQotICAgICAqIHJl
YXNvbnMgb24gc29tZSBtb2RlbHMpLCBvciBUU1ggaXMgZXhwbGljaXRseSBk
aXNhYmxlZCwgdGhlbiB0aGVyZSBpcwotICAgICAqIG5vIG5lZWQgZm9yIHRo
ZSBleHRyYSBvdmVyaGVhZCB0byBwcm90ZWN0IFJEUkFORC9SRFNFRUQuCisg
ICAgICogQWxsIHBhcnRzIHdpdGggU1JCRFNfQ1RSTCBzdWZmZXIgU1NEUCwg
dGhlIG1lY2hhbmlzbSBieSB3aGljaCBzdGFsZSBSTkcKKyAgICAgKiBkYXRh
IGJlY29tZXMgYXZhaWxhYmxlIHRvIG90aGVyIGNvbnRleHRzLiAgVG8gcmVj
b3ZlciB0aGUgZGF0YSwgYW4KKyAgICAgKiBhdHRhY2tlciBuZWVkcyB0byB1
c2U6CisgICAgICogIC0gU0JEUyAoTURTIG9yIFRBQSB0byBzYW1wbGUgdGhl
IGNvcmVzIGZpbGwgYnVmZmVyKQorICAgICAqICAtIFNCRFIgKEFyY2hpdGVj
dHVyYWxseSByZXRyaWV2ZSBzdGFsZSB0cmFuc2FjdGlvbiBidWZmZXIgY29u
dGVudHMpCisgICAgICogIC0gRFJQVyAoQXJjaGl0ZWN0dXJhbGx5IGxhdGNo
IHN0YWxlIGZpbGwgYnVmZmVyIGRhdGEpCisgICAgICoKKyAgICAgKiBPbiBN
RFNfTk8gcGFydHMsIGFuZCB3aXRoIFRBQV9OTyBvciBUU1ggdW5hdmFpbGFi
bGUvZGlzYWJsZWQsIGFuZCB0aGVyZQorICAgICAqIGlzIG5vIHVucHJpdmls
ZWdlZCBNTUlPIGFjY2VzcywgdGhlIFJORyBkYXRhIGRvZXNuJ3QgbmVlZCBw
cm90ZWN0aW5nLgogICAgICAqLwogICAgIGlmICggY3B1X2hhc19zcmJkc19j
dHJsICkKICAgICB7Ci0gICAgICAgIGlmICggb3B0X3NyYl9sb2NrID09IC0x
ICYmCisgICAgICAgIGlmICggb3B0X3NyYl9sb2NrID09IC0xICYmICFvcHRf
dW5wcml2X21taW8gJiYKICAgICAgICAgICAgICAoY2FwcyAmIChBUkNIX0NB
UFNfTURTX05PfEFSQ0hfQ0FQU19UQUFfTk8pKSA9PSBBUkNIX0NBUFNfTURT
X05PICYmCiAgICAgICAgICAgICAgKCFjcHVfaGFzX2hsZSB8fCAoKGNhcHMg
JiBBUkNIX0NBUFNfVFNYX0NUUkwpICYmIHJ0bV9kaXNhYmxlZCkpICkKICAg
ICAgICAgICAgIG9wdF9zcmJfbG9jayA9IDA7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.16-1.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.16-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogTWFrZSBWRVJXIGZsdXNoaW5n
IHJ1bnRpbWUgY29uZGl0aW9uYWwKCkN1cnJlbnRseSwgVkVSVyBmbHVzaGlu
ZyB0byBtaXRpZ2F0ZSBNRFMgaXMgYm9vdCB0aW1lIGNvbmRpdGlvbmFsIHBl
ciBkb21haW4KdHlwZS4gIEhvd2V2ZXIsIHRvIHByb3ZpZGUgbWl0aWdhdGlv
bnMgZm9yIERSUFcgKENWRS0yMDIyLTIxMTY2KSwgd2UgbmVlZCB0bwpjb25k
aXRpb25hbGx5IHVzZSBWRVJXIGJhc2VkIG9uIHRoZSB0cnVzdHdvcnRoaW5l
c3Mgb2YgdGhlIGd1ZXN0LCBhbmQgdGhlCmRldmljZXMgcGFzc2VkIHRocm91
Z2guCgpSZW1vdmUgdGhlIFBWL0hWTSBhbHRlcm5hdGl2ZXMgYW5kIGluc3Rl
YWQgaXNzdWUgYSBWRVJXIG9uIHRoZSByZXR1cm4tdG8tZ3Vlc3QKcGF0aCBk
ZXBlbmRpbmcgb24gdGhlIFNDRl92ZXJ3IGJpdCBpbiBjcHVpbmZvIHNwZWNf
Y3RybF9mbGFncy4KCkludHJvZHVjZSBzcGVjX2N0cmxfaW5pdF9kb21haW4o
KSBhbmQgZC0+YXJjaC52ZXJ3IHRvIGNhbGN1bGF0ZSB0aGUgVkVSVwpkaXNw
b3NpdGlvbiBhdCBkb21haW4gY3JlYXRpb24gdGltZSwgYW5kIGNvbnRleHQg
c3dpdGNoIHRoZSBTQ0ZfdmVydyBiaXQuCgpGb3Igbm93LCBWRVJXIGZsdXNo
aW5nIGlzIHVzZWQgYW5kIGNvbnRyb2xsZWQgZXhhY3RseSBhcyBiZWZvcmUs
IGJ1dCBsYXRlcgpwYXRjaGVzIHdpbGwgYWRkIHBlci1kb21haW4gY2FzZXMg
dG9vLgoKTm8gY2hhbmdlIGluIGJlaGF2aW91ci4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdpdCBh
L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlz
Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwppbmRleCAxZDA4ZmI3ZTlhYTYu
LmQ1Y2IwOWY4NjU0MSAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21t
YW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1s
aW5lLnBhbmRvYwpAQCAtMjI1OCw5ICsyMjU4LDggQEAgaW4gcGxhY2UgZm9y
IGd1ZXN0cyB0byB1c2UuCiBVc2Ugb2YgYSBwb3NpdGl2ZSBib29sZWFuIHZh
bHVlIGZvciBlaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBpcyBpbnZhbGlkLgog
CiBUaGUgYm9vbGVhbnMgYHB2PWAsIGBodm09YCwgYG1zci1zYz1gLCBgcnNi
PWAgYW5kIGBtZC1jbGVhcj1gIG9mZmVyIGZpbmUKLWdyYWluZWQgY29udHJv
bCBvdmVyIHRoZSBhbHRlcm5hdGl2ZSBibG9ja3MgdXNlZCBieSBYZW4uICBU
aGVzZSBpbXBhY3QgWGVuJ3MKLWFiaWxpdHkgdG8gcHJvdGVjdCBpdHNlbGYs
IGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1YWxpc2Ugc3VwcG9ydCBmb3Ig
Z3Vlc3RzCi10byB1c2UuCitncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgcHJp
bWl0aXZlcyBieSBYZW4uICBUaGVzZSBpbXBhY3QgWGVuJ3MgYWJpbGl0eSB0
bworcHJvdGVjdCBpdHNlbGYsIGFuZCBYZW4ncyBhYmlsaXR5IHRvIHZpcnR1
YWxpc2Ugc3VwcG9ydCBmb3IgZ3Vlc3RzIHRvIHVzZS4KIAogKiBgcHY9YCBh
bmQgYGh2bT1gIG9mZmVyIGNvbnRyb2wgb3ZlciBhbGwgc3Vib3B0aW9ucyBm
b3IgUFYgYW5kIEhWTSBndWVzdHMKICAgcmVzcGVjdGl2ZWx5LgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCmluZGV4IGVmMTgxMmRjMTQwMi4uMWZlNjY0NGE3MWFlIDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L2RvbWFpbi5jCkBAIC04NjMsNiArODYzLDggQEAgaW50IGFyY2hfZG9t
YWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgZC0+YXJjaC5t
c3JfcmVsYXhlZCA9IGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzICYgWEVOX1g4
Nl9NU1JfUkVMQVhFRDsKIAorICAgIHNwZWNfY3RybF9pbml0X2RvbWFpbihk
KTsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKQEAgLTIwMTcsMTQgKzIw
MTksMTUgQEAgc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2b2lkKQog
dm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0
IHZjcHUgKm5leHQpCiB7CiAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9w
cm9jZXNzb3JfaWQoKTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm8gPSBn
ZXRfY3B1X2luZm8oKTsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpwcmV2
ZCA9IHByZXYtPmRvbWFpbiwgKm5leHRkID0gbmV4dC0+ZG9tYWluOwogICAg
IHVuc2lnbmVkIGludCBkaXJ0eV9jcHUgPSByZWFkX2F0b21pYygmbmV4dC0+
ZGlydHlfY3B1KTsKIAogICAgIEFTU0VSVChwcmV2ICE9IG5leHQpOwogICAg
IEFTU0VSVChsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAgIGdldF9j
cHVfaW5mbygpLT51c2VfcHZfY3IzID0gZmFsc2U7Ci0gICAgZ2V0X2NwdV9p
bmZvKCktPnhlbl9jcjMgPSAwOworICAgIGluZm8tPnVzZV9wdl9jcjMgPSBm
YWxzZTsKKyAgICBpbmZvLT54ZW5fY3IzID0gMDsKIAogICAgIGlmICggdW5s
aWtlbHkoZGlydHlfY3B1ICE9IGNwdSkgJiYgZGlydHlfY3B1ICE9IFZDUFVf
Q1BVX0NMRUFOICkKICAgICB7CkBAIC0yMDg4LDYgKzIwOTEsMTEgQEAgdm9p
ZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0IHZj
cHUgKm5leHQpCiAgICAgICAgICAgICAgICAgKmxhc3RfaWQgPSBuZXh0X2lk
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgLyogVXBk
YXRlIHRoZSB0b3Atb2Ytc3RhY2sgYmxvY2sgd2l0aCB0aGUgVkVSVyBkaXNw
b3NpdGlvbi4gKi8KKyAgICAgICAgaW5mby0+c3BlY19jdHJsX2ZsYWdzICY9
IH5TQ0ZfdmVydzsKKyAgICAgICAgaWYgKCBuZXh0ZC0+YXJjaC52ZXJ3ICkK
KyAgICAgICAgICAgIGluZm8tPnNwZWNfY3RybF9mbGFncyB8PSBTQ0ZfdmVy
dzsKICAgICB9CiAKICAgICBzY2hlZF9jb250ZXh0X3N3aXRjaGVkKHByZXYs
IG5leHQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvZW50
cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L2VudHJ5LlMKaW5kZXggNDk2
NTFmM2M0MzVhLi41ZjVkZTQ1YTEzMDkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9odm0vdm14L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92
bXgvZW50cnkuUwpAQCAtODcsNyArODcsNyBAQCBVTkxJS0VMWV9FTkQocmVh
bG1vZGUpCiAKICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpg
LCBgam1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAqLwogICAg
ICAgICAvKiBTUEVDX0NUUkxfRVhJVF9UT19WTVggICBSZXE6ICVyc3A9cmVn
cy9jcHVpbmZvICAgICAgICAgICAgICBDbG9iOiAgICAqLwotICAgICAgICBB
TFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndf
c2VsKCVyc3ApKSwgWDg2X0ZFQVRVUkVfU0NfVkVSV19IVk0KKyAgICAgICAg
RE9fU1BFQ19DVFJMX0NPTkRfVkVSVwogCiAgICAgICAgIG1vdiAgVkNQVV9o
dm1fZ3Vlc3RfY3IyKCVyYngpLCVyYXgKIApkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3NwZWNfY3RybC5jIGIveGVuL2FyY2gveDg2L3NwZWNfY3RybC5j
CmluZGV4IGMxOTQ2NGRhNzBjZS4uMjE3MzBhYTAzMDcxIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2FyY2gveDg2
L3NwZWNfY3RybC5jCkBAIC0zNiw4ICszNiw4IEBAIHN0YXRpYyBib29sIF9f
aW5pdGRhdGEgb3B0X21zcl9zY19wdiA9IHRydWU7CiBzdGF0aWMgYm9vbCBf
X2luaXRkYXRhIG9wdF9tc3Jfc2NfaHZtID0gdHJ1ZTsKIHN0YXRpYyBpbnQ4
X3QgX19pbml0ZGF0YSBvcHRfcnNiX3B2ID0gLTE7CiBzdGF0aWMgYm9vbCBf
X2luaXRkYXRhIG9wdF9yc2JfaHZtID0gdHJ1ZTsKLXN0YXRpYyBpbnQ4X3Qg
X19pbml0ZGF0YSBvcHRfbWRfY2xlYXJfcHYgPSAtMTsKLXN0YXRpYyBpbnQ4
X3QgX19pbml0ZGF0YSBvcHRfbWRfY2xlYXJfaHZtID0gLTE7CitzdGF0aWMg
aW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX3B2ID0gLTE7Citz
dGF0aWMgaW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X21kX2NsZWFyX2h2bSA9
IC0xOwogCiAvKiBDbWRsaW5lIGNvbnRyb2xzIGZvciBYZW4ncyBzcGVjdWxh
dGl2ZSBzZXR0aW5ncy4gKi8KIHN0YXRpYyBlbnVtIGluZF90aHVuayB7CkBA
IC05MzIsNiArOTMyLDEzIEBAIHN0YXRpYyBfX2luaXQgdm9pZCBtZHNfY2Fs
Y3VsYXRpb25zKHVpbnQ2NF90IGNhcHMpCiAgICAgfQogfQogCit2b2lkIHNw
ZWNfY3RybF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQoreworICAg
IGJvb2wgcHYgPSBpc19wdl9kb21haW4oZCk7CisKKyAgICBkLT5hcmNoLnZl
cncgPSBwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm07
Cit9CisKIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlv
bnModm9pZCkKIHsKICAgICBlbnVtIGluZF90aHVuayB0aHVuayA9IFRIVU5L
X0RFRkFVTFQ7CkBAIC0xMTk2LDIxICsxMjAzLDIwIEBAIHZvaWQgX19pbml0
IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVf
TURfQ0xFQVIpKTsKIAogICAgIC8qCi0gICAgICogRW5hYmxlIE1EUyBkZWZl
bmNlcyBhcyBhcHBsaWNhYmxlLiAgVGhlIFBWIGJsb2NrcyBuZWVkIHVzaW5n
IGFsbCB0aGUKLSAgICAgKiB0aW1lLCBhbmQgdGhlIElkbGUgYmxvY2tzIG5l
ZWQgdXNpbmcgaWYgZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUKLSAg
ICAgKiB1c2VkLgorICAgICAqIEVuYWJsZSBNRFMgZGVmZW5jZXMgYXMgYXBw
bGljYWJsZS4gIFRoZSBJZGxlIGJsb2NrcyBuZWVkIHVzaW5nIGlmCisgICAg
ICogZWl0aGVyIFBWIG9yIEhWTSBkZWZlbmNlcyBhcmUgdXNlZC4KICAgICAg
KgogICAgICAqIEhWTSBpcyBtb3JlIGNvbXBsaWNhdGVkLiAgVGhlIE1EX0NM
RUFSIG1pY3JvY29kZSBleHRlbmRzIEwxRF9GTFVTSCB3aXRoCi0gICAgICog
ZXF1aXZlbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0byBwZXJm
b3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKLSAgICAgKiBIVk0gcGF0aC4gIFRo
ZSBIVk0gYmxvY2tzIGRvbid0IG5lZWQgYWN0aXZhdGluZyBpZiBvdXIgaHlw
ZXJ2aXNvciB0b2xkCi0gICAgICogdXMgaXQgd2FzIGhhbmRsaW5nIEwxRF9G
TFVTSCwgb3Igd2UgYXJlIHVzaW5nIEwxRF9GTFVTSCBvdXJzZWx2ZXMuCisg
ICAgICogZXF1aXZhbGVudCBzZW1hbnRpY3MgdG8gYXZvaWQgbmVlZGluZyB0
byBwZXJmb3JtIGJvdGggZmx1c2hlcyBvbiB0aGUKKyAgICAgKiBIVk0gcGF0
aC4gIFRoZXJlZm9yZSwgd2UgZG9uJ3QgbmVlZCBWRVJXIGluIGFkZGl0aW9u
IHRvIEwxRF9GTFVTSC4KKyAgICAgKgorICAgICAqIEFmdGVyIGNhbGN1bGF0
aW5nIHRoZSBhcHByb3ByaWF0ZSBpZGxlIHNldHRpbmcsIHNpbXBsaWZ5Cisg
ICAgICogb3B0X21kX2NsZWFyX2h2bSB0byBtZWFuIGp1c3QgInNob3VsZCB3
ZSBWRVJXIG9uIHRoZSB3YXkgaW50byBIVk0KKyAgICAgKiBndWVzdHMiLCBz
byBzcGVjX2N0cmxfaW5pdF9kb21haW4oKSBjYW4gY2FsY3VsYXRlIHN1aXRh
YmxlIHNldHRpbmdzLgogICAgICAqLwotICAgIGlmICggb3B0X21kX2NsZWFy
X3B2ICkKLSAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVS
RV9TQ19WRVJXX1BWKTsKICAgICBpZiAoIG9wdF9tZF9jbGVhcl9wdiB8fCBv
cHRfbWRfY2xlYXJfaHZtICkKICAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2Nh
cChYODZfRkVBVFVSRV9TQ19WRVJXX0lETEUpOwotICAgIGlmICggb3B0X21k
X2NsZWFyX2h2bSAmJiAhKGNhcHMgJiBBUkNIX0NBUFNfU0tJUF9MMURGTCkg
JiYgIW9wdF9sMWRfZmx1c2ggKQotICAgICAgICBzZXR1cF9mb3JjZV9jcHVf
Y2FwKFg4Nl9GRUFUVVJFX1NDX1ZFUldfSFZNKTsKKyAgICBvcHRfbWRfY2xl
YXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wxREZMKSAmJiAh
b3B0X2wxZF9mbHVzaDsKIAogICAgIC8qCiAgICAgICogV2FybiB0aGUgdXNl
ciBpZiB0aGV5IGFyZSBvbiBNTFBEUy9NRkJEUy12dWxuZXJhYmxlIGhhcmR3
YXJlIHdpdGggSFQKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
Y3B1ZmVhdHVyZXMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVy
ZXMuaAppbmRleCBmZjMxNTdkNTJkMTMuLmJkNDVhMTQ0ZWU3OCAxMDA2NDQK
LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCisrKyBi
L3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaApAQCAtMzUsOCAr
MzUsNyBAQCBYRU5fQ1BVRkVBVFVSRShTQ19SU0JfSFZNLCAgICAgICAgWDg2
X1NZTlRIKDE5KSkgLyogUlNCIG92ZXJ3cml0ZSBuZWVkZWQgZm9yIEhWTQog
WEVOX0NQVUZFQVRVUkUoWEVOX1NFTEZTTk9PUCwgICAgIFg4Nl9TWU5USCgy
MCkpIC8qIFNFTEZTTk9PUCBnZXRzIHVzZWQgYnkgWGVuIGl0c2VsZiAqLwog
WEVOX0NQVUZFQVRVUkUoU0NfTVNSX0lETEUsICAgICAgIFg4Nl9TWU5USCgy
MSkpIC8qIChTQ19NU1JfUFYgfHwgU0NfTVNSX0hWTSkgJiYgZGVmYXVsdF94
ZW5fc3BlY19jdHJsICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fTEJSLCAgICAg
ICAgICAgWDg2X1NZTlRIKDIyKSkgLyogWGVuIHVzZXMgTVNSX0RFQlVHQ1RM
LkxCUiAqLwotWEVOX0NQVUZFQVRVUkUoU0NfVkVSV19QViwgICAgICAgIFg4
Nl9TWU5USCgyMykpIC8qIFZFUlcgdXNlZCBieSBYZW4gZm9yIFBWICovCi1Y
RU5fQ1BVRkVBVFVSRShTQ19WRVJXX0hWTSwgICAgICAgWDg2X1NZTlRIKDI0
KSkgLyogVkVSVyB1c2VkIGJ5IFhlbiBmb3IgSFZNICovCisvKiBCaXRzIDIz
LDI0IHVudXNlZC4gKi8KIFhFTl9DUFVGRUFUVVJFKFNDX1ZFUldfSURMRSwg
ICAgICBYODZfU1lOVEgoMjUpKSAvKiBWRVJXIHVzZWQgYnkgWGVuIGZvciBp
ZGxlICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fU0hTVEssICAgICAgICAgWDg2
X1NZTlRIKDI2KSkgLyogWGVuIHVzZXMgQ0VUIFNoYWRvdyBTdGFja3MgKi8K
IFhFTl9DUFVGRUFUVVJFKFhFTl9JQlQsICAgICAgICAgICBYODZfU1lOVEgo
MjcpKSAvKiBYZW4gdXNlcyBDRVQgSW5kaXJlY3QgQnJhbmNoIFRyYWNraW5n
ICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5o
IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAppbmRleCA5MmQ1NGRl
MGI5YTEuLjIzOThhMWQ5OWRhOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2Rv
bWFpbi5oCkBAIC0zMTksNiArMzE5LDkgQEAgc3RydWN0IGFyY2hfZG9tYWlu
CiAgICAgdWludDMyX3QgcGNpX2NmODsKICAgICB1aW50OF90IGNtb3NfaWR4
OwogCisgICAgLyogVXNlIFZFUlcgb24gcmV0dXJuLXRvLWd1ZXN0IGZvciBp
dHMgZmx1c2hpbmcgc2lkZSBlZmZlY3QuICovCisgICAgYm9vbCB2ZXJ3Owor
CiAgICAgdW5pb24gewogICAgICAgICBzdHJ1Y3QgcHZfZG9tYWluIHB2Owog
ICAgICAgICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm07CmRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5oIGIveGVuL2luY2x1ZGUv
YXNtLXg4Ni9zcGVjX2N0cmwuaAppbmRleCBmNzYwMjk1MjM2MTAuLjc1MTM1
NWY0NzFmNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVj
X2N0cmwuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5o
CkBAIC0yNCw2ICsyNCw3IEBACiAjZGVmaW5lIFNDRl91c2Vfc2hhZG93ICgx
IDw8IDApCiAjZGVmaW5lIFNDRl9pc3Rfd3Jtc3IgICgxIDw8IDEpCiAjZGVm
aW5lIFNDRl9pc3RfcnNiICAgICgxIDw8IDIpCisjZGVmaW5lIFNDRl92ZXJ3
ICAgICAgICgxIDw8IDMpCiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKQEAg
LTMyLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxhc20vbXNyLWluZGV4Lmg+CiAK
IHZvaWQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKTsKK3Zv
aWQgc3BlY19jdHJsX2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpOwog
CiBleHRlcm4gYm9vbCBvcHRfaWJwYjsKIGV4dGVybiBib29sIG9wdF9zc2Jk
OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxf
YXNtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaApp
bmRleCAwMmIzYjE4Y2U2OWYuLjVhNTkwYmFjNDRhYSAxMDA2NDQKLS0tIGEv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmgKQEAgLTEzNiw2ICsx
MzYsMTkgQEAKICNlbmRpZgogLmVuZG0KIAorLm1hY3JvIERPX1NQRUNfQ1RS
TF9DT05EX1ZFUlcKKy8qCisgKiBSZXF1aXJlcyAlcnNwPWNwdWluZm8KKyAq
CisgKiBJc3N1ZSBhIFZFUlcgZm9yIGl0cyBmbHVzaGluZyBzaWRlIGVmZmVj
dCwgaWYgaW5kaWNhdGVkLiAgVGhpcyBpcyBhIFNwZWN0cmUKKyAqIHYxIGdh
ZGdldCwgYnV0IHRoZSBJUkVUL1ZNRW50cnkgaXMgc2VyaWFsaXNpbmcuCisg
Ki8KKyAgICB0ZXN0YiAkU0NGX3ZlcncsIENQVUlORk9fc3BlY19jdHJsX2Zs
YWdzKCVyc3ApCisgICAganogLkxcQF92ZXJ3X3NraXAKKyAgICB2ZXJ3IENQ
VUlORk9fdmVyd19zZWwoJXJzcCkKKy5MXEBfdmVyd19za2lwOgorLmVuZG0K
KwogLm1hY3JvIERPX1NQRUNfQ1RSTF9FTlRSWSBtYXliZXhlbjpyZXEKIC8q
CiAgKiBSZXF1aXJlcyAlcnNwPXJlZ3MgKGFsc28gY3B1aW5mbyBpZiAhbWF5
YmV4ZW4pCkBAIC0yMzEsOCArMjQ0LDcgQEAKICNkZWZpbmUgU1BFQ19DVFJM
X0VYSVRfVE9fUFYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBBTFRFUk5BVElWRSAiIiwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICAgICAgRE9fU1BFQ19DVFJMX0VYSVRfVE9fR1VFU1QsIFg4Nl9GRUFUVVJF
X1NDX01TUl9QVjsgICAgICAgICAgICAgIFwKLSAgICBBTFRFUk5BVElWRSAi
IiwgX19zdHJpbmdpZnkodmVydyBDUFVJTkZPX3Zlcndfc2VsKCVyc3ApKSwg
ICAgICAgICAgIFwKLSAgICAgICAgWDg2X0ZFQVRVUkVfU0NfVkVSV19QVgor
ICAgIERPX1NQRUNfQ1RSTF9DT05EX1ZFUlcKIAogLyoKICAqIFVzZSBpbiBJ
U1QgaW50ZXJydXB0L2V4Y2VwdGlvbiBjb250ZXh0LiAgTWF5IGludGVycnVw
dCBYZW4gb3IgUFYgY29udGV4dC4K

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.16-2.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.16-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRW51bWVyYXRpb24gZm9yIE1N
SU8gU3RhbGUgRGF0YSBjb250cm9scwoKVGhlIHRocmVlICpfTk8gYml0cyBp
bmRpY2F0ZSBub24tc3VzY2VwdGliaWxpdHkgdG8gdGhlIFNTRFAsIEZCU0RQ
IGFuZCBQU0RQCmRhdGEgbW92ZW1lbnQgcHJpbWl0aXZlcy4KCkZCX0NMRUFS
IGluZGljYXRlcyB0aGF0IHRoZSBWRVJXIGluc3RydWN0aW9uIGhhcyByZS1n
YWluZWQgaXQncyBGaWxsIEJ1ZmZlcgpmbHVzaGluZyBzaWRlIGVmZmVjdC4g
IFRoaXMgaXMgb25seSBlbnVtZXJhdGVkIG9uIHBhcnRzIHdoZXJlIFZFUlcg
aGFkCnByZXZpb3VzbHkgbG9zdCBpdCdzIGZsdXNoaW5nIHNpZGUgZWZmZWN0
IGR1ZSB0byB0aGUgTURTL1RBQSB2dWxuZXJhYmlsaXRpZXMKYmVpbmcgZml4
ZWQgaW4gaGFyZHdhcmUuCgpGQl9DTEVBUl9DVFJMIGlzIGF2YWlsYWJsZSBv
biBhIHN1YnNldCBvZiBGQl9DTEVBUiBwYXJ0cyB3aGVyZSB0aGUgRmlsbCBC
dWZmZXIKY2xlYXJpbmcgc2lkZSBlZmZlY3Qgb2YgVkVSVyBjYW4gYmUgdHVy
bmVkIG9mZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KClRoaXMgaXMgcGFy
dCBvZiBYU0EtNDA0LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyBiL3hlbi9hcmNoL3g4Ni9z
cGVjX2N0cmwuYwppbmRleCAyMTczMGFhMDMwNzEuLmQyODU1MzhiZGU5ZiAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtMzIzLDcgKzMyMyw3IEBAIHN0
YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5r
IHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAqIEhhcmR3YXJlIHJlYWQt
b25seSBpbmZvcm1hdGlvbiwgc3RhdGluZyBpbW11bml0eSB0byBjZXJ0YWlu
IGlzc3Vlcywgb3IKICAgICAgKiBzdWdnZXN0aW9ucyBvZiB3aGljaCBtaXRp
Z2F0aW9uIHRvIHVzZS4KICAgICAgKi8KLSAgICBwcmludGsoIiAgSGFyZHdh
cmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAgICBwcmlu
dGsoIiAgSGFyZHdhcmUgaGludHM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVz
JXMlc1xuIiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfUkRDTF9O
TykgICAgICAgICAgICAgICAgICAgICAgICA/ICIgUkRDTF9OTyIgICAgICAg
IDogIiIsCiAgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX0lCUlNfQUxM
KSAgICAgICAgICAgICAgICAgICAgICAgPyAiIElCUlNfQUxMIiAgICAgICA6
ICIiLAogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19SU0JBKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBSU0JBIiAgICAgICAgICAgOiAi
IiwKQEAgLTMzMiwxMyArMzMyLDE2IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBw
cmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBj
YXBzKQogICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TU0JfTk8pICAg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBTU0JfTk8iICAgICAgICAgOiAi
IiwKICAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfTURTX05PKSAgICAg
ICAgICAgICAgICAgICAgICAgICA/ICIgTURTX05PIiAgICAgICAgIDogIiIs
CiAgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RBQV9OTykgICAgICAg
ICAgICAgICAgICAgICAgICAgPyAiIFRBQV9OTyIgICAgICAgICA6ICIiLAor
ICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19TQkRSX1NTRFBfTk8pICAg
ICAgICAgICAgICAgICAgID8gIiBTQkRSX1NTRFBfTk8iICAgOiAiIiwKKyAg
ICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfRkJTRFBfTk8pICAgICAgICAg
ICAgICAgICAgICAgICA/ICIgRkJTRFBfTk8iICAgICAgIDogIiIsCisgICAg
ICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1BTRFBfTk8pICAgICAgICAgICAg
ICAgICAgICAgICAgPyAiIFBTRFBfTk8iICAgICAgICA6ICIiLAogICAgICAg
ICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlJTX0FM
V0FZUykpICAgID8gIiBJQlJTX0FMV0FZUyIgICAgOiAiIiwKICAgICAgICAg
ICAgKGU4YiAgJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1RJQlBfQUxX
QVlTKSkgICA/ICIgU1RJQlBfQUxXQVlTIiAgIDogIiIsCiAgICAgICAgICAg
IChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlNfRkFTVCkp
ICAgICAgPyAiIElCUlNfRkFTVCIgICAgICA6ICIiLAogICAgICAgICAgICAo
ZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlJTX1NBTUVfTU9E
RSkpID8gIiBJQlJTX1NBTUVfTU9ERSIgOiAiIik7CiAKICAgICAvKiBIYXJk
d2FyZSBmZWF0dXJlcyB3aGljaCBuZWVkIGRyaXZpbmcgdG8gbWl0aWdhdGUg
aXNzdWVzLiAqLwotICAgIHByaW50aygiICBIYXJkd2FyZSBmZWF0dXJlczol
cyVzJXMlcyVzJXMlcyVzJXMlc1xuIiwKKyAgICBwcmludGsoIiAgSGFyZHdh
cmUgZmVhdHVyZXM6JXMlcyVzJXMlcyVzJXMlcyVzJXMlcyVzXG4iLAogICAg
ICAgICAgICAoZThiICAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9JQlBC
KSkgfHwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2soWDg2X0ZF
QVRVUkVfSUJSU0IpKSAgICAgICAgICA/ICIgSUJQQiIgICAgICAgICAgIDog
IiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFU
VVJFX0lCUlMpKSB8fApAQCAtMzUzLDcgKzM1Niw5IEBAIHN0YXRpYyB2b2lk
IF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1
aW50NjRfdCBjYXBzKQogICAgICAgICAgICAoXzdkMCAmIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9NRF9DTEVBUikpICAgICAgID8gIiBNRF9DTEVBUiIg
ICAgICAgOiAiIiwKICAgICAgICAgICAgKF83ZDAgJiBjcHVmZWF0X21hc2so
WDg2X0ZFQVRVUkVfU1JCRFNfQ1RSTCkpICAgICA/ICIgU1JCRFNfQ1RSTCIg
ICAgIDogIiIsCiAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4
Nl9GRUFUVVJFX1ZJUlRfU1NCRCkpICAgICAgPyAiIFZJUlRfU1NCRCIgICAg
ICA6ICIiLAotICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19UU1hfQ1RS
TCkgICAgICAgICAgICAgICAgICAgICAgID8gIiBUU1hfQ1RSTCIgICAgICAg
OiAiIik7CisgICAgICAgICAgIChjYXBzICYgQVJDSF9DQVBTX1RTWF9DVFJM
KSAgICAgICAgICAgICAgICAgICAgICAgPyAiIFRTWF9DVFJMIiAgICAgICA6
ICIiLAorICAgICAgICAgICAoY2FwcyAmIEFSQ0hfQ0FQU19GQl9DTEVBUikg
ICAgICAgICAgICAgICAgICAgICAgID8gIiBGQl9DTEVBUiIgICAgICAgOiAi
IiwKKyAgICAgICAgICAgKGNhcHMgJiBBUkNIX0NBUFNfRkJfQ0xFQVJfQ1RS
TCkgICAgICAgICAgICAgICAgICA/ICIgRkJfQ0xFQVJfQ1RSTCIgIDogIiIp
OwogCiAgICAgLyogQ29tcGlsZWQtaW4gc3VwcG9ydCB3aGljaCBwZXJ0YWlu
cyB0byBtaXRpZ2F0aW9ucy4gKi8KICAgICBpZiAoIElTX0VOQUJMRUQoQ09O
RklHX0lORElSRUNUX1RIVU5LKSB8fCBJU19FTkFCTEVEKENPTkZJR19TSEFE
T1dfUEFHSU5HKSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2
L21zci1pbmRleC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXgu
aAppbmRleCAzMTk2NGI4OGFmN2EuLjcyYmMzMmJhMDRmZiAxMDA2NDQKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi94ZW4v
aW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCkBAIC02Niw2ICs2NiwxMSBA
QAogI2RlZmluZSAgQVJDSF9DQVBTX0lGX1BTQ0hBTkdFX01DX05PICAgICAg
ICAoX0FDKDEsIFVMTCkgPDwgIDYpCiAjZGVmaW5lICBBUkNIX0NBUFNfVFNY
X0NUUkwgICAgICAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAgNykKICNk
ZWZpbmUgIEFSQ0hfQ0FQU19UQUFfTk8gICAgICAgICAgICAgICAgICAgKF9B
QygxLCBVTEwpIDw8ICA4KQorI2RlZmluZSAgQVJDSF9DQVBTX1NCRFJfU1NE
UF9OTyAgICAgICAgICAgICAoX0FDKDEsIFVMTCkgPDwgMTMpCisjZGVmaW5l
ICBBUkNIX0NBUFNfRkJTRFBfTk8gICAgICAgICAgICAgICAgIChfQUMoMSwg
VUxMKSA8PCAxNCkKKyNkZWZpbmUgIEFSQ0hfQ0FQU19QU0RQX05PICAgICAg
ICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8IDE1KQorI2RlZmluZSAgQVJD
SF9DQVBTX0ZCX0NMRUFSICAgICAgICAgICAgICAgICAoX0FDKDEsIFVMTCkg
PDwgMTcpCisjZGVmaW5lICBBUkNIX0NBUFNfRkJfQ0xFQVJfQ1RSTCAgICAg
ICAgICAgIChfQUMoMSwgVUxMKSA8PCAxOCkKIAogI2RlZmluZSBNU1JfRkxV
U0hfQ01EICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTBiCiAjZGVm
aW5lICBGTFVTSF9DTURfTDFEICAgICAgICAgICAgICAgICAgICAgIChfQUMo
MSwgVUxMKSA8PCAgMCkKQEAgLTgzLDYgKzg4LDcgQEAKICNkZWZpbmUgIE1D
VV9PUFRfQ1RSTF9STkdEU19NSVRHX0RJUyAgICAgICAgKF9BQygxLCBVTEwp
IDw8ICAwKQogI2RlZmluZSAgTUNVX09QVF9DVFJMX1JUTV9BTExPVyAgICAg
ICAgICAgICAoX0FDKDEsIFVMTCkgPDwgIDEpCiAjZGVmaW5lICBNQ1VfT1BU
X0NUUkxfUlRNX0xPQ0tFRCAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8PCAg
MikKKyNkZWZpbmUgIE1DVV9PUFRfQ1RSTF9GQl9DTEVBUl9ESVMgICAgICAg
ICAgKF9BQygxLCBVTEwpIDw8ICAzKQogCiAjZGVmaW5lIE1TUl9SVElUX09V
VFBVVF9CQVNFICAgICAgICAgICAgICAgIDB4MDAwMDA1NjAKICNkZWZpbmUg
TVNSX1JUSVRfT1VUUFVUX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDU2
MQo=

--=separator
Content-Type: application/octet-stream; name="xsa404/xsa404-4.16-3.patch"
Content-Disposition: attachment; filename="xsa404/xsa404-4.16-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogQWRkIHNwZWMtY3RybD11bnBy
aXYtbW1pbwoKUGVyIFhlbidzIHN1cHBvcnQgc3RhdGVtZW50LCBQQ0kgcGFz
c3Rocm91Z2ggc2hvdWxkIGJlIHRvIHRydXN0ZWQgZG9tYWlucwpiZWNhdXNl
IHRoZSBvdmVyYWxsIHN5c3RlbSBzZWN1cml0eSBkZXBlbmRzIG9uIGZhY3Rv
cnMgb3V0c2lkZSBvZiBYZW4ncwpjb250cm9sLgoKQXMgc3VjaCwgWGVuLCBp
biBhIHN1cHBvcnRlZCBjb25maWd1cmF0aW9uLCBpcyBub3QgdnVsbmVyYWJs
ZSB0byBEUlBXL1NCRFIuCgpIb3dldmVyLCB1c2VycyB3aG8gaGF2ZSByaXNr
IGFzc2Vzc2VkIHRoZWlyIGNvbmZpZ3VyYXRpb24gbWF5IGJlIGhhcHB5IHdp
dGgKdGhlIHJpc2sgb2YgRG9TLCBidXQgdW5oYXBweSB3aXRoIHRoZSByaXNr
IG9mIGNyb3NzLWRvbWFpbiBkYXRhIGxlYWthZ2UuICBTdWNoCnVzZXJzIHNo
b3VsZCBlbmFibGUgdGhpcyBvcHRpb24uCgpPbiBDUFVzIHZ1bG5lcmFibGUg
dG8gTURTLCB0aGUgZXhpc3RpbmcgbWl0aWdhdGlvbnMgYXJlIHRoZSBiZXN0
IHdlIGNhbiBkbyB0bwptaXRpZ2F0ZSBNTUlPIGNyb3NzLWRvbWFpbiBkYXRh
IGxlYWthZ2UuCgpPbiBDUFVzIGZpeGVkIHRvIE1EUyBidXQgdnVsbmVyYWJs
ZSBNTUlPIHN0YWxlIGRhdGEgbGVha2FnZSwgdGhpcyBvcHRpb246CgogKiBP
biBDUFVzIHN1c2NlcHRpYmxlIHRvIEZCU0RQLCBtaXRpZ2F0ZXMgY3Jvc3Mt
ZG9tYWluIGZpbGwgYnVmZmVyIGxlYWthZ2UKICAgdXNpbmcgRkJfQ0xFQVIu
CiAqIE9uIENQVXMgc3VzY2VwdGlibGUgdG8gU0JEUiwgbWl0aWdhdGVzIFJO
RyBkYXRhIHJlY292ZXJ5IGJ5IGVuZ2FnaW5nIHRoZQogICBzcmItbG9jaywg
cHJldmlvdXNseSB1c2VkIHRvIG1pdGlnYXRlIFNSQkRTLgoKQm90aCBtaXRp
Z2F0aW9ucyByZXF1aXJlIG1pY3JvY29kZSBmcm9tIElQVSAyMDIyLjEsIE1h
eSAyMDIyLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00MDQuCgpTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+Ci0tLQpCYWNrcG9ydGluZyBub3RlOiBGb3IgWGVuIDQuNyBh
bmQgZWFybGllciB3aXRoIGJvb2xfdCBub3QgYWxpYXNpbmcgYm9vbCwgdGhl
CkFSQ0hfQ0FQU19GQl9DTEVBUiBodW5rIG5lZWRzICEhCgpkaWZmIC0tZ2l0
IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIGIvZG9jcy9t
aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmluZGV4IGQ1Y2IwOWY4NjU0
MS4uYTY0MmU0MzQ3NmEyIDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNv
bW1hbmQtbGluZS5wYW5kb2MKKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k
LWxpbmUucGFuZG9jCkBAIC0yMjM1LDcgKzIyMzUsNyBAQCBCeSBkZWZhdWx0
IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVudGltZSAoaS5lIGBzc2Jk
PXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4NikKID4gYD0gTGlzdCBv
ZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNiLG1k
LWNsZWFyfT08Ym9vbD4sCiA+ICAgICAgICAgICAgICBidGktdGh1bms9cmV0
cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIsc3NiZCxlYWdlci1mcHUs
Ci0+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJhbmNoLWhhcmRlbixzcmIt
bG9ja309PGJvb2w+IF1gCis+ICAgICAgICAgICAgICBsMWQtZmx1c2gsYnJh
bmNoLWhhcmRlbixzcmItbG9jayx1bnByaXYtbW1pb309PGJvb2w+IF1gCiAK
IENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5u
ZWwgbWl0aWdhdGlvbnMuICBCeSBkZWZhdWx0LCBYZW4KIHdpbGwgcGljayB0
aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBiYXNlZCBvbiBjb21w
aWxlZCBpbiBzdXBwb3J0LApAQCAtMjMxNCw4ICsyMzE0LDE2IEBAIFhlbiB3
aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24uCiBPbiBoYXJkd2FyZSBzdXBw
b3J0aW5nIFNSQkRTX0NUUkwsIHRoZSBgc3JiLWxvY2s9YCBvcHRpb24gY2Fu
IGJlIHVzZWQgdG8gZm9yY2UKIG9yIHByZXZlbnQgWGVuIGZyb20gcHJvdGVj
dCB0aGUgU3BlY2lhbCBSZWdpc3RlciBCdWZmZXIgZnJvbSBsZWFraW5nIHN0
YWxlCiBkYXRhLiBCeSBkZWZhdWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBt
aXRpZ2F0aW9uLCBleGNlcHQgb24gcGFydHMgd2hlcmUgTURTCi1pcyBmaXhl
ZCBhbmQgVEFBIGlzIGZpeGVkL21pdGlnYXRlZCAoaW4gd2hpY2ggY2FzZSwg
dGhlcmUgaXMgYmVsaWV2ZWQgdG8gYmUgbm8KLXdheSBmb3IgYW4gYXR0YWNr
ZXIgdG8gb2J0YWluIHRoZSBzdGFsZSBkYXRhKS4KK2lzIGZpeGVkIGFuZCBU
QUEgaXMgZml4ZWQvbWl0aWdhdGVkIGFuZCB0aGVyZSBhcmUgbm8gdW5wcml2
aWxlZ2VkIE1NSU8KK21hcHBpbmdzIChpbiB3aGljaCBjYXNlLCB0aGVyZSBp
cyBiZWxpZXZlZCB0byBiZSBubyB3YXkgZm9yIGFuIGF0dGFja2VyIHRvCitv
YnRhaW4gc3RhbGUgZGF0YSkuCisKK1RoZSBgdW5wcml2LW1taW89YCBib29s
ZWFuIGluZGljYXRlcyB3aGV0aGVyIHRoZSBzeXN0ZW0gaGFzIChvciB3aWxs
IGhhdmUpCitsZXNzIHRoYW4gZnVsbHkgcHJpdmlsZWdlZCBkb21haW5zIGdy
YW50ZWQgYWNjZXNzIHRvIE1NSU8gZGV2aWNlcy4gIEJ5CitkZWZhdWx0LCB0
aGlzIG9wdGlvbiBpcyBkaXNhYmxlZC4gIElmIGVuYWJsZWQsIFhlbiB3aWxs
IHVzZSB0aGUgYEZCX0NMRUFSYAorYW5kL29yIGBTUkJEU19DVFJMYCBmdW5j
dGlvbmFsaXR5IGF2YWlsYWJsZSBpbiB0aGUgSW50ZWwgTWF5IDIwMjIgbWlj
cm9jb2RlCityZWxlYXNlIHRvIG1pdGlnYXRlIGNyb3NzLWRvbWFpbiBsZWFr
YWdlIG9mIGRhdGEgdmlhIHRoZSBNTUlPIFN0YWxlIERhdGEKK3Z1bG5lcmFi
aWxpdGllcy4KIAogIyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5g
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4v
YXJjaC94ODYvc3BlY19jdHJsLmMKaW5kZXggZDI4NTUzOGJkZTlmLi4wOTkx
MTNiYTQxZTYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu
YworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKQEAgLTY3LDYgKzY3
LDggQEAgc3RhdGljIGJvb2wgX19pbml0ZGF0YSBjcHVfaGFzX2J1Z19tc2Jk
c19vbmx5OyAvKiA9PiBtaW5pbWFsIEhUIGltcGFjdC4gKi8KIHN0YXRpYyBi
b29sIF9faW5pdGRhdGEgY3B1X2hhc19idWdfbWRzOyAvKiBBbnkgb3RoZXIg
TXtMUCxTQixGQn1EUyBjb21iaW5hdGlvbi4gKi8KIAogc3RhdGljIGludDhf
dCBfX2luaXRkYXRhIG9wdF9zcmJfbG9jayA9IC0xOworc3RhdGljIGJvb2wg
X19pbml0ZGF0YSBvcHRfdW5wcml2X21taW87CitzdGF0aWMgYm9vbCBfX3Jl
YWRfbW9zdGx5IG9wdF9mYl9jbGVhcl9tbWlvOwogCiBzdGF0aWMgaW50IF9f
aW5pdCBwYXJzZV9zcGVjX2N0cmwoY29uc3QgY2hhciAqcykKIHsKQEAgLTE4
NCw2ICsxODYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9zcGVjX2N0
cmwoY29uc3QgY2hhciAqcykKICAgICAgICAgICAgIG9wdF9icmFuY2hfaGFy
ZGVuID0gdmFsOwogICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNlX2Jv
b2xlYW4oInNyYi1sb2NrIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAgICAg
IG9wdF9zcmJfbG9jayA9IHZhbDsKKyAgICAgICAgZWxzZSBpZiAoICh2YWwg
PSBwYXJzZV9ib29sZWFuKCJ1bnByaXYtbW1pbyIsIHMsIHNzKSkgPj0gMCAp
CisgICAgICAgICAgICBvcHRfdW5wcml2X21taW8gPSB2YWw7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKIApAQCAtMzkyLDcg
KzM5Niw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVu
dW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAg
ICBvcHRfc3JiX2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/
ICIgU1JCX0xPQ0srIiA6ICIgU1JCX0xPQ0stIiwKICAgICAgICAgICAgb3B0
X2licGIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIElC
UEIiICA6ICIiLAogICAgICAgICAgICBvcHRfbDFkX2ZsdXNoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA/ICIgTDFEX0ZMVVNIIiA6ICIiLAotICAg
ICAgICAgICBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2bSAg
ICAgICA/ICIgVkVSVyIgIDogIiIsCisgICAgICAgICAgIG9wdF9tZF9jbGVh
cl9wdiB8fCBvcHRfbWRfY2xlYXJfaHZtIHx8CisgICAgICAgICAgIG9wdF9m
Yl9jbGVhcl9tbWlvICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBWRVJX
IiAgOiAiIiwKICAgICAgICAgICAgb3B0X2JyYW5jaF9oYXJkZW4gICAgICAg
ICAgICAgICAgICAgICAgICAgPyAiIEJSQU5DSF9IQVJERU4iIDogIiIpOwog
CiAgICAgLyogTDFURiBkaWFnbm9zdGljcywgcHJpbnRlZCBpZiB2dWxuZXJh
YmxlIG9yIFBWIHNoYWRvd2luZyBpcyBpbiB1c2UuICovCkBAIC05NDEsNyAr
OTQ2LDkgQEAgdm9pZCBzcGVjX2N0cmxfaW5pdF9kb21haW4oc3RydWN0IGRv
bWFpbiAqZCkKIHsKICAgICBib29sIHB2ID0gaXNfcHZfZG9tYWluKGQpOwog
Ci0gICAgZC0+YXJjaC52ZXJ3ID0gcHYgPyBvcHRfbWRfY2xlYXJfcHYgOiBv
cHRfbWRfY2xlYXJfaHZtOworICAgIGQtPmFyY2gudmVydyA9CisgICAgICAg
IChwdiA/IG9wdF9tZF9jbGVhcl9wdiA6IG9wdF9tZF9jbGVhcl9odm0pIHx8
CisgICAgICAgIChvcHRfZmJfY2xlYXJfbW1pbyAmJiBpc19pb21tdV9lbmFi
bGVkKGQpKTsKIH0KIAogdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxhdGlvbl9t
aXRpZ2F0aW9ucyh2b2lkKQpAQCAtMTE5Niw2ICsxMjAzLDE4IEBAIHZvaWQg
X19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAg
ICBtZHNfY2FsY3VsYXRpb25zKGNhcHMpOwogCiAgICAgLyoKKyAgICAgKiBQ
YXJ0cyB3aGljaCBlbnVtZXJhdGUgRkJfQ0xFQVIgYXJlIHRob3NlIHdoaWNo
IGFyZSBwb3N0LU1EU19OTyBhbmQgaGF2ZQorICAgICAqIHJlaW50cm9kdWNl
ZCB0aGUgVkVSVyBmaWxsIGJ1ZmZlciBmbHVzaGluZyBzaWRlIGVmZmVjdCBi
ZWNhdXNlIG9mIGEKKyAgICAgKiBzdXNjZXB0aWJpbGl0eSB0byBGQlNEUC4K
KyAgICAgKgorICAgICAqIElmIHVucHJpdmlsZWdlZCBndWVzdHMgaGF2ZSAo
b3Igd2lsbCBoYXZlKSBNTUlPIG1hcHBpbmdzLCB3ZSBjYW4KKyAgICAgKiBt
aXRpZ2F0ZSBjcm9zcy1kb21haW4gbGVha2FnZSBvZiBmaWxsIGJ1ZmZlciBk
YXRhIGJ5IGlzc3VpbmcgVkVSVyBvbgorICAgICAqIHRoZSByZXR1cm4tdG8t
Z3Vlc3QgcGF0aC4KKyAgICAgKi8KKyAgICBpZiAoIG9wdF91bnByaXZfbW1p
byApCisgICAgICAgIG9wdF9mYl9jbGVhcl9tbWlvID0gY2FwcyAmIEFSQ0hf
Q0FQU19GQl9DTEVBUjsKKworICAgIC8qCiAgICAgICogQnkgZGVmYXVsdCwg
ZW5hYmxlIFBWIGFuZCBIVk0gbWl0aWdhdGlvbnMgb24gTURTLXZ1bG5lcmFi
bGUgaGFyZHdhcmUuCiAgICAgICogVGhpcyB3aWxsIG9ubHkgYmUgYSB0b2tl
biBlZmZvcnQgZm9yIE1MUERTL01GQkRTIHdoZW4gSFQgaXMgZW5hYmxlZCwK
ICAgICAgKiBidXQgaXQgaXMgc29tZXdoYXQgYmV0dGVyIHRoYW4gbm90aGlu
Zy4KQEAgLTEyMDgsMTggKzEyMjcsMjAgQEAgdm9pZCBfX2luaXQgaW5pdF9z
cGVjdWxhdGlvbl9taXRpZ2F0aW9ucyh2b2lkKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NRF9DTEVB
UikpOwogCiAgICAgLyoKLSAgICAgKiBFbmFibGUgTURTIGRlZmVuY2VzIGFz
IGFwcGxpY2FibGUuICBUaGUgSWRsZSBibG9ja3MgbmVlZCB1c2luZyBpZgot
ICAgICAqIGVpdGhlciBQViBvciBIVk0gZGVmZW5jZXMgYXJlIHVzZWQuCisg
ICAgICogRW5hYmxlIE1EUy9NTUlPIGRlZmVuY2VzIGFzIGFwcGxpY2FibGUu
ICBUaGUgSWRsZSBibG9ja3MgbmVlZCB1c2luZyBpZgorICAgICAqIGVpdGhl
ciB0aGUgUFYgb3IgSFZNIE1EUyBkZWZlbmNlcyBhcmUgdXNlZCwgb3IgaWYg
d2UgbWF5IGdpdmUgTU1JTworICAgICAqIGFjY2VzcyB0byB1bnRydXN0ZWQg
Z3Vlc3RzLgogICAgICAqCiAgICAgICogSFZNIGlzIG1vcmUgY29tcGxpY2F0
ZWQuICBUaGUgTURfQ0xFQVIgbWljcm9jb2RlIGV4dGVuZHMgTDFEX0ZMVVNI
IHdpdGgKICAgICAgKiBlcXVpdmFsZW50IHNlbWFudGljcyB0byBhdm9pZCBu
ZWVkaW5nIHRvIHBlcmZvcm0gYm90aCBmbHVzaGVzIG9uIHRoZQotICAgICAq
IEhWTSBwYXRoLiAgVGhlcmVmb3JlLCB3ZSBkb24ndCBuZWVkIFZFUlcgaW4g
YWRkaXRpb24gdG8gTDFEX0ZMVVNILgorICAgICAqIEhWTSBwYXRoLiAgVGhl
cmVmb3JlLCB3ZSBkb24ndCBuZWVkIFZFUlcgaW4gYWRkaXRpb24gdG8gTDFE
X0ZMVVNIIChmb3IKKyAgICAgKiBNRFMgbWl0aWdhdGlvbnMuICBMMURfRkxV
U0ggaXMgbm90IHNhZmUgZm9yIE1NSU8gbWl0aWdhdGlvbnMuKQogICAgICAq
CiAgICAgICogQWZ0ZXIgY2FsY3VsYXRpbmcgdGhlIGFwcHJvcHJpYXRlIGlk
bGUgc2V0dGluZywgc2ltcGxpZnkKICAgICAgKiBvcHRfbWRfY2xlYXJfaHZt
IHRvIG1lYW4ganVzdCAic2hvdWxkIHdlIFZFUlcgb24gdGhlIHdheSBpbnRv
IEhWTQogICAgICAqIGd1ZXN0cyIsIHNvIHNwZWNfY3RybF9pbml0X2RvbWFp
bigpIGNhbiBjYWxjdWxhdGUgc3VpdGFibGUgc2V0dGluZ3MuCiAgICAgICov
Ci0gICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFyX2h2
bSApCisgICAgaWYgKCBvcHRfbWRfY2xlYXJfcHYgfHwgb3B0X21kX2NsZWFy
X2h2bSB8fCBvcHRfZmJfY2xlYXJfbW1pbyApCiAgICAgICAgIHNldHVwX2Zv
cmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU0NfVkVSV19JRExFKTsKICAgICBv
cHRfbWRfY2xlYXJfaHZtICY9ICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wx
REZMKSAmJiAhb3B0X2wxZF9mbHVzaDsKIApAQCAtMTI4NCwxNCArMTMwNSwx
OSBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25z
KHZvaWQpCiAgICAgICogT24gc29tZSBTUkJEUy1hZmZlY3RlZCBoYXJkd2Fy
ZSwgaXQgbWF5IGJlIHNhZmUgdG8gcmVsYXggc3JiLWxvY2sgYnkKICAgICAg
KiBkZWZhdWx0LgogICAgICAqCi0gICAgICogT24gcGFydHMgd2hpY2ggZW51
bWVyYXRlIE1EU19OTyBhbmQgbm90IFRBQV9OTywgVFNYIGlzIHRoZSBvbmx5
IGtub3duCi0gICAgICogd2F5IHRvIGFjY2VzcyB0aGUgRmlsbCBCdWZmZXIu
ICBJZiBUU1ggaXNuJ3QgYXZhaWxhYmxlIChpbmMuIFNLVQotICAgICAqIHJl
YXNvbnMgb24gc29tZSBtb2RlbHMpLCBvciBUU1ggaXMgZXhwbGljaXRseSBk
aXNhYmxlZCwgdGhlbiB0aGVyZSBpcwotICAgICAqIG5vIG5lZWQgZm9yIHRo
ZSBleHRyYSBvdmVyaGVhZCB0byBwcm90ZWN0IFJEUkFORC9SRFNFRUQuCisg
ICAgICogQWxsIHBhcnRzIHdpdGggU1JCRFNfQ1RSTCBzdWZmZXIgU1NEUCwg
dGhlIG1lY2hhbmlzbSBieSB3aGljaCBzdGFsZSBSTkcKKyAgICAgKiBkYXRh
IGJlY29tZXMgYXZhaWxhYmxlIHRvIG90aGVyIGNvbnRleHRzLiAgVG8gcmVj
b3ZlciB0aGUgZGF0YSwgYW4KKyAgICAgKiBhdHRhY2tlciBuZWVkcyB0byB1
c2U6CisgICAgICogIC0gU0JEUyAoTURTIG9yIFRBQSB0byBzYW1wbGUgdGhl
IGNvcmVzIGZpbGwgYnVmZmVyKQorICAgICAqICAtIFNCRFIgKEFyY2hpdGVj
dHVyYWxseSByZXRyaWV2ZSBzdGFsZSB0cmFuc2FjdGlvbiBidWZmZXIgY29u
dGVudHMpCisgICAgICogIC0gRFJQVyAoQXJjaGl0ZWN0dXJhbGx5IGxhdGNo
IHN0YWxlIGZpbGwgYnVmZmVyIGRhdGEpCisgICAgICoKKyAgICAgKiBPbiBN
RFNfTk8gcGFydHMsIGFuZCB3aXRoIFRBQV9OTyBvciBUU1ggdW5hdmFpbGFi
bGUvZGlzYWJsZWQsIGFuZCB0aGVyZQorICAgICAqIGlzIG5vIHVucHJpdmls
ZWdlZCBNTUlPIGFjY2VzcywgdGhlIFJORyBkYXRhIGRvZXNuJ3QgbmVlZCBw
cm90ZWN0aW5nLgogICAgICAqLwogICAgIGlmICggY3B1X2hhc19zcmJkc19j
dHJsICkKICAgICB7Ci0gICAgICAgIGlmICggb3B0X3NyYl9sb2NrID09IC0x
ICYmCisgICAgICAgIGlmICggb3B0X3NyYl9sb2NrID09IC0xICYmICFvcHRf
dW5wcml2X21taW8gJiYKICAgICAgICAgICAgICAoY2FwcyAmIChBUkNIX0NB
UFNfTURTX05PfEFSQ0hfQ0FQU19UQUFfTk8pKSA9PSBBUkNIX0NBUFNfTURT
X05PICYmCiAgICAgICAgICAgICAgKCFjcHVfaGFzX2hsZSB8fCAoKGNhcHMg
JiBBUkNIX0NBUFNfVFNYX0NUUkwpICYmIHJ0bV9kaXNhYmxlZCkpICkKICAg
ICAgICAgICAgIG9wdF9zcmJfbG9jayA9IDA7Cg==

--=separator--


From xen-users-bounces@lists.xenproject.org Fri Jun 17 21:51:34 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Jun 2022 21:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.351589.578268 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o2JrV-0003u0-MZ; Fri, 17 Jun 2022 21:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 351589.578268; Fri, 17 Jun 2022 21:50:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o2JrV-0003tp-IT; Fri, 17 Jun 2022 21:50:41 +0000
Received: by outflank-mailman (input) for mailman id 351589;
 Fri, 17 Jun 2022 21:50:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jenE=WY=nectarcorp.com=aklassen@srs-se1.protection.inumbo.net>)
 id 1o2JrT-0003tj-KD
 for xen-users@lists.xenproject.org; Fri, 17 Jun 2022 21:50:39 +0000
Received: from us-smtp-delivery-187.mimecast.com
 (us-smtp-delivery-187.mimecast.com [170.10.129.187])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8409c5be-ee87-11ec-b725-ed86ccbb4733;
 Fri, 17 Jun 2022 23:50:37 +0200 (CEST)
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-447-xQc1BXjNNFCb1XOVGup5WQ-1; Fri, 17 Jun 2022 17:50:31 -0400
Received: from DM6PR02MB6412.namprd02.prod.outlook.com (2603:10b6:5:1fc::18)
 by MWHPR02MB3390.namprd02.prod.outlook.com (2603:10b6:301:6b::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.14; Fri, 17 Jun
 2022 21:50:28 +0000
Received: from DM6PR02MB6412.namprd02.prod.outlook.com
 ([fe80::b454:eb09:12c2:bb22]) by DM6PR02MB6412.namprd02.prod.outlook.com
 ([fe80::b454:eb09:12c2:bb22%3]) with mapi id 15.20.5353.015; Fri, 17 Jun 2022
 21:50:28 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 8409c5be-ee87-11ec-b725-ed86ccbb4733
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nectarcorp.com;
	s=mimecast; t=1655502634;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type;
	bh=ztJkTEYgd5zmFa78wNSxzjA31+lOmxGsjW1++fGZzTw=;
	b=XolIKnFqA5nyFKUi4JZA3am9Oas7kzsEK+H52hd+1M65hrKyperF6/4mAwty4anNTnmnv/
	ZGeuROoeX3UywDzj/CSC7pxqbNPc4DjjeOAwDOJO1BmhsN11rqJbV0rbzT8xj06uby1Tys
	QjxPGapX2Qx6hJ9Yw28Ayd1hfFFwicg=
X-MC-Unique: xQc1BXjNNFCb1XOVGup5WQ-1
From: Andrew Klassen <aklassen@nectarcorp.com>
To: "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Subject: domU interface does not remain in xenbr0
Thread-Topic: domU interface does not remain in xenbr0
Thread-Index: AdiCkFizM6sz09hdQOWPkzLqsuVhPA==
Date: Fri, 17 Jun 2022 21:50:28 +0000
Message-ID: <DM6PR02MB6412F19DBF923E73AD285A03B8AF9@DM6PR02MB6412.namprd02.prod.outlook.com>
Accept-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4a79b15a-7ba5-4a4f-151c-08da50ab64a3
x-ms-traffictypediagnostic: MWHPR02MB3390:EE_
x-microsoft-antispam-prvs: <MWHPR02MB33902CB316B23F568F8EE512B8AF9@MWHPR02MB3390.namprd02.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0
x-microsoft-antispam-message-info: 9rMwiIOhJKxREJDhz6eT6gm27ERkZ0mD2/458lQNn5WDlRLsHuE7kwezvD5BQZOZx0+NWxyZAF3hEhxAScgFwHx8puqROrSN5M1xd7TTsVO+XVtV0ghwIIh9c7afEiUloV7eGyuwFOvsTCdqUU7PvyogrSaqQ2/AHdST8PepnhFDb/NjqUrrDlQIj4nDpp7tD+n+PJShW7FbBs74CdKBBBAS664v3UcWJlJeYt8FaY4+zV+TZYmoZm+lIMvqTD3X85fN6iPaapUS6wyqJr74NBv8/LvTLdgre5R1T0IVg8cpTK5GiFPQIzGNy3o34T1fLGSskE56BmsmEYqzfgpFFuVlPbs4f8cGPUS4QYlXCd5haIGlGhxejOqXsXNrQHpPKTAeBxZjycetKzcSyJYYfKQgcjnpBMDElNUyL+oeXzaJM4o9idZgZ87/H8hdojYXe7dJBpxY7HqITq9/hEA1BFaOcbMZlNt6IcjoAaYhvJ6ULPEewTsr6oiw12Gv0SlCvaX7WbM8+nuFe5DlRGOUAjhR/68XUHdCBjNZQoClJHAukFKdzJdSM8JN2n/LqdxEkc58R3wZkeBl3vvzKHabCbgPaxigVfQZmUO4riuRD5aEnRf9BuWhLdLqWF+YBGm9zU2YgQ0y1gkiVdVofg5g6w5ranrF6CmYg2NayHpaFp2JsswbPVZQ99f6uy3cLlBt2yLpWUfeEW5Bor8Zpmdw8A==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR02MB6412.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(366004)(346002)(396003)(39840400004)(122000001)(9686003)(6506007)(76116006)(66476007)(33656002)(83380400001)(38070700005)(66946007)(86362001)(2906002)(38100700002)(64756008)(55016003)(186003)(7696005)(52536014)(41300700001)(66446008)(508600001)(71200400001)(26005)(8676002)(8936002)(66556008)(316002)(5660300002)(6916009);DIR:OUT;SFP:1102
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?HI+Zj597nd5A+n3bImoZac4IjH2JBVnd8V4IpRKqqugeNoYXZQu4ECjVKq5x?=
 =?us-ascii?Q?mRrxIyuoJn0nLoDunX2G6sEJ2TqPrJE63b8GO2AYiAVHQFCklYlG9hWW1vAu?=
 =?us-ascii?Q?YoPG+z8V3wklv2wt8t+4Cmbq/gd3E275F5Bhnh2XSlhBY5ovD40GpgngRLxn?=
 =?us-ascii?Q?K0L6pGCEeBsR5bW0MM0ZbxtwVWSqZLaaEwnWXb1/oBS1KnGSYgoTIfgul5Rj?=
 =?us-ascii?Q?V/96wd2nOquP9UsZd8WFxE2bNmzKAerAP20EKhPjUIqVIoQJZfwmmA0um7Kf?=
 =?us-ascii?Q?FY3ts1H6ZHTly2mJz8J5SnuldXLqZs5uR7sGxf2hKdoVrc550+lWW55jrvR0?=
 =?us-ascii?Q?pVohx9dquw5Kys0mEI9UMGT6tE+l4gkYLTz+civhkJ8tHf86wVoFnWAkxgTv?=
 =?us-ascii?Q?5X//A2+zPgkEmObEsRiL5TnastO1ui4MJn1P4Om0NChUpDtGrcM0M4j/xqHr?=
 =?us-ascii?Q?VqmgYm7V1n2GMokgsKhb+7YCxWlwpG4b8Gm1ydjHhfqS5qltrO23AQL3S1cF?=
 =?us-ascii?Q?4Ss0LnN2yh5p2m/dXmNJpeP3nbmo8sNDtZK6qNVU1ddZqX1G61uYxCxlwjS9?=
 =?us-ascii?Q?XaM926j7rE3lXblNVQ1CTxtpbe9hPYke0mHOQcyM3ZlkKaBRx4VzSA9prsoO?=
 =?us-ascii?Q?Ltq8lDoAv+vOGz5tD14mlIjY0i9Jzdv0fFB/hOFzhaxwqeKMiMWpebmndhCP?=
 =?us-ascii?Q?ymkvXWooB37nMy8L79p331uopSNssK1YsqOCZ/OA0+gVm6XrWpiEAPvnp+1z?=
 =?us-ascii?Q?nVnWj0uomq6zAopgp0S/BiiYSvXTnfC9WWIJyGX8uNH109sE9iqY/W5j8kI4?=
 =?us-ascii?Q?YtNcF1IrzYqqor0IKnA8XYyQL68KAUSFObxI444UG97+GPov64/LXp5lQA9y?=
 =?us-ascii?Q?fl2H1jjkjPzICLrVyBcygiWMbdHLwwSEHo5SNY71m5RVFqpyjW15PwCRooCB?=
 =?us-ascii?Q?InRTu7V/7nT4ApOy4IEk60WtKxU926JGPDkFzWx8e+pMK31qmjBdFVTkmEVH?=
 =?us-ascii?Q?nRk+YCL0K5nW5LwguYKTBfk0eh8xFn9MnsjnzBS+Ip6CQkHi3pZofhzLsvhf?=
 =?us-ascii?Q?zA1rwNpzZbiKMPGkQMrLseS4D6lMUvuAP6wT7RFrWC1giP83tXf71ecfTayV?=
 =?us-ascii?Q?/4TApNu5sHaN3K580Qe8Gc7fE22cwcp7VxjMgsUWCikKdzBxBIL5SIGq5Lb0?=
 =?us-ascii?Q?hfTR0y1ioZXXb+37lbaoRbaNChdZJm0Wv9gfzk2Vtk3gcnz2P6+Ouz/1sumC?=
 =?us-ascii?Q?Bo9lAJ6AM+jUSIFqaLEp0y7y6lJnCeaHYF2vm7wMlwJJo4OZkoeIDoxYF2qI?=
 =?us-ascii?Q?E1hBVtYbAW93RhWUMLjEIQDWywqu7k6b5o7kKYbVWWnIVzNhCxBL0Wy68QHI?=
 =?us-ascii?Q?0nHrqfzlhkQNUgzKqTOVXENwcoOlsEAvwXl36+bJc2NEygLYRtVwAdpxznme?=
 =?us-ascii?Q?NvkzVYHhOJe3WCDe3EUKdNaLe7ZdbUOmEd8s52EoajqYZfWH0yaaBRd62VNS?=
 =?us-ascii?Q?zOyB1SeqpNacEB70IRI6ds4Mv9MHkVZWXAAY12jSrsYWsHu7zZkZEsi8y+7C?=
 =?us-ascii?Q?4NrWGaRagEfNkgoT6ARxzOTA4BmD8pzrZdJ4thoSdgi+sH0NdTPTrZUTodSU?=
 =?us-ascii?Q?szpxMgHdp7EEd2exn9doNf7FncrAsNcHwdfasdihtxDvMj40K4AsukeBXWqa?=
 =?us-ascii?Q?5taij/+2WiNIkJ8gXELowrHHhyew054oUNe4LiJGyByPLRtFpH3UIb0YzVIn?=
 =?us-ascii?Q?Wl7C7m/i3LmnZ92LqBG7vyOO+u5ax8k=3D?=
MIME-Version: 1.0
X-OriginatorOrg: nectarcorp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR02MB6412.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a79b15a-7ba5-4a4f-151c-08da50ab64a3
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2022 21:50:28.4073
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 11a6e6d0-8549-43dc-8cd3-6cf1e94d71f0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kUf3773S7q2E532KrU/lVUg6szvnkvlnDPewBd89G9oo1dm+RN4jEvjciXyJkUqWCEI5dPSiMjnShrj511fW3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR02MB3390
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA87A275 smtp.mailfrom=aklassen@nectarcorp.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: nectarcorp.com
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_DM6PR02MB6412F19DBF923E73AD285A03B8AF9DM6PR02MB6412namp_"

--_000_DM6PR02MB6412F19DBF923E73AD285A03B8AF9DM6PR02MB6412namp_
Content-Type: text/plain; charset=WINDOWS-1252
Content-Transfer-Encoding: quoted-printable


I have installed a Freebsd guest using hvm in xen running on Debian 10 and =
have the xenbr0 bridge configured at boot using network/interfaces file.
I am having trouble getting my guest to boot into multiuser mode and believ=
e it has something to do
with my nic driver (xn). In single user mode, I can configure an IP address=
 and ping the host bridge.
Doing troubleshooting is difficult because the vif on the host won't stay a=
ssigned as a port in the xenbr0
bridge.

I do "brctl show" and the interface isn't a member so I do "brctl addif" an=
d it assigned. Then I can do my ping
Etc.. but soon afterwards it gets removed by some software that is running.=
 Not sure if it is the hypervisor or what.
I can see messages in /var/log/messages but there is output in xenstored-ac=
cess.log.
Even when I am not doing anything on the host or on the guest. It just gets=
 removed.

The other thought I had was to change the model for the vif to e1000 so the=
 system would boot cleanly
and hopefully have a stable connection. But adding "model=3De1000" in the v=
if configuration of the
domain's config file, shutting down, and creating the domain again, doesn't=
 change the nic driver;
the guest kernel still sees xn0.  I had seen via on-line search that I can =
use
xl set-parameters uuid ... platform-nic=3De1000

but the program cores. So, I must not be entering the command correctly.
Here is the information I gathered:

root@xen:/etc/xen# xl list -v
Name                                        ID   Mem VCPUs      State   Tim=
e(s)   UUID                            Reason-Code   Security Label
Domain-0                                     0 12001     8     r-----   140=
55.6 00000000-0000-0000-0000-000000000000        -                -
UCD_t1_Domain                               21  4096     4     -b----     1=
13.0 a697608c-3e7c-4b08-8aa6-d6125562a25e        -                -
root@xen:/etc/xen# xl network-list 21
Idx BE Mac Addr.                   handle state evt-ch   tx-/rx-ring-ref BE=
-path
0     0   00:16:3e:00:00:11     0          4        13         784/785     =
    /local/domain/0/backend/vif/21/0
root@xen:/etc/xen# brctl show
bridge name     bridge id                         STP enabled     interface=
s
xenbr0              8000.f28587ae759e       no                      eth1

Here is the domain config file:
root@xen:/etc/xen# cat ucd.cfg
arch_libdir=3D 'lib64'
builder=3D'hvm'
memory=3D4096
name=3D"UCD_t1_Domain"
vcpus=3D4
vif =3D [ 'mac=3D00:16:3e:00:00:11, bridge=3Dxenbr0, model=3De1000' ]
disk =3D [ '/home/admin/tmp/ucd.img,raw,hda,rw', '/home/admin/tmp/install.i=
so,raw,hdc:cdrom,r' ]

on_poweroff =3D 'destroy'
on_reboot =3D 'restart'
on_crash =3D 'preserve'

boot =3D "cd"

snapshot=3D1

sdl =3D 0
vnc =3D 1
vnclisten=3D"192.168.21.9"
vncpasswd=3D''
serial=3D'pty'


Here is the vif being removed:
root@xen:/etc/xen# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.f28587ae759e       no              eth1

root@xen:/etc/xen# brctl addif xenbr0 vif21.0
root@xen:/etc/xen# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.f28587ae759e       no              eth1
                                                                           =
         vif21.0

-------------- var/log/messages

Jun 17 16:30:35 xen kernel: [1301259.952042] xenbr0: port 2(vif21.0) entere=
d disabled state
Jun 17 16:30:35 xen kernel: [1301259.952241] device vif21.0 entered promisc=
uous mode
Jun 17 16:30:35 xen kernel: [1301259.952335] xenbr0: port 2(vif21.0) entere=
d blocking state
Jun 17 16:30:35 xen kernel: [1301259.952339] xenbr0: port 2(vif21.0) entere=
d forwarding state
Jun 17 16:31:24 xen kernel: [1301308.580201] device vif21.0 left promiscuou=
s mode
Jun 17 16:31:24 xen kernel: [1301308.580270] xenbr0: port 2(vif21.0) entere=
d disabled state

root@xen:/etc/xen# brctl show
bridge name     bridge id                          STP enabled     interfac=
es
xenbr0              8000.f28587ae759e       no                      eth1

Any ideas?

Thanks

DISCLAIMER: CONFIDENTIALITY NOTICE: This e-mail message, and any documents,=
 files, or previous e-mail messages attached to it, may contain information=
 that is confidential, proprietary, and/or legally privileged. If the reade=
r of this e-mail message is neither the intended recipient nor an employee =
or an agent responsible for delivering this e-mail message to the intended =
recipient, you are hereby notified that any unauthorized review, use, discl=
osure, or distribution of this communication is strictly prohibited. Disclo=
sing this e-mail message, or any document, file or previous e-mail message =
attached to it to anyone other than the intended recipient may cause the br=
eaching party to be liable to Nectar Services Corp. for damages. If you hav=
e received this communication in error, please notify the sender by replyin=
g to the e-mail message and delete it from your computer, without saving it=
 in any manner.

--_000_DM6PR02MB6412F19DBF923E73AD285A03B8AF9DM6PR02MB6412namp_
Content-Type: text/html; charset=WINDOWS-1252
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0in;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
span.EmailStyle17
=09{mso-style-type:personal-compose;
=09font-family:"Calibri",sans-serif;
=09color:windowtext;}
.MsoChpDefault
=09{mso-style-type:export-only;
=09font-family:"Calibri",sans-serif;}
@page WordSection1
=09{size:8.5in 11.0in;
=09margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
=09{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I have installed a Freebsd guest using hvm in xen ru=
nning on Debian 10 and have the xenbr0 bridge configured at boot using netw=
ork/interfaces file.
<o:p></o:p></p>
<p class=3D"MsoNormal">I am having trouble getting my guest to boot into mu=
ltiuser mode and believe it has something to do
<o:p></o:p></p>
<p class=3D"MsoNormal">with my nic driver (xn). In single user mode, I can =
configure an IP address and ping the host bridge.
<o:p></o:p></p>
<p class=3D"MsoNormal">Doing troubleshooting is difficult because the vif o=
n the host won&#8217;t stay assigned as a port in the xenbr0
<o:p></o:p></p>
<p class=3D"MsoNormal">bridge. &nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I do &#8220;brctl show&#8221; and the interface isn&=
#8217;t a member so I do &#8220;brctl addif&#8221; and it assigned. Then I =
can do my ping<o:p></o:p></p>
<p class=3D"MsoNormal">Etc.. but soon afterwards it gets removed by some so=
ftware that is running. Not sure if it is the hypervisor or what.
<o:p></o:p></p>
<p class=3D"MsoNormal">I can see messages in /var/log/messages but there is=
 output in xenstored-access.log.
<o:p></o:p></p>
<p class=3D"MsoNormal">Even when I am not doing anything on the host or on =
the guest. It just gets removed. &nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">The other thought I had was to change the model for =
the vif to e1000 so the system would boot cleanly<o:p></o:p></p>
<p class=3D"MsoNormal">and hopefully have a stable connection. But adding &=
#8220;model=3De1000&#8221; in the vif configuration of the
<o:p></o:p></p>
<p class=3D"MsoNormal">domain&#8217;s config file, shutting down, and creat=
ing the domain again, doesn&#8217;t change the nic driver;
<o:p></o:p></p>
<p class=3D"MsoNormal">the guest kernel still sees xn0. &nbsp;I had seen vi=
a on-line search that I can use<o:p></o:p></p>
<p class=3D"MsoNormal">xl set-parameters uuid &#8230; platform-nic=3De1000<=
o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">but the program cores. So, I must not be entering th=
e command correctly.
<o:p></o:p></p>
<p class=3D"MsoNormal">Here is the information I gathered:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# xl list -v<o:p></o:p></p>
<p class=3D"MsoNormal">Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp; Mem VCPUs&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; State&nbsp;&nbsp; Time(s)&nbsp;&nbsp; UUID&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rea=
son-Code&nbsp;&nbsp; Security Label<o:p></o:p></p>
<p class=3D"MsoNormal">Domain-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;0 12001&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&=
nbsp; r-----&nbsp;&nbsp; 14055.6 00000000-0000-0000-0000-000000000000&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<o:p></o:p></p>
<p class=3D"MsoNormal">UCD_t1_Domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21&nbsp;=
 4096&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; -b----&nbsp;&nbsp;&=
nbsp;&nbsp; 113.0 a697608c-3e7c-4b08-8aa6-d6125562a25e&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<o:p></o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# xl network-list 21<o:p></o:p></p>
<p class=3D"MsoNormal">Idx BE Mac Addr.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ha=
ndle state evt-ch&nbsp;&nbsp; tx-/rx-ring-ref BE-path<o:p></o:p></p>
<p class=3D"MsoNormal">0&nbsp;&nbsp; &nbsp;&nbsp;0&nbsp; &nbsp;00:16:3e:00:=
00:11&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;13&nbsp;&nbsp; &nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;784/785&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; /local/domain/0/backend/vif/21/0<o:p></o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# brctl show<o:p></o:p></p>
<p class=3D"MsoNormal">bridge name&nbsp;&nbsp;&nbsp;&nbsp; bridge id&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STP enabled&=
nbsp;&nbsp;&nbsp;&nbsp; interfaces<o:p></o:p></p>
<p class=3D"MsoNormal">xenbr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;8000.f28587ae759e&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eth1<o:p>=
</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Here is the domain config file: <o:p></o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# cat ucd.cfg<o:p></o:p></p>
<p class=3D"MsoNormal">arch_libdir=3D 'lib64'<o:p></o:p></p>
<p class=3D"MsoNormal">builder=3D'hvm'<o:p></o:p></p>
<p class=3D"MsoNormal">memory=3D4096<o:p></o:p></p>
<p class=3D"MsoNormal">name=3D&quot;UCD_t1_Domain&quot;<o:p></o:p></p>
<p class=3D"MsoNormal">vcpus=3D4<o:p></o:p></p>
<p class=3D"MsoNormal">vif =3D [ 'mac=3D00:16:3e:00:00:11, bridge=3Dxenbr0,=
 model=3De1000' ]<o:p></o:p></p>
<p class=3D"MsoNormal">disk =3D [ '/home/admin/tmp/ucd.img,raw,hda,rw', '/h=
ome/admin/tmp/install.iso,raw,hdc:cdrom,r' ]<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">on_poweroff =3D 'destroy'<o:p></o:p></p>
<p class=3D"MsoNormal">on_reboot =3D 'restart'<o:p></o:p></p>
<p class=3D"MsoNormal">on_crash =3D 'preserve'<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">boot =3D &quot;cd&quot;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">snapshot=3D1<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">sdl =3D 0<o:p></o:p></p>
<p class=3D"MsoNormal">vnc =3D 1<o:p></o:p></p>
<p class=3D"MsoNormal">vnclisten=3D&quot;192.168.21.9&quot;<o:p></o:p></p>
<p class=3D"MsoNormal">vncpasswd=3D''<o:p></o:p></p>
<p class=3D"MsoNormal">serial=3D'pty'<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Here is the vif being removed: <o:p></o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# brctl show<o:p></o:p></p>
<p class=3D"MsoNormal">bridge name&nbsp;&nbsp;&nbsp;&nbsp; bridge id&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;STP enabled&nbsp;&nbsp;&nbsp;&nbsp; interfaces<o:p></o:p></p>
<p class=3D"MsoNormal">xenbr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; 8000.f28587ae759e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; no&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eth1<o=
:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# brctl addif xenbr0 vif21.0<o:p></=
o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# brctl show<o:p></o:p></p>
<p class=3D"MsoNormal">bridge name&nbsp;&nbsp;&nbsp;&nbsp; bridge id&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p; STP enabled&nbsp;&nbsp;&nbsp;&nbsp; interfaces<o:p></o:p></p>
<p class=3D"MsoNormal">xenbr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; 8000.f28587ae759e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; no&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eth1<o=
:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vif=
21.0<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">-------------- var/log/messages<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Jun 17 16:30:35 xen kernel: [1301259.952042] xenbr0:=
 port 2(vif21.0) entered disabled state<o:p></o:p></p>
<p class=3D"MsoNormal">Jun 17 16:30:35 xen kernel: [1301259.952241] device =
vif21.0 entered promiscuous mode<o:p></o:p></p>
<p class=3D"MsoNormal">Jun 17 16:30:35 xen kernel: [1301259.952335] xenbr0:=
 port 2(vif21.0) entered blocking state<o:p></o:p></p>
<p class=3D"MsoNormal">Jun 17 16:30:35 xen kernel: [1301259.952339] xenbr0:=
 port 2(vif21.0) entered forwarding state<o:p></o:p></p>
<p class=3D"MsoNormal">Jun 17 16:31:24 xen kernel: [1301308.580201] device =
vif21.0 left promiscuous mode<o:p></o:p></p>
<p class=3D"MsoNormal">Jun 17 16:31:24 xen kernel: [1301308.580270] xenbr0:=
 port 2(vif21.0) entered disabled state<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">root@xen:/etc/xen# brctl show<o:p></o:p></p>
<p class=3D"MsoNormal">bridge name&nbsp;&nbsp;&nbsp;&nbsp; bridge id&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STP en=
abled&nbsp;&nbsp;&nbsp;&nbsp; interfaces<o:p></o:p></p>
<p class=3D"MsoNormal">xenbr0&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8000.f28587ae759e&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eth1<o:p>=
</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Any ideas?<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
DISCLAIMER: CONFIDENTIALITY NOTICE: This e-mail message, and any documents,=
 files, or previous e-mail messages attached to it, may contain information=
 that is confidential, proprietary, and/or legally privileged. If the reade=
r of this e-mail message is neither
 the intended recipient nor an employee or an agent responsible for deliver=
ing this e-mail message to the intended recipient, you are hereby notified =
that any unauthorized review, use, disclosure, or distribution of this comm=
unication is strictly prohibited.
 Disclosing this e-mail message, or any document, file or previous e-mail m=
essage attached to it to anyone other than the intended recipient may cause=
 the breaching party to be liable to Nectar Services Corp. for damages. If =
you have received this communication
 in error, please notify the sender by replying to the e-mail message and d=
elete it from your computer, without saving it in any manner.
</body>
</html>

--_000_DM6PR02MB6412F19DBF923E73AD285A03B8AF9DM6PR02MB6412namp_--



From xen-users-bounces@lists.xenproject.org Sat Jun 18 05:04:15 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Jun 2022 05:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.351706.578461 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o2QcL-0003wH-DM; Sat, 18 Jun 2022 05:03:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 351706.578461; Sat, 18 Jun 2022 05:03:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o2QcL-0003w7-9p; Sat, 18 Jun 2022 05:03:29 +0000
Received: by outflank-mailman (input) for mailman id 351706;
 Sat, 18 Jun 2022 05:03:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jmB6=WZ=onlineschubla.de=paul@srs-se1.protection.inumbo.net>)
 id 1o2QcJ-0003vy-QT
 for xen-users@lists.xenproject.org; Sat, 18 Jun 2022 05:03:27 +0000
Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de
 [81.169.146.221]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbc15e90-eec3-11ec-bd2d-47488cf2e6aa;
 Sat, 18 Jun 2022 07:03:26 +0200 (CEST)
Received: from mail.onlineschubla.de
 by smtp.strato.de (RZmta 47.46.0 DYNA|AUTH)
 with ESMTPSA id c00a34y5I53OAxn
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate)
 for <xen-users@lists.xenproject.org>;
 Sat, 18 Jun 2022 07:03:24 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.onlineschubla.de (Postfix) with ESMTP id 243452115A
 for <xen-users@lists.xenproject.org>; Sat, 18 Jun 2022 07:03:24 +0200 (CEST)
Received: from mail.onlineschubla.de ([127.0.0.1])
 by localhost (mail.onlineschubla.de [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id IzCKUdxRTpZs for <xen-users@lists.xenproject.org>;
 Sat, 18 Jun 2022 07:03:23 +0200 (CEST)
Received: from [IPV6:fd00::bd86:7bef:d1aa:8762] (unknown
 [IPv6:fd00::bd86:7bef:d1aa:8762])
 by mail.onlineschubla.de (Postfix) with ESMTPA id 936F6200FC
 for <xen-users@lists.xenproject.org>; Sat, 18 Jun 2022 07:03:23 +0200 (CEST)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: fbc15e90-eec3-11ec-bd2d-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1655528604;
    s=strato-dkim-0002; d=onlineschubla.de;
    h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From:
    Subject:Sender;
    bh=nJGQXcgtQqPfGY63+hLY7IWR0FcH/8Ie8Gj2b0oUxIc=;
    b=iUM4UHEsOHFHfbL8qLTc0LEzZE17M3RISXTLS+Ot20DLgrWw4refgpzJXisl1uUe9n
    PLTXorHTmhPRnVtcdcC1L5SGG0fQkHeuzvLLmvAJsljLAiFtN7JeRuEijNGlJvbD4pxj
    MyT70wzkyaqPW3d00PXMM9pMhD11Thq5E7vxfABPH7xaVrresW61v8/aJ13Nwyfot2Ug
    Zyy860HtZbhh/g7jwVjPOjiKrqm/MOzUV5bRyPtG/vblysk44j6OiYkbM5TE5+V8jKiv
    j88Fro8Nb880u/NIyRnnnUOXTnZZJqeetiwbJ0zA02p+DuwpQUen91az8oBjiisdTJJV
    4ofA==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":PG0ReWCndfO3rCSML4AvNaDxJ7WJyilEI/NMX3IPsStZLbcZC9mNZx0oO96cCwacwToyD+W58i0S6w=="
X-RZG-CLASS-ID: mo00
X-Virus-Scanned: Debian amavisd-new at onlineschubla.de
Message-ID: <6160b5a0-b12a-f720-5e3e-f3dc6629fbac@onlineschubla.de>
Date: Sat, 18 Jun 2022 07:03:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.10.0
Subject: Re: domU interface does not remain in xenbr0
To: xen-users@lists.xenproject.org
References: <DM6PR02MB6412F19DBF923E73AD285A03B8AF9@DM6PR02MB6412.namprd02.prod.outlook.com>
From: Paul Leiber <paul@onlineschubla.de>
In-Reply-To: <DM6PR02MB6412F19DBF923E73AD285A03B8AF9@DM6PR02MB6412.namprd02.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrew,

This issue seems to be caused by the FreeBSD netfront driver and a 
recent netback change. There is a similar description here:

https://forum.opnsense.org/index.php?topic=28708.0

Downgrading the dom0 linux kernel helped in some cases.

There is a patch which needs review:

https://reviews.freebsd.org/D33876

Best regards,

Paul

Am 17.06.2022 um 23:50 schrieb Andrew Klassen:
>
> I have installed a Freebsd guest using hvm in xen running on Debian 10 
> and have the xenbr0 bridge configured at boot using network/interfaces 
> file.
>
> I am having trouble getting my guest to boot into multiuser mode and 
> believe it has something to do
>
> with my nic driver (xn). In single user mode, I can configure an IP 
> address and ping the host bridge.
>
> Doing troubleshooting is difficult because the vif on the host won’t 
> stay assigned as a port in the xenbr0
>
> bridge.
>
> I do “brctl show” and the interface isn’t a member so I do “brctl 
> addif” and it assigned. Then I can do my ping
>
> Etc.. but soon afterwards it gets removed by some software that is 
> running. Not sure if it is the hypervisor or what.
>
> I can see messages in /var/log/messages but there is output in 
> xenstored-access.log.
>
> Even when I am not doing anything on the host or on the guest. It just 
> gets removed.
>
> The other thought I had was to change the model for the vif to e1000 
> so the system would boot cleanly
>
> and hopefully have a stable connection. But adding “model=e1000” in 
> the vif configuration of the
>
> domain’s config file, shutting down, and creating the domain again, 
> doesn’t change the nic driver;
>
> the guest kernel still sees xn0.  I had seen via on-line search that I 
> can use
>
> xl set-parameters uuid … platform-nic=e1000
>
> but the program cores. So, I must not be entering the command correctly.
>
> Here is the information I gathered:
>
> root@xen:/etc/xen# xl list -v
>
> Name ID   Mem VCPUs      State   Time(s) 
> UUID                            Reason-Code   Security Label
>
> Domain-0               0 12001     8     r-----   14055.6 
> 00000000-0000-0000-0000-000000000000        -                -
>
> UCD_t1_Domain 21  4096     4     -b----     113.0 
> a697608c-3e7c-4b08-8aa6-d6125562a25e        -                -
>
> root@xen:/etc/xen# xl network-list 21
>
> Idx BE Mac Addr.                   handle state evt-ch   
> tx-/rx-ring-ref BE-path
>
> 0     0   00:16:3e:00:00:11     0      4        13         784/785 
> /local/domain/0/backend/vif/21/0
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id           STP enabled     interfaces
>
> xenbr0              8000.f28587ae759e no                      eth1
>
> Here is the domain config file:
>
> root@xen:/etc/xen# cat ucd.cfg
>
> arch_libdir= 'lib64'
>
> builder='hvm'
>
> memory=4096
>
> name="UCD_t1_Domain"
>
> vcpus=4
>
> vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0, model=e1000' ]
>
> disk = [ '/home/admin/tmp/ucd.img,raw,hda,rw', 
> '/home/admin/tmp/install.iso,raw,hdc:cdrom,r' ]
>
> on_poweroff = 'destroy'
>
> on_reboot = 'restart'
>
> on_crash = 'preserve'
>
> boot = "cd"
>
> snapshot=1
>
> sdl = 0
>
> vnc = 1
>
> vnclisten="192.168.21.9"
>
> vncpasswd=''
>
> serial='pty'
>
> Here is the vif being removed:
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id               STP enabled     interfaces
>
> xenbr0          8000.f28587ae759e no              eth1
>
> root@xen:/etc/xen# brctl addif xenbr0 vif21.0
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id               STP enabled     interfaces
>
> xenbr0          8000.f28587ae759e no              eth1
>
>                             vif21.0
>
> -------------- var/log/messages
>
> Jun 17 16:30:35 xen kernel: [1301259.952042] xenbr0: port 2(vif21.0) 
> entered disabled state
>
> Jun 17 16:30:35 xen kernel: [1301259.952241] device vif21.0 entered 
> promiscuous mode
>
> Jun 17 16:30:35 xen kernel: [1301259.952335] xenbr0: port 2(vif21.0) 
> entered blocking state
>
> Jun 17 16:30:35 xen kernel: [1301259.952339] xenbr0: port 2(vif21.0) 
> entered forwarding state
>
> Jun 17 16:31:24 xen kernel: [1301308.580201] device vif21.0 left 
> promiscuous mode
>
> Jun 17 16:31:24 xen kernel: [1301308.580270] xenbr0: port 2(vif21.0) 
> entered disabled state
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id            STP enabled     interfaces
>
> xenbr0              8000.f28587ae759e no                      eth1
>
> Any ideas?
>
> Thanks
>
> DISCLAIMER: CONFIDENTIALITY NOTICE: This e-mail message, and any 
> documents, files, or previous e-mail messages attached to it, may 
> contain information that is confidential, proprietary, and/or legally 
> privileged. If the reader of this e-mail message is neither the 
> intended recipient nor an employee or an agent responsible for 
> delivering this e-mail message to the intended recipient, you are 
> hereby notified that any unauthorized review, use, disclosure, or 
> distribution of this communication is strictly prohibited. Disclosing 
> this e-mail message, or any document, file or previous e-mail message 
> attached to it to anyone other than the intended recipient may cause 
> the breaching party to be liable to Nectar Services Corp. for damages. 
> If you have received this communication in error, please notify the 
> sender by replying to the e-mail message and delete it from your 
> computer, without saving it in any manner. 



From xen-users-bounces@lists.xenproject.org Sat Jun 18 14:30:29 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Jun 2022 14:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.348602.578636 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o2ZSF-0006OX-IE; Sat, 18 Jun 2022 14:29:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 348602.578636; Sat, 18 Jun 2022 14:29:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o2ZSF-0006OM-EP; Sat, 18 Jun 2022 14:29:39 +0000
Received: by outflank-mailman (input) for mailman id 348602;
 Tue, 14 Jun 2022 07:58:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WgIn=WV=qq.com=1043187107@srs-se1.protection.inumbo.net>)
 id 1o11R6-0002fe-M6
 for xen-users@lists.xenproject.org; Tue, 14 Jun 2022 07:58:05 +0000
Received: from out203-205-221-155.mail.qq.com (out203-205-221-155.mail.qq.com
 [203.205.221.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b29c1df7-ebb7-11ec-bd2c-47488cf2e6aa;
 Tue, 14 Jun 2022 09:57:59 +0200 (CEST)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: b29c1df7-ebb7-11ec-bd2c-47488cf2e6aa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512;
	t=1655193474; bh=MXZsASdnB1cDMm6/84rH31Q1+hOSM4dsytrIuAMIioc=;
	h=From:To:Subject:Date;
	b=xyV3c7nEucDPVrkN5iR3xiBQXWOPlDRYRliqWZ2QzjE4t7DLtB9K5joj08coN7vh3
	 L1HXWGhB0xHnopI52k3s7CSVRw1Huu7XHBPfjDUUGM0WIBrcSq37oTvz1uog/ubJSL
	 2nUHTFJq641hFsFALpS5YzyyiCkVULHRXtx+ay1s=
X-QQ-FEAT: oHWrrGTW1dDc6WqWDAkbuvNXljmAAGFi
X-QQ-SSF: 00000000000000F0000000000000
X-QQ-XMAILINFO: NdWDrIBWrLrcT0y45HtqIoGFVlQTXAIqWGahX2aI3MgSncqBvnxGZ7Ts+McBwK
	 bM3wkJXzjCsWBIlcS1UsJA1uWbGbuRs31EN3QbeM4lonrpa6d3TcTNHjJ0GXuOZorSuyhlKzgCCjP
	 6evtrMOBeICMxvWcUz7aDw+6EFpozLQh5+bHeZrUw21PIYPMRX2NNH6VK5gApfVW0gyyedbMQRBKw
	 +wFAk/3ekWFgpzobh+qHgoQwjNY7oPLn4z5IZaSdKjsRETR+vYOMrCscTwuUbakmRex/RdE62chtq
	 ITG9Mq6n52a3NFaWJqJ53KbZBCGxAMA9PhMnvreK2kC5Xdo81eCqWO97aHrZXBORfti+fTCQ+OYmS
	 Eew4oUnon2m0uUJdQB6zkbEiQI/VS7YnetexbLsKGsoJwpQgdKHs2i6iHyiGmSsoT2IDvLtBm7GYh
	 e1K+1tn6OBm55IimGrerZI4h/duhR4xDpQppAdoJinsjyeOeRx9AzVbEt8sEkhSi4VsFfsD78VS+k
	 SMVKgrj22fpMhNdhfJHg1+unGW+0Y+kSQruuFOq5S7EWpRGJAIr8roSIPaCc3EmVwxauRC7BWHhz+
	 6z5vejz9vVhL/I7ppH8DWNp1OX9RQV0/n+MnhBFwXAXJSkYaoKlfsPQ82d7B2tAxg2hOgrwHuA+RP
	 fYihnLHf9UXl8AMUTVgIvwS/YHMA9X/OvmqK0s4s/3ae7y9xjDLHhCCociuGjZPi8MY382EsyJzFm
	 9YFXo/8i7mjPekkU1HME9NwWaU5wZTzWNggBufpyOFipWqtJ4UxAjnyitMLcqbkg0SLGO1CkAlr7O
	 JSV2Dtz+iOAjWenAm5eppSQ1/A/TWISDEiRaB1CISmfJqPo5KN++ncnmKGARQYeNJlEz+dS4MTjb1
	 NBy84EngHODxgoxCqKbfB/hWg8TmKfbWbhHvHpeICU/CN2SGjRwQZ7blNxCArtdmWzBAMQFnxPe43
	 Ct51XctnWqcTs4l+/z
X-HAS-ATTACH: no
X-QQ-BUSINESS-ORIGIN: 2
X-Originating-IP: 255.59.158.46
X-QQ-STYLE: 
X-QQ-mid: webmail216t1655193408t9829807
From: "=?gb18030?B?emhlbmdsdXhpbg==?=" <1043187107@qq.com>
To: "=?gb18030?B?eGVuLXVzZXJz?=" <xen-users@lists.xenproject.org>
Subject: How to use the tool xenperf in xen4.12.1
Mime-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_62A83F40_11278CE0_0F8B5AF7"
Content-Transfer-Encoding: 8Bit
Date: Tue, 14 Jun 2022 15:56:48 +0800
X-Priority: 3
Disposition-Notification-To: "=?gb18030?B?emhlbmdsdXhpbg==?=" <1043187107@qq.com>
Message-ID: <tencent_88F81C6045E1F184E95770A09501CF85910A@qq.com>
X-QQ-MIME: TCMime 1.0 by Tencent
X-Mailer: QQMail 2.x
X-QQ-Mailer: QQMail 2.x

This is a multi-part message in MIME format.

------=_NextPart_62A83F40_11278CE0_0F8B5AF7
Content-Type: text/plain;
	charset="gb18030"
Content-Transfer-Encoding: base64

SGVsbG8sDQogDQpXaGVuIEkgdXNlIHRoZSBjb21tYW5kIHhlbnBlcmYgSSBnZXQgdGhlIG1l
c3NhZ2UgIkVycm9yIGdldHRpbmcgbnVtYmVyIG9mIHBlcmYgY291bnRlcnM6IDM4IChGdW5j
dGlvbiBub3QgaW1wbGVtZW50ZWQpIi4NCiANCkkgZm91bmQgYSByZWxhdGVkIGFuc3dlciBp
biBhIEp1bHkgMjAxNiBlbWFpbCA8UmU6IFtYZW4tdXNlcnNdIFhlbnBlcmYmZ3Q7LqOoaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi11c2Vycy8yMDE2
LTA3L21zZzAwMDU2Lmh0bWyjqS4NCiANCkhvd2V2ZXIsIFVidW50dSAxNi4wNCB3aWxsIGhh
dmUgbWFueSBpbnRyYWN0YWJsZSBlcnJvcnMgd2hlbiBpbnN0YWxsaW5nIHRoZSBYZW40LjYu
MyB2ZXJzaW9uLiBUaGVyZWZvcmUgSSBpbnN0YWxsZWQgWGVuNC4xMiB2ZXJzaW9uIGJhc2Vk
IG9uIHVidW50dTE2LjA0Lg0KIA0KWGVuNC4xMiBoYXMgYmVlbiBwYXRjaGVkIHdpdGggWGVu
NC42LjMsIGFuZCBJIHRoaW5rIHRoZXJlIGlzIG5vIG5lZWQgdG8gbW9kaWZ5IHRoZSByZWxh
dGVkIGZpbGVzIG9mIFhlbi4gQnV0IEkgZG9uJ3Qga25vdyBob3cgdG8gbW9kaWZ5IHRoZSB4
ZW4vUnVsZXMubWsgZmlsZSwgYW5kIEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBv
ZiB0aGlzIHNlbnRlbmNlICIgVG8gdHVybiBvbiB0aGUgcGVyZm9ybWFuY2UgY291bnRlcnMg
Zm9yIHhlbiwgZWRpdCB4ZW4vUnVsZXMubWsmbmJzcDsmbmJzcDsmbmJzcDsgPC0tIHNldCB0
aGUgZmxhZ3MgeW91IHNob3dlZCBhYm92ZSIuDQogDQpXaGF0IHNob3VsZCBJIGRvIHRvIHVz
ZSB4ZW5wZXJmIHJlbGF0ZWQgY29tbWFuZHMgbm9ybWFsbHk/DQogDQpUaGFuayB5b3UuDQog
DQpMdXhpbiBaaGVuZw==

------=_NextPart_62A83F40_11278CE0_0F8B5AF7
Content-Type: text/html;
	charset="gb18030"
Content-Transfer-Encoding: base64

PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9R0IxODAzMCI+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtaW5kZW50
OjBjbTttc28tY2hhci1pbmRlbnQtY291bnQ6MCI+PHNwYW4gbGFuZz0iRU4tVVMiPkhlbGxv
LDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0
ZXh0LWluZGVudDowY207bXNvLWNoYXItaW5kZW50LWNvdW50OjAiPjxzcGFuIHN0eWxlPSJ0
ZXh0LWluZGVudDogMGNtOyI+V2hlbiBJIHVzZSB0aGUgY29tbWFuZCB4ZW5wZXJmIEkgZ2V0
IHRoZSBtZXNzYWdlICJFcnJvciBnZXR0aW5nCm51bWJlciBvZiBwZXJmIGNvdW50ZXJzOiAz
OCAoRnVuY3Rpb24gbm90IGltcGxlbWVudGVkKSIuPC9zcGFuPjwvcD4KCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWluZGVudDowY207bXNvLWNoYXItaW5kZW50LWNvdW50
OjAiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDttc28tYmlk
aS1mb250LXNpemU6CjExLjBwdDtmb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4m
cXVvdDssJnF1b3Q7c2VyaWYmcXVvdDs7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6y87M5TsK
bXNvLWJpZGktdGhlbWUtZm9udDptaW5vci1iaWRpO21zby1hbnNpLWxhbmd1YWdlOkVOLVVT
O21zby1mYXJlYXN0LWxhbmd1YWdlOgpaSC1DTjttc28tYmlkaS1sYW5ndWFnZTpBUi1TQSI+
SSBmb3VuZCBhIHJlbGF0ZWQgYW5zd2VyIGluIGEgSnVseSAyMDE2IGVtYWlsICZsdDtSZToK
W1hlbi11c2Vyc10gWGVucGVyZiZndDsuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTIuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKMTEuMHB0O2ZvbnQtZmFtaWx5OsvOzOU7bXNv
LWFzY2lpLWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Ozttc28taGFu
c2ktZm9udC1mYW1pbHk6CiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Ozttc28tYmlkaS1m
b250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7bXNvLWJpZGktdGhlbWUt
Zm9udDoKbWlub3ItYmlkaTttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzttc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTjttc28tYmlkaS1sYW5ndWFnZToKQVItU0EiPqOoPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDttc28tYmlkaS1mb250LXNp
emU6CjExLjBwdDtmb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssJnF1
b3Q7c2VyaWYmcXVvdDs7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6y87M5TsKbXNvLWJpZGkt
dGhlbWUtZm9udDptaW5vci1iaWRpO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJl
YXN0LWxhbmd1YWdlOgpaSC1DTjttc28tYmlkaS1sYW5ndWFnZTpBUi1TQSI+PGEgaHJlZj0i
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi11c2Vycy8y
MDE2LTA3L21zZzAwMDU2Lmh0bWwiPmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJj
aGl2ZXMvaHRtbC94ZW4tdXNlcnMvMjAxNi0wNy9tc2cwMDA1Ni5odG1sPC9hPjwvc3Bhbj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDttc28tYmlkaS1mb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OsvOzOU7bXNvLWFzY2lpLWZvbnQtZmFtaWx5OgomcXVvdDtUaW1lcyBO
ZXcgUm9tYW4mcXVvdDs7bXNvLWhhbnNpLWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBS
b21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseToKJnF1b3Q7VGltZXMgTmV3IFJvbWFu
JnF1b3Q7O21zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTttc28tYW5zaS1sYW5ndWFn
ZTpFTi1VUzsKbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ047bXNvLWJpZGktbGFuZ3VhZ2U6
QVItU0EiPqOpPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEy
LjBwdDttc28tYmlkaS1mb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RpbWVz
IE5ldyBSb21hbiZxdW90OywmcXVvdDtzZXJpZiZxdW90OzsKbXNvLWZhcmVhc3QtZm9udC1m
YW1pbHk6y87M5Tttc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7bXNvLWFuc2ktbGFu
Z3VhZ2U6CkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOO21zby1iaWRpLWxhbmd1
YWdlOkFSLVNBIj4uPC9zcGFuPjwvcD4KCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0
ZXh0LWluZGVudDowY207bXNvLWNoYXItaW5kZW50LWNvdW50OjAiPjxzcGFuIHN0eWxlPSJ0
ZXh0LWluZGVudDogMGNtOyI+SG93ZXZlciwgVWJ1bnR1IDE2LjA0IHdpbGwgaGF2ZSBtYW55
IGludHJhY3RhYmxlIGVycm9ycyB3aGVuCmluc3RhbGxpbmcgdGhlIFhlbjQuNi4zIHZlcnNp
b24uIFRoZXJlZm9yZSBJIGluc3RhbGxlZCBYZW40LjEyIHZlcnNpb24gYmFzZWQgb24KdWJ1
bnR1MTYuMDQuPC9zcGFuPjwvcD4KCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0
LWluZGVudDowY207bXNvLWNoYXItaW5kZW50LWNvdW50OjAiPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0idGV4dC1pbmRlbnQ6IDBjbTsiPlhlbjQuMTIgaGFzIGJlZW4gcGF0Y2hlZCB3
aXRoIFhlbjQuNi4zLCBhbmQgSSB0aGluayB0aGVyZSBpcyBubyBuZWVkIHRvCm1vZGlmeSB0
aGUgcmVsYXRlZCBmaWxlcyBvZiBYZW4uIEJ1dCBJIGRvbid0IGtub3cgaG93IHRvIG1vZGlm
eSB0aGUKeGVuL1J1bGVzLm1rIGZpbGUsIGFuZCBJIGRvbid0IHVuZGVyc3RhbmQgdGhlIG1l
YW5pbmcgb2YgdGhpcyBzZW50ZW5jZSAiPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0idGV4dC1pbmRlbnQ6IDBjbTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgc2Fucy1zZXJp
ZjsiPiA8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJ0ZXh0LWluZGVudDogMGNt
OyI+VG8gdHVybiBvbiB0aGUKcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIHhlbiwgZWRpdCB4
ZW4vUnVsZXMubWsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0Oy0tIHNldAp0aGUgZmxhZ3MgeW91
IHNob3dlZCBhYm92ZSIuPC9zcGFuPjwvcD4KCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJ0ZXh0LWluZGVudDowY207bXNvLWNoYXItaW5kZW50LWNvdW50OjAiPjxzcGFuIHN0eWxl
PSJ0ZXh0LWluZGVudDogMGNtOyI+V2hhdCBzaG91bGQgSSBkbyB0byB1c2UgeGVucGVyZiBy
ZWxhdGVkIGNvbW1hbmRzIG5vcm1hbGx5Pzwvc3Bhbj48L3A+Cgo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0idGV4dC1pbmRlbnQ6MGNtO21zby1jaGFyLWluZGVudC1jb3VudDowIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTogOXB0OyBmb250LWZhbWlseTog
JnF1b3Q7THVjaWRhIFNhbnMgVW5pY29kZSZxdW90Oywgc2Fucy1zZXJpZjsgY29sb3I6IHJn
Yig1MSwgNTEsIDUxKTsgYmFja2dyb3VuZC1pbWFnZTogaW5pdGlhbDsgYmFja2dyb3VuZC1w
b3NpdGlvbjogaW5pdGlhbDsgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsOyBiYWNrZ3JvdW5k
LXJlcGVhdDogaW5pdGlhbDsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsOyBiYWNr
Z3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyI+VGhh
bmsgeW91PC9zcGFuPi48L3A+Cgo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1p
bmRlbnQ6MGNtO21zby1jaGFyLWluZGVudC1jb3VudDowIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZTogOXB0OyBmb250LWZhbWlseTogJnF1b3Q7THVjaWRhIFNhbnMg
VW5pY29kZSZxdW90Oywgc2Fucy1zZXJpZjsgY29sb3I6IHJnYig1MSwgNTEsIDUxKTsgYmFj
a2dyb3VuZC1pbWFnZTogaW5pdGlhbDsgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5pdGlhbDsg
YmFja2dyb3VuZC1zaXplOiBpbml0aWFsOyBiYWNrZ3JvdW5kLXJlcGVhdDogaW5pdGlhbDsg
YmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsOyBiYWNrZ3JvdW5kLW9yaWdpbjogaW5p
dGlhbDsgYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyI+THV4aW4gWmhlbmc8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48YnI+PGJyPg==

------=_NextPart_62A83F40_11278CE0_0F8B5AF7--



From xen-users-bounces@lists.xenproject.org Fri Jun 24 13:09:45 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Jun 2022 13:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.355413.583268 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o4j3S-0001Zy-9d; Fri, 24 Jun 2022 13:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 355413.583268; Fri, 24 Jun 2022 13:08:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o4j3S-0001Zq-5t; Fri, 24 Jun 2022 13:08:58 +0000
Received: by outflank-mailman (input) for mailman id 355413;
 Fri, 24 Jun 2022 09:53:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N1LV=W7=amd.com=SivaSangeetha.SK@srs-se1.protection.inumbo.net>)
 id 1o4g0I-0006on-Ax
 for XEN-USERS@lists.xenproject.org; Fri, 24 Jun 2022 09:53:30 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2057.outbound.protection.outlook.com [40.107.93.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bebc5c4-f3a3-11ec-b725-ed86ccbb4733;
 Fri, 24 Jun 2022 11:52:57 +0200 (CEST)
Received: from DM4PR12MB5200.namprd12.prod.outlook.com (2603:10b6:5:397::11)
 by MN2PR12MB4063.namprd12.prod.outlook.com (2603:10b6:208:1dc::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Fri, 24 Jun
 2022 09:53:25 +0000
Received: from DM4PR12MB5200.namprd12.prod.outlook.com
 ([fe80::c969:8bc8:b7c1:49f6]) by DM4PR12MB5200.namprd12.prod.outlook.com
 ([fe80::c969:8bc8:b7c1:49f6%7]) with mapi id 15.20.5373.016; Fri, 24 Jun 2022
 09:53:25 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bebc5c4-f3a3-11ec-b725-ed86ccbb4733
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xh0IXUiTCG8FuyXz34mRRcOR6fHYO2iTXx+ZdadoVOtRMr3LpichwkRoGK8RFcwvALj7j+ly0X5p1rpDRICOTByN0IKXQCdaZgMCNd7jqttPnntbq+3ggbXe/ewxNNoBv5JLSzacZmQU4LbVGffwTU1nXib5jt49qE4BN2GdelYTpqDqad6g9+8J7+UdtzmUov2dAuw/dIM2SzME3SHFL4O1up3N1/1HR6e3iSho8ioAKSbOJSo9+A6AdYTIxbjIL/IzTxEfB2PD7wGdx2kpSHkqkg0krqx2+jV22dIqvjmuqvRQfADIw1n8Q+p5478A7zKImInPekWb3yEnk6bU8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rgaotJCCp5p/3PaxmgtNsKh08W55nWfD9PprqDxcyEQ=;
 b=g1UFmJdu5FM+tGXCsH4NLt5RCIb5tgxi1iFJY+qEyIi3FXsNA1vQd6GC8XYIXRCiX/DteXSfp0Ky7sy+MAm0BxbrVTK5OF5DAOhXxamCQx5DNFzEkkRW1gJ9W3W4kv89CRF9N+MxcylOFgON8LNClXiZVIdsaKBR0j0reI0nLDSd7xvG+k9Q5uKawRi7M8VYIPx5EpGUAE99jaMmzRHZjrQ+W0BI/SfFAJw50ohGBfgMWRMRljEkwFZ98B11LiMZo2Jk2b7vwybJ8sVdocKDR3fDBj5wAkA70QQuFU0UrdqRvKEY+eYhfIeSjIZnFFwiwqpqEQO5Ru8XqK8ZAkJSQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rgaotJCCp5p/3PaxmgtNsKh08W55nWfD9PprqDxcyEQ=;
 b=QC9EThx8xf/8zq0ttFZBNenA3mFGq3nkY3ioCsnh1v9jtUUWZzVG4zpTYEA0uXa0Jq9lbzgnV2nYE6ca8QjmmsI8we7CW5HQty1oiCQacABBX3B0BVXY+EbC9nPYk+eoJYZDVspCuHvLaSVUW0yTJbeh/Ft7CL1BDyKSTUVvN5o=
From: "SK, SivaSangeetha (Siva Sangeetha)" <SivaSangeetha.SK@amd.com>
To: "XEN-USERS@lists.xenproject.org" <XEN-USERS@lists.xenproject.org>
Subject: Reg. Tee init fail...
Thread-Topic: Reg. Tee init fail...
Thread-Index: AdiHr2So4ZRGcIepR0+LrE4BlT2RXA==
Date: Fri, 24 Jun 2022 09:53:24 +0000
Message-ID:
 <DM4PR12MB5200C7C38770E07B5946424A80B49@DM4PR12MB5200.namprd12.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-06-24T09:53:22Z;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=9f41e1b1-1268-4843-990b-4b745f693afd;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7c6fef53-de71-4ecf-8792-08da55c7618d
x-ms-traffictypediagnostic: MN2PR12MB4063:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 agA6qfdBA7yApwjLc9zFWjTDxOr+aucYN2UCqird4tzm1dIksO2gq66fDKCMbEPzKkJGm+2nKZ5NXBS5WVwgTMUNETFfWHW88XeK4nPyLExlLVWY19Gl3gQ3q7HvEkRl9LHuvN7hb71C8UIg1kFOJlulrC3YgfRKi6E7Baqtube9WENBKnbRepS/4gJEILkC/AHWUGEgkMgsBt/1yk6KmsCZIsbZ9b5o7T2Ciw5z+annhqjBqtc9P9OKZc4IKDLOV9y0EBVA/LWiGxgCohvGR3bUitfEwWzMh9hcuiW7AH63zVG4XHazqDErAmQ77w7yzdCEoY7DzXfFIT4k/FCRH/CFUUSt3efx/tTblLeZ50IXfMlcVnjRr31Fa2HMq+euJqtPpZmOHc8sG0a8H3ymmsKI/ephpzS8rQ18ucGr0gM48/rv1qIxCOLqp5Fk2DtKFrQSGckiBlqH86lc2UVvmMgY1hXZpNanQRQNxH1KD7oXS9sYafSnX45QWznG+FKm3/vHhzjvy9eyK+hWHZiNh79xuTczX5+uhVl6Ci1XfauMnut0vM/WwkhXK/uyExFeR5XPmgU+tdwKSziegm3NbXewz7U2QUSnzURP3860WPO8ldKxMkl9oH6m24mnU4F2f/NPgHNDP5lUZ7xuVkZtVnxXmFuyIfTPdLxmZCYiq0zObbcEY3qb2GQuF4DZHeNCmI71sKiXGYeH1/PkbvpQShvdfJgLFxZ7QU+M683Nlz/PTDnt71Ewn37QhCFa2bDxW6piWsgTGz+GY5eoX3d93o+1jcYZCvE6cGxy0EDY5jlTcvpSzvVJVLZ41xiK1bg9Q4tTHGcK2cZQgt/s/LySHg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5200.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(376002)(396003)(346002)(39860400002)(366004)(38070700005)(966005)(66476007)(66556008)(66946007)(64756008)(122000001)(86362001)(76116006)(71200400001)(66446008)(8676002)(6916009)(478600001)(316002)(41300700001)(166002)(7696005)(6506007)(186003)(26005)(38100700002)(9686003)(55016003)(33656002)(2906002)(52536014)(4744005)(8936002)(5660300002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?hgZGHsJSaoZ3Bm8Jv2hv6DUtHtlKk9rKVhh5jfhIR7v6jOVOoBdHZDLat9U6?=
 =?us-ascii?Q?VdXfY5BKQ0vMCSOlYM50F6yr4LGnpZbvaX2oohByLXnoOpqOy5YVHVhH0KSs?=
 =?us-ascii?Q?clnQYWMsOIZgTclodz9/no0t0RGxT1RDTQNbK2C28IHFFETMiFCCcF6ka8/5?=
 =?us-ascii?Q?+7tNDYmU16aOvsUAaYAo/PWTa0c83ZoRUSyYtDHnXqw5vVqPQgajyLOvQDU9?=
 =?us-ascii?Q?OIsfTJMBY9RFCqNjptbJlhewYgT5r5dKFvHNzWIpruYGWW0PDb6J7akBWxlC?=
 =?us-ascii?Q?lYhb9pAJH45SEdCR12bL34RwysIIaGLrYHVoB1iB2eW2coq0yxFzfWUiAxV2?=
 =?us-ascii?Q?DCN9EK2A/lFoSbo4in8++zdkg6Uev63Se81t9WuB1boVhqULPl7x7C5m6hVr?=
 =?us-ascii?Q?DXNtA4C4Nlr5XWlYEGyH2J+N+IzcKcnX2v1VC2MMZq2v6uqLUgNBVppPY5ds?=
 =?us-ascii?Q?A6xxFLuw5D7CRJk3uJ6U2cwLAqnu21/w4cBgov5jw1CPnv3IvPHdBwLVSBYc?=
 =?us-ascii?Q?XtOQAHdOSh1es4l8VTjATiXVK9wglt8I8QfaLuyU1/XbvX5XvMvdYsVvfBt0?=
 =?us-ascii?Q?fbqTwrkR6HRRZD31P8ImiNH0oWfAkSC2LuxV+wS6cu9o6kAv63Q68AkYGyyr?=
 =?us-ascii?Q?7KwIzBGJvGt0Vt1AIqegJrmNSn7pqw2gVUR2seF8iFoE3u+CQD+LFD7ka8Qc?=
 =?us-ascii?Q?JUUAjCAa48Yl1GlK1xd9xWxwpImOoINW5izR4iJ0lwyiibUz2JLni0bvyPTf?=
 =?us-ascii?Q?LY5KJT8+S0zXUR896LtGMLA2Sx0De8JNEzH1UNDg1RR7b24DoT9UsCEKJdqs?=
 =?us-ascii?Q?EaV8RKvQNjAB8/Pd7yJjdOX/dbT597MaaMN4hNMfQEMhflJXRwnVCKsjEzDi?=
 =?us-ascii?Q?XvaoBCd1OSZsdd+gxuEDlTeKwqdQlXqihiT8DF2sLHOsgWAGGGAs7YirTfY8?=
 =?us-ascii?Q?N/nL/WaMM4sF+OicnVHspUgeKKtvED9l4rpJcCFWmh858gbod1KkzasvshYU?=
 =?us-ascii?Q?iaAPoYtf/WbZkDVRJ2W4WCyM8an180v7/JS5dsbzciQBOPq+LDNaR3Sz+5K4?=
 =?us-ascii?Q?qfjA6aKJQVe/tb8WgFFVtapsDuPxChPPMq2H1tfkEDt5niBdRl+Rh22mGpoQ?=
 =?us-ascii?Q?hb25UTyCRA7VVm8zFo2/o4addUmZoQUAiL+7H94AG9wcLffXY6PvHGbxkmPL?=
 =?us-ascii?Q?53jXzr80Q6F5WENMuI6XS9Eeibl0JdLnNSuo71IUNJYHCiqngd8Px8BJ3AeP?=
 =?us-ascii?Q?pxOSgyTv75dkbyR1n1kVNEE752totdA9Ao1zSVEOjxjfWX3iMoRKUdTkTBmw?=
 =?us-ascii?Q?GOD7oL+TS3BZufTfrXFAgRr9SbshbbTwBdkYjgPbf6xtF0FL8VJ9YtYukZYu?=
 =?us-ascii?Q?D6PkkjZw8jv2cqIf7Bdvu6miovmDP5Ol3RNfNoTmtOilvArp4Ce4Hr/wovh7?=
 =?us-ascii?Q?MWycHNR7iSaG+FehkXKFounUTVU40Duukspadcs3UDtiy+2T4wHG+H3LAtd0?=
 =?us-ascii?Q?GMV1C4RcDSaMFJakobFYxZy+L702CubgfJppVND033Q66fmasBoTbN7IPXoG?=
 =?us-ascii?Q?K+JgjKrfZioGTpsVMtK6ZC3Z7lkYJDVFSNVe7DK8?=
Content-Type: multipart/alternative;
	boundary="_000_DM4PR12MB5200C7C38770E07B5946424A80B49DM4PR12MB5200namp_"
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5200.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c6fef53-de71-4ecf-8792-08da55c7618d
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2022 09:53:24.9394
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5Krgu0WOo+yAMdcBlWJhwi0tXtfJB6gD2NISilVibCae2FEygvyvwO7WMCunvSsE4xHij7wpb12n328U7xvspg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4063

--_000_DM4PR12MB5200C7C38770E07B5946424A80B49DM4PR12MB5200namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

[AMD Official Use Only - General]

Hi Xen team,

In TEE driver, We allocate a ring buffer, get its physical address from __p=
a() macro, pass the physical address to secure processor for mapping it and=
 using in secure processor side.

Source: https://elixir.bootlin.com/linux/latest/source/drivers/crypto/ccp/t=
ee-dev.c#L132

This works good natively in Dom0 on the target.
When we boot the same Dom0 kernel, with Xen hypervisor enabled, ring init f=
ails.


We suspect that the address passed to secure processor, is not same when xe=
n is enabled, and when xen is enabled, some level of address translation mi=
ght be required to get exact physical address.

Any hints to resolve this?

Thanks,
Siva Sangeetha S K

--_000_DM4PR12MB5200C7C38770E07B5946424A80B49DM4PR12MB5200namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<p class=3D"msipheaderdf3d92d6" align=3D"Left" style=3D"margin:0"><span sty=
le=3D"font-size:10.0pt;font-family:Arial;color:#0000FF">[AMD Official Use O=
nly - General]</span></p>
<br>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi Xen team,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121">In TEE driver, We allocate a ring buffer, get its physical address fro=
m __pa() macro, pass the physical address to secure processor for mapping i=
t and using in secure processor side.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121">Source:
<a href=3D"https://elixir.bootlin.com/linux/latest/source/drivers/crypto/cc=
p/tee-dev.c#L132">
https://elixir.bootlin.com/linux/latest/source/drivers/crypto/ccp/tee-dev.c=
#L132</a>&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121">This works good natively in Dom0 on the target.&nbsp;<o:p></o:p></span=
></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121">When we boot the same Dom0 kernel, with Xen hypervisor enabled, ring i=
nit fails.&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121">We suspect that the address passed to secure processor, is not same wh=
en xen is enabled, and when xen is enabled, some level of address translati=
on might be required to get exact physical
 address.&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"color:#212=
121">Any hints to resolve this?&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal">Siva Sangeetha S K<o:p></o:p></p>
</div>
</body>
</html>

--_000_DM4PR12MB5200C7C38770E07B5946424A80B49DM4PR12MB5200namp_--


From xen-users-bounces@lists.xenproject.org Mon Jun 27 11:35:13 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Jun 2022 11:35:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.356476.584729 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5n0U-000602-G4; Mon, 27 Jun 2022 11:34:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 356476.584729; Mon, 27 Jun 2022 11:34:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5n0U-0005zt-Ck; Mon, 27 Jun 2022 11:34:18 +0000
Received: by outflank-mailman (input) for mailman id 356476;
 Mon, 27 Jun 2022 11:34:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+Xxd=XC=hotmail.it=c.cesarano@srs-se1.protection.inumbo.net>)
 id 1o5n0S-0005zn-KZ
 for xen-users@lists.xenproject.org; Mon, 27 Jun 2022 11:34:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05olkn2050.outbound.protection.outlook.com [40.92.89.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1207a2b1-f60d-11ec-bd2d-47488cf2e6aa;
 Mon, 27 Jun 2022 13:34:15 +0200 (CEST)
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:142::21)
 by DB8PR10MB3657.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:13c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Mon, 27 Jun
 2022 11:34:13 +0000
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47]) by AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47%5]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022
 11:34:13 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 1207a2b1-f60d-11ec-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UkkvL65vk+DZQSGHAhE2JbQRwABNjWlm70OnIw8k9iFpoFLOzIz1L17+BAo2tiyECCGjkgvScgIFNN5Dipd57MOn686nKSPbz5HQ3t7dih4bcBEXN8aLWFz6CKRtAS8lU5Vcxeba8Ia3w7x7aCKp4e8JZR4tgw9Y19KTrDWsaHOs1S4Fa03t+njUsa2+PTDbD7UQa77CHEzp8/FluYB6iiyp+VpADENwQmcvkI5+wFJ96SdRLThPNfwcxSE9j9pI9PPGrUbrqomozFHcZzF/UXtKwuHQ45wSekh99sPIEDDVYQRCev0S0ltz6RH24EfSt7EZe7j+pVrAa07ND+r+qQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F+xXiPERkIc6a4Txz6e2GgzuyrMTjlfxnYqs3Hj+B7M=;
 b=E5w9P1/U1OVdm7MC6pPR+FUOiTM1AUxL1T0xxzFX/FjTNw4MGqQckpFFonzwMDGZPVMWNfueuxecx1gnX+44zy3t+0G5Jpueu78b7l3rXyeGDx/10X85Za6S9/ZPqoMWBKQ2xpKmu4b0Fhm+zixhYD37Sn803qV1wKS4uuxpxsG0YsyjCyjSOWXzWuMTWFfn++mhRjNWwR1S4wtmruo4NTVrAl6q++Gwmd5fmLldS2g3AzV4PEwPs5mu03D3tUnn0b20dPaZ0YHbFSmnDKZYNluMfLhRGQkZgaUy3kZzCGtE2cYlozqQ3wzCWp8UfgkelYZMVT1YJwQXuIR3OvyFgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: Carmine Cesarano <c.cesarano@hotmail.it>
To: " xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Subject: Crash when using xencov
Thread-Topic: Crash when using xencov
Thread-Index: AQHYihZvzMoBU/8d5kCvfMcwSUXjJA==
Date: Mon, 27 Jun 2022 11:34:13 +0000
Message-ID:
 <AM7PR10MB355942D32F58FF02379C398CF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
Accept-Language: it-IT, en-US
Content-Language: it-IT
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-tmn: [DRO9zTwo2JXlwc44mVIxkVE9D2EnI9Cz]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5e1a8ea5-e43b-4c1d-ff73-08da5830f5bf
x-ms-traffictypediagnostic: DB8PR10MB3657:EE_
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 O6vXEAaxy1y16VtDYem1rQaYacATN3n/phMDxOLfwf/6xvzaN4e4yyATy5Ed+41FyOE+VJxFwn6C9Bu+ewVtfIBZ4cT7dA9/tUGNdjtBHCQNGqQWwpS1jFjfD7tg04nsQRS9eQlDi7sWf2B+2X1SyWxQJ8seLDHIM2oQdwovLYvGaR1AuV4DneO8pDT2doZptfte4koFjQCarpJCEL3Oe7mwJ18PP64bQ1LWQpm0VMczWBVgQGectZh3Xa576/7Hv2zN0+ojfmwLrUNshxhqgb9RPB4JphFtNMddqvh6nNNQXZyX8gYKn1/BT2+9xw+axxkap6K9QttiMUawejYbfhCBbH9zs82F60l3GB6hnGrgR7e76fys/9gX/gfqreTc/Ds9CJYgZib5IUfVgQuwHErKAGMP0D+EbGqnJzZZgCrGMxk6iOyFClxLb7sNwxbl9MNfdfjdLZ8mqqRKnlfj3VnEBGXn2s53tKyPx+KlkRAxQyWyGzHdQ7e5e2MYq1ixnYC1F/VnsDpRt9fsnGuEX0znbbyKgBiS0Lz58Eyjvk6jKZJ6mxTyZZ856u5RfhM7F9ZVLfE5p2ZbTpAfK8n6SRKLlQ5xVxFFR+j3rG42PTVToDBeOj80v2m2RXbFtCoEls+3o5Yv4zaYixE6EPk3nw==
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?c3LZrhEPkFo9xzMnTVBipgnTflgJ/1fg29FpKHVxEWu1ALw+ZZIprggDDV+J?=
 =?us-ascii?Q?lfmbFcnPnxuXdu0r6nJsL1ZUn/0pglZfm1frwkNEC8sLrSYyakhElDAQaVme?=
 =?us-ascii?Q?93T+rQxpTEswb6XijPJ7bvlLTNC5tSo3fxmXQHRU08imMwAToWcKoMuKgi2Y?=
 =?us-ascii?Q?iwjDPHl0EUoJwfmlppeQdzFd+pRN7bTDFAppRgYmJXQeekAj/TW+Ho303GCu?=
 =?us-ascii?Q?OlSj351WitzBrXfysTQZIwXkXiYGj/e/gtIg3y+LJ2B+PUPYqnJJOWx6Ko9U?=
 =?us-ascii?Q?d/tKENRlDjQhtNfrOX9bt6QDG4VhOWinct+4WNCkJfgZBJQy4mU8Z46UlRAC?=
 =?us-ascii?Q?NfdPOOEuKIAc/N1aINSLW5InM7+coJlCIaRPTXbsMNMhVAgOeQfeJB+4BU5k?=
 =?us-ascii?Q?qmX7Oqsi5/n4ghwd71jOa1WFKA9V/VI08v7tzQ4bmkxnG3b4QPGmaCPl+Plb?=
 =?us-ascii?Q?LyevT2+r6yhB+DwWAthvqYF2+s8eIFkaBSxDdCbQOhvjQXX0uTPpIvq57oQ6?=
 =?us-ascii?Q?o0AfmPMsvjXuFf8emTUgs6VkbooPE+vtMXyhCyUWNTH0Dfg9db7CEavzX85c?=
 =?us-ascii?Q?taerJGna2bfU1V0ZNv2zu4UqY5sfAGK6zbxwuquVvTrWMfM6GboMMs2GxpK5?=
 =?us-ascii?Q?QpX4/ehOl1FBof+wpudLINzx4l44iAhMyC9yN4wnadQ+j7/gPvAoHeOeBEU3?=
 =?us-ascii?Q?K/qlhjzQV7Bn4HV8+CjjQEaypM5m+T+lB7rE+sWzRq0TXaYAQR5CxzRr6n4Z?=
 =?us-ascii?Q?UtWcXuImDaVqyQSYL7JxPo3ejnYtWN3W1GVhYBgg+fPRVUq0DPCDO8lPW/Ri?=
 =?us-ascii?Q?fiC8V1FbdJYH1m9bJo6qjd7eboJZKAvDzV1xOeQPch58/xgQ6dO1vWX7IkkI?=
 =?us-ascii?Q?NiNTNZ2LgdzwtsHqOJS9OiNpGZ9wdh6Ym1aRPpRUCcbPEVuActWvSDLUiUZU?=
 =?us-ascii?Q?8AVVXmvvjhCIn0J/zJ7nywZZLz7JTQbJodtMuPZA4WOLJ17oJ2BHVGbuDcD8?=
 =?us-ascii?Q?Pm46Z6CmaD+rkG0YZ43x+9qdtS9vlfTEp7iL2HEHxXKFdr61akhmViL0EwgE?=
 =?us-ascii?Q?CMw8SBr2Av3sIUZeeOjn5L/BSOsGI5Ury1ntKJolasRF1uXdKR2gzjM2jDlV?=
 =?us-ascii?Q?Z4+ZdKpPxts6sPgbQSq4QdGcGQ3263doVkqEY+O7k34WcK49fgB/yex5oEDb?=
 =?us-ascii?Q?RHMscbuxfzXEoZDGeON5yX4+wUK8ZLRMZKRMIqJJxIVnGzicPOuYW+7ODmWX?=
 =?us-ascii?Q?FjuPYebZG/0YK8YaQ6y34Fot6VRYe/qEjtDo+YmOeIh9xX7HoRUkMNFXHiUf?=
 =?us-ascii?Q?7Xs=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR10MB355942D32F58FF02379C398CF8B99AM7PR10MB3559EURP_"
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-6b909.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e1a8ea5-e43b-4c1d-ff73-08da5830f5bf
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2022 11:34:13.0865
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3657

--_000_AM7PR10MB355942D32F58FF02379C398CF8B99AM7PR10MB3559EURP_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I am having trouble retrieving xen coverage. I compiled and installed xen s=
table 4.16 on Debian 11, enabling support for coverage (using gcov).

To reproduce my scenario:
-  make -C xen menuconfig
-  disable flag /CommonFeatures/LivePatchingSupport.
-  enable enable DebuggingOptions/CodeCoverageSupport.

Once xen is installed, if I run the xencov utility from dom0 userspace, or =
invoke the SYSCTL_coverage_op hypervcall I get a hypervisor crash resulting=
 from a page fault in the function xc_sysctl().

Carmine.

--_000_AM7PR10MB355942D32F58FF02379C398CF8B99AM7PR10MB3559EURP_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
	{page:WordSection1;}
--></style>
</head>
<body lang=3D"IT" style=3D"word-wrap:break-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">I am having trouble retrieving xen coverage. I compi=
led and installed xen stable 4.16 on Debian 11, enabling support for covera=
ge (using gcov).<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">To reproduce my scenario: <o:p></o:p></p>
<p class=3D"MsoNormal">-&nbsp; make -C xen menuconfig<o:p></o:p></p>
<p class=3D"MsoNormal">-&nbsp; disable flag /CommonFeatures/LivePatchingSup=
port.<o:p></o:p></p>
<p class=3D"MsoNormal">-&nbsp; enable enable DebuggingOptions/CodeCoverageS=
upport.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Once xen is installed, if I run the xencov utility f=
rom dom0 userspace, or invoke the SYSCTL_coverage_op hypervcall I get a hyp=
ervisor crash resulting from a page fault in the function xc_sysctl().<o:p>=
</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Carmine.<o:p></o:p></p>
</div>
</body>
</html>

--_000_AM7PR10MB355942D32F58FF02379C398CF8B99AM7PR10MB3559EURP_--


From xen-users-bounces@lists.xenproject.org Mon Jun 27 11:54:25 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Jun 2022 11:54:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.356528.584769 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5nJd-0001l7-TK; Mon, 27 Jun 2022 11:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 356528.584769; Mon, 27 Jun 2022 11:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5nJd-0001kz-PH; Mon, 27 Jun 2022 11:54:05 +0000
Received: by outflank-mailman (input) for mailman id 356528;
 Mon, 27 Jun 2022 11:54:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1o5nJc-0001kt-BT
 for xen-users@lists.xenproject.org; Mon, 27 Jun 2022 11:54:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1o5nJc-0002A7-3g; Mon, 27 Jun 2022 11:54:04 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.2.226]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1o5nJb-00055W-U1; Mon, 27 Jun 2022 11:54:04 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:To:Subject:MIME-Version:Date:Message-ID;
	bh=sNdO5/XIrd8QXnnXJjfDrswsP+uS5HZzOTk4/EJTVR4=; b=l/j89QDyIG8UDHEkhaiB7UD6pq
	QPi0vbm02Ni86zdMpjgYVxDBJZWabjNxDuoWv9J0EeZ4huMJ51d0o5rapTho/EZgb2zH6JYxe207/
	JdC4X+pF6CauAmMArwnssGm9hp+EuJSNWUTXW7uhfA/Z2tlJHIx6dbMDtnDQlh4lcHo8=;
Message-ID: <87d0667b-2b85-f006-ea3c-6f557b2bdc8e@xen.org>
Date: Mon, 27 Jun 2022 12:54:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.10.0
Subject: Re: Crash when using xencov
To: Carmine Cesarano <c.cesarano@hotmail.it>,
 "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
References: <AM7PR10MB355942D32F58FF02379C398CF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AM7PR10MB355942D32F58FF02379C398CF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello,

On 27/06/2022 12:34, Carmine Cesarano wrote:
> I am having trouble retrieving xen coverage. I compiled and installed xen stable 4.16 on Debian 11, enabling support for coverage (using gcov).

By stable, do you mean the tip of stable-4.16 or something different?

> 
> To reproduce my scenario:
> -  make -C xen menuconfig
> -  disable flag /CommonFeatures/LivePatchingSupport.
> -  enable enable DebuggingOptions/CodeCoverageSupport.
> 
> Once xen is installed, if I run the xencov utility from dom0 userspace, or invoke the SYSCTL_coverage_op hypervcall I get a hypervisor crash resulting from a page fault in the function xc_sysctl().

Can you provide the logs?

Cheers,

-- 
Julien Grall


From xen-users-bounces@lists.xenproject.org Mon Jun 27 13:49:45 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Jun 2022 13:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.356702.585011 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5p6l-0000MZ-LC; Mon, 27 Jun 2022 13:48:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 356702.585011; Mon, 27 Jun 2022 13:48:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5p6l-0000MR-II; Mon, 27 Jun 2022 13:48:55 +0000
Received: by outflank-mailman (input) for mailman id 356702;
 Mon, 27 Jun 2022 13:48:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+Xxd=XC=hotmail.it=c.cesarano@srs-se1.protection.inumbo.net>)
 id 1o5p6k-0000ML-Ne
 for xen-users@lists.xenproject.org; Mon, 27 Jun 2022 13:48:54 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05olkn2039.outbound.protection.outlook.com [40.92.90.39])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e10a88ea-f61f-11ec-bd2d-47488cf2e6aa;
 Mon, 27 Jun 2022 15:48:52 +0200 (CEST)
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:142::21)
 by DB9PR10MB4587.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:1ff::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Mon, 27 Jun
 2022 13:48:51 +0000
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47]) by AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47%5]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022
 13:48:51 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: e10a88ea-f61f-11ec-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aKxXy+paipubk5+YRRWNZYaqJYzy3GGf6Dg7nRXaR+Z3tNio5D7fkjxdVyBlwjVbtDKwfpAOfvSu0bYeykA/7b+EapMuORhAApNnL6JJkh1jsB+wVB/WIDaPQoph9DchDsOrTCt458fWGn+GyekEBXB7wwDtVTX+w9CW6TzgPs8BRphvc57ThZU6DzlfX3ij2sVJecJ462Csd06F399KH2QqAtE1aHWFG2a8+I7x3PtZj8V/IFt46+35nOybil6pHZC6/ASXH+sPFVMfDECKIHygy+qGAHPZHCPnT88Kp3t8hdlh1homIQ+jOSoVYydR919dvgiJ4VEaEqlBTNOQ3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V3Pi4Az0n2TlXGuj66kDlFkJUYPs5Se0T8d8rwsr+w4=;
 b=ajfxl0GS3YbWF4NVf9kD3gYl0/dIQ5vn8QuISX9lgudBLlDQhTqNarIecX2KzOW8x4aFHVx0IIEKwzRYwka0Aq32xgpHmziqd9NvSZk3ya3jpvH6wyA6m2olzFPqg97q53AaYNXkBK7JPUgroUioc3ciu+WtDnh9rCTK97AFolNP50Qu47lGaQSbN/jwlNsq5oJWKxTU4TTG5dz0zyjN4XEtnJEyl8QJMorMzElJzBBbHZBjSjZ9tSlIt9wHtCbE75z066yPIKxs6O8LVzQwWDtZYZA4aVUS/HoZisEqT3oioR2lZLpXjLAxoSQDp/6Ez6eCVLD63Eu4Yw6fwosS1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: Carmine Cesarano <c.cesarano@hotmail.it>
To: Julien Grall <julien@xen.org>
CC: "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Subject: R: R: Crash when using xencov
Thread-Topic: R: Crash when using xencov
Thread-Index: AQHYihZvzMoBU/8d5kCvfMcwSUXjJK1jJQIAgAALHhCAAAKEgIAAD46v
Date: Mon, 27 Jun 2022 13:48:51 +0000
Message-ID:
 <AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
References:
 <AM7PR10MB355942D32F58FF02379C398CF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <87d0667b-2b85-f006-ea3c-6f557b2bdc8e@xen.org>
 <AM7PR10MB355972A68A222CB9FBAC43D4F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <daa12b90-da87-d463-24c4-a13fba330f1d@xen.org>
In-Reply-To: <daa12b90-da87-d463-24c4-a13fba330f1d@xen.org>
Accept-Language: it-IT, en-US
Content-Language: it-IT
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [PDY35V0GMQ3PCntkToKNx36Q/XrAr42l]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 75286976-79e7-4648-cfc6-08da5843c4ae
x-ms-traffictypediagnostic: DB9PR10MB4587:EE_
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 mBic0mBKhK4kKPICY9GlTkHArAXPXVchPS1XG9WN+2/Fi5xU8d4esEt1odPB4EXjE2xhQ+ZtU71msjJLopbpauuMqeGpxZYEHzCEc0KmrqfrpOO5+SAZICRQSh7eDvBBQVPT3TpnB5DOyJee6qXc5pBct87kdtMjX/wpExdvZHAogL8snbhGpaELLbKUq6tohDp8w6l1PetCCwNiY+Z5xO1MYlc0Ijch6MhmrQ4NQQXGE3KsvDJ4d5rJLtAPjPSUHSrVSnbe8M/7RTf6ZLeDIVbV/uP4MZUaiFoFxWb+hFnKrIneMfd7vLbUEJyfEDFV6JCbVJ3ABGxjrvCr+bgsnw+dToBK/nSZDv52mwMU3QuGm5jLiZuwSsdjhW/qmN8QD8JoisvM6GsaVa8cA7NqISu6CbCojApZG6E7OUDiHpsZUCS7/O7zNN8+StjMOSb7YQMHHtS8TFjnbeSLJJG07jOJ9k4vK7vpN6a3betRN8F1a5x4qf2AGrVwl3VX5h0+Py4XlC7aFIRoHOulf9RmWI6JnAwPYGUyyokknZIgwxpso74QvXIP4a3tMOf7fQCRyzCW+epzKj9VSIO3Yrd5u8z2v5jKshACQ5CGkfMSxdFEHv5JSKNC/KWc+oympUT9
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?Windows-1252?Q?IELb8odm2IehFo40rlimrluE9opeMHIBhL/MAWwzsdGhzbZ/3ScLLzCB?=
 =?Windows-1252?Q?TDldzlLCNQWe70+ujDCO5G4jNS5nvljfRQfeUMRTTaIC4sQd0QWU74rf?=
 =?Windows-1252?Q?LuxdhZ0u31znGcxSrGBMB5CZkqbokUTZxogdTv2pUORM1SOzADrkovDR?=
 =?Windows-1252?Q?o3S2yAc3aJEzn1DFRiIKCdJEjn12vmouFKVh4YjlcLIMXmQzF+l2mAUi?=
 =?Windows-1252?Q?a/7vBRWx4usIJ9Kh59jAWsCnDW6xs0z+lDBto7mEjEzZ1coA8HVOmpgm?=
 =?Windows-1252?Q?Hb1sHZd8B4AgCFuWjhm8lFWi1CdARoQR4SjTWxSyc9kdyDVSdg+eDbdS?=
 =?Windows-1252?Q?dwbSYmlzfD7BBmySqx+lRYq+AoX/gDsAYiHWKKUjiIZhB2yZBFUywLsX?=
 =?Windows-1252?Q?+IPWwPvjs4TeeGwmlaQG5H+b7Ki/NeFjAGIvnR8QMq8T2TaTnsHx4TEe?=
 =?Windows-1252?Q?8VeDKVyCcNBZzO/izjXyadZYs8mkjJiJtrAPCo1krf+5W2VXg1ax5xWY?=
 =?Windows-1252?Q?HPN5P0dNvLS/uBlicMTCcV0NO21xcBvyYBflp6dOMAoDyF33K79SkDrk?=
 =?Windows-1252?Q?ZNjnJk86SlA1NZHuo9Re9h8qPk0b2yj4RL7PPhF3C1IxA4yNmiwoV86q?=
 =?Windows-1252?Q?GIeZYvxibMIdVBv0Y/23n6LQY8cgxk4C59QH3Z0mYeOXZhVW2T8pF8I9?=
 =?Windows-1252?Q?QQK4ak8z2kc/3YCPORtCg4phEDAJIFOcFV+xR2uO/MBvZBth+Acz4GMA?=
 =?Windows-1252?Q?/QuUzaoMzdPg1moNtA/CFMW0nMya6YGWgvRU+JNdcjGJNnE/cDgtDEjt?=
 =?Windows-1252?Q?QKvdDPCCbPtzPLTYbJnGHI3pdRhlt66aqblTvVRhNZLkMOOrXAhA5Z0W?=
 =?Windows-1252?Q?cqkrAtXImvKYvDZ51Dq5NZyCWzgL1bbH+yZj5f35vKo3w3a01RFvKjUH?=
 =?Windows-1252?Q?NiFvAUkIiWJ99p25IqCNvHwW5IJ/b2SV51tH/Gt0OiOSHj31c8TKjNY1?=
 =?Windows-1252?Q?NNzZO8Y0dgNmvYWfwxt7rnVe0iN/RL2tpZWuTl5gEkZ1dApWKfXjUyLJ?=
 =?Windows-1252?Q?cWhPSpz6mK89JUiDasncuQP54Y8154/1Db/ymER7kvxuz8WXkM8U7iTp?=
 =?Windows-1252?Q?htGBds36DE9r/2HDyBjV4lz7dDqKyfGtCnI+fh/ZMIQ6DL0Yq9Wzp2KZ?=
 =?Windows-1252?Q?Cj2eSlY3VLuJmawTmwhkPkvIZshFMiSDdLRMD+WLtd/c0hyVJZjVCr5i?=
 =?Windows-1252?Q?VAuHMVV2U9EV66DzWSoFCMZrrwhY+iydTnLeOIU+vMeVCgQvgqUqdFHO?=
 =?Windows-1252?Q?QgxeXa5u/Hn5mu/Q4/ht3wOgmKZMsBW95K9iZZegbxYqUKoIqfgGeB0N?=
 =?Windows-1252?Q?0QwSWK272cyI40S1vpxJ1cl/QexMujmX/GM=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99AM7PR10MB3559EURP_"
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-6b909.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 75286976-79e7-4648-cfc6-08da5843c4ae
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2022 13:48:51.1877
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB4587

--_000_AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99AM7PR10MB3559EURP_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi,
i can=92t use addr2line (addr2line: =91xen-syms: No such file=92) but invok=
ing SYSCTL_coverage_op hypercall in a user program I get the following resu=
lt:


(gdb) break 22
Breakpoint 1 at 0x1219: file xen_ver.c, line 22.
(gdb) run
Starting program: /home/test/coverage/xen_ver
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, cov_sysctl (op=3D2, sysctl=3D0x7fffffffe4f0, buf=3D0x0, buf_s=
ize=3D0) at xen_ver.c:22
22          set_xen_guest_handle(sysctl->u.coverage_op.buffer, buf);
(gdb) s
24          return xc_sysctl(xch, sysctl);
(gdb) s
0x00007ffff7f9db30 in xc_sysctl () from /lib/libxenctrl.so.4.16
(gdb) s
Single stepping until exit from function xc_sysctl,
which has no line number information.

Da: Julien Grall<mailto:julien@xen.org>
Inviato: luned=EC 27 giugno 2022 14:42
A: Carmine Cesarano<mailto:c.cesarano@hotmail.it>
Oggetto: Re: R: Crash when using xencov

Hello,

You seemed to have removed xen-users from the CC list. Please keep it in
CC unless the discussion needs to private.

Also, please avoid top-posting.

On 27/06/2022 13:36, Carmine Cesarano wrote:
> Yes, i mean stable-4.16. Below the logs after running "xencov reset". The=
 situation for "xencov read" is similar.
>
> (XEN) ----[ Xen-4.16.2-pre  x86_64  debug=3Dy gcov=3Dy  Not tainted ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82d040257bd2>] gcov_info_reset+0x87/0xa9
> (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v0)
> (XEN) rax: 0000000000000000   rbx: ffff82d04056bdc0   rcx: 00000000000c00=
0b
> (XEN) rdx: 0000000000000000   rsi: 0000000000000001   rdi: ffff82d04056bd=
c0
> (XEN) rbp: ffff83023a7e7cb0   rsp: ffff83023a7e7c88   r8:  7fffffffffffff=
ff
> (XEN) r9:  deadbeefdeadf00d   r10: 0000000000000000   r11: 00000000000000=
00
> (XEN) r12: 0000000000000001   r13: ffff82d04056be28   r14: 00000000000000=
00
> (XEN) r15: ffff82d04056bdc0   cr0: 0000000080050033   cr4: 00000000001726=
20
> (XEN) cr3: 000000017ea0b000   cr2: 0000000000000000
> (XEN) fsb: 00007fc0fb0ca200   gsb: ffff88807b400000   gss: 00000000000000=
00
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen code around <ffff82d040257bd2> (gcov_info_reset+0x87/0xa9):
> (XEN)  1d 44 89 f0 49 8b 57 70 <4c> 8b 24 c2 49 83 c4 18 48 83 05 a6 81 4=
c 00 01
> (XEN) Xen stack trace from rsp=3Dffff83023a7e7c88:
> (XEN)    ffff82d04056bdc0 0000000000000001 ffff82d04070f180 0000000000000=
001
> (XEN)    0000000000000000 ffff83023a7e7cc8 ffff82d040257a6a ffff83023a7e7=
db0
> (XEN)    ffff83023a7e7ce8 ffff82d040257547 ffff83023a7e7fff ffff83023a7e7=
fff
> (XEN)    ffff83023a7e7e58 ffff82d040255d5f ffff83023a7e7d68 ffff82d0403b5=
e8b
> (XEN)    000000000017d5b2 0000000000000000 ffff83023a6b5000 0000000000000=
000
> (XEN)    00007fc0fb348010 800000017ea0e127 0000000000000202 ffff82d040399=
fd8
> (XEN)    0000000000005a40 ffff83023a7e7d68 0000000000000206 ffff82e002fab=
640
> (XEN)    ffff83023a7e7e58 ffff82d0403bb29d ffff83023a69f000 000000003a7e7=
fff
> (XEN)    000000017ea0f067 0000000000000000 000000000017d5b2 000000000017d=
5b2
> (XEN)    0000001400000014 0000000000000002 ffffffffffffffff 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 ffff83023a7e7ef8 0000000000000001 ffff83023a69f=
000
> (XEN)    deadbeefdeadf00d ffff82d04025579d ffff83023a7e7ee8 ffff82d040387=
f62
> (XEN)    00007fc0fb348010 deadbeefdeadf00d deadbeefdeadf00d deadbeefdeadf=
00d
> (XEN)    deadbeefdeadf00d ffff83023a7e7fff ffff82d0403b2c99 ffff83023a7e7=
eb8
> (XEN)    ffff82d04038214c ffff83023a69f000 ffff83023a7e7ed8 ffff83023a69f=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    00007cfdc58180e7 ffff82d0404392ae 0000000000000000 ffff88800f484=
c00
> (XEN) Xen call trace:
> (XEN)    [<ffff82d040257bd2>] R gcov_info_reset+0x87/0xa9

Thanks! There are multiple versions of gcov_info_reset() in the tree.
The one used will depend on the compiler you are using.

Can you use addr2line (or gdb) to find out the file and line of code
associated with the crash?

For addr2line you could do:

   addr2line -e xen-syms 0xffff82d040257bd2

Cheers,

--
Julien Grall


--_000_AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99AM7PR10MB3559EURP_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
	{page:WordSection1;}
--></style>
</head>
<body lang=3D"IT" link=3D"blue" vlink=3D"#954F72" style=3D"word-wrap:break-=
word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi,</p>
<p class=3D"MsoNormal">i can=92t use addr2line (addr2line: =91xen-syms: No =
such file=92) but invoking SYSCTL_coverage_op hypercall in a user program I=
 get the following result:</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">(gdb) break 22</p>
<p class=3D"MsoNormal">Breakpoint 1 at 0x1219: file xen_ver.c, line 22.</p>
<p class=3D"MsoNormal">(gdb) run</p>
<p class=3D"MsoNormal">Starting program: /home/test/coverage/xen_ver</p>
<p class=3D"MsoNormal">[Thread debugging using libthread_db enabled]</p>
<p class=3D"MsoNormal">Using host libthread_db library &quot;/lib/x86_64-li=
nux-gnu/libthread_db.so.1&quot;.</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Breakpoint 1, cov_sysctl (op=3D2, sysctl=3D0x7ffffff=
fe4f0, buf=3D0x0, buf_size=3D0) at xen_ver.c:22</p>
<p class=3D"MsoNormal">22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp; set_xen_guest_handle(sysctl-&gt;u.coverage_op.buffer, buf);</p>
<p class=3D"MsoNormal">(gdb) s</p>
<p class=3D"MsoNormal">24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp; return xc_sysctl(xch, sysctl);</p>
<p class=3D"MsoNormal">(gdb) s</p>
<p class=3D"MsoNormal">0x00007ffff7f9db30 in xc_sysctl () from /lib/libxenc=
trl.so.4.16</p>
<p class=3D"MsoNormal">(gdb) s</p>
<p class=3D"MsoNormal">Single stepping until exit from function xc_sysctl,<=
/p>
<p class=3D"MsoNormal">which has no line number information.</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div style=3D"mso-element:para-border-div;border:none;border-top:solid #E1E=
1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>Da: </b><a href=
=3D"mailto:julien@xen.org">Julien Grall</a><br>
<b>Inviato: </b>luned=EC 27 giugno 2022 14:42<br>
<b>A: </b><a href=3D"mailto:c.cesarano@hotmail.it">Carmine Cesarano</a><br>
<b>Oggetto: </b>Re: R: Crash when using xencov</p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Hello,<br>
<br>
You seemed to have removed xen-users from the CC list. Please keep it in <b=
r>
CC unless the discussion needs to private.<br>
<br>
Also, please avoid top-posting.<br>
<br>
On 27/06/2022 13:36, Carmine Cesarano wrote:<br>
&gt; Yes, i mean stable-4.16. Below the logs after running &quot;xencov res=
et&quot;. The situation for &quot;xencov read&quot; is similar.<br>
&gt; <br>
&gt; (XEN) ----[ Xen-4.16.2-pre&nbsp; x86_64&nbsp; debug=3Dy gcov=3Dy&nbsp;=
 Not tainted ]----<br>
&gt; (XEN) CPU:&nbsp;&nbsp;&nbsp; 0<br>
&gt; (XEN) RIP:&nbsp;&nbsp;&nbsp; e008:[&lt;ffff82d040257bd2&gt;] gcov_info=
_reset+0x87/0xa9<br>
&gt; (XEN) RFLAGS: 0000000000010202&nbsp;&nbsp; CONTEXT: hypervisor (d0v0)<=
br>
&gt; (XEN) rax: 0000000000000000&nbsp;&nbsp; rbx: ffff82d04056bdc0&nbsp;&nb=
sp; rcx: 00000000000c000b<br>
&gt; (XEN) rdx: 0000000000000000&nbsp;&nbsp; rsi: 0000000000000001&nbsp;&nb=
sp; rdi: ffff82d04056bdc0<br>
&gt; (XEN) rbp: ffff83023a7e7cb0&nbsp;&nbsp; rsp: ffff83023a7e7c88&nbsp;&nb=
sp; r8:&nbsp; 7fffffffffffffff<br>
&gt; (XEN) r9:&nbsp; deadbeefdeadf00d&nbsp;&nbsp; r10: 0000000000000000&nbs=
p;&nbsp; r11: 0000000000000000<br>
&gt; (XEN) r12: 0000000000000001&nbsp;&nbsp; r13: ffff82d04056be28&nbsp;&nb=
sp; r14: 0000000000000000<br>
&gt; (XEN) r15: ffff82d04056bdc0&nbsp;&nbsp; cr0: 0000000080050033&nbsp;&nb=
sp; cr4: 0000000000172620<br>
&gt; (XEN) cr3: 000000017ea0b000&nbsp;&nbsp; cr2: 0000000000000000<br>
&gt; (XEN) fsb: 00007fc0fb0ca200&nbsp;&nbsp; gsb: ffff88807b400000&nbsp;&nb=
sp; gss: 0000000000000000<br>
&gt; (XEN) ds: 0000&nbsp;&nbsp; es: 0000&nbsp;&nbsp; fs: 0000&nbsp;&nbsp; g=
s: 0000&nbsp;&nbsp; ss: e010&nbsp;&nbsp; cs: e008<br>
&gt; (XEN) Xen code around &lt;ffff82d040257bd2&gt; (gcov_info_reset+0x87/0=
xa9):<br>
&gt; (XEN)&nbsp; 1d 44 89 f0 49 8b 57 70 &lt;4c&gt; 8b 24 c2 49 83 c4 18 48=
 83 05 a6 81 4c 00 01<br>
&gt; (XEN) Xen stack trace from rsp=3Dffff83023a7e7c88:<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff82d04056bdc0 0000000000000001 ffff82d04070=
f180 0000000000000001<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 ffff83023a7e7cc8 ffff82d04025=
7a6a ffff83023a7e7db0<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7ce8 ffff82d040257547 ffff83023a7e=
7fff ffff83023a7e7fff<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7e58 ffff82d040255d5f ffff83023a7e=
7d68 ffff82d0403b5e8b<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 000000000017d5b2 0000000000000000 ffff83023a6b=
5000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007fc0fb348010 800000017ea0e127 000000000000=
0202 ffff82d040399fd8<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000005a40 ffff83023a7e7d68 000000000000=
0206 ffff82e002fab640<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7e58 ffff82d0403bb29d ffff83023a69=
f000 000000003a7e7fff<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 000000017ea0f067 0000000000000000 000000000017=
d5b2 000000000017d5b2<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000001400000014 0000000000000002 ffffffffffff=
ffff 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 ffff83023a7e7ef8 000000000000=
0001 ffff83023a69f000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; deadbeefdeadf00d ffff82d04025579d ffff83023a7e=
7ee8 ffff82d040387f62<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007fc0fb348010 deadbeefdeadf00d deadbeefdead=
f00d deadbeefdeadf00d<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; deadbeefdeadf00d ffff83023a7e7fff ffff82d0403b=
2c99 ffff83023a7e7eb8<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff82d04038214c ffff83023a69f000 ffff83023a7e=
7ed8 ffff83023a69f000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007cfdc58180e7 ffff82d0404392ae 000000000000=
0000 ffff88800f484c00<br>
&gt; (XEN) Xen call trace:<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; [&lt;ffff82d040257bd2&gt;] R gcov_info_reset+0=
x87/0xa9<br>
<br>
Thanks! There are multiple versions of gcov_info_reset() in the tree. <br>
The one used will depend on the compiler you are using.<br>
<br>
Can you use addr2line (or gdb) to find out the file and line of code <br>
associated with the crash?<br>
<br>
For addr2line you could do:<br>
<br>
&nbsp;&nbsp; addr2line -e xen-syms 0xffff82d040257bd2<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99AM7PR10MB3559EURP_--


From xen-users-bounces@lists.xenproject.org Mon Jun 27 14:02:55 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Jun 2022 14:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.356752.585051 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5pK8-0004SF-Es; Mon, 27 Jun 2022 14:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 356752.585051; Mon, 27 Jun 2022 14:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o5pK8-0004S8-Bv; Mon, 27 Jun 2022 14:02:44 +0000
Received: by outflank-mailman (input) for mailman id 356752;
 Mon, 27 Jun 2022 14:02:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+Xxd=XC=hotmail.it=c.cesarano@srs-se1.protection.inumbo.net>)
 id 1o5pK7-0004R3-E4
 for xen-users@lists.xenproject.org; Mon, 27 Jun 2022 14:02:43 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-oln040092072019.outbound.protection.outlook.com [40.92.72.19])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfab2863-f621-11ec-bd2d-47488cf2e6aa;
 Mon, 27 Jun 2022 16:02:42 +0200 (CEST)
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:142::21)
 by DB7PR10MB2348.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:48::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Mon, 27 Jun
 2022 14:02:40 +0000
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47]) by AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47%5]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022
 14:02:40 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: cfab2863-f621-11ec-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=buygSj7xhRyeDDcLIwfmPBUyE5LhDPUfx1jVn3htfhopqgANqZ0378v0UZYhvuU9lBazis62i1FF4R/jayzKMj76nhgd+zfzywCdIpwR18oNKOxPgbsIqj6dxo52soIAFq5OizAjMW/+MrllzDotkbU7rEPd6fgarbXVU1I4M75dsGcFT+ih9Lup8as2b9C0mrgo2kOpVH5M1P1nM81NVfIFQ0Y6S8LVpQ9XYsIJlLBzPQf2pjCaA8JkCy52MWKadSviOO76aa3YM+wL+fm/yes/HVzeDHqT4w7DCGe24/485vatTEMVwHH5pSz7epsxu4u+olSxWxEO1oZlQrHT9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8L3Ukf3TzsiD6NxvvYmU3h8y/lbPDRyt74B3MyQvK5M=;
 b=lv8kUhDsplbZRIs+PUHRyKsM8gtthDPCiWS3llwcT/N+vA6xu/HeI0i1K2dUXBslE1nPZpfGWpR2XEdf5g9hXAuRwcE4dL/QTXzbe6hwNErXba48SsYWAvlGJAOVck0fq3hvSG82N8dXPW9pjW7tKtUlXDN917zAzMCS9XSTdQF/nIrlI8pTHrwWlLHVNxOwVTvA236vwzoMiBd/PeNehDHaCN9ZrfvuyOMy7wkb+ojNp7Y1gBUZ5dVNyzMtLuNrG4JfgeTWnsFdsTrQ4rnQG/SMbELUjFsNXap7WSX1JhzwsNKLcxN90+0sBxAzekRFesKpLggWgnIHst668kKD0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: Carmine Cesarano <c.cesarano@hotmail.it>
To: "julien@xen.org" <julien@xen.org>
CC: "xen-users@lists.xenproject.org " <xen-users@lists.xenproject.org>
Subject: R: R: Crash when using xencov
Thread-Topic: R: Crash when using xencov
Thread-Index: AQHYihZvzMoBU/8d5kCvfMcwSUXjJK1jJQIAgAALHhCAAAKEgIAAD46vgAAFV6U=
Date: Mon, 27 Jun 2022 14:02:40 +0000
Message-ID:
 <AM7PR10MB3559BB8CB733902773B1AD6AF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
References:
 <AM7PR10MB355942D32F58FF02379C398CF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <87d0667b-2b85-f006-ea3c-6f557b2bdc8e@xen.org>
 <AM7PR10MB355972A68A222CB9FBAC43D4F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <daa12b90-da87-d463-24c4-a13fba330f1d@xen.org>
 <AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
In-Reply-To:
 <AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
Accept-Language: it-IT, en-US
Content-Language: it-IT
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [Mzsuoirj7FOPsAEV4UTf2QmGMwWeqXK2]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4e2260ef-f5da-4bb8-8c91-08da5845b2fe
x-ms-traffictypediagnostic: DB7PR10MB2348:EE_
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 VvM+i9VpqpxlpOOoCa7CSqEPOXkAyQOVGAOUpisDXzLIO8v6am1Q+NXTX9ngyz0zBzlHWSCMB6x9FL69txmUlrCF7SvznEaUcdAIpssE9ifc/pn5bXE17Xeq2UFKmRXa28BhB9mTYR01aon0UWnJsjaptI/gJMgPpW6zmntanMn2p+J1CoXHWTguh2d4jMhChTtTAcuv1yYRhfKcGZG1MYsNu8QLyn+Iqg5RjVVkreQRogW+F73Km2WeVDyjP3ZCf7qdeO0QZXzEjrWouG9TMQb7qHOLgbH39qUEBD8oMbVfZ7pxYaNL4ioWLnI9N8xNFkYoj5cYdzYl5g4rErsRCNt407vvWIUU+PLQWmuKhsw32SFxFxqJ5L8MfvRovd2tIbhadnrNyXd/VPvTRRrMSlKFlIil/Byq6vlN14nljN7jPWsppWwKFjfZ+ybNH3ki7ET9rA4rkS1C6+ZUGlKKT2LgqgH2cqPVYrMkrAIn2yBriddYpFT/yLnOPm5vs9ATiWcaqwX+5UuEj6YDd0a1Oaojv1LhPNEv9wsCTraMAzWhyDXtQc8NHW+IlFPQWRsmIaPrpvgdTJrmU3xdF3Colt38YEqDTNx9ujqdAhyGvuIXYli3/wbbSIEUk6GhSWc5
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?Windows-1252?Q?/IePDU/hynOhG7xkT5RBN/LlZkKV8zx5KRcuuYvAXBV7uPltKgTn56ef?=
 =?Windows-1252?Q?EDRr/a85rzqCFa0XCyl9zb+9nq4CWA3mcwcwgUntR3KIcT2tq2UYk65V?=
 =?Windows-1252?Q?WpAn++ktIK4PC22Cv26Lxni7q5KQKB0d2iqdbggTZ28jHKpygl5FQWtA?=
 =?Windows-1252?Q?64z1HxEu5xqWWEekqaAjCZk3q4s0KeMI6E4i77DsZh9X9sZfp77GKOsh?=
 =?Windows-1252?Q?p3AM7rP/8ksqK+OYgGC/B84yEX8bxTbqf+4ZCL5KX+3TUWDRhezSkwkg?=
 =?Windows-1252?Q?IBxPbJ4mUamofvykgKBKES4s8v/2cnYsWx6ooLYBjCpmjq5rIKNSDShT?=
 =?Windows-1252?Q?ohJ3U2k6fqq6XHT5jjS7pFwAuzsdbDmobkTNbGBHSqCkm9jaCIV935GA?=
 =?Windows-1252?Q?REKAAnfgjBbwp7yCg/ib0YFchGpBZT6UN3P1kTMyAnFaoK/4kimICsVt?=
 =?Windows-1252?Q?/HeXRQQDwOYQnnEeEZYrt+E53Kv+9uic1OTum/SjcDPkmYFSHc2dOftj?=
 =?Windows-1252?Q?1KD+D4yXLS49i31ewpopWyoC7V8Qbo0jefn91QOLNz1VHDqt1Lon7GQ5?=
 =?Windows-1252?Q?ee84y6idFI2aqgvTZP8seJMypreYX73xqElfkfznVbp3BZ3Ouia++hE5?=
 =?Windows-1252?Q?qZ+ZzF6d2eqZl5QjZqNkz/gOv2H8OYI7wsACVGFCnJh2BTvmzLBESg5A?=
 =?Windows-1252?Q?g+O8wbVPAoeRYrCNWxOk9RGAtkks4ou2DrFq+i061bIcj9LUpUfGoMa6?=
 =?Windows-1252?Q?3ZKYGNkDb9+H5a0MqECaBM5tcgi96e471Ry5qqeA60JzwiRmYm+1+vP9?=
 =?Windows-1252?Q?tKkZr677bsuP5rZ5U/HJMGybqwc8ZxKfcmcBu3LSCo0PZ6MIjtfAnJPZ?=
 =?Windows-1252?Q?U9BxRezStoMbsLsxj5GS2HsZrDnLfzxuZI+DR3S5Z8qzSRSmZlAAW32F?=
 =?Windows-1252?Q?X7k/KAjSm1oLSKcgYOUu0Hv994CVgT7rIlPnMlbYPzZmoVArvvqDaiiq?=
 =?Windows-1252?Q?sTM/YDyPTZ0Zz7bCh4OidbsXDhmCiTy47Kg2SuH34X8TnERlwDYWJgvz?=
 =?Windows-1252?Q?BIgyGpLb6p5WseMnzNK2qzQ0f3XP2mYV4JUFZrSEbm2o0KokJxbtaUOB?=
 =?Windows-1252?Q?iMFnXpO/++jtRw6pWzgyOA5doGbL5xacMcP3cpmg063hhpihNADxd8Pc?=
 =?Windows-1252?Q?sB42uJLVxd6IL6XJUUv/WGGZdb36UTH1i/073iim5UgO5PB9ptKOGeKD?=
 =?Windows-1252?Q?DV6EM9mFAdBzMHAxaqv+Y77v5h/e4CQTd/lQN9evcJL26VX1Wiq84tvT?=
 =?Windows-1252?Q?z374juz7lPpI17DGUcsGp17lKKnkU0hsQs91rv7as9+orbnlfqXpEH5J?=
 =?Windows-1252?Q?cG+RynXIHQCweP7Fc2KpwQPDuPcUyGwmYJM=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR10MB3559BB8CB733902773B1AD6AF8B99AM7PR10MB3559EURP_"
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-6b909.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e2260ef-f5da-4bb8-8c91-08da5845b2fe
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2022 14:02:40.4736
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR10MB2348

--_000_AM7PR10MB3559BB8CB733902773B1AD6AF8B99AM7PR10MB3559EURP_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Rectification:
using addr2line for the addr 0xffff82d040257bd2 i get:

=93/home/test/xen/xen/common/coverage/gcc_4_7.c:123=94

Da: Carmine Cesarano<mailto:c.cesarano@hotmail.it>
Inviato: luned=EC 27 giugno 2022 15:50
A: Julien Grall<mailto:julien@xen.org>
Cc: xen-users@lists.xenproject.org<mailto:xen-users@lists.xenproject.org>
Oggetto: R: R: Crash when using xencov

Hi,
i can=92t use addr2line (addr2line: =91xen-syms: No such file=92) but invok=
ing SYSCTL_coverage_op hypercall in a user program I get the following resu=
lt:


(gdb) break 22
Breakpoint 1 at 0x1219: file xen_ver.c, line 22.
(gdb) run
Starting program: /home/test/coverage/xen_ver
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, cov_sysctl (op=3D2, sysctl=3D0x7fffffffe4f0, buf=3D0x0, buf_s=
ize=3D0) at xen_ver.c:22
22          set_xen_guest_handle(sysctl->u.coverage_op.buffer, buf);
(gdb) s
24          return xc_sysctl(xch, sysctl);
(gdb) s
0x00007ffff7f9db30 in xc_sysctl () from /lib/libxenctrl.so.4.16
(gdb) s
Single stepping until exit from function xc_sysctl,
which has no line number information.

Da: Julien Grall<mailto:julien@xen.org>
Inviato: luned=EC 27 giugno 2022 14:42
A: Carmine Cesarano<mailto:c.cesarano@hotmail.it>
Oggetto: Re: R: Crash when using xencov

Hello,

You seemed to have removed xen-users from the CC list. Please keep it in
CC unless the discussion needs to private.

Also, please avoid top-posting.

On 27/06/2022 13:36, Carmine Cesarano wrote:
> Yes, i mean stable-4.16. Below the logs after running "xencov reset". The=
 situation for "xencov read" is similar.
>
> (XEN) ----[ Xen-4.16.2-pre  x86_64  debug=3Dy gcov=3Dy  Not tainted ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82d040257bd2>] gcov_info_reset+0x87/0xa9
> (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v0)
> (XEN) rax: 0000000000000000   rbx: ffff82d04056bdc0   rcx: 00000000000c00=
0b
> (XEN) rdx: 0000000000000000   rsi: 0000000000000001   rdi: ffff82d04056bd=
c0
> (XEN) rbp: ffff83023a7e7cb0   rsp: ffff83023a7e7c88   r8:  7fffffffffffff=
ff
> (XEN) r9:  deadbeefdeadf00d   r10: 0000000000000000   r11: 00000000000000=
00
> (XEN) r12: 0000000000000001   r13: ffff82d04056be28   r14: 00000000000000=
00
> (XEN) r15: ffff82d04056bdc0   cr0: 0000000080050033   cr4: 00000000001726=
20
> (XEN) cr3: 000000017ea0b000   cr2: 0000000000000000
> (XEN) fsb: 00007fc0fb0ca200   gsb: ffff88807b400000   gss: 00000000000000=
00
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen code around <ffff82d040257bd2> (gcov_info_reset+0x87/0xa9):
> (XEN)  1d 44 89 f0 49 8b 57 70 <4c> 8b 24 c2 49 83 c4 18 48 83 05 a6 81 4=
c 00 01
> (XEN) Xen stack trace from rsp=3Dffff83023a7e7c88:
> (XEN)    ffff82d04056bdc0 0000000000000001 ffff82d04070f180 0000000000000=
001
> (XEN)    0000000000000000 ffff83023a7e7cc8 ffff82d040257a6a ffff83023a7e7=
db0
> (XEN)    ffff83023a7e7ce8 ffff82d040257547 ffff83023a7e7fff ffff83023a7e7=
fff
> (XEN)    ffff83023a7e7e58 ffff82d040255d5f ffff83023a7e7d68 ffff82d0403b5=
e8b
> (XEN)    000000000017d5b2 0000000000000000 ffff83023a6b5000 0000000000000=
000
> (XEN)    00007fc0fb348010 800000017ea0e127 0000000000000202 ffff82d040399=
fd8
> (XEN)    0000000000005a40 ffff83023a7e7d68 0000000000000206 ffff82e002fab=
640
> (XEN)    ffff83023a7e7e58 ffff82d0403bb29d ffff83023a69f000 000000003a7e7=
fff
> (XEN)    000000017ea0f067 0000000000000000 000000000017d5b2 000000000017d=
5b2
> (XEN)    0000001400000014 0000000000000002 ffffffffffffffff 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 ffff83023a7e7ef8 0000000000000001 ffff83023a69f=
000
> (XEN)    deadbeefdeadf00d ffff82d04025579d ffff83023a7e7ee8 ffff82d040387=
f62
> (XEN)    00007fc0fb348010 deadbeefdeadf00d deadbeefdeadf00d deadbeefdeadf=
00d
> (XEN)    deadbeefdeadf00d ffff83023a7e7fff ffff82d0403b2c99 ffff83023a7e7=
eb8
> (XEN)    ffff82d04038214c ffff83023a69f000 ffff83023a7e7ed8 ffff83023a69f=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    00007cfdc58180e7 ffff82d0404392ae 0000000000000000 ffff88800f484=
c00
> (XEN) Xen call trace:
> (XEN)    [<ffff82d040257bd2>] R gcov_info_reset+0x87/0xa9

Thanks! There are multiple versions of gcov_info_reset() in the tree.
The one used will depend on the compiler you are using.

Can you use addr2line (or gdb) to find out the file and line of code
associated with the crash?

For addr2line you could do:

   addr2line -e xen-syms 0xffff82d040257bd2

Cheers,

--
Julien Grall



--_000_AM7PR10MB3559BB8CB733902773B1AD6AF8B99AM7PR10MB3559EURP_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
	{page:WordSection1;}
--></style>
</head>
<body lang=3D"IT" link=3D"blue" vlink=3D"#954F72" style=3D"word-wrap:break-=
word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Rectification: </p>
<p class=3D"MsoNormal">using addr2line for the addr 0xffff82d040257bd2 i ge=
t:</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">=93/home/test/xen/xen/common/coverage/gcc_4_7.c:123=
=94</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div style=3D"mso-element:para-border-div;border:none;border-top:solid #E1E=
1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>Da: </b><a href=
=3D"mailto:c.cesarano@hotmail.it">Carmine Cesarano</a><br>
<b>Inviato: </b>luned=EC 27 giugno 2022 15:50<br>
<b>A: </b><a href=3D"mailto:julien@xen.org">Julien Grall</a><br>
<b>Cc: </b><a href=3D"mailto:xen-users@lists.xenproject.org">xen-users@list=
s.xenproject.org</a><br>
<b>Oggetto: </b>R: R: Crash when using xencov</p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Hi,<o:p></o:p></p>
<p class=3D"MsoNormal">i can=92t use addr2line (addr2line: =91xen-syms: No =
such file=92) but invoking SYSCTL_coverage_op hypercall in a user program I=
 get the following result:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">(gdb) break 22<o:p></o:p></p>
<p class=3D"MsoNormal">Breakpoint 1 at 0x1219: file xen_ver.c, line 22.<o:p=
></o:p></p>
<p class=3D"MsoNormal">(gdb) run<o:p></o:p></p>
<p class=3D"MsoNormal">Starting program: /home/test/coverage/xen_ver<o:p></=
o:p></p>
<p class=3D"MsoNormal">[Thread debugging using libthread_db enabled]<o:p></=
o:p></p>
<p class=3D"MsoNormal">Using host libthread_db library &quot;/lib/x86_64-li=
nux-gnu/libthread_db.so.1&quot;.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Breakpoint 1, cov_sysctl (op=3D2, sysctl=3D0x7ffffff=
fe4f0, buf=3D0x0, buf_size=3D0) at xen_ver.c:22<o:p></o:p></p>
<p class=3D"MsoNormal">22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp; set_xen_guest_handle(sysctl-&gt;u.coverage_op.buffer, buf);<o:p></o:p>=
</p>
<p class=3D"MsoNormal">(gdb) s<o:p></o:p></p>
<p class=3D"MsoNormal">24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp; return xc_sysctl(xch, sysctl);<o:p></o:p></p>
<p class=3D"MsoNormal">(gdb) s<o:p></o:p></p>
<p class=3D"MsoNormal">0x00007ffff7f9db30 in xc_sysctl () from /lib/libxenc=
trl.so.4.16<o:p></o:p></p>
<p class=3D"MsoNormal">(gdb) s<o:p></o:p></p>
<p class=3D"MsoNormal">Single stepping until exit from function xc_sysctl,<=
o:p></o:p></p>
<p class=3D"MsoNormal">which has no line number information.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b>Da: </b><a href=3D"mailto:julien@xen.org">Julien =
Grall</a><br>
<b>Inviato: </b>luned=EC 27 giugno 2022 14:42<br>
<b>A: </b><a href=3D"mailto:c.cesarano@hotmail.it">Carmine Cesarano</a><br>
<b>Oggetto: </b>Re: R: Crash when using xencov<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Hello,<br>
<br>
You seemed to have removed xen-users from the CC list. Please keep it in <b=
r>
CC unless the discussion needs to private.<br>
<br>
Also, please avoid top-posting.<br>
<br>
On 27/06/2022 13:36, Carmine Cesarano wrote:<br>
&gt; Yes, i mean stable-4.16. Below the logs after running &quot;xencov res=
et&quot;. The situation for &quot;xencov read&quot; is similar.<br>
&gt; <br>
&gt; (XEN) ----[ Xen-4.16.2-pre&nbsp; x86_64&nbsp; debug=3Dy gcov=3Dy&nbsp;=
 Not tainted ]----<br>
&gt; (XEN) CPU:&nbsp;&nbsp;&nbsp; 0<br>
&gt; (XEN) RIP:&nbsp;&nbsp;&nbsp; e008:[&lt;ffff82d040257bd2&gt;] gcov_info=
_reset+0x87/0xa9<br>
&gt; (XEN) RFLAGS: 0000000000010202&nbsp;&nbsp; CONTEXT: hypervisor (d0v0)<=
br>
&gt; (XEN) rax: 0000000000000000&nbsp;&nbsp; rbx: ffff82d04056bdc0&nbsp;&nb=
sp; rcx: 00000000000c000b<br>
&gt; (XEN) rdx: 0000000000000000&nbsp;&nbsp; rsi: 0000000000000001&nbsp;&nb=
sp; rdi: ffff82d04056bdc0<br>
&gt; (XEN) rbp: ffff83023a7e7cb0&nbsp;&nbsp; rsp: ffff83023a7e7c88&nbsp;&nb=
sp; r8:&nbsp; 7fffffffffffffff<br>
&gt; (XEN) r9:&nbsp; deadbeefdeadf00d&nbsp;&nbsp; r10: 0000000000000000&nbs=
p;&nbsp; r11: 0000000000000000<br>
&gt; (XEN) r12: 0000000000000001&nbsp;&nbsp; r13: ffff82d04056be28&nbsp;&nb=
sp; r14: 0000000000000000<br>
&gt; (XEN) r15: ffff82d04056bdc0&nbsp;&nbsp; cr0: 0000000080050033&nbsp;&nb=
sp; cr4: 0000000000172620<br>
&gt; (XEN) cr3: 000000017ea0b000&nbsp;&nbsp; cr2: 0000000000000000<br>
&gt; (XEN) fsb: 00007fc0fb0ca200&nbsp;&nbsp; gsb: ffff88807b400000&nbsp;&nb=
sp; gss: 0000000000000000<br>
&gt; (XEN) ds: 0000&nbsp;&nbsp; es: 0000&nbsp;&nbsp; fs: 0000&nbsp;&nbsp; g=
s: 0000&nbsp;&nbsp; ss: e010&nbsp;&nbsp; cs: e008<br>
&gt; (XEN) Xen code around &lt;ffff82d040257bd2&gt; (gcov_info_reset+0x87/0=
xa9):<br>
&gt; (XEN)&nbsp; 1d 44 89 f0 49 8b 57 70 &lt;4c&gt; 8b 24 c2 49 83 c4 18 48=
 83 05 a6 81 4c 00 01<br>
&gt; (XEN) Xen stack trace from rsp=3Dffff83023a7e7c88:<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff82d04056bdc0 0000000000000001 ffff82d04070=
f180 0000000000000001<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 ffff83023a7e7cc8 ffff82d04025=
7a6a ffff83023a7e7db0<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7ce8 ffff82d040257547 ffff83023a7e=
7fff ffff83023a7e7fff<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7e58 ffff82d040255d5f ffff83023a7e=
7d68 ffff82d0403b5e8b<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 000000000017d5b2 0000000000000000 ffff83023a6b=
5000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007fc0fb348010 800000017ea0e127 000000000000=
0202 ffff82d040399fd8<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000005a40 ffff83023a7e7d68 000000000000=
0206 ffff82e002fab640<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7e58 ffff82d0403bb29d ffff83023a69=
f000 000000003a7e7fff<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 000000017ea0f067 0000000000000000 000000000017=
d5b2 000000000017d5b2<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000001400000014 0000000000000002 ffffffffffff=
ffff 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 ffff83023a7e7ef8 000000000000=
0001 ffff83023a69f000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; deadbeefdeadf00d ffff82d04025579d ffff83023a7e=
7ee8 ffff82d040387f62<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007fc0fb348010 deadbeefdeadf00d deadbeefdead=
f00d deadbeefdeadf00d<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; deadbeefdeadf00d ffff83023a7e7fff ffff82d0403b=
2c99 ffff83023a7e7eb8<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff82d04038214c ffff83023a69f000 ffff83023a7e=
7ed8 ffff83023a69f000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007cfdc58180e7 ffff82d0404392ae 000000000000=
0000 ffff88800f484c00<br>
&gt; (XEN) Xen call trace:<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; [&lt;ffff82d040257bd2&gt;] R gcov_info_reset+0=
x87/0xa9<br>
<br>
Thanks! There are multiple versions of gcov_info_reset() in the tree. <br>
The one used will depend on the compiler you are using.<br>
<br>
Can you use addr2line (or gdb) to find out the file and line of code <br>
associated with the crash?<br>
<br>
For addr2line you could do:<br>
<br>
&nbsp;&nbsp; addr2line -e xen-syms 0xffff82d040257bd2<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_AM7PR10MB3559BB8CB733902773B1AD6AF8B99AM7PR10MB3559EURP_--


From xen-users-bounces@lists.xenproject.org Tue Jun 28 15:33:18 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Jun 2022 15:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.357230.585745 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o6DCX-0000ye-EF; Tue, 28 Jun 2022 15:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 357230.585745; Tue, 28 Jun 2022 15:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1o6DCX-0000yX-AK; Tue, 28 Jun 2022 15:32:29 +0000
Received: by outflank-mailman (input) for mailman id 357230;
 Tue, 28 Jun 2022 15:32:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Zrhu=XD=hotmail.it=c.cesarano@srs-se1.protection.inumbo.net>)
 id 1o6DCW-0000yR-Av
 for xen-users@lists.xenproject.org; Tue, 28 Jun 2022 15:32:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05olkn2028.outbound.protection.outlook.com [40.92.89.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82758816-f6f7-11ec-bd2d-47488cf2e6aa;
 Tue, 28 Jun 2022 17:32:26 +0200 (CEST)
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:142::21)
 by GV1PR10MB6075.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:9d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Tue, 28 Jun
 2022 15:32:22 +0000
Received: from AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47]) by AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
 ([fe80::110a:162b:f3a6:2e47%5]) with mapi id 15.20.5373.018; Tue, 28 Jun 2022
 15:32:21 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 82758816-f6f7-11ec-bd2d-47488cf2e6aa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nLC1hdpWND2q+2l7zOL/eTgmYQflcZErVary4M2uu+IVZ/Q/kjXJmVoX3R8ZpmxrAIFnd7tRN0WO5diJCeBXkdU9X6qInHQXhs+F69Fb3l7QCTd1rxEzSI7BRPZFSGWorJb6OO8p5qNepyZHOPGm7WgV+XUWmyXruj7DIS4hRT7qvbQwgYMCfAS3I9DYgCw3X/NRwxaT8YE0KRz+GKxqPxc0ryzMdtHNzPHBp9zcUoLSbEvyqITKHHwSzR4w4nQTjLQEF0D1+KvOcYM+yAm4Tdmy7F3ZdoYBD7viK65/1qBEGWrikgbKU/Gcchu8/M8sCurV85ngV/O3TSN6ad98bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5eYmcmceRvfF3Jn9UhhQYUuj188rPK0JXzSNnPOKgVI=;
 b=ZxYBBn/pGUr4uSiLM3zS1lzL5F5s0SlJV++0TkQM5tdO+IfReViURj67xCy9m2nSgqbn0TCZmUlMMVgj7wLf9oH7wiY9t5XBrsTWb6U17Py/S3bqvbRIouStdGia3/Aa7i5sSl6PFm/ltszR5TgZiEPZk35wrFqhrq/iVRH8ImFFAPATH4utg0M0nPnPotS8WpEUNV3BMcqgFwVT/94ScO/cLnhKyXjTBGQKuMLSu593oNji2/aujxbldAoPhwsLrlJNvt4+OM1JIwQudJ/OHOo0pRAZvrxNUYbqjrVBubObFqrR2EQdQ2ht6UdfUWee7QtEM3ThmSXnwKZtiFcyOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: Carmine Cesarano <c.cesarano@hotmail.it>
To: "julien@xen.org" <julien@xen.org>
CC: "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Subject: R: R: Crash when using xencov
Thread-Topic: R: Crash when using xencov
Thread-Index:
 AQHYihZvzMoBU/8d5kCvfMcwSUXjJK1jJQIAgAALHhCAAAKEgIAAD46vgAAFV6WAAXJk3g==
Date: Tue, 28 Jun 2022 15:32:21 +0000
Message-ID:
 <AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
References:
 <AM7PR10MB355942D32F58FF02379C398CF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <87d0667b-2b85-f006-ea3c-6f557b2bdc8e@xen.org>
 <AM7PR10MB355972A68A222CB9FBAC43D4F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <daa12b90-da87-d463-24c4-a13fba330f1d@xen.org>
 <AM7PR10MB35593AA7F46B4D4A0BBD9841F8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
 <AM7PR10MB3559BB8CB733902773B1AD6AF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
In-Reply-To:
 <AM7PR10MB3559BB8CB733902773B1AD6AF8B99@AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM>
Accept-Language: it-IT, en-US
Content-Language: it-IT
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [p12gs+WEsPv4YzOQLfq31xfCyydMMuKP]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6db16790-b3a2-4425-1517-08da591b64dd
x-ms-traffictypediagnostic: GV1PR10MB6075:EE_
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ibQ1xaKzkLqKknIQc3+AEf1B0BI93SvOizXRkrIcn0kxaVMVO2oHdU4dK4EJnJyZUDWpqFNhvpjRpF8WFL6IuQ+CsZHqJfUMo604C5HVMsqbLy+kooTuwF8ev/vOJxeffI53jRQBkBy8KH6E9Ayc7sFokHKDHS7Kp5HisAxBl7mt/A0tyl6KZEt7wyZ6+uYQD3zoXfbe+Fq7kkU+mbgkpsMbbv38LIsyjDSrqDSz/ZrcFSiP4sywhXHchaz4MztGHFLpj8pnqM+yd1Rc78X30bnIorG7AWPoGCWrhPoNHu1YynnRp1vx6wy52gbLpKhSQrgpFa30Arj2f7nFvZki80PLtZD3wJFA7hC+IgHd0uKtjDrt96creZ9dYUf627HeX8gfkPORVkTSpZi8TolYyNx0FfN1NyP/XnMUOZzl3+qnMxxVT7v2UVF021Vx65YTc2s3Q4hajz0//gcyy3u8x+AqvpOUPl4DTItLUGMqpfYXn6XRpIz1HEGL/NYW+FO5QILOUCr+Ynu0Ja6BmmVu1W/87g9zxq2c1xSdEnks/NZu28IHPvC/5IzNeNp7xhbFomk0hYFQAzj/5fl0xYy/CypNdgdJnYNrKrD4wgukVNC0qT3YGnr+YV+Y5J+TKAlM
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?Windows-1252?Q?44WXUVtKOz1FN1fYtLbKJqfajqsbshmIh4ySR5uwATch55yWBnI1CTul?=
 =?Windows-1252?Q?5cXd7qrxtAPzPNtcYH2/OXoH3q1U4MvdrAyT7mfaJ9vCgakdEzNWcXwa?=
 =?Windows-1252?Q?OTmjOT2xsHSY5IZxdHpTGS63Mh74avuBZhyqGobQmyb7yaypMuJSQZnz?=
 =?Windows-1252?Q?H2u5OUJYSjLvUWbCeYtAaHNsk5x1FacTjRR8PvJqsRWymEghHmOzKCbs?=
 =?Windows-1252?Q?pV3llart+nPoVq2FjSwGBDvmBJ2dJELGo+PAmTXVvFWfLv163kOvU2CI?=
 =?Windows-1252?Q?TuuZJBBGAlvixGpozsFi4qrmUqA3UZfWru4Py1cC6o0cPsS9O7+70MY7?=
 =?Windows-1252?Q?mkBKTzG7kxJFj8Wku2hMpeJoM41RrIi0IXANk69Jmphr36WzsmsZXz5O?=
 =?Windows-1252?Q?cMZZbbP1d6Hi3aeJ8mHXerCFuQCXXeIe5UCePj0WJCkzReBwmAssVVZ1?=
 =?Windows-1252?Q?uVTsIoyhzPwZGNpFakiNq4jrN9DzURm+yfnelT96gRrv72LKb1h9WSAA?=
 =?Windows-1252?Q?UmtIDM+uj9oU98Id32oanPJaYuTwlLWxsm95jLVY8T15VG0NWhxlhpmW?=
 =?Windows-1252?Q?eGGyP6hmtoSO5nA+9UXONsqlioHBbQyrxhDGSBk3BfRghDTUEGLNf4wV?=
 =?Windows-1252?Q?0KEfxXTnmU0vFdaSBdl/ztM8XzbUEASTgjmxa9n20mronIAG24foY4HZ?=
 =?Windows-1252?Q?sO31w5vIALuZ91ZjA/G8tnYpHQLB+/JGDWLvkuOhKcIZP5kXYhhUycEi?=
 =?Windows-1252?Q?LibkBLU8S9MY2xuhLI/u1xdZl5wB0075vF/x/mAyaqf5e3FIEaVBuSA9?=
 =?Windows-1252?Q?gN2kHPOlXqL33e/VD6Dlfod2RKM1+gmzNdTR3Dl13bjGmtwFMYla3em9?=
 =?Windows-1252?Q?fZGH5FbMYhOyPjFEzuyycVOqBisyj5a5RL2Dqy7+CFNaBqcY/vP/6DMP?=
 =?Windows-1252?Q?UlCGSXxCidtmWDYuldaSZoHWDApX4MbpiMzO+VJhsTCzFxGnLx0Lr7A9?=
 =?Windows-1252?Q?3xB20AGumcGFo+l1v2wB8su2IuYKHLqUQg2T+z2byYVu0wy8vmge6C+0?=
 =?Windows-1252?Q?y6zLw0rgTOujwdKU5fR5+JknsPADA4cycQO+VrCE/YeZEWnVPGCCO9hi?=
 =?Windows-1252?Q?Pgj8OotF2nZVQcDI6e4wYKrzdig+ufW2+ULsJ2OpP+mQ6fG4oJQP/OTi?=
 =?Windows-1252?Q?OAq0nFh4N82K3LClkAM13osD9mQX12p17A5KETwmyrZXJA/LAtDkzELa?=
 =?Windows-1252?Q?n05TAZhFG06iVHt/RDDTeqsnK7amvTrM9c4X61ost6rKhV48Q8b/6iTJ?=
 =?Windows-1252?Q?eNslRrZ39//rC60HmDVIpLEflnBkxwNkrUIs5abAbe6hFmnTacFno7Hn?=
 =?Windows-1252?Q?6iSWSA20+3R3V9SYWPwDukHByiUF+pSa2l4=3D?=
Content-Type: multipart/mixed;
	boundary="_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_"
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-6b909.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR10MB3559.EURPRD10.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 6db16790-b3a2-4425-1517-08da591b64dd
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2022 15:32:21.7233
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6075

--_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: multipart/alternative;
	boundary="_000_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_"

--_000_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi,
I made two further attempts, first by compiling xen and xen-tools with gcc =
10 and second with gcc 7, getting the same problem.

By running =93xencov reset=94, with with both compilers, the line of code a=
ssociated with the crash is:

  *   /xen/xen/common/coverage/gcc_4_7.c:123
By running =93xencov read=94, I get two different behaviors with the two co=
mpilers:

  *   /xen/xen/common/coverage/gcc_4_7.c:165   [GCC 11]
  *   /xen/xen/common/coverage/gcov.c:131          [GCC 7]

Attached are the logs captured with a serial port.

Cheers,

Carmine Cesarano
Da: Julien Grall<mailto:julien@xen.org>
Inviato: luned=EC 27 giugno 2022 14:42
A: Carmine Cesarano<mailto:c.cesarano@hotmail.it>
Oggetto: Re: R: Crash when using xencov

Hello,

You seemed to have removed xen-users from the CC list. Please keep it in
CC unless the discussion needs to private.

Also, please avoid top-posting.

On 27/06/2022 13:36, Carmine Cesarano wrote:
> Yes, i mean stable-4.16. Below the logs after running "xencov reset". The=
 situation for "xencov read" is similar.
>
> (XEN) ----[ Xen-4.16.2-pre  x86_64  debug=3Dy gcov=3Dy  Not tainted ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82d040257bd2>] gcov_info_reset+0x87/0xa9
> (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v0)
> (XEN) rax: 0000000000000000   rbx: ffff82d04056bdc0   rcx: 00000000000c00=
0b
> (XEN) rdx: 0000000000000000   rsi: 0000000000000001   rdi: ffff82d04056bd=
c0
> (XEN) rbp: ffff83023a7e7cb0   rsp: ffff83023a7e7c88   r8:  7fffffffffffff=
ff
> (XEN) r9:  deadbeefdeadf00d   r10: 0000000000000000   r11: 00000000000000=
00
> (XEN) r12: 0000000000000001   r13: ffff82d04056be28   r14: 00000000000000=
00
> (XEN) r15: ffff82d04056bdc0   cr0: 0000000080050033   cr4: 00000000001726=
20
> (XEN) cr3: 000000017ea0b000   cr2: 0000000000000000
> (XEN) fsb: 00007fc0fb0ca200   gsb: ffff88807b400000   gss: 00000000000000=
00
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen code around <ffff82d040257bd2> (gcov_info_reset+0x87/0xa9):
> (XEN)  1d 44 89 f0 49 8b 57 70 <4c> 8b 24 c2 49 83 c4 18 48 83 05 a6 81 4=
c 00 01
> (XEN) Xen stack trace from rsp=3Dffff83023a7e7c88:
> (XEN)    ffff82d04056bdc0 0000000000000001 ffff82d04070f180 0000000000000=
001
> (XEN)    0000000000000000 ffff83023a7e7cc8 ffff82d040257a6a ffff83023a7e7=
db0
> (XEN)    ffff83023a7e7ce8 ffff82d040257547 ffff83023a7e7fff ffff83023a7e7=
fff
> (XEN)    ffff83023a7e7e58 ffff82d040255d5f ffff83023a7e7d68 ffff82d0403b5=
e8b
> (XEN)    000000000017d5b2 0000000000000000 ffff83023a6b5000 0000000000000=
000
> (XEN)    00007fc0fb348010 800000017ea0e127 0000000000000202 ffff82d040399=
fd8
> (XEN)    0000000000005a40 ffff83023a7e7d68 0000000000000206 ffff82e002fab=
640
> (XEN)    ffff83023a7e7e58 ffff82d0403bb29d ffff83023a69f000 000000003a7e7=
fff
> (XEN)    000000017ea0f067 0000000000000000 000000000017d5b2 000000000017d=
5b2
> (XEN)    0000001400000014 0000000000000002 ffffffffffffffff 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 ffff83023a7e7ef8 0000000000000001 ffff83023a69f=
000
> (XEN)    deadbeefdeadf00d ffff82d04025579d ffff83023a7e7ee8 ffff82d040387=
f62
> (XEN)    00007fc0fb348010 deadbeefdeadf00d deadbeefdeadf00d deadbeefdeadf=
00d
> (XEN)    deadbeefdeadf00d ffff83023a7e7fff ffff82d0403b2c99 ffff83023a7e7=
eb8
> (XEN)    ffff82d04038214c ffff83023a69f000 ffff83023a7e7ed8 ffff83023a69f=
000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    00007cfdc58180e7 ffff82d0404392ae 0000000000000000 ffff88800f484=
c00
> (XEN) Xen call trace:
> (XEN)    [<ffff82d040257bd2>] R gcov_info_reset+0x87/0xa9

Thanks! There are multiple versions of gcov_info_reset() in the tree.
The one used will depend on the compiler you are using.

Can you use addr2line (or gdb) to find out the file and line of code
associated with the crash?

For addr2line you could do:

   addr2line -e xen-syms 0xffff82d040257bd2

Cheers,

--
Julien Grall




--_000_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:36.0pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1738361637;
	mso-list-type:hybrid;
	mso-list-template-ids:-98785580 -1 68157443 68157445 68157441 68157443 681=
57445 68157441 68157443 68157445;}
@list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-font-family:"Times New Roman";}
@list l0:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:"Courier New";}
@list l0:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Wingdings;}
@list l0:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l0:level5
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:"Courier New";}
@list l0:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Wingdings;}
@list l0:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l0:level8
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:"Courier New";}
@list l0:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Wingdings;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
--></style>
</head>
<body lang=3D"IT" link=3D"blue" vlink=3D"#954F72" style=3D"word-wrap:break-=
word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi, </p>
<p class=3D"MsoNormal">I made two further attempts, first by compiling xen =
and xen-tools with gcc 10 and second with gcc 7, getting the same problem.
</p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">By running =93<b>xencov reset=94</b>, with with both=
 compilers, the line of code associated with the crash is:</p>
<ul style=3D"margin-top:0cm" type=3D"disc">
<li class=3D"MsoListParagraph" style=3D"margin-left:0cm;mso-list:l0 level1 =
lfo1"><i>/xen/xen/common/coverage/gcc_4_7.c:123<o:p></o:p></i></li></ul>
<p class=3D"MsoNormal">By running =93<b>xencov read=94, </b>I get two diffe=
rent behaviors with the two compilers:</p>
<ul style=3D"margin-top:0cm" type=3D"disc">
<li class=3D"MsoListParagraph" style=3D"margin-left:0cm;mso-list:l0 level1 =
lfo1"><i>/xen/xen/common/coverage/gcc_4_7.c:165&nbsp;&nbsp;
</i>[GCC 11]<i><o:p></o:p></i></li><li class=3D"MsoListParagraph" style=3D"=
margin-left:0cm;mso-list:l0 level1 lfo1"><i>/xen/xen/common/coverage/gcov.c=
:131&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</i>[GCC 7]<i><o:p></o:p></i></li></ul>
<p class=3D"MsoNormal" style=3D"margin-left:18.0pt"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Attached are the logs captured with a serial port.<o=
:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Cheers,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Carmine Cesarano<o:p></o:p></p>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b>Da: </b><a href=3D"mailto:julien@xen.org">Julien =
Grall</a><br>
<b>Inviato: </b>luned=EC 27 giugno 2022 14:42<br>
<b>A: </b><a href=3D"mailto:c.cesarano@hotmail.it">Carmine Cesarano</a><br>
<b>Oggetto: </b>Re: R: Crash when using xencov<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Hello,<br>
<br>
You seemed to have removed xen-users from the CC list. Please keep it in <b=
r>
CC unless the discussion needs to private.<br>
<br>
Also, please avoid top-posting.<br>
<br>
On 27/06/2022 13:36, Carmine Cesarano wrote:<br>
&gt; Yes, i mean stable-4.16. Below the logs after running &quot;xencov res=
et&quot;. The situation for &quot;xencov read&quot; is similar.<br>
&gt; <br>
&gt; (XEN) ----[ Xen-4.16.2-pre&nbsp; x86_64&nbsp; debug=3Dy gcov=3Dy&nbsp;=
 Not tainted ]----<br>
&gt; (XEN) CPU:&nbsp;&nbsp;&nbsp; 0<br>
&gt; (XEN) RIP:&nbsp;&nbsp;&nbsp; e008:[&lt;ffff82d040257bd2&gt;] gcov_info=
_reset+0x87/0xa9<br>
&gt; (XEN) RFLAGS: 0000000000010202&nbsp;&nbsp; CONTEXT: hypervisor (d0v0)<=
br>
&gt; (XEN) rax: 0000000000000000&nbsp;&nbsp; rbx: ffff82d04056bdc0&nbsp;&nb=
sp; rcx: 00000000000c000b<br>
&gt; (XEN) rdx: 0000000000000000&nbsp;&nbsp; rsi: 0000000000000001&nbsp;&nb=
sp; rdi: ffff82d04056bdc0<br>
&gt; (XEN) rbp: ffff83023a7e7cb0&nbsp;&nbsp; rsp: ffff83023a7e7c88&nbsp;&nb=
sp; r8:&nbsp; 7fffffffffffffff<br>
&gt; (XEN) r9:&nbsp; deadbeefdeadf00d&nbsp;&nbsp; r10: 0000000000000000&nbs=
p;&nbsp; r11: 0000000000000000<br>
&gt; (XEN) r12: 0000000000000001&nbsp;&nbsp; r13: ffff82d04056be28&nbsp;&nb=
sp; r14: 0000000000000000<br>
&gt; (XEN) r15: ffff82d04056bdc0&nbsp;&nbsp; cr0: 0000000080050033&nbsp;&nb=
sp; cr4: 0000000000172620<br>
&gt; (XEN) cr3: 000000017ea0b000&nbsp;&nbsp; cr2: 0000000000000000<br>
&gt; (XEN) fsb: 00007fc0fb0ca200&nbsp;&nbsp; gsb: ffff88807b400000&nbsp;&nb=
sp; gss: 0000000000000000<br>
&gt; (XEN) ds: 0000&nbsp;&nbsp; es: 0000&nbsp;&nbsp; fs: 0000&nbsp;&nbsp; g=
s: 0000&nbsp;&nbsp; ss: e010&nbsp;&nbsp; cs: e008<br>
&gt; (XEN) Xen code around &lt;ffff82d040257bd2&gt; (gcov_info_reset+0x87/0=
xa9):<br>
&gt; (XEN)&nbsp; 1d 44 89 f0 49 8b 57 70 &lt;4c&gt; 8b 24 c2 49 83 c4 18 48=
 83 05 a6 81 4c 00 01<br>
&gt; (XEN) Xen stack trace from rsp=3Dffff83023a7e7c88:<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff82d04056bdc0 0000000000000001 ffff82d04070=
f180 0000000000000001<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 ffff83023a7e7cc8 ffff82d04025=
7a6a ffff83023a7e7db0<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7ce8 ffff82d040257547 ffff83023a7e=
7fff ffff83023a7e7fff<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7e58 ffff82d040255d5f ffff83023a7e=
7d68 ffff82d0403b5e8b<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 000000000017d5b2 0000000000000000 ffff83023a6b=
5000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007fc0fb348010 800000017ea0e127 000000000000=
0202 ffff82d040399fd8<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000005a40 ffff83023a7e7d68 000000000000=
0206 ffff82e002fab640<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff83023a7e7e58 ffff82d0403bb29d ffff83023a69=
f000 000000003a7e7fff<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 000000017ea0f067 0000000000000000 000000000017=
d5b2 000000000017d5b2<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000001400000014 0000000000000002 ffffffffffff=
ffff 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 ffff83023a7e7ef8 000000000000=
0001 ffff83023a69f000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; deadbeefdeadf00d ffff82d04025579d ffff83023a7e=
7ee8 ffff82d040387f62<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007fc0fb348010 deadbeefdeadf00d deadbeefdead=
f00d deadbeefdeadf00d<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; deadbeefdeadf00d ffff83023a7e7fff ffff82d0403b=
2c99 ffff83023a7e7eb8<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; ffff82d04038214c ffff83023a69f000 ffff83023a7e=
7ed8 ffff83023a69f000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 0000000000000000 0000000000000000 000000000000=
0000 0000000000000000<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; 00007cfdc58180e7 ffff82d0404392ae 000000000000=
0000 ffff88800f484c00<br>
&gt; (XEN) Xen call trace:<br>
&gt; (XEN)&nbsp;&nbsp;&nbsp; [&lt;ffff82d040257bd2&gt;] R gcov_info_reset+0=
x87/0xa9<br>
<br>
Thanks! There are multiple versions of gcov_info_reset() in the tree. <br>
The one used will depend on the compiler you are using.<br>
<br>
Can you use addr2line (or gdb) to find out the file and line of code <br>
associated with the crash?<br>
<br>
For addr2line you could do:<br>
<br>
&nbsp;&nbsp; addr2line -e xen-syms 0xffff82d040257bd2<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_--

--_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: image/png; name="xencov_read_gcc_10.png"
Content-Description: xencov_read_gcc_10.png
Content-Disposition: attachment; filename="xencov_read_gcc_10.png";
	size=31704; creation-date="Tue, 28 Jun 2022 15:30:54 GMT";
	modification-date="Tue, 28 Jun 2022 15:30:54 GMT"
Content-Transfer-Encoding: base64

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
AAAAAElFTkSuQmCC

--_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: image/png; name="xencov_reset_gcc_10.png"
Content-Description: xencov_reset_gcc_10.png
Content-Disposition: attachment; filename="xencov_reset_gcc_10.png";
	size=31635; creation-date="Tue, 28 Jun 2022 15:30:54 GMT";
	modification-date="Tue, 28 Jun 2022 15:30:54 GMT"
Content-Transfer-Encoding: base64

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

--_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: image/png; name="xencov_read_gcc_7.png"
Content-Description: xencov_read_gcc_7.png
Content-Disposition: attachment; filename="xencov_read_gcc_7.png"; size=34958;
	creation-date="Tue, 28 Jun 2022 15:31:01 GMT";
	modification-date="Tue, 28 Jun 2022 15:31:01 GMT"
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAAo0AAAFoCAYAAAAyzMHhAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAhdEVYdENyZWF0aW9uIFRpbWUAMjAyMjowNjoy
OCAxNTowMjoyOXaQFJoAAIf2SURBVHhe7Z29bhvLsrZrfbH3FQxEBw64L+AkBBUsKZRzHoA2oJRy
zgPYACMBcsDwABZTARYDZidYCkUHIpjsC1gKFGiIuQ5/XdXTM93z1zP8E6X1Phvcy2JzZnq6Z7qr
q6qr6N27d7//9a//+v0///ef3//3P//1m//Ofv71X//z+//+85/f//vf//r9r//+39//+c///v7v
f/0rKf+v//m/3//53/92jjEffWz6+//+Xz7Pf//+3//83+//+a/0HOZTda6X+Nj37n6n67/r8uS7
f3Gbub+zP/oYt1+2Ua6vW9xXulw/O079rWOKzit9/H//8/u/rO/Kr199fve7fPv4rq/L/e3v+5TV
f9flvne36CPvcPyO6fOW37+vnN/n/6jyog8fU+/8mb5sUu57/jzPb9HHHuN817ePq/roY17g+Sio
q/3dpuW+/jfHyHEFc8fGz8+W+l/GhILfea/vKTfflX02PT/Kd1tuvqt+PtzvnfMXzEvrjEmH9Pl/
pPj9+2+6X0QUHH3gPx3++OPfdDHqUbAc09e/ftPvv77SeNmh4c8L+vcff8S/qs/dzYxax8fxX3k+
HAUUrZ7iv16e33//oOmSqNNP7/fsnNtjSj/+Vu2x43JD+6JPnWhGN3fxF3vi9++/6GEZUO/8LP7G
z9nVkDqm/o/3tIg61L9oS9kfH7/TpBfIv9fFOX9Maft4rl+3/Q+V5N3tndPHuP5V8P3Ph0Tjb7qh
Nn0+//r6J/35Z/o5Gasfq34YnJzo8cLXvo/PFFJA3VPdP8KHI/VNSM+P6t++8gLs56Pp8yvjXb9D
tHygv37XqN+hs2n7esp9/e9j4+engKb9r8cEotngc+6cm74fPjY9P8p3W85UPR++90M/f+759Vy1
oPvXMH4U8AdLjvKPf3+hn5Mjmp5804NlzMfvv2jYWdLY+v6PPz7SlZp5OkqQ/PPrX/TvL7c5QSCa
DejTj79z55VB+eeEekGU6wR93j6tijrnBUnrHH8R37dh5+XShj0Kx+UDcVn/GTYpz9WPietYVWYw
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
2DbMe3MAAAAASUVORK5CYII=

--_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_
Content-Type: image/png; name="xencov_reset_gcc_7.png"
Content-Description: xencov_reset_gcc_7.png
Content-Disposition: attachment; filename="xencov_reset_gcc_7.png";
	size=37116; creation-date="Tue, 28 Jun 2022 15:31:01 GMT";
	modification-date="Tue, 28 Jun 2022 15:31:01 GMT"
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAAocAAAF4CAYAAAAmOFOzAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAhdEVYdENyZWF0aW9uIFRpbWUAMjAyMjowNjoy
OCAxNTowMDozMyVXBE4AAJBkSURBVHhe7Z2/cts68/f3pM7vCjhWihR6LuBtOHJx7NLpVSiZcSun
VxHPqPKMU6iP1XomUaH+uLRSWKNbOC5cmBpex3mxC4AEwb/6a9n5fp7Rc2JBJEGABBa7i92/3r9/
/99f//tKP8dHNDm5pH/++48sn77/pkG4oJHz/V9/faLr2YDCxYj+/vYP/e/rLxp3AymzxNM+ff7x
L/nn/euv/9HFzzF1g5im/S/049/0Wvq8PVp63x8CZe1j2WW5LutS2sJp2yV9YUpS0j7LHB9PqT85
onFvSf0vN/Qvlyd9IgeqQ3W/FvHXp+80c46V7yqOb1S/muvrZ9D8kaCPv6Oz+vNznZMTqLYbzanT
I7oqu3+mog2K2GX/M1Xlmf4Vsu/WpuUuRf1f1T/S/u75i56/muvXnr+uf+vuv+b5W+X9KGLT829c
bu4/Gp3Qt3/yfcro36z/fPpzQDL+b+H9z/RfxfNTdn+Z44W0/3PXZpzr15UzdfVvwqbtv0l5Vfsw
m5a7bDx+CDXvLz8jzvnt8UXPx1r9y5jfFJXZZ9+yjefjpRDhkP/BndRbZm9sn8gAczR5NQ0HAAAA
APAWeWf+S3eXI4q6Y/r+6S/zzf7gFcW4G9Ho8s58AwAAAAAAXoJEOPzvv3/osj+lVu+C/vfX/gRE
Ubv2WjTtF6vEAQAAAADA/kjMygAAAAAAACSaQwAAAAAAACAcAgAAAACAhIxwyNu+f/36unefw6+/
ftHX/+1/I8whwLu0f//+rT/fP5lvU+rKAQAAAAC2SSIcSkwqjgc0SWMEacEkK7jxzmL3u4zwYj6/
vv5PykTY9IQavs535/j//vuXbiYRdcfX9GlFobRJ/Q6df398pr///pv609h8k6WuvAkcpsj2CQAA
AABAFYlweHY9oNa0nwkUyYLJaBFQd6h3MIsAOQhpMfKCXHJgRyXA2E82VmJMcatXKaz99883Jfy0
aHB9Zr5pRuP6AQAAAACARohwyBq+Xrigyc2jfOnC8Q8XQZeGF20RIDkzSlmk/WIimkwi6py2zd/F
PN5MaBFWC5FFNKkfa84SzaZjNtcm7d/0/RNrM+1vVtc6am1leg1fS5e5/u/vK2tI18VqdTkCfdAd
p3VwNLn8G66vqwFetf4r3X+B24Lth6IyAAAAAOwXEQ7bpx0KFg+FcQYl/uFoIcLFIIxpertGoOq7
B4q655VCEV/nYRHUCpE+dfVjwWRAqWZzFHVp7GkowwGn7TuR8v6UqHveXIPJgtFswHEa9fG+5pSF
ruOHtGy0CGnwcz+xJK1JWjWPpPWxdfCz0HDbjTtz6p+c0Ik0wDARkOvqX3f/TdofAAAAAIfDO9ba
nHYCipdP5qsC7m5JXN4Wk2JzbTjIaI7yWVbu6Hbaot5FteD3tIwp6JyuLjiV1I/NzMeewHh3O6U4
PM4Iqq4Z+vE5Imp9aFyHs+NQCV5XpWZsFtBcTebdg5LUDg03H+XjM6kWSKirf9X9N21/9jv98VkJ
j59/JP6uAAAAAHgZEp/D6DlvUra0L4Y6cbQSAgvT63k+h0VmZzYbR0rwqxIPRTBbg9L6tT9QiwLq
jmeJ4DqTJN4t+rCagrIQFqw/tKrbLtmUY6+fzzL+8kTPiVDGmthvf39OhL2q+tfe/47bHwAAAADb
JxEOWyWzNQsHQyV5LUYndDJaKPlr9V3FjJiNoy5VWWzbWtJYSXtUWT/RgsUZk6f+pMLPNihtOyU8
XQy7pCqQXJvr+FpoWv+y+99X+wMAAABge7xjk979PKbg6KP5KsUKB4HZ5MG7ijfxmWOTYuv42PyV
5+NRjXnbo65+1o9xFR/CVUjartSf8iOpW0o0a3Y39b5Z21xfU/+6+2/a/tyP2JACAAAAHAaiOXy8
n+f8wJiz6zF1gwWNLh2fMbM7OLOpwPM5LI2p93hP81ZIReKR9U+b35ebaH2a1O/usk/TVrZ+2wwm
zT55EoZnlppO7f3bzTLhQJfNZj1ajqZkIxYmQpEqG7Nd3LajqV9deVMeb65oSqpNbB0bHl9Xf6bq
/pldtz8AAAAAtstf79+/F/se7yrtLftejML9wbtix0eT3E5aAAAAAACwPxKfQ9a4Rd1x8YaTHcPh
UMbdKKMBBAAAAAAA+ycRDsWE2J9Sq7efGHwW8RvscZy8y8I4iwAAAAAAYH8kZmUAAAAAAAASzSEA
AAAAAAAQDgEAAAAAQEJGOJRsGHuONafDtfxKcvkeIryTOgnDsmb7+JlG/HA/uy7fFrx56DXHIzy0
+rvhinbZb6+ZpI026Ld9vR9gMzhqxkv2zWsf3wDYFolwKAGOx12KJibHrkILRVnBTV4e57uM4OQN
vMmA7MS14+t8d47nQMo3k4i64/Uyr+wNmyJwjfy/SduO0kwhbsigXZbr9nb7x+tPr3ydgZkH9OT8
JQNr8iwUlFcdX1e/quevCb5w5sdg3LS8jiSvtOqzVZPn5K7NH0xsOeren9fOpgJVk/e3jLrxJXNu
9amqJ48RvXBBk5tsrNtN6gcAWI9EODy7HlBr2s/kReYAxyPOcDHUO5hlkB2ESk76kk1/5uVWzg68
McWtXmbA8OHMJhJI2Q2s/QrRA2V2cBQkx/CCHsoi9eyonIWHi5+6X23f9KeU9CfD/U5m0jzRhZV9
5cMD96A1pf7JCZ2c9HWwba8fpR5DNTkv8tJP3fFN6hc798efphO/bp8xdeb6eLl+a5BMYJuWM/vQ
RNj7L2v/104iQK+xMBPq3p8/mCbvbxlNxpd/vqXv5clJdbi09mmHaHqbiVqxSf0AAOsjwmHZio2x
GUeGF22ZqEOTqq45EU0mEXVOS/LvGh5vJrQIq4XIQ4bb8OeMB8qrA8obnE1/x0g2nOBIlWh48E76
kzPYxEGur9yV+8xJn8fCMGe1mV5pbbNoga+mFHv92L4YqiF9SrcP5gtDk+Ob1K+Osvqr2Yg6Qfrc
ay32Ik01uGk5f8cpHSM1oc12rxnn63M6Q2p9aCyM8gSf0z6qjzuBa2tBWpYRfnPHf0/uU2uLPU11
wXdVZDTDJVrb759c7VXzczNV9W8C14/bw62n2z6M+/zlNeP59veFp7Lj7TX5kQ6U0JX8pkB7zefw
61X3/um+yh6n62LbqH58cdHpNItzsXNdzruUyZC1ef00mfYr6F+3PDM+APAHI8Ihr9iCxUNhnEGb
Qo0HnwG/qLdrLL/vHtSKsSz/sEYPHKtP/IcAT54zY7ZytVZ28OaygEInxZweoHZdzm16O40pHPzU
g6kabNm85q/OU/KDPQ+cA0o1wyeu7fPsWF01IvtzEZClLgHZVN383ZAvqQb49KyGBsdnydevjsr6
fzxSV/J4WqaT26blBhZwdYpB3Q+7Qk+wAcXz+8YaNklBGen2Ec2Mki1ZE2kFcnm2BxyHtMhlIas5
5Y/cp829XiDMy1gTz6lplky2Xujzukkbs4SDHi1N/URzZXJ5170ftfVvCI+N485ca7c87bb//MlC
wdF8ycLJtL/9uIvvquNt2/AjndGeN80yVfP+/ffvD/ri3A+X93gOMDFpVx1f9PHFSoj2RY/CxSS7
sN6wfgw/A8cP6bPr5t5nKscHAP5g3vEAedpRE8ryyXxVwN2tTBrkv7wWL7dy3mxwpwaRFvUuqgW/
p2Wc0bq8BnjwsZOnr1G1gzdPGDEtaKQmDz0IfZPBa9fltg4nI/bpnNFspk20ZWZX0QzHU7Lyf7Jy
r1oQxEt6al/ICn427tC8rwUMyxmrA6q0qTXHu/j1s2S0Jo5mpbb+atGyUNPPsZmrRVhQkmwi8G1a
7uD2w7azENn7r+tfH67vh5Z6rY291WoeA0cyPzsOleBR0n+e5pQRC0DQIZYHk/OZd9qONQvHr3kb
uG4uj89RojmtfT9q6t8Y9Uz2v5h7enxW4oym6Pm7u1V18fPYF+S1Zxofvwk17x8LYFcif13TtV7l
ZZ6FJuMLC2DyfJYIjslzUWT330L93HH5jlWXhkbjGwB/KInPYZU2Rla3POMpIbBwYvN8Dn0hieFB
N1KTRNWYKwP7K8IOaocMD8x6zGafnRHRYFZodmIhVzTDxoQjiK9WunIvJOjSWAZtnng/k6sUYK0T
+wtdFWgKEiqOdymsn8IKAPYjmhWrGaipv2jFleDQ4jYR4WpINGFBYjvlOVirqP4TbjkLkdUasdIj
tJJqA1h441fOHmOfZ7tQtMJj6djAmlOevM2fmidaxqnmVwtbRpNqhLGD8f1rUP9GRM/JM8nPxDf1
HIuAIs9fIIITPx9WQArUt9ayys+v1iqb37jvZoPjq3DdAXzTczKON3j/Hm+uaKoWQaH6f/9dbjK+
uH6HkyNVB3/8OTvXbidFz8WG9WNtIguW9r6zbiUNxjcA/lAS4bDID4Thl2uoJMOFWhGyyj0crOc7
xYPmg5q4jcWnkLaeibaqVdglPLmyo/yuNEKb4ptZrDDj+wSy4CWL+r630agA6SOLEXYyG5REAIiJ
5QvWOsngbiY+GZjN39JWNcdbVqmfaAZKfJ6YTP0VrHn4bCYumXxICQyOi8Wm5RbRMNtJbt2NFTVo
rVLJAq4Ko/mfzbSJ2df8lI0NRSZ0JXHRkdN/8t4vjHaVhbES95UXoUH9N0K0iPz+sWBjnxH9nLjP
caLhNBuaEuGp4fFlsL+rPcY3PcsCvuH7Z03fvkm86fjiIu+n5xMr2ukiV4hN66cWN6zJVxVM7rvO
bOyPDwD8qbwrMiVZ7MsVmE0o4lzv+WysAk9ereNj81eej0c15u0DhduFTVesQfKdvl8UmVw8P07x
k3P8eD59Lxe8xGcsTNwB9G9TTSkLRhPWVjmaMDYjB8b9wNUYJAMzm+BOtAm+7nimsn4e8rz2lABq
BZCa+vtwuWhBLotVW+uWs3Zl3I1odFJ/D5tQ1J5VaLOaa25VH8dfLRkbyvyFvfZltOk/61PIAgFr
J8+OW4dlwmtY/3XRgnGQ+EDWYdvb0vT4dd1xmr9/6tlVz7RsTnQXHw3GF5fk/XQUAFrALPZD3Lh+
Iuinmm9+3jnaRsKK4wMAfxKiOZQdZgV+LOKsHqjJw5ns7O7lTDgBo3mwn1IBiV/GFqv/81j/D3e3
2muCB7IvEqphtVAwu8Su5MkxJ2n/SL3STwfLrOkq3dCidwfa42e9JfW9lffdZZ8kvITRDopzd1OH
eEXV8XX148nG3enJmi/ZXGCOb1J/6w+VlJ+kzuzMpuU84ehQHNnvd4VoD9X72UQe4eeDfYHTjRrm
45j9cmZP9bHvt7TvFx2exJbJvVr/Owv7LLcGqmw1ocvtX5m07TjjmyXXpHH9N0Ceb9YGmvO79fef
X/7IxpbMeFt+vEWbVdN3aJX2qXz/ZLHDocv0syvjiXp/QrUIZgGsfnypfj+Zqs2QzMb1M3/r6/do
OUrdPpqMDwD8qfz1/v17eSt5kust+42d2beNmA6PJpmB41A45LqBt8O+30HW2vwUU3eq0RSBXDuR
FfoOA7At9LPGO813q1EHAKxO4nPIGsGqAKW7xDUNAAD2hJgAPcRJf0s+dwBUwJq9ZPMOAOCgSDSH
jGgShkRXWzSr1CF+KPqiBztI6A0RZhp1w1YAsCH6+Wf3Df03bxrYp/Y+82wLvMFg9++i1VAWuZgI
HAHhBTX1h14/AADYJRnhEAAAAAAA/NkkZmUAAAAAAAAgHAIAAAAAgISMcMg+h7+8xPC7Roc7WC1Z
/r5hvywbjsFPnN8UaVt7DvXxw/3sunxb8OahddvgENhV/ddtfz/cx676DYCXIDN2FoTYqSsHbwuO
yIAx7nWQ+BwWhbDQzurZAMQ6thTHstLf5R3aU6d6njAlUbrjvF0UvkCfky+9n1hwqyL3uEEom6K2
ddlluS1LHeuzGw788roNEdJXHA/M2ZTDL3wSW7Zkw07yLBSUVx1fV7+q568Iv/517ZOpm6Lo3FXt
vwrrhLJZ9f7fItwG589f6PKuLZt7jiab9cOfxjrP3arUjaGbjrEvyT7abxOqxtc6ms4PVeO7Rf/m
iCYFsWLXrZ+l6PrJd+Y3CWte408j0RxyZoCW6nh3UOUAuCOO0D/UEerlQVG9mElnxHi5lbMPT0xx
qzydEsMZRiTQrhtY+xXC7fP9d4EWVMKDVOSU3VG53gmr+9X2jcSsNf3JcL+zUMNlnOVFFa6kxZUX
W4I8c25VE7DW60epx7BL0SIfYLbu+Cb14wHL3h9/mg7STdrHzfLCuWMLwz1V9M+uNJUZKt+/tw9n
VkpBGB4ALE3G5yqajL9V47sLBzyn6W1eMNygfkzZ9TkxRZraVH8kxvkrStH7kohwyBJ2WQojmxFl
eNGWByVUE9Fqq/KIJpMom2KpAEnQX5GT89CRVYpaYbWmV1nB+UXJpo9iJBuOk0+WhZ+kPyWdlJcO
S8EvsDX9uInrWRjmrDbTK70KsxkH/NyqkvtUvfa3D+YLQ5Pjm9SvjrL6N2kfF47LplPDNr++pJzk
nK+z9XKS7xoeWP0sHfxxBWARcJ0y1yyUP15nr5Ey9U788hZLRd/VUXZ9+z13KWfBkNzQgc6mk/zm
wO+PNWZ8Pf5v0fUZ9/n1FxpF9+cvXsqOt9fk9gucLCermncz53faZ1+s3X+mLPcsmDZKy3nRb49P
+7Zp+1X1X13/N+lfhq/hPzd146t+VrPH6bqmbdRk/C0b3124LuddymRA20b9mCbXZ5LrHVIKzwNG
hMOqFEY2BRE//IN1G/bugaKy/KwGPfGuPvEfAjygzMZq5aJWWK7Wxr7wXBZQ6KQg0w/3rsu5TW+n
sZo4f+qXTb0c1+q3/uotJS8s8csoKavMyiuTuP7sWF3VydOsXmatxg/Ipurm7yT3vRoA0rMaGhyf
JV+/Oqrqv2r7cP3cRVRd+1t4gNUp6PR1DglJkRnp9pGVe6w1sXZCkGdb3EjS/Mv2GeeJi824khLN
lMl92tzrBZOJjDUr5C6uur7kNJc6q3FJlbNmIyadK9r+5tDvj+Gxdcxp81h74mln/OdXFhqOZkUm
RnN/9pNM5oqq49kyJN+pVyKjfV/BtMvvwPFD2nab5N5fh436ryHhgN2g9Pmle0xuyibtV9d/TFX/
1/VvJTXjq6R8da6nxzd+l8rcu/Ljb+X47tC+6FHo5MQWtlC/ptdnCusASnnHL9BpJ6C4yhbDuVE5
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
AElFTkSuQmCC

--_007_AM7PR10MB3559A1984F6B53CEFB4FECC7F8B89AM7PR10MB3559EURP_--


