Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Jun 2013 01:46:15 +0200
From:      Oliver Pinter <oliver.pntr@gmail.com>
To:        arch <arch@freebsd.org>
Cc:        Konstantin Belousov <kib@freebsd.org>
Message-ID:  <CAPjTQNF_utjC_yM0proi1LNa6oj0SR9HVvGORL%2BEFpeweAFnnw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--e89a8fb1ebe45618f904de205642
Content-Type: text/plain; charset=ISO-8859-1

Hi All!

As subpart of my thesis, I implemented Intel SMAP[1] support for FreeBSD.
The current stable version of patch (attached) have compile time
option to enable SMAP.*

A feature complete dynamic version is expected by the end of the
month, which patched the kernel on boot time, when the feautre
presented in CPU.

[1] http://lwn.net/Articles/517475/

patches: https://github.com/opntr/freebsd-patches-2013-tavasz
smap-test: https://github.com/opntr/freebsd-smap-tester

smap_disabled.gif:
Running smap-test without SMAP support: illegal user-space memory
address read/write from kernel-space.

smap_{read,write}.gif:
Running smap-test with SMAP: the kernel must paniced, due an illegal
read from user-space memory address.

* when you applied this patch and enabled the SMAP in kernel and your
CPU does not have SMAP support, the kernel _must_ paniced.

--e89a8fb1ebe45618f904de205642
Content-Type: text/x-patch; charset=US-ASCII; 
	name="0001-added-SMAP-support-for-FreeBSD-against-r250423.patch"
Content-Disposition: attachment; 
	filename="0001-added-SMAP-support-for-FreeBSD-against-r250423.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

RnJvbSBhZTE4YjM3NGIzODQwMWY3MzZlNGUxM2E4YWI1ZmFiODI5ODVkZjJiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgUGludGVyIDxvbGl2ZXIucG50ckBnbWFpbC5jb20+
CkRhdGU6IFR1ZSwgMTYgQXByIDIwMTMgMDE6MzI6MjUgKzAyMDAKU3ViamVjdDogW1BBVENIXSBh
ZGRlZCBTTUFQIHN1cHBvcnQgZm9yIEZyZWVCU0QgYWdhaW5zdCByMjUwNDIzCgpUaGlzIHBhdGNo
IGltcGxlbWVudGVkIHN1cHBvcnQgZm9yIEludGVsJ3MgbmV3IHByb3RlY3Rpb24gdGVjaG5vbG9n
eS4KClN1cGVydmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAoU01BUCkgaXMgbmV3ZXN0IHNl
Y3VyaXR5IGZlYXR1cmUgZnJvbQpJbnRlbCwgd2hpY2ggZmlyc3QgYXBwZWFycyBpbiB0aGUgSGFz
d2VsbCBMaW5lIG9mIHByb2Nlc3NvcnMuCgpXaGVuIFNNQVAgZW5hYmxlZCwgdGhlIGtlcm5lbCBj
YW5ub3QgYWNjZXNzIHBhZ2VzIHRoYXQgYXJlIGluIHVzZXJzcGFjZS4KSW4gc29tZSBjYXNlcyB0
aGUga2VybmVsIGRvZXMgaGF2ZSB0byBhY2Nlc3MgdXNlciBwYWdlcywgZm9yIHRoaXMgcmVhc29u
CnRoZSB0ZWNobm9sb2d5IHByb3ZpZGVkIHR3byBpbnN0cnVjdGlvbiwgdG8gdGVtcG9yYXJpbHkg
ZGlzYWJsZSB0aGlzCnByb3RlY3Rpb24uCgpXaGVuIFNNQVAgZGV0ZWN0IHByb3RlY3Rpb24gdmlv
bGF0aW9uLCB0aGUga2VybmVsIG11c3QgY2FsbCBwYW5pYygpLgoKSW50ZWwncyBTTUFQIGRvY3Vt
ZW50YXRpb246Cmh0dHA6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vc2l0ZXMvZGVmYXVsdC9maWxlcy8z
MTk0MzMtMDE0LnBkZgoKVGVzdCBjYXNlOgpodHRwczovL2dpdGh1Yi5jb20vb3BudHIvZnJlZWJz
ZC1zbWFwLXRlc3RlcgoKc29tZSBwYXJ0cyBvZiB0aGlzIHBhdGNoIGRpc2N1c3NlZCB3aXRoIGtp
YiBmcmVlYnNkIG9yZyBhbmQgSHVuZ2VyCgpTaWduZWQtb2ZmLWJ5OiBPbGl2ZXIgUGludGVyIDxv
bGl2ZXIucG50ckBnbWFpbC5jb20+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIGFkZGVkCXZvaWQgY2xhYyh2
b2lkKSBhbmQJdm9pZCBzdGFjKHZvaWQpIHRvIGNwdWZ1bmMuaAoqIGFkZGVkIFNUQUMvQ0xBQyBp
bnN0cnVjdGlvbiBhbmQgYWRkZWQgY29uZmlnIG9wdGlvbnMKKiBhZGRlZCBiYXNpYyBzdXBwb3J0
IGZvciBTTUFQCiogYWRkZWQgc3RhYy9jbGFjIGluIHN1cHBvcnQuUyBhcm91bmQgdXNlcnNwYWNl
IG1lbW9yeSBhY2Nlc3MKKiBhZGRlZCBSRkxBR1MuQUMgY2xlYXJpbmcgdG8gZXhjZXB0aW9uLlMg
cmVsYXRlZCB0byBTTUFQCiogYWRkZWQgUkZMQUdTLkFDIGNsZWFyaW5nIHRvIGlhMzJfZXhjZXB0
aW9uLlMgcmVsYXRlZCB0byBTTUFQCiogYWRkZWQgUkZMQUdTLkFDIGNsZWFyaW5nIHRvIGFzbWFj
cm9zLmggcmVsYXRlZCB0byBTTUFQCiogY2xhYyBhbmQgc3RhYyBmdW5jdGlvbnMgZGVwZW5kIG9u
IElOVEVMX1NNQVAKKiBhZGRlZCB0cmFwIGhhbmRsZXIgdG8gU01BUAoKRm9yIHNlY3VyaXR5IHJl
YXNvbiwgd2hlbiBQRiBvY2N1cmVkIGJ5IFNNQVAsIHRoZSBrZXJuZWwgc2hvdWxkIHBhbmljZWQu
CgoiIFsuLi5dCgpUaGUgYWJvdmUgaXRlbXMgaW1wbHkgdGhhdCB0aGUgZXJyb3IgY29kZSBkZWxp
dmVyZWQgYnkgYSBwYWdlLWZhdWx0CmV4Y2VwdGlvbiBkdWUgdG8gU01BUCBpcyBlaXRoZXIgMSAo
Zm9yIHJlYWRzKSBvciAzIChmb3Igd3JpdGVzKS4KTm90ZSB0aGF0IHRoZSBvbmx5IHBhZ2UtZmF1
bHQgZXhjZXB0aW9ucyB0aGF0IGRlbGl2ZXIgYW4gZXJyb3IgY29kZQpvZiAxIGFyZSB0aG9zZSBp
bmR1Y2VkIGJ5IFNNQVAuIChJZiBDUjAuV1AgPSAxLCBzb21lIHBhZ2UtZmF1bHQKZXhjZXB0aW9u
cyBtYXkgZGVsaXZlciBhbiBlcnJvciBjb2RlIG9mIDMgZXZlbiBpZiBDUjQuU01BUCA9IDAuKQoK
Wy4uLl0iIC0gaW50ZWwgMzE5NDMzLTAxNC5wZGYgOS4zLjMKCiogQ2xlYXIgdGhlIFJGTEFHUy5B
QyBvbiB0aGUgc3RhcnQgb2Ygbm1pIGhhbmRsZXIKCnN1Z2dlc3RlZCBieSBraWJAOgo+IEkgdGhp
bmsgdGhhdCBOTUkgaGFuZGxlciBzaG91bGQgaGF2ZSBDTEFDIGV4ZWN1dGVkIHVuY29uZGl0aW9u
YWxseSBhbmQKPiBtdWNoIGVhcmxpZXIgdGhlbiBpdCBpcyBkb25lIGluIHlvdXIgcGF0Y2guIFNp
bmNlIE5NSSBjb3VsZCBpbnRlcnJ1cHQKPiB0aGUgY29weSooKSBmdW5jdGlvbnMsIHlvdSB3b3Vs
ZCBnZXQgc29tZSBrZXJuZWwgY29kZSB1bm5lY2Nlc3NhcnkKPiBleGVjdXRpbmcgd2l0aCBTTUFQ
IG9mZi4KCiogYWRkZWQgbm90ZSB0byBmYXVsdCBoYW5kbGVycyByZWxhdGVkIHRvIFNNQVAKCnN1
Z2dlc3RlZCBieSBraWJAOgo+IEkgYmVsaWV2ZSB0aGF0IGV4Y2VwdGlvbiBsYWJlbHMgaW4gdGhl
IHN1cHBvcnQuUywgbGlrZSBjb3B5b3V0X2ZhdWx0Cj4gZXRjCj4gZGVzZXJ2ZSBhIGNvbW1lbnQg
ZGVzY3JpYmluZyB0aGF0IEVGTEFHUy5BQyBiaXQgZ2V0cyBjbGVhcmVkIGJ5IHRoZQo+IGV4Y2Vw
dGlvbiBlbnRyeSBwb2ludCBiZWZvcmUgdGhlIGNvbnRyb2wgcmVhY2hlcyB0aGUgbGFiZWwuCgoq
IGFkZGVkIEFDIGZsYWcgY2hlY2tpbmcgYW5kIGZhY3RvciBvdXQgU01BUCBjaGVja2luZyBpbiB0
cmFwX3BmYXVsdCgpIHRvIG1ha2UgaXQgbW9yZSByZWFkYWJsZSBhbmQKCnBhcnRpYWxseSBzdWdn
ZXN0ZWQgYnkga2liOgo+IFRoZSB0cmFwX3BmYXVsdCgpIGZyYWdtZW50IHNob3VsZCBjaGVjayBm
b3IgdGhlIGVycm9yIGNvZGUgZXF1YWwgdG8gMSBvcgo+IDMsIGFzIGRlc2NyaWJlZCBpbiB0aGUg
OS4zLjMsIGluc3RlYWQgb2Ygb25seSBjaGVja2luZyBmb3IgdGhlIHByZXNlbnQKPiBiaXQgc2V0
LiBNb3JlLCBJIHN1Z2dlc3QgeW91IHRvIGV4cGxpY2l0ZWx5IGNoZWNrIHRoYXQgdGhlICNQRiBl
eGNlcHRpb24KPiBjYW1lIGZyb20gdGhlIGtlcm5lbCBtb2RlIGFuZCB0aGF0IEVGTEFHUy5BQyB3
YXMgYWxzbyBzZXQsIGJlZm9yZQo+IGRlY2lkaW5ndG8gcGFuaWMgZHVlIHRvIFNNQVAtZGV0ZWN0
ZWQgZmFpbHVyZS4KCiogYnVpbGQgZml4LCB3aGVuIElOVEVMX1NNQVAgaGFzIG5vdCBzZXQgaW4g
a2VybmVsIGNvbmZpZwoKL3Vzci9ob21lL29wL2dpdC9mcmVlYnNkLWJhc2UuZ2l0Lmh0dHAvc3lz
L2FtZDY0L2FtZDY0L3RyYXAuYzo4ODk6MTogZXJyb3I6IHVudXNlZCBmdW5jdGlvbiAnc21hcF9h
Y2Nlc3NfdmlvbGF0aW9uJyBbLVdlcnJvciwtV3VudXNlZC1mdW5jdGlvbl0Kc21hcF9hY2Nlc3Nf
dmlvbGF0aW9uKHN0cnVjdCB0cmFwZnJhbWUgKmZyYW1lLCBpbnQgdXNlcm1vZGUpCl4KMSBlcnJv
ciBnZW5lcmF0ZWQuCioqKiBbdHJhcC5vXSBFcnJvciBjb2RlIDEKMSBlcnJvcgoqKiogW2J1aWxk
a2VybmVsXSBFcnJvciBjb2RlIDIKMSBlcnJvcgoqKiogW2J1aWxka2VybmVsXSBFcnJvciBjb2Rl
IDIKMSBlcnJvcgoKKiBmaXhlZCBzbWFwX2FjY2Vzc192aW9sYXRpb24oLi4uKSwgc3BvdHRlZCBi
eSBIdW5nZXIKCiogZml4IHNtYXBfYWNjZXNzX3Zpb2xhdHJpb24oKSB3aGVuIHRoZSBDUFUgZG9l
cyBub3Qgc3VwcG9ydCBTTUFQCgoqIHVzZSB0aGUgQ0xBQyBhbmQgU1RBQyBtYWNybywgaW5zdGVh
ZCBvZiB0aGUgLmJ5dGUgc2VxdWVuY2UKCiogYWRkZWQgbWVtb3J5IGNsb2JiZXIgdG8gY2xhYyBh
bmQgc3RhYyBpbmxpbmUgYXNzZW1ibHkKCgljbGFjIGFuZCBzdGFjIGFyZSBzZW5zaXRpdmUgaW5z
dHJ1Y3Rpb25zLAoJdG8gcHJldmVudCBpbnN0cnVjdGlvbiByZW9yZGVyaW5nIGFkZGVkIG1lbW9y
eSBjbG9iYmVyCgoJc3BvdHRlZCBieSBIdW5nZXIsIFBhWFRlYW0KClNpZ25lZC1vZmYtYnk6IE9s
aXZlciBQaW50ZXIgPG9saXZlci5wbnRyQGdtYWlsLmNvbT4KLS0tCiBzeXMvYW1kNjQvYW1kNjQv
ZXhjZXB0aW9uLlMgICAgIHwgIDYgKysrKysrCiBzeXMvYW1kNjQvYW1kNjQvaWRlbnRjcHUuYyAg
ICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrLS0tCiBzeXMvYW1kNjQvYW1kNjQvaW5pdGNw
dS5jICAgICAgIHwgMTIgKysrKysrKy0tLS0KIHN5cy9hbWQ2NC9hbWQ2NC9wbWFwLmMgICAgICAg
ICAgfCAxMyArKysrKysrKysrKwogc3lzL2FtZDY0L2FtZDY0L3N1cHBvcnQuUyAgICAgICB8IDQ4
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzeXMvYW1kNjQvYW1k
NjQvdHJhcC5jICAgICAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrCiBzeXMvYW1kNjQv
aWEzMi9pYTMyX2V4Y2VwdGlvbi5TIHwgIDEgKwogc3lzL2FtZDY0L2luY2x1ZGUvYXNtYWNyb3Mu
aCAgICB8ICAzICsrLQogc3lzL2FtZDY0L2luY2x1ZGUvY3B1ZnVuYy5oICAgICB8IDI3ICsrKysr
KysrKysrKysrKysrKysrKysrCiBzeXMvYW1kNjQvaW5jbHVkZS9zbWFwX2luc3RyLmggIHwgMTQg
KysrKysrKysrKysrCiBzeXMvY29uZi9OT1RFUyAgICAgICAgICAgICAgICAgIHwgIDQgKysrKwog
c3lzL2NvbmYvb3B0aW9ucy5hbWQ2NCAgICAgICAgICB8ICAzICsrKwogc3lzL3g4Ni9pbmNsdWRl
L3BzbC5oICAgICAgICAgICB8ICAyICstCiBzeXMveDg2L2luY2x1ZGUvc3BlY2lhbHJlZy5oICAg
IHwgIDEgKwogMTQgZmlsZXMgY2hhbmdlZCwgMTc3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzL2FtZDY0L2luY2x1ZGUvc21hcF9pbnN0ci5oCgpk
aWZmIC0tZ2l0IGEvc3lzL2FtZDY0L2FtZDY0L2V4Y2VwdGlvbi5TIGIvc3lzL2FtZDY0L2FtZDY0
L2V4Y2VwdGlvbi5TCmluZGV4IDg5YWQ2MzguLmQ3ZWQ3ZTQgMTAwNjQ0Ci0tLSBhL3N5cy9hbWQ2
NC9hbWQ2NC9leGNlcHRpb24uUworKysgYi9zeXMvYW1kNjQvYW1kNjQvZXhjZXB0aW9uLlMKQEAg
LTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlIDxtYWNoaW5lL2FzbWFjcm9zLmg+CiAjaW5jbHVkZSA8
bWFjaGluZS9wc2wuaD4KICNpbmNsdWRlIDxtYWNoaW5lL3RyYXAuaD4KKyNpbmNsdWRlIDxtYWNo
aW5lL3NtYXBfaW5zdHIuaD4KICNpbmNsdWRlIDxtYWNoaW5lL3NwZWNpYWxyZWcuaD4KIAogI2lu
Y2x1ZGUgImFzc3ltLnMiCkBAIC0xOTYsNiArMTk3LDcgQEAgYWxsdHJhcHNfcHVzaHJlZ3Nfbm9f
cmRpOgogCW1vdnEJJXIxNSxURl9SMTUoJXJzcCkKIAltb3ZsCSRURl9IQVNTRUdTLFRGX0ZMQUdT
KCVyc3ApCiAJY2xkCisJQ0xBQwogCUZBS0VfTUNPVU5UKFRGX1JJUCglcnNwKSkKICNpZmRlZiBL
RFRSQUNFX0hPT0tTCiAJLyoKQEAgLTI3Niw2ICsyNzgsNyBAQCBJRFRWRUMoZGJsZmF1bHQpCiAJ
bW92dwklZHMsVEZfRFMoJXJzcCkKIAltb3ZsCSRURl9IQVNTRUdTLFRGX0ZMQUdTKCVyc3ApCiAJ
Y2xkCisJQ0xBQwogCXRlc3RiCSRTRUxfUlBMX01BU0ssVEZfQ1MoJXJzcCkgLyogRGlkIHdlIGNv
bWUgZnJvbSBrZXJuZWw/ICovCiAJanoJMWYJCQkvKiBhbHJlYWR5IHJ1bm5pbmcgd2l0aCBrZXJu
ZWwgR1MuYmFzZSAqLwogCXN3YXBncwpAQCAtMzc5LDYgKzM4Miw3IEBAIElEVFZFQyhmYXN0X3N5
c2NhbGwpCiAJbW92cQklcjE1LFRGX1IxNSglcnNwKQkvKiBDIHByZXNlcnZlZCAqLwogCW1vdmwJ
JFRGX0hBU1NFR1MsVEZfRkxBR1MoJXJzcCkKIAljbGQKKwlDTEFDCiAJRkFLRV9NQ09VTlQoVEZf
UklQKCVyc3ApKQogCW1vdnEJUENQVShDVVJUSFJFQUQpLCVyZGkKIAltb3ZxCSVyc3AsVERfRlJB
TUUoJXJkaSkKQEAgLTQ0OSw2ICs0NTMsNyBAQCBJRFRWRUMoZmFzdF9zeXNjYWxsMzIpCiAgKi8K
IAogSURUVkVDKG5taSkKKwlDTEFDCiAJc3VicQkkVEZfUklQLCVyc3AKIAltb3ZsCSQoVF9OTUkp
LFRGX1RSQVBOTyglcnNwKQogCW1vdnEJJDAsVEZfQUREUiglcnNwKQpAQCAtNTMzLDYgKzUzOCw3
IEBAIG5taV9jYWxsdHJhcDoKIAogCXNocnEJJDMsJXJjeAkJLyogdHJhcCBmcmFtZSBzaXplIGlu
IGxvbmcgd29yZHMgKi8KIAljbGQKKwlDTEFDCiAJcmVwCiAJbW92c3EJCQkvKiBjb3B5IHRyYXBm
cmFtZSAqLwogCmRpZmYgLS1naXQgYS9zeXMvYW1kNjQvYW1kNjQvaWRlbnRjcHUuYyBiL3N5cy9h
bWQ2NC9hbWQ2NC9pZGVudGNwdS5jCmluZGV4IGVjNWEyYWEuLjkwNDk1ZWIgMTAwNjQ0Ci0tLSBh
L3N5cy9hbWQ2NC9hbWQ2NC9pZGVudGNwdS5jCisrKyBiL3N5cy9hbWQ2NC9hbWQ2NC9pZGVudGNw
dS5jCkBAIC0zOTEsMTIgKzM5MSwxNCBAQCBwcmludGNwdWluZm8odm9pZCkKIAkJCQkgICAgICAg
LyogUkRGU0JBU0UvUkRHU0JBU0UvV1JGU0JBU0UvV1JHU0JBU0UgKi8KIAkJCQkgICAgICAgIlww
MDFHU0ZTQkFTRSIKIAkJCQkgICAgICAgIlwwMDJUU0NBREoiCisJCQkJICAgICAgICJcMDAzPGIy
PiIKIAkJCQkgICAgICAgLyogQml0IE1hbmlwdWxhdGlvbiBJbnN0cnVjdGlvbnMgKi8KIAkJCQkg
ICAgICAgIlwwMDRCTUkxIgogCQkJCSAgICAgICAvKiBIYXJkd2FyZSBMb2NrIEVsaXNpb24gKi8K
IAkJCQkgICAgICAgIlwwMDVITEUiCiAJCQkJICAgICAgIC8qIEFkdmFuY2VkIFZlY3RvciBJbnN0
cnVjdGlvbnMgMiAqLwogCQkJCSAgICAgICAiXDAwNkFWWDIiCisJCQkJICAgICAgICJcMDA3PGI2
PiIKIAkJCQkgICAgICAgLyogU3VwZXJ2aXNvciBNb2RlIEV4ZWN1dGlvbiBQcm90LiAqLwogCQkJ
CSAgICAgICAiXDAxMFNNRVAiCiAJCQkJICAgICAgIC8qIEJpdCBNYW5pcHVsYXRpb24gSW5zdHJ1
Y3Rpb25zICovCkBAIC00MDYsMTIgKzQwOCwyOSBAQCBwcmludGNwdWluZm8odm9pZCkKIAkJCQkg
ICAgICAgIlwwMTNJTlZQQ0lEIgogCQkJCSAgICAgICAvKiBSZXN0cmljdGVkIFRyYW5zYWN0aW9u
YWwgTWVtb3J5ICovCiAJCQkJICAgICAgICJcMDE0UlRNIgorCQkJCSAgICAgICAiXDAxNTxiMTI+
IgorCQkJCSAgICAgICAiXDAxNjxiMTM+IgorCQkJCSAgICAgICAiXDAxNzxiMTQ+IgorCQkJCSAg
ICAgICAiXDAyMDxiMTU+IgorCQkJCSAgICAgICAiXDAyMTxiMTY+IgorCQkJCSAgICAgICAiXDAy
MjxiMTc+IgogCQkJCSAgICAgICAvKiBFbmhhbmNlZCBOUkJHICovCi0JCQkJICAgICAgICJcMDIy
UkRTRUVEIgorCQkJCSAgICAgICAiXDAyM1JEU0VFRCIKIAkJCQkgICAgICAgLyogQURDWCArIEFE
T1ggKi8KLQkJCQkgICAgICAgIlwwMjNBRFgiCisJCQkJICAgICAgICJcMDI0QURYIgogCQkJCSAg
ICAgICAvKiBTdXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24gKi8KLQkJCQkgICAgICAg
IlwwMjRTTUFQIgorCQkJCSAgICAgICAiXDAyNVNNQVAiCisJCQkJICAgICAgICJcMDI2PGIyMT4i
CisJCQkJICAgICAgICJcMDI3PGIyMj4iCisJCQkJICAgICAgICJcMDMwPGIyMz4iCisJCQkJICAg
ICAgICJcMDMxPGIyND4iCisJCQkJICAgICAgICJcMDMyPGIyNT4iCisJCQkJICAgICAgICJcMDMz
PGIyNj4iCisJCQkJICAgICAgICJcMDM0PGIyNz4iCisJCQkJICAgICAgICJcMDM1PGIyOD4iCisJ
CQkJICAgICAgICJcMDM2PGIyOT4iCisJCQkJICAgICAgICJcMDM3PGIzMD4iCisJCQkJICAgICAg
ICJcMDQwPGIzMT4iCiAJCQkJICAgICAgICk7CiAJCQl9CiAKQEAgLTU0NSw2ICs1NjQsOSBAQCBp
ZGVudGlmeV9jcHUodm9pZCkKIAkJaWYgKGNwdV9mZWF0dXJlMiAmIENQVUlEMl9IVikgewogCQkJ
Y3B1X3N0ZGV4dF9kaXNhYmxlID0gQ1BVSURfU1RERVhUX0ZTR1NCQVNFIHwKIAkJCSAgICBDUFVJ
RF9TVERFWFRfU01FUDsKKyNpZmRlZiBJTlRFTF9TTUFQCisJCQljcHVfc3RkZXh0X2Rpc2FibGUg
fD0gQ1BVSURfU1RERVhUX1NNQVA7CisjZW5kaWYKIAkJfSBlbHNlCiAJCQljcHVfc3RkZXh0X2Rp
c2FibGUgPSAwOwogCQlUVU5BQkxFX0lOVF9GRVRDSCgiaHcuY3B1X3N0ZGV4dF9kaXNhYmxlIiwg
JmNwdV9zdGRleHRfZGlzYWJsZSk7CmRpZmYgLS1naXQgYS9zeXMvYW1kNjQvYW1kNjQvaW5pdGNw
dS5jIGIvc3lzL2FtZDY0L2FtZDY0L2luaXRjcHUuYwppbmRleCA0YWJlZDRjLi5mYmZhN2MzIDEw
MDY0NAotLS0gYS9zeXMvYW1kNjQvYW1kNjQvaW5pdGNwdS5jCisrKyBiL3N5cy9hbWQ2NC9hbWQ2
NC9pbml0Y3B1LmMKQEAgLTE2NSwxMyArMTY1LDE3IEBAIGluaXRpYWxpemVjcHUodm9pZCkKIAkJ
Y3I0IHw9IENSNF9GU0dTQkFTRTsKIAogCS8qCi0JICogUG9zdHBvbmUgZW5hYmxpbmcgdGhlIFNN
RVAgb24gdGhlIGJvb3QgQ1BVIHVudGlsIHRoZSBwYWdlCi0JICogdGFibGVzIGFyZSBzd2l0Y2hl
ZCBmcm9tIHRoZSBib290IGxvYWRlciBpZGVudGl0eSBtYXBwaW5nCi0JICogdG8gdGhlIGtlcm5l
bCB0YWJsZXMuICBUaGUgYm9vdCBsb2FkZXIgZW5hYmxlcyB0aGUgVSBiaXQgaW4KLQkgKiBpdHMg
dGFibGVzLgorCSAqIFBvc3Rwb25lIGVuYWJsaW5nIHRoZSBTTUVQIGFuZCB0aGUgU01BUCBvbiB0
aGUgYm9vdCBDUFUgdW50aWwKKwkgKiB0aGUgcGFnZSB0YWJsZXMgYXJlIHN3aXRjaGVkIGZyb20g
dGhlIGJvb3QgbG9hZGVyIGlkZW50aXR5CisJICogbWFwcGluZyB0byB0aGUga2VybmVsIHRhYmxl
cy4KKwkgKiBUaGUgYm9vdCBsb2FkZXIgZW5hYmxlcyB0aGUgVSBiaXQgaW4gaXRzIHRhYmxlcy4K
IAkgKi8KIAlpZiAoIUlTX0JTUCgpICYmIChjcHVfc3RkZXh0X2ZlYXR1cmUgJiBDUFVJRF9TVERF
WFRfU01FUCkpCiAJCWNyNCB8PSBDUjRfU01FUDsKKyNpZmRlZiBJTlRFTF9TTUFQCisJaWYgKCFJ
U19CU1AoKSAmJiAoY3B1X3N0ZGV4dF9mZWF0dXJlICYgQ1BVSURfU1RERVhUX1NNQVApKQorCQlj
cjQgfD0gQ1I0X1NNQVA7CisjZW5kaWYKIAlsb2FkX2NyNChjcjQpOwogCWlmICgoYW1kX2ZlYXR1
cmUgJiBBTURJRF9OWCkgIT0gMCkgewogCQltc3IgPSByZG1zcihNU1JfRUZFUikgfCBFRkVSX05Y
RTsKZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9hbWQ2NC9wbWFwLmMgYi9zeXMvYW1kNjQvYW1kNjQv
cG1hcC5jCmluZGV4IDFiMWM4NmMuLjExZTU2MGQgMTAwNjQ0Ci0tLSBhL3N5cy9hbWQ2NC9hbWQ2
NC9wbWFwLmMKKysrIGIvc3lzL2FtZDY0L2FtZDY0L3BtYXAuYwpAQCAtOTgsNiArOTgsNyBAQCBf
X0ZCU0RJRCgiJEZyZWVCU0QkIik7CiAgKglhbmQgdG8gd2hlbiBwaHlzaWNhbCBtYXBzIG11c3Qg
YmUgbWFkZSBjb3JyZWN0LgogICovCiAKKyNpbmNsdWRlICJvcHRfY3B1LmgiCiAjaW5jbHVkZSAi
b3B0X3BtYXAuaCIKICNpbmNsdWRlICJvcHRfdm0uaCIKIApAQCAtNjY1LDYgKzY2NiwxOCBAQCBw
bWFwX2Jvb3RzdHJhcCh2bV9wYWRkcl90ICpmaXJzdGFkZHIpCiAJaWYgKGNwdV9zdGRleHRfZmVh
dHVyZSAmIENQVUlEX1NUREVYVF9TTUVQKQogCQlsb2FkX2NyNChyY3I0KCkgfCBDUjRfU01FUCk7
CiAKKwlpZiAoY3B1X3N0ZGV4dF9mZWF0dXJlICYgQ1BVSURfU1RERVhUX1NNQVApCisjaWZkZWYg
SU5URUxfU01BUAorCQlsb2FkX2NyNChyY3I0KCkgfCBDUjRfU01BUCk7CisJZWxzZQorCQlwYW5p
YygiVGhlIGtlcm5lbCBjb21waWxlZCB3aXRoIFwib3B0aW9ucyBJTlRFTF9TTUFQXCIsIgorCQkJ
ICAgICAgIAkiYnV0IHlvdXIgQ1BVIGRvZXNuJ3Qgc3VwcG9ydCBTTUFQIVxuIik7CisjZWxzZQor
CQlwcmludGYoIllvdXIgQ1BVIGhhcyBzdXBwb3J0IGZvciBTTUFQIHNlY3VyaXR5IGZlYXR1cmUu
ICIKKwkJCSJZb3Ugc2hvdWxkIHJlY29tcGlsZSB0aGUga2VybmVsIHdpdGggIgorCQkJIlwib3B0
aW9ucyBJTlRFTF9TTUFQXCIgdG8gdXNlIHRoZW0uXG4iKTsKKyNlbmRpZgorCiAJLyoKIAkgKiBJ
bml0aWFsaXplIHRoZSBrZXJuZWwgcG1hcCAod2hpY2ggaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQp
LgogCSAqLwpkaWZmIC0tZ2l0IGEvc3lzL2FtZDY0L2FtZDY0L3N1cHBvcnQuUyBiL3N5cy9hbWQ2
NC9hbWQ2NC9zdXBwb3J0LlMKaW5kZXggNzdkYmY2My4uN2FkODEwMSAxMDA2NDQKLS0tIGEvc3lz
L2FtZDY0L2FtZDY0L3N1cHBvcnQuUworKysgYi9zeXMvYW1kNjQvYW1kNjQvc3VwcG9ydC5TCkBA
IC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8bWFjaGluZS9hc21hY3Jvcy5oPgogI2luY2x1ZGUg
PG1hY2hpbmUvaW50cl9tYWNoZGVwLmg+CiAjaW5jbHVkZSA8bWFjaGluZS9wbWFwLmg+CisjaW5j
bHVkZSA8bWFjaGluZS9zbWFwX2luc3RyLmg+CiAKICNpbmNsdWRlICJhc3N5bS5zIgogCkBAIC0y
NDQsMTIgKzI0NSwxNiBAQCBFTlRSWShjb3B5b3V0KQogCiAJc2hycQkkMywlcmN4CiAJY2xkCisJ
U1RBQwogCXJlcAogCW1vdnNxCisJQ0xBQwogCW1vdmIJJWRsLCVjbAogCWFuZGIJJDcsJWNsCisJ
U1RBQwogCXJlcAogCW1vdnNiCisJQ0xBQwogCiBkb25lX2NvcHlvdXQ6CiAJeG9ybAklZWF4LCVl
YXgKQEAgLTI1OCw2ICsyNjMsMTEgQEAgZG9uZV9jb3B5b3V0OgogCXJldAogCiAJQUxJR05fVEVY
VAorLyoKKyAqIG5vdGU6CisgKiBXaGVuIFNNQVAgZW5hYmxlZCwgdGhlIEVGTEFHUy5BQyBiaXQg
Z2V0cyBjbGVhcmVkIGJlZm9yZSBjb250cm9sIHJlYWNoZXMKKyAqIHRoZSBmYXVsdCBoYW5kbGVy
LgorICovIAogY29weW91dF9mYXVsdDoKIAltb3ZxCVBDUFUoQ1VSUENCKSwlcmR4CiAJbW92cQkk
MCxQQ0JfT05GQVVMVCglcmR4KQpAQCAtMjkwLDEyICszMDAsMTYgQEAgRU5UUlkoY29weWluKQog
CW1vdmIJJWNsLCVhbAogCXNocnEJJDMsJXJjeAkJCQkvKiBjb3B5IGxvbmd3b3JkLXdpc2UgKi8K
IAljbGQKKwlTVEFDCiAJcmVwCiAJbW92c3EKKwlDTEFDCiAJbW92YgklYWwsJWNsCiAJYW5kYgkk
NywlY2wJCQkJLyogY29weSByZW1haW5pbmcgYnl0ZXMgKi8KKwlTVEFDCiAJcmVwCiAJbW92c2IK
KwlDTEFDCiAKIGRvbmVfY29weWluOgogCXhvcmwJJWVheCwlZWF4CkBAIC0zMDQsNiArMzE4LDEx
IEBAIGRvbmVfY29weWluOgogCXJldAogCiAJQUxJR05fVEVYVAorLyoKKyAqIG5vdGU6CisgKiBX
aGVuIFNNQVAgZW5hYmxlZCwgdGhlIEVGTEFHUy5BQyBiaXQgZ2V0cyBjbGVhcmVkIGJlZm9yZSBj
b250cm9sIHJlYWNoZXMKKyAqIHRoZSBmYXVsdCBoYW5kbGVyLgorICovIAogY29weWluX2ZhdWx0
OgogCW1vdnEJUENQVShDVVJQQ0IpLCVyZHgKIAltb3ZxCSQwLFBDQl9PTkZBVUxUKCVyZHgpCkBA
IC0zMjQsMTAgKzM0MywxMiBAQCBFTlRSWShjYXN1d29yZDMyKQogCWphCWZ1c3VmYXVsdAogCiAJ
bW92bAklZXNpLCVlYXgJCQkvKiBvbGQgKi8KKwlTVEFDCiAjaWZkZWYgU01QCiAJbG9jawogI2Vu
ZGlmCiAJY21weGNoZ2wgJWVkeCwoJXJkaSkJCQkvKiBuZXcgPSAlZWR4ICovCisJQ0xBQwogCiAJ
LyoKIAkgKiBUaGUgb2xkIHZhbHVlIGlzIGluICVlYXguICBJZiB0aGUgc3RvcmUgc3VjY2VlZGVk
IGl0IHdpbGwgYmUgdGhlCkBAIC0zNTMsMTAgKzM3NCwxMiBAQCBFTlRSWShjYXN1d29yZCkKIAlq
YQlmdXN1ZmF1bHQKIAogCW1vdnEJJXJzaSwlcmF4CQkJLyogb2xkICovCisJU1RBQwogI2lmZGVm
IFNNUAogCWxvY2sKICNlbmRpZgogCWNtcHhjaGdxICVyZHgsKCVyZGkpCQkJLyogbmV3ID0gJXJk
eCAqLworCUNMQUMKIAogCS8qCiAJICogVGhlIG9sZCB2YWx1ZSBpcyBpbiAlZWF4LiAgSWYgdGhl
IHN0b3JlIHN1Y2NlZWRlZCBpdCB3aWxsIGJlIHRoZQpAQCAtMzg1LDcgKzQwOCw5IEBAIEVOVFJZ
KGZ1d29yZCkKIAljbXBxCSVyYXgsJXJkaQkJCS8qIHZlcmlmeSBhZGRyZXNzIGlzIHZhbGlkICov
CiAJamEJZnVzdWZhdWx0CiAKKwlTVEFDCiAJbW92cQkoJXJkaSksJXJheAorCUNMQUMKIAltb3Zx
CSQwLFBDQl9PTkZBVUxUKCVyY3gpCiAJcmV0CiBFTkQoZnV3b3JkNjQpCQpAQCAtMzk5LDcgKzQy
NCw5IEBAIEVOVFJZKGZ1d29yZDMyKQogCWNtcHEJJXJheCwlcmRpCQkJLyogdmVyaWZ5IGFkZHJl
c3MgaXMgdmFsaWQgKi8KIAlqYQlmdXN1ZmF1bHQKIAorCVNUQUMKIAltb3ZsCSglcmRpKSwlZWF4
CisJQ0xBQwogCW1vdnEJJDAsUENCX09ORkFVTFQoJXJjeCkKIAlyZXQKIEVORChmdXdvcmQzMikK
QEAgLTQyNiw3ICs0NTMsOSBAQCBFTlRSWShmdXdvcmQxNikKIAljbXBxCSVyYXgsJXJkaQogCWph
CWZ1c3VmYXVsdAogCisJU1RBQwogCW1vdnp3bAkoJXJkaSksJWVheAorCUNMQUMKIAltb3ZxCSQw
LFBDQl9PTkZBVUxUKCVyY3gpCiAJcmV0CiBFTkQoZnV3b3JkMTYpCkBAIC00MzksMTIgKzQ2OCwx
OSBAQCBFTlRSWShmdWJ5dGUpCiAJY21wcQklcmF4LCVyZGkKIAlqYQlmdXN1ZmF1bHQKIAorCVNU
QUMKIAltb3Z6YmwJKCVyZGkpLCVlYXgKKwlDTEFDCiAJbW92cQkkMCxQQ0JfT05GQVVMVCglcmN4
KQogCXJldAogRU5EKGZ1Ynl0ZSkKIAogCUFMSUdOX1RFWFQKKy8qCisgKiBub3RlOgorICogV2hl
biBTTUFQIGVuYWJsZWQsIHRoZSBFRkxBR1MuQUMgYml0IGdldHMgY2xlYXJlZCBiZWZvcmUgY29u
dHJvbCByZWFjaGVzCisgKiB0aGUgZmF1bHQgaGFuZGxlci4KKyAqLyAKIGZ1c3VmYXVsdDoKIAlt
b3ZxCVBDUFUoQ1VSUENCKSwlcmN4CiAJeG9ybAklZWF4LCVlYXgKQEAgLTQ2Niw3ICs1MDIsOSBA
QCBFTlRSWShzdXdvcmQpCiAJY21wcQklcmF4LCVyZGkJCQkvKiB2ZXJpZnkgYWRkcmVzcyB2YWxp
ZGl0eSAqLwogCWphCWZ1c3VmYXVsdAogCisJU1RBQwogCW1vdnEJJXJzaSwoJXJkaSkKKwlDTEFD
CiAJeG9ybAklZWF4LCVlYXgKIAltb3ZxCVBDUFUoQ1VSUENCKSwlcmN4CiAJbW92cQklcmF4LFBD
Ql9PTkZBVUxUKCVyY3gpCkBAIC00ODIsNyArNTIwLDkgQEAgRU5UUlkoc3V3b3JkMzIpCiAJY21w
cQklcmF4LCVyZGkJCQkvKiB2ZXJpZnkgYWRkcmVzcyB2YWxpZGl0eSAqLwogCWphCWZ1c3VmYXVs
dAogCisJU1RBQwogCW1vdmwJJWVzaSwoJXJkaSkKKwlDTEFDCiAJeG9ybAklZWF4LCVlYXgKIAlt
b3ZxCVBDUFUoQ1VSUENCKSwlcmN4CiAJbW92cQklcmF4LFBDQl9PTkZBVUxUKCVyY3gpCkBAIC00
OTcsNyArNTM3LDkgQEAgRU5UUlkoc3V3b3JkMTYpCiAJY21wcQklcmF4LCVyZGkJCQkvKiB2ZXJp
ZnkgYWRkcmVzcyB2YWxpZGl0eSAqLwogCWphCWZ1c3VmYXVsdAogCisJU1RBQwogCW1vdncJJXNp
LCglcmRpKQorCUNMQUMKIAl4b3JsCSVlYXgsJWVheAogCW1vdnEJUENQVShDVVJQQ0IpLCVyY3gJ
CS8qIHJlc3RvcmUgdHJhc2hlZCByZWdpc3RlciAqLwogCW1vdnEJJXJheCxQQ0JfT05GQVVMVCgl
cmN4KQpAQCAtNTEzLDcgKzU1NSw5IEBAIEVOVFJZKHN1Ynl0ZSkKIAlqYQlmdXN1ZmF1bHQKIAog
CW1vdmwJJWVzaSwlZWF4CisJU1RBQwogCW1vdmIJJWFsLCglcmRpKQorCUNMQUMKIAl4b3JsCSVl
YXgsJWVheAogCW1vdnEJUENQVShDVVJQQ0IpLCVyY3gJCS8qIHJlc3RvcmUgdHJhc2hlZCByZWdp
c3RlciAqLwogCW1vdnEJJXJheCxQQ0JfT05GQVVMVCglcmN4KQpAQCAtNTU1LDcgKzU5OSw5IEBA
IEVOVFJZKGNvcHlpbnN0cikKIAlkZWNxCSVyZHgKIAlqegkzZgogCisJU1RBQwogCWxvZHNiCisJ
Q0xBQwogCXN0b3NiCiAJb3JiCSVhbCwlYWwKIAlqbnoJMmIKQEAgLTU4NCw3ICs2MzAsOSBAQCBj
cHlzdHJmbHRfeDoKIAl0ZXN0cQklcjksJXI5CiAJanoJMWYKIAlzdWJxCSVyZHgsJXI4CisJU1RB
QwogCW1vdnEJJXI4LCglcjkpCisJQ0xBQwogMToKIAlyZXQKIEVORChjb3B5aW5zdHIpCmRpZmYg
LS1naXQgYS9zeXMvYW1kNjQvYW1kNjQvdHJhcC5jIGIvc3lzL2FtZDY0L2FtZDY0L3RyYXAuYwpp
bmRleCA2ZmNjYTgxLi5kMzc5NDllIDEwMDY0NAotLS0gYS9zeXMvYW1kNjQvYW1kNjQvdHJhcC5j
CisrKyBiL3N5cy9hbWQ2NC9hbWQ2NC90cmFwLmMKQEAgLTEyNyw2ICsxMjcsOSBAQCB2b2lkIGRi
bGZhdWx0X2hhbmRsZXIoc3RydWN0IHRyYXBmcmFtZSAqZnJhbWUpOwogCiBzdGF0aWMgaW50IHRy
YXBfcGZhdWx0KHN0cnVjdCB0cmFwZnJhbWUgKiwgaW50KTsKIHN0YXRpYyB2b2lkIHRyYXBfZmF0
YWwoc3RydWN0IHRyYXBmcmFtZSAqLCB2bV9vZmZzZXRfdCk7CisjaWZkZWYgSU5URUxfU01BUAor
c3RhdGljIGJvb2wgc21hcF9hY2Nlc3NfdmlvbGF0aW9uKHN0cnVjdCB0cmFwZnJhbWUgKiwgaW50
IHVzZXJtb2RlKTsKKyNlbmRpZgogCiAjZGVmaW5lIE1BWF9UUkFQX01TRwkJMzMKIHN0YXRpYyBj
aGFyICp0cmFwX21zZ1tdID0gewpAQCAtNzE4LDYgKzcyMSwxMyBAQCB0cmFwX3BmYXVsdChmcmFt
ZSwgdXNlcm1vZGUpCiAKIAkJbWFwID0gJnZtLT52bV9tYXA7CiAKKyNpZmRlZiBJTlRFTF9TTUFQ
CisJCWlmIChfX3ByZWRpY3RfZmFsc2Uoc21hcF9hY2Nlc3NfdmlvbGF0aW9uKGZyYW1lLCB1c2Vy
bW9kZSkpKSB7CisJCQl0cmFwX2ZhdGFsKGZyYW1lLCBldmEpOworCQkJcmV0dXJuICgtMSk7CisJ
CX0KKyNlbmRpZgorCiAJCS8qCiAJCSAqIFdoZW4gYWNjZXNzaW5nIGEgdXNlcm1vZGUgYWRkcmVz
cywga2VybmVsIG11c3QgYmUKIAkJICogcmVhZHkgdG8gYWNjZXB0IHRoZSBwYWdlIGZhdWx0LCBh
bmQgcHJvdmlkZSBhCkBAIC04NzQsNiArODg0LDIwIEBAIHRyYXBfZmF0YWwoZnJhbWUsIGV2YSkK
IAkJcGFuaWMoInVua25vd24vcmVzZXJ2ZWQgdHJhcCIpOwogfQogCisjaWZkZWYgSU5URUxfU01B
UAorc3RhdGljIGJvb2wKK3NtYXBfYWNjZXNzX3Zpb2xhdGlvbihzdHJ1Y3QgdHJhcGZyYW1lICpm
cmFtZSwgaW50IHVzZXJtb2RlKQoreworCWlmICgoY3B1X3N0ZGV4dF9mZWF0dXJlICYgQ1BVSURf
U1RERVhUX1NNQVApID09IDApCisJCXJldHVybiAoZmFsc2UpOworCisJaWYgKHVzZXJtb2RlIHx8
IChmcmFtZS0+dGZfcmZsYWdzICYgUFNMX0FDKSAhPSAwKQorCQlyZXR1cm4gKGZhbHNlKTsKKwor
CXJldHVybiAodHJ1ZSk7Cit9CisjZW5kaWYKKwogLyoKICAqIERvdWJsZSBmYXVsdCBoYW5kbGVy
LiBDYWxsZWQgd2hlbiBhIGZhdWx0IG9jY3VycyB3aGlsZSB3cml0aW5nCiAgKiBhIGZyYW1lIGZv
ciBhIHRyYXAvZXhjZXB0aW9uIG9udG8gdGhlIHN0YWNrLiBUaGlzIHVzdWFsbHkgb2NjdXJzCmRp
ZmYgLS1naXQgYS9zeXMvYW1kNjQvaWEzMi9pYTMyX2V4Y2VwdGlvbi5TIGIvc3lzL2FtZDY0L2lh
MzIvaWEzMl9leGNlcHRpb24uUwppbmRleCBmZTFhNjc2Li45ZjEzZjJmIDEwMDY0NAotLS0gYS9z
eXMvYW1kNjQvaWEzMi9pYTMyX2V4Y2VwdGlvbi5TCisrKyBiL3N5cy9hbWQ2NC9pYTMyL2lhMzJf
ZXhjZXB0aW9uLlMKQEAgLTY4LDYgKzY4LDcgQEAgSURUVkVDKGludDB4ODBfc3lzY2FsbCkKIAlt
b3ZxCSVyMTUsVEZfUjE1KCVyc3ApCiAJbW92bAkkVEZfSEFTU0VHUyxURl9GTEFHUyglcnNwKQog
CWNsZAorCUNMQUMKIAlGQUtFX01DT1VOVChURl9SSVAoJXJzcCkpCiAJbW92cQklcnNwLCAlcmRp
CiAJY2FsbAlpYTMyX3N5c2NhbGwKZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9pbmNsdWRlL2FzbWFj
cm9zLmggYi9zeXMvYW1kNjQvaW5jbHVkZS9hc21hY3Jvcy5oCmluZGV4IDFmYjU5MmEuLmM5ODU2
MjMgMTAwNjQ0Ci0tLSBhL3N5cy9hbWQ2NC9pbmNsdWRlL2FzbWFjcm9zLmgKKysrIGIvc3lzL2Ft
ZDY0L2luY2x1ZGUvYXNtYWNyb3MuaApAQCAtMTY3LDcgKzE2Nyw4IEBACiAJbW92dwklZXMsVEZf
RVMoJXJzcCkgOwkJCQkJXAogCW1vdncJJWRzLFRGX0RTKCVyc3ApIDsJCQkJCVwKIAltb3ZsCSRU
Rl9IQVNTRUdTLFRGX0ZMQUdTKCVyc3ApIDsJCQkJXAotCWNsZAorCWNsZCA7CQkJCQkJCQlcCisJ
Q0xBQwogCiAjZGVmaW5lIFBPUF9GUkFNRQkJCQkJCQlcCiAJbW92cQlURl9SREkoJXJzcCksJXJk
aSA7CQkJCQlcCmRpZmYgLS1naXQgYS9zeXMvYW1kNjQvaW5jbHVkZS9jcHVmdW5jLmggYi9zeXMv
YW1kNjQvaW5jbHVkZS9jcHVmdW5jLmgKaW5kZXggODgxZmNkMi4uNTNiMmNlOCAxMDA2NDQKLS0t
IGEvc3lzL2FtZDY0L2luY2x1ZGUvY3B1ZnVuYy5oCisrKyBiL3N5cy9hbWQ2NC9pbmNsdWRlL2Nw
dWZ1bmMuaApAQCAtMzksMTAgKzM5LDE2IEBACiAjaWZuZGVmIF9NQUNISU5FX0NQVUZVTkNfSF8K
ICNkZWZpbmUJX01BQ0hJTkVfQ1BVRlVOQ19IXwogCisjaW5jbHVkZSAib3B0X2NwdS5oIgorCiAj
aWZuZGVmIF9TWVNfQ0RFRlNfSF8KICNlcnJvciB0aGlzIGZpbGUgbmVlZHMgc3lzL2NkZWZzLmgg
YXMgYSBwcmVyZXF1aXNpdGUKICNlbmRpZgogCisjaWZkZWYgSU5URUxfU01BUAorI2luY2x1ZGUg
PG1hY2hpbmUvc21hcF9pbnN0ci5oPgorI2VuZGlmCisKIHN0cnVjdCByZWdpb25fZGVzY3JpcHRv
cjsKIAogI2RlZmluZSByZWFkYih2YSkJKCoodm9sYXRpbGUgdWludDhfdCAqKSAodmEpKQpAQCAt
NzExLDExICs3MTcsMzEgQEAgaW50cl9yZXN0b3JlKHJlZ2lzdGVyX3QgcmZsYWdzKQogCXdyaXRl
X3JmbGFncyhyZmxhZ3MpOwogfQogCisvKgorICogSW50ZWwgU01BUCByZWxhdGVkIGZ1bmN0aW9u
cyAoY2xhYyBhbmQgc3RhYykKKyAqLworc3RhdGljIF9faW5saW5lIHZvaWQKK2NsYWModm9pZCkK
K3sKKyNpZmRlZiBJTlRFTF9TTUFQCisJX19hc20gX192b2xhdGlsZShfX1NUUklORyhDTEFDKSA6
IDogOiAibWVtb3J5Iik7CisjZW5kaWYKK30KKworc3RhdGljIF9faW5saW5lIHZvaWQKK3N0YWMo
dm9pZCkKK3sKKyNpZmRlZiBJTlRFTF9TTUFQCisJX19hc20gX192b2xhdGlsZShfX1NUUklORyhT
VEFDKSA6IDogOiAibWVtb3J5Iik7CisjZW5kaWYKK30KKwogI2Vsc2UgLyogIShfX0dOVUNMSUtF
X0FTTSAmJiBfX0NDX1NVUFBPUlRTX19fSU5MSU5FKSAqLwogCiBpbnQJYnJlYWtwb2ludCh2b2lk
KTsKIHVfaW50CWJzZmwodV9pbnQgbWFzayk7CiB1X2ludAlic3JsKHVfaW50IG1hc2spOwordm9p
ZAljbGFjKHZvaWQpOwogdm9pZAljbGZsdXNoKHVfbG9uZyBhZGRyKTsKIHZvaWQJY2x0cyh2b2lk
KTsKIHZvaWQJY3B1aWRfY291bnQodV9pbnQgYXgsIHVfaW50IGN4LCB1X2ludCAqcCk7CkBAIC03
NzUsNiArODAxLDcgQEAgdWludDY0X3QgcmR0c2Modm9pZCk7CiB1X2xvbmcJcmVhZF9yZmxhZ3Mo
dm9pZCk7CiB1X2ludAlyZnModm9pZCk7CiB1X2ludAlyZ3Modm9pZCk7Cit2b2lkCXN0YWModm9p
ZCk7CiB2b2lkCXdiaW52ZCh2b2lkKTsKIHZvaWQJd3JpdGVfcmZsYWdzKHVfaW50IHJmKTsKIHZv
aWQJd3Jtc3IodV9pbnQgbXNyLCB1aW50NjRfdCBuZXd2YWwpOwpkaWZmIC0tZ2l0IGEvc3lzL2Ft
ZDY0L2luY2x1ZGUvc21hcF9pbnN0ci5oIGIvc3lzL2FtZDY0L2luY2x1ZGUvc21hcF9pbnN0ci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3OTI2YWEKLS0tIC9kZXYvbnVs
bAorKysgYi9zeXMvYW1kNjQvaW5jbHVkZS9zbWFwX2luc3RyLmgKQEAgLTAsMCArMSwxNCBAQAor
I2lmbmRlZglfX1NNQVBfSU5TVFJVQ1RJT05fSAorI2RlZmluZQlfX1NNQVBfSU5TVFJVQ1RJT05f
SAorCisjaW5jbHVkZSAib3B0X2NwdS5oIgorCisjaWZkZWYgSU5URUxfU01BUAorI2RlZmluZQlD
TEFDCS5ieXRlIDB4MGYsMHgwMSwweGNhCisjZGVmaW5lCVNUQUMJLmJ5dGUgMHgwZiwweDAxLDB4
Y2IKKyNlbHNlCisjZGVmaW5lCUNMQUMKKyNkZWZpbmUJU1RBQworI2VuZGlmCisKKyNlbmRpZgkv
KiBfX1NNQVBfSU5TVFJVQ1RJT05fSCAqLwpkaWZmIC0tZ2l0IGEvc3lzL2NvbmYvTk9URVMgYi9z
eXMvY29uZi9OT1RFUwppbmRleCA0OGRiYTc3Li5hZjFjZjcxIDEwMDY0NAotLS0gYS9zeXMvY29u
Zi9OT1RFUworKysgYi9zeXMvY29uZi9OT1RFUwpAQCAtMjk2MywzICsyOTYzLDcgQEAgb3B0aW9u
cyAJUkNUTAogb3B0aW9ucyAJQlJPT0tUUkVFX0FMTE9DX1BBR0VTPSgyMTcqNCsxKQogb3B0aW9u
cyAJTUFYRklMRVM9OTk5CiAKKyMgSW50ZWwgU01BUAorIyBUaGlzIG9wdGlvbnMgc3VwcG9ydGVk
IG9uIEhhc3dlbGwgYW5kL29yIG5ld2VyIENQVXMgKDIwMTMgSnVuaSA8ICkgYW5kCisjIG1ha2Vz
IHRoZSBrZXJuZWwgdW5ib290YWJsZSBvbiBvbGRlciBDUFVzLgorb3B0aW9ucyAJSU5URUxfU01B
UAkjIEludGVsJ3MgaHcgdmVyc2lvbiBvZiBQYVggdWRlcmVmCmRpZmYgLS1naXQgYS9zeXMvY29u
Zi9vcHRpb25zLmFtZDY0IGIvc3lzL2NvbmYvb3B0aW9ucy5hbWQ2NAppbmRleCA5MDM0OGI3Li5i
ODYxNDM5IDEwMDY0NAotLS0gYS9zeXMvY29uZi9vcHRpb25zLmFtZDY0CisrKyBiL3N5cy9jb25m
L29wdGlvbnMuYW1kNjQKQEAgLTcyLDMgKzcyLDYgQEAgSVNDSV9MT0dHSU5HCW9wdF9pc2NpLmgK
ICMgaHcgcmFuZG9tIG51bWJlciBnZW5lcmF0b3JzIGZvciByYW5kb20oNCkKIFBBRExPQ0tfUk5H
CQlvcHRfY3B1LmgKIFJEUkFORF9STkcJCW9wdF9jcHUuaAorCisjIEludGVsIFN1cGVydmlzb3Ig
TW9kZSBBY2Nlc3MgUHJldmVudGlvbiAoU01BUCkKK0lOVEVMX1NNQVAJCW9wdF9jcHUuaApkaWZm
IC0tZ2l0IGEvc3lzL3g4Ni9pbmNsdWRlL3BzbC5oIGIvc3lzL3g4Ni9pbmNsdWRlL3BzbC5oCmlu
ZGV4IDEyZDA1YzUuLmNlOTdhMjYgMTAwNjQ0Ci0tLSBhL3N5cy94ODYvaW5jbHVkZS9wc2wuaAor
KysgYi9zeXMveDg2L2luY2x1ZGUvcHNsLmgKQEAgLTUyLDcgKzUyLDcgQEAKICNkZWZpbmUJUFNM
X05UCQkweDAwMDA0MDAwCS8qIG5lc3RlZCB0YXNrIGJpdCAqLwogI2RlZmluZQlQU0xfUkYJCTB4
MDAwMTAwMDAJLyogcmVzdW1lIGZsYWcgYml0ICovCiAjZGVmaW5lCVBTTF9WTQkJMHgwMDAyMDAw
MAkvKiB2aXJ0dWFsIDgwODYgbW9kZSBiaXQgKi8KLSNkZWZpbmUJUFNMX0FDCQkweDAwMDQwMDAw
CS8qIGFsaWdubWVudCBjaGVja2luZyAqLworI2RlZmluZQlQU0xfQUMJCTB4MDAwNDAwMDAJLyog
YWxpZ25tZW50IGNoZWNraW5nIG9yIFNNQVAgc3RhdHVzKi8KICNkZWZpbmUJUFNMX1ZJRgkJMHgw
MDA4MDAwMAkvKiB2aXJ0dWFsIGludGVycnVwdCBlbmFibGUgKi8KICNkZWZpbmUJUFNMX1ZJUAkJ
MHgwMDEwMDAwMAkvKiB2aXJ0dWFsIGludGVycnVwdCBwZW5kaW5nICovCiAjZGVmaW5lCVBTTF9J
RAkJMHgwMDIwMDAwMAkvKiBpZGVudGlmaWNhdGlvbiBiaXQgKi8KZGlmZiAtLWdpdCBhL3N5cy94
ODYvaW5jbHVkZS9zcGVjaWFscmVnLmggYi9zeXMveDg2L2luY2x1ZGUvc3BlY2lhbHJlZy5oCmlu
ZGV4IGJmMTMzM2YuLjZiZmZkNDMgMTAwNjQ0Ci0tLSBhL3N5cy94ODYvaW5jbHVkZS9zcGVjaWFs
cmVnLmgKKysrIGIvc3lzL3g4Ni9pbmNsdWRlL3NwZWNpYWxyZWcuaApAQCAtNzMsNiArNzMsNyBA
QAogI2RlZmluZQlDUjRfUENJREUgMHgwMDAyMDAwMAkvKiBFbmFibGUgQ29udGV4dCBJRCAqLwog
I2RlZmluZQlDUjRfWFNBVkUgMHgwMDA0MDAwMAkvKiBYU0VUQlYvWEdFVEJWICovCiAjZGVmaW5l
CUNSNF9TTUVQIDB4MDAxMDAwMDAJLyogU3VwZXJ2aXNvci1Nb2RlIEV4ZWN1dGlvbiBQcmV2ZW50
aW9uICovCisjZGVmaW5lCUNSNF9TTUFQIDB4MDAyMDAwMDAJLyogU3VwZXJ2aXNvci1Nb2RlIEFj
Y2VzcyBQcmV2ZW50aW9uICovCiAKIC8qCiAgKiBCaXRzIGluIEFNRDY0IHNwZWNpYWwgcmVnaXN0
ZXJzLiAgRUZFUiBpcyA2NCBiaXRzIHdpZGUuCi0tIAoxLjguMi4yCgo=
--e89a8fb1ebe45618f904de205642--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPjTQNF_utjC_yM0proi1LNa6oj0SR9HVvGORL%2BEFpeweAFnnw>