Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Apr 2014 02:52:32 +0200
From:      Oliver Pinter <oliver.pntr@gmail.com>
To:        Shawn Webb <lattera@gmail.com>
Cc:        FreeBSD-current <freebsd-current@freebsd.org>
Subject:   Re: [CFT] ASLR and PIE on amd64
Message-ID:  <CAPjTQNH1x7UYVrV60QpaE3-q%2BJ%2B5OXRnNxhN=_UYpua-VJWvUA@mail.gmail.com>
In-Reply-To: <20140331002436.GB14025@pwnie.vrt.sourcefire.com>
References:  <CADt0fhzxTF=CoRZSLXv3MpKJisZx1kCd48O3wqkSL-8vL3ogaA@mail.gmail.com> <CAPjTQNFe7mrBCWNqWiJPPW7kkE9RyhEH-3XqvVkqDzb%2B-YrZkg@mail.gmail.com> <20140331002436.GB14025@pwnie.vrt.sourcefire.com>

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

On 3/31/14, Shawn Webb <lattera@gmail.com> wrote:
> On Mar 31, 2014 02:07 AM +0200, Oliver Pinter wrote:
>> On 3/22/14, Shawn Webb <lattera@gmail.com> wrote:
>> > Hey All,
>> >
>> > First off, I hope that even as a non-committer, it's okay that I post
>> > a call for testing. If not, please excuse my newbishness in this
>> > process. This is my first time submitting a major patch upstream to
>> > FreeBSD.
>> >
>> > Over the past few months, I've had the opportunity and pleasure to
>> > enhance existing patches to FreeBSD that implement a common exploit
>> > mitigation technology called Address Space Layout Randomization (ASLR)
>> > along with support for Position Independent Executables (PIE).
>> > ASLR+PIE has been a long-requested feature by many people I've met on
>> > IRC.
>> >
>> > I've submitted my patch to PR kernel/181497. I'm currently in the
>> > process of adding PIE support to certain high-visibility applications
>> > in base (mainly network daemons). I've added a make.conf knob that's
>> > default to enabled (WITH_PIE=1). An application has to also explicitly
>> > support PIE as well by defining CAN_PIE in the Makefile prior to
>> > including bsd.prog.mk. After I get a decent amount of applications
>> > enabled with PIE support, I'll submit one last patch.
>> >
>> > The following sysctl's can be set with a kernel compiled with the
>> > PAX_ASLR option:
>> >
>> > security.pax.aslr.status: 1
>> > security.pax.aslr.debug: 0
>> > security.pax.aslr.mmap_len: 16
>> > security.pax.aslr.stack_len: 12
>> > security.pax.aslr.exec_len: 12
>> >
>> > The security.pax.aslr.status sysctl enables and disables the ASLR
>> > system as a whole. The debug sysctl gives debugging output. The
>> > mmap_len sysctl tells the ASLR system how many bits to randomize with
>> > mmap() is called. The stack_len sysctl tells the ASLR system how many
>> > bits to randomize in the stack. The exec_len sysctl tells the ASLR
>> > system how many bits to randomize the execbase (this controls PIE).
>> > These sysctls can be set as a per-jail basis. If you have an
>> > application which doesn't support ASLR, yet you want ASLR enabled for
>> > everything else, you can simply place that misbehaving application in
>> > a jail with only that jail's ASLR settings turned off.
>> >
>> > Please let me know how your testing goes. I'm giving a presentation at
>> > BSDCan regarding this.
>> >
>> > If you want to keep tabs on my bleeding-edge development process,
>> > please follow my progress on GitHub:
>> > https://github.com/lattera/freebsd (branch: soldierx/lattera/aslr).
>> >
>> > Thank you very much,
>>
>> Hi!
>>
>> Please apply this patch. This fixed an issue with tunables.
>
> Patch merged successfully into my GitHub repo. Fixed with commit
> d2c0813. I'll include it in my next patch submission upstream when I
> submit my PIE work. Thanks!

please see the attached patch, compile and boot tested on amd64

>

--089e01229a1228069604f604b350
Content-Type: application/octet-stream; 
	name="0001-PAX-ASLR-remove-dirty-hack-to-determine-which-pax_in.patch"
Content-Disposition: attachment; 
	filename="0001-PAX-ASLR-remove-dirty-hack-to-determine-which-pax_in.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: file1

RnJvbSAzM2I1ZDk2NDE0MjQ5MDk3ODQ3Y2E2MDZhMDAwMzhlNjk1OGJkODcxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgUGludGVyIDxvbGl2ZXIucG50ckBnbWFpbC5jb20+
CkRhdGU6IFdlZCwgMiBBcHIgMjAxNCAwMTozNzo1MCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFBB
WCBBU0xSOiByZW1vdmUgZGlydHkgaGFjayB0byBkZXRlcm1pbmUgd2hpY2ggcGF4X2luaXQKIHNo
b3VsZCB1c2UKCnByb2JhYmx5IHRoaXMgZml4ZWQgc29tZSBpc3N1ZSB3aXRoIGxpbnV4dWxhdG9y
IG9uIGFtZDY0CgpidW1wIF9fRnJlZUJTRF92ZXJzaW9uIHRvIDEwMDA3MDYKClNpZ25lZC1vZmYt
Ynk6IE9saXZlciBQaW50ZXIgPG9saXZlci5wbnRyQGdtYWlsLmNvbT4KLS0tCiBzeXMvYW1kNjQv
YW1kNjQvZWxmX21hY2hkZXAuYyAgICAgICB8IDEwICsrKysrKysrCiBzeXMvYW1kNjQvbGludXgz
Mi9saW51eDMyX3N5c3ZlYy5jICB8ICA5ICsrKysrKysrCiBzeXMvYXJtL2FybS9lbGZfbWFjaGRl
cC5jICAgICAgICAgICB8IDEwICsrKysrKysrCiBzeXMvY29tcGF0L2lhMzIvaWEzMl9zeXN2ZWMu
YyAgICAgICB8ICA5ICsrKysrKysrCiBzeXMvaTM4Ni9pMzg2L2VsZl9tYWNoZGVwLmMgICAgICAg
ICB8IDEwICsrKysrKysrCiBzeXMvaTM4Ni9pYmNzMi9pYmNzMl9zeXN2ZWMuYyAgICAgICB8IDEw
ICsrKysrKysrCiBzeXMvaTM4Ni9saW51eC9saW51eF9zeXN2ZWMuYyAgICAgICB8IDE1ICsrKysr
KysrKysrKwogc3lzL2lhNjQvaWE2NC9lbGZfbWFjaGRlcC5jICAgICAgICAgfCAxMSArKysrKysr
KysKIHN5cy9rZXJuL2ltZ2FjdF9hb3V0LmMgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysK
IHN5cy9rZXJuL2luaXRfbWFpbi5jICAgICAgICAgICAgICAgIHwgIDEgKwogc3lzL2tlcm4va2Vy
bl9wYXguYyAgICAgICAgICAgICAgICAgfCA0NiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t
LS0tLS0tLS0tCiBzeXMvbWlwcy9taXBzL2VsZl9tYWNoZGVwLmMgICAgICAgICB8IDE1ICsrKysr
KysrKysrKwogc3lzL21pcHMvbWlwcy9mcmVlYnNkMzJfbWFjaGRlcC5jICAgfCAgOSArKysrKysr
Kwogc3lzL3Bvd2VycGMvcG93ZXJwYy9lbGYzMl9tYWNoZGVwLmMgfCAxMCArKysrKysrKwogc3lz
L3Bvd2VycGMvcG93ZXJwYy9lbGY2NF9tYWNoZGVwLmMgfCAxMCArKysrKysrKwogc3lzL3NwYXJj
NjQvc3BhcmM2NC9lbGZfbWFjaGRlcC5jICAgfCAxMCArKysrKysrKwogc3lzL3N5cy9wYXJhbS5o
ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogc3lzL3N5cy9wYXguaCAgICAgICAgICAgICAg
ICAgICAgICAgfCAgMyArKysKIHN5cy9zeXMvc3lzZW50LmggICAgICAgICAgICAgICAgICAgIHwg
IDMgKysrCiAxOSBmaWxlcyBjaGFuZ2VkLCAxODUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvc3lzL2FtZDY0L2FtZDY0L2VsZl9tYWNoZGVwLmMgYi9zeXMvYW1k
NjQvYW1kNjQvZWxmX21hY2hkZXAuYwppbmRleCBmZGM0ZDU2Li5mZmI1ZTMxIDEwMDY0NAotLS0g
YS9zeXMvYW1kNjQvYW1kNjQvZWxmX21hY2hkZXAuYworKysgYi9zeXMvYW1kNjQvYW1kNjQvZWxm
X21hY2hkZXAuYwpAQCAtMjYsMTIgKzI2LDE3IEBACiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiBf
X0ZCU0RJRCgiJEZyZWVCU0QkIik7CiAKKyNpbmNsdWRlICJvcHRfcGF4LmgiCisKICNpbmNsdWRl
IDxzeXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMva2VybmVsLmg+CiAjaW5jbHVkZSA8c3lzL3N5
c3RtLmg+CiAjaW5jbHVkZSA8c3lzL2V4ZWMuaD4KICNpbmNsdWRlIDxzeXMvaW1nYWN0Lmg+CiAj
aW5jbHVkZSA8c3lzL2xpbmtlci5oPgorI2lmZGVmIFBBWF9BU0xSCisjaW5jbHVkZSA8c3lzL3Bh
eC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8c3lzL3Byb2MuaD4KICNpbmNsdWRlIDxzeXMvc3lzZW50
Lmg+CiAjaW5jbHVkZSA8c3lzL2ltZ2FjdF9lbGYuaD4KQEAgLTgxLDYgKzg2LDExIEBAIHN0cnVj
dCBzeXNlbnR2ZWMgZWxmNjRfZnJlZWJzZF9zeXN2ZWMgPSB7CiAJLnN2X3NoYXJlZF9wYWdlX2Jh
c2UgPSBTSEFSRURQQUdFLAogCS5zdl9zaGFyZWRfcGFnZV9sZW4gPSBQQUdFX1NJWkUsCiAJLnN2
X3NjaGVkdGFpbAk9IE5VTEwsCisjaWZkZWYgUEFYX0FTTFIKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9
IF9wYXhfYXNscl9pbml0LAorI2Vsc2UKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9IE5VTEwsCisjZW5k
aWYKIH07CiBJTklUX1NZU0VOVFZFQyhlbGY2NF9zeXN2ZWMsICZlbGY2NF9mcmVlYnNkX3N5c3Zl
Yyk7CiAKZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9saW51eDMyL2xpbnV4MzJfc3lzdmVjLmMgYi9z
eXMvYW1kNjQvbGludXgzMi9saW51eDMyX3N5c3ZlYy5jCmluZGV4IGMwNmNlMTEuLjYyMTI2NDQg
MTAwNjQ0Ci0tLSBhL3N5cy9hbWQ2NC9saW51eDMyL2xpbnV4MzJfc3lzdmVjLmMKKysrIGIvc3lz
L2FtZDY0L2xpbnV4MzIvbGludXgzMl9zeXN2ZWMuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgPHN5cy9jZGVmcy5oPgogX19GQlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1ZGUgIm9wdF9j
b21wYXQuaCIKKyNpbmNsdWRlICJvcHRfcGF4LmgiCiAKICNpZm5kZWYgQ09NUEFUX0ZSRUVCU0Qz
MgogI2Vycm9yICJVbmFibGUgdG8gY29tcGlsZSBMaW51eC1lbXVsYXRvciBkdWUgdG8gbWlzc2lu
ZyBDT01QQVRfRlJFRUJTRDMyIG9wdGlvbiEiCkBAIC01MSw2ICs1Miw5IEBAIF9fRkJTRElEKCIk
RnJlZUJTRCQiKTsKICNpbmNsdWRlIDxzeXMvbWFsbG9jLmg+CiAjaW5jbHVkZSA8c3lzL21vZHVs
ZS5oPgogI2luY2x1ZGUgPHN5cy9tdXRleC5oPgorI2lmZGVmIFBBWF9BU0xSCisjaW5jbHVkZSA8
c3lzL3BheC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8c3lzL3Byb2MuaD4KICNpbmNsdWRlIDxzeXMv
cmVzb3VyY2V2YXIuaD4KICNpbmNsdWRlIDxzeXMvc2lnbmFsdmFyLmg+CkBAIC0xMDM3LDYgKzEw
NDEsMTEgQEAgc3RydWN0IHN5c2VudHZlYyBlbGZfbGludXhfc3lzdmVjID0gewogCS5zdl9zaGFy
ZWRfcGFnZV9iYXNlID0gTElOVVgzMl9TSEFSRURQQUdFLAogCS5zdl9zaGFyZWRfcGFnZV9sZW4g
PSBQQUdFX1NJWkUsCiAJLnN2X3NjaGVkdGFpbAk9IGxpbnV4X3NjaGVkdGFpbCwKKyNpZmRlZiBQ
QVhfQVNMUgorCS5zdl9wYXhfYXNscl9pbml0ID0gX3BheF9hc2xyX2luaXQzMiwKKyNlbHNlCisJ
LnN2X3BheF9hc2xyX2luaXQgPSBOVUxMLAorI2VuZGlmCiB9OwogSU5JVF9TWVNFTlRWRUMoZWxm
X3N5c3ZlYywgJmVsZl9saW51eF9zeXN2ZWMpOwogCmRpZmYgLS1naXQgYS9zeXMvYXJtL2FybS9l
bGZfbWFjaGRlcC5jIGIvc3lzL2FybS9hcm0vZWxmX21hY2hkZXAuYwppbmRleCA2YWVjMThiLi44
YWNhNzUxIDEwMDY0NAotLS0gYS9zeXMvYXJtL2FybS9lbGZfbWFjaGRlcC5jCisrKyBiL3N5cy9h
cm0vYXJtL2VsZl9tYWNoZGVwLmMKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlIDxzeXMvY2Rl
ZnMuaD4KIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAorI2luY2x1ZGUgIm9wdF9wYXguaCIKKwog
I2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KICNpbmNsdWRl
IDxzeXMvc3lzdG0uaD4KQEAgLTM0LDYgKzM2LDkgQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwog
I2luY2x1ZGUgPHN5cy9saW5rZXIuaD4KICNpbmNsdWRlIDxzeXMvc3lzZW50Lmg+CiAjaW5jbHVk
ZSA8c3lzL2ltZ2FjdF9lbGYuaD4KKyNpZmRlZiBQQVhfQVNMUgorI2luY2x1ZGUgPHN5cy9wYXgu
aD4KKyNlbmRpZgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL3N5c2NhbGwu
aD4KICNpbmNsdWRlIDxzeXMvc2lnbmFsdmFyLmg+CkBAIC03OSw2ICs4NCwxMSBAQCBzdHJ1Y3Qg
c3lzZW50dmVjIGVsZjMyX2ZyZWVic2Rfc3lzdmVjID0gewogCS5zdl9mZXRjaF9zeXNjYWxsX2Fy
Z3MgPSBjcHVfZmV0Y2hfc3lzY2FsbF9hcmdzLAogCS5zdl9zeXNjYWxsbmFtZXMgPSBzeXNjYWxs
bmFtZXMsCiAJLnN2X3NjaGVkdGFpbAk9IE5VTEwsCisjaWZkZWYgUEFYX0FTTFIKKwkuc3ZfcGF4
X2FzbHJfaW5pdCA9IF9wYXhfYXNscl9pbml0LAorI2Vsc2UKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9
IE5VTEwsCisjZW5kaWYKIH07CiAKIHN0YXRpYyBFbGYzMl9CcmFuZGluZm8gZnJlZWJzZF9icmFu
ZF9pbmZvID0gewpkaWZmIC0tZ2l0IGEvc3lzL2NvbXBhdC9pYTMyL2lhMzJfc3lzdmVjLmMgYi9z
eXMvY29tcGF0L2lhMzIvaWEzMl9zeXN2ZWMuYwppbmRleCBhOGU1MmU4Li4yODk3MzI4IDEwMDY0
NAotLS0gYS9zeXMvY29tcGF0L2lhMzIvaWEzMl9zeXN2ZWMuYworKysgYi9zeXMvY29tcGF0L2lh
MzIvaWEzMl9zeXN2ZWMuYwpAQCAtMjksNiArMjksNyBAQAogX19GQlNESUQoIiRGcmVlQlNEJCIp
OwogCiAjaW5jbHVkZSAib3B0X2NvbXBhdC5oIgorI2luY2x1ZGUgIm9wdF9wYXguaCIKIAogI2Rl
ZmluZSBfX0VMRl9XT1JEX1NJWkUgMzIKIApAQCAtNDIsNiArNDMsOSBAQCBfX0ZCU0RJRCgiJEZy
ZWVCU0QkIik7CiAjaW5jbHVkZSA8c3lzL211dGV4Lmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4K
ICNpbmNsdWRlIDxzeXMvbmFtZWkuaD4KKyNpZmRlZiBQQVhfQVNMUgorI2luY2x1ZGUgPHN5cy9w
YXguaD4KKyNlbmRpZgogI2luY2x1ZGUgPHN5cy9waW9jdGwuaD4KICNpbmNsdWRlIDxzeXMvcHJv
Yy5oPgogI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KQEAgLTEzOSw2ICsxNDMsMTEgQEAgc3RydWN0
IHN5c2VudHZlYyBpYTMyX2ZyZWVic2Rfc3lzdmVjID0gewogCS5zdl9zaGFyZWRfcGFnZV9iYXNl
ID0gRlJFRUJTRDMyX1NIQVJFRFBBR0UsCiAJLnN2X3NoYXJlZF9wYWdlX2xlbiA9IFBBR0VfU0la
RSwKIAkuc3Zfc2NoZWR0YWlsCT0gTlVMTCwKKyNpZmRlZiBQQVhfQVNMUgorCS5zdl9wYXhfYXNs
cl9pbml0ID0gX3BheF9hc2xyX2luaXQzMiwKKyNlbHNlCisJLnN2X3BheF9hc2xyX2luaXQgPSBO
VUxMLAorI2VuZGlmCiB9OwogSU5JVF9TWVNFTlRWRUMoZWxmX2lhMzJfc3lzdmVjLCAmaWEzMl9m
cmVlYnNkX3N5c3ZlYyk7CiAKZGlmZiAtLWdpdCBhL3N5cy9pMzg2L2kzODYvZWxmX21hY2hkZXAu
YyBiL3N5cy9pMzg2L2kzODYvZWxmX21hY2hkZXAuYwppbmRleCAwMzRiNGM0Li5mMjI5N2M4IDEw
MDY0NAotLS0gYS9zeXMvaTM4Ni9pMzg2L2VsZl9tYWNoZGVwLmMKKysrIGIvc3lzL2kzODYvaTM4
Ni9lbGZfbWFjaGRlcC5jCkBAIC0yNiwxMiArMjYsMTcgQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMu
aD4KIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAorI2luY2x1ZGUgIm9wdF9wYXguaCIKKwogI2lu
Y2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KICNpbmNsdWRlIDxz
eXMvc3lzdG0uaD4KICNpbmNsdWRlIDxzeXMvZXhlYy5oPgogI2luY2x1ZGUgPHN5cy9pbWdhY3Qu
aD4KICNpbmNsdWRlIDxzeXMvbGlua2VyLmg+CisjaWZkZWYgUEFYX0FTTFIKKyNpbmNsdWRlIDxz
eXMvcGF4Lmg+CisjZW5kaWYKICNpbmNsdWRlIDxzeXMvcHJvYy5oPgogI2luY2x1ZGUgPHN5cy9z
eXNlbnQuaD4KICNpbmNsdWRlIDxzeXMvaW1nYWN0X2VsZi5oPgpAQCAtODEsNiArODYsMTEgQEAg
c3RydWN0IHN5c2VudHZlYyBlbGYzMl9mcmVlYnNkX3N5c3ZlYyA9IHsKIAkuc3Zfc2hhcmVkX3Bh
Z2VfYmFzZSA9IFNIQVJFRFBBR0UsCiAJLnN2X3NoYXJlZF9wYWdlX2xlbiA9IFBBR0VfU0laRSwK
IAkuc3Zfc2NoZWR0YWlsCT0gTlVMTCwKKyNpZmRlZiBQQVhfQVNMUgorCS5zdl9wYXhfYXNscl9p
bml0ID0gX3BheF9hc2xyX2luaXQsCisjZWxzZQorCS5zdl9wYXhfYXNscl9pbml0ID0gTlVMTCwK
KyNlbmRpZgogfTsKIElOSVRfU1lTRU5UVkVDKGVsZjMyX3N5c3ZlYywgJmVsZjMyX2ZyZWVic2Rf
c3lzdmVjKTsKIApkaWZmIC0tZ2l0IGEvc3lzL2kzODYvaWJjczIvaWJjczJfc3lzdmVjLmMgYi9z
eXMvaTM4Ni9pYmNzMi9pYmNzMl9zeXN2ZWMuYwppbmRleCA1ZDAwN2M3Li4wOGRmNWI3OCAxMDA2
NDQKLS0tIGEvc3lzL2kzODYvaWJjczIvaWJjczJfc3lzdmVjLmMKKysrIGIvc3lzL2kzODYvaWJj
czIvaWJjczJfc3lzdmVjLmMKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMu
aD4KIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAorI2luY2x1ZGUgIm9wdF9wYXguaCIKKwogI2lu
Y2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KICNpbmNsdWRlIDxz
eXMvc3lzdG0uaD4KQEAgLTQwLDYgKzQyLDkgQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwogI2lu
Y2x1ZGUgPHN5cy9tb2R1bGUuaD4KICNpbmNsdWRlIDxzeXMvc3lzZW50Lmg+CiAjaW5jbHVkZSA8
c3lzL3NpZ25hbHZhci5oPgorI2lmZGVmIFBBWF9BU0xSCisjaW5jbHVkZSA8c3lzL3BheC5oPgor
I2VuZGlmCiAjaW5jbHVkZSA8c3lzL3Byb2MuaD4KICNpbmNsdWRlIDxzeXMvc3guaD4KIApAQCAt
ODksNiArOTQsMTEgQEAgc3RydWN0IHN5c2VudHZlYyBpYmNzMl9zdnIzX3N5c3ZlYyA9IHsKIAku
c3ZfZmV0Y2hfc3lzY2FsbF9hcmdzID0gY3B1X2ZldGNoX3N5c2NhbGxfYXJncywKIAkuc3Zfc3lz
Y2FsbG5hbWVzID0gTlVMTCwKIAkuc3Zfc2NoZWR0YWlsCT0gTlVMTCwKKyNpZmRlZiBQQVhfQVNM
UgorCS5zdl9wYXhfYXNscl9pbml0ID0gX3BheF9hc2xyX2luaXQsIC8qIFhYWE9QICovCisjZWxz
ZQorCS5zdl9wYXhfYXNscl9pbml0ID0gTlVMTCwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludApk
aWZmIC0tZ2l0IGEvc3lzL2kzODYvbGludXgvbGludXhfc3lzdmVjLmMgYi9zeXMvaTM4Ni9saW51
eC9saW51eF9zeXN2ZWMuYwppbmRleCAwYWQ2NzkxLi41YjE0ZmVlIDEwMDY0NAotLS0gYS9zeXMv
aTM4Ni9saW51eC9saW51eF9zeXN2ZWMuYworKysgYi9zeXMvaTM4Ni9saW51eC9saW51eF9zeXN2
ZWMuYwpAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogX19GQlNESUQo
IiRGcmVlQlNEJCIpOwogCisjaW5jbHVkZSAib3B0X3BheC5oIgorCiAjaW5jbHVkZSA8c3lzL3Bh
cmFtLmg+CiAjaW5jbHVkZSA8c3lzL3N5c3RtLmg+CiAjaW5jbHVkZSA8c3lzL2V4ZWMuaD4KQEAg
LTQxLDYgKzQzLDkgQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1ZGUgPHN5cy9tYWxs
b2MuaD4KICNpbmNsdWRlIDxzeXMvbW9kdWxlLmg+CiAjaW5jbHVkZSA8c3lzL211dGV4Lmg+Cisj
aWZkZWYgUEFYX0FTTFIKKyNpbmNsdWRlIDxzeXMvcGF4Lmg+CisjZW5kaWYKICNpbmNsdWRlIDxz
eXMvcHJvYy5oPgogI2luY2x1ZGUgPHN5cy9zaWduYWx2YXIuaD4KICNpbmNsdWRlIDxzeXMvc3lz
Y2FsbHN1YnIuaD4KQEAgLTk3NCw2ICs5NzksMTEgQEAgc3RydWN0IHN5c2VudHZlYyBsaW51eF9z
eXN2ZWMgPSB7CiAJLnN2X3NoYXJlZF9wYWdlX2Jhc2UgPSBMSU5VWF9TSEFSRURQQUdFLAogCS5z
dl9zaGFyZWRfcGFnZV9sZW4gPSBQQUdFX1NJWkUsCiAJLnN2X3NjaGVkdGFpbAk9IGxpbnV4X3Nj
aGVkdGFpbCwKKyNpZmRlZiBQQVhfQVNMUgorCS5zdl9wYXhfYXNscl9pbml0ID0gX3BheF9hc2xy
X2luaXQsIC8qIFhYWE9QICovCisjZWxzZQorCS5zdl9wYXhfYXNscl9pbml0ID0gTlVMTCwKKyNl
bmRpZgogfTsKIElOSVRfU1lTRU5UVkVDKGFvdXRfc3lzdmVjLCAmbGludXhfc3lzdmVjKTsKIApA
QCAtMTAxMiw2ICsxMDIyLDExIEBAIHN0cnVjdCBzeXNlbnR2ZWMgZWxmX2xpbnV4X3N5c3ZlYyA9
IHsKIAkuc3Zfc2hhcmVkX3BhZ2VfYmFzZSA9IExJTlVYX1NIQVJFRFBBR0UsCiAJLnN2X3NoYXJl
ZF9wYWdlX2xlbiA9IFBBR0VfU0laRSwKIAkuc3Zfc2NoZWR0YWlsCT0gbGludXhfc2NoZWR0YWls
LAorI2lmZGVmIFBBWF9BU0xSCisJLnN2X3BheF9hc2xyX2luaXQgPSBfcGF4X2FzbHJfaW5pdCwK
KyNlbHNlCisJLnN2X3BheF9hc2xyX2luaXQgPSBOVUxMLAorI2VuZGlmCiB9OwogSU5JVF9TWVNF
TlRWRUMoZWxmX3N5c3ZlYywgJmVsZl9saW51eF9zeXN2ZWMpOwogCmRpZmYgLS1naXQgYS9zeXMv
aWE2NC9pYTY0L2VsZl9tYWNoZGVwLmMgYi9zeXMvaWE2NC9pYTY0L2VsZl9tYWNoZGVwLmMKaW5k
ZXggMDVjYjY0MS4uYTczZjIwZiAxMDA2NDQKLS0tIGEvc3lzL2lhNjQvaWE2NC9lbGZfbWFjaGRl
cC5jCisrKyBiL3N5cy9pYTY0L2lhNjQvZWxmX21hY2hkZXAuYwpAQCAtMjUsMTIgKzI1LDE3IEBA
CiAgKiAkRnJlZUJTRCQKICAqLwogCisjaW5jbHVkZSAib3B0X3BheC5oIgorCiAjaW5jbHVkZSA8
c3lzL3BhcmFtLmg+CiAjaW5jbHVkZSA8c3lzL2tlcm5lbC5oPgogI2luY2x1ZGUgPHN5cy9zeXN0
bS5oPgogI2luY2x1ZGUgPHN5cy9leGVjLmg+CiAjaW5jbHVkZSA8c3lzL2ltZ2FjdC5oPgogI2lu
Y2x1ZGUgPHN5cy9tYWxsb2MuaD4KKyNpZmRlZiBQQVhfQVNMUgorI2luY2x1ZGUgPHN5cy9wYXgu
aD4KKyNlbmRpZgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL25hbWVpLmg+
CiAjaW5jbHVkZSA8c3lzL2ZjbnRsLmg+CkBAIC04Niw2ICs5MSwxMiBAQCBzdHJ1Y3Qgc3lzZW50
dmVjIGVsZjY0X2ZyZWVic2Rfc3lzdmVjID0gewogCS5zdl9mZXRjaF9zeXNjYWxsX2FyZ3MgPSBj
cHVfZmV0Y2hfc3lzY2FsbF9hcmdzLAogCS5zdl9zeXNjYWxsbmFtZXMgPSBzeXNjYWxsbmFtZXMs
CiAJLnN2X3NjaGVkdGFpbAk9IE5VTEwsCisjaWZkZWYgUEFYX0FTTFIKKwkuc3ZfcGF4X2FzbHJf
aW5pdCA9IF9wYXhfYXNscl9pbml0LAorI2Vsc2UKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9IE5VTEws
CisjZW5kaWYKKwogfTsKIAogc3RhdGljIEVsZjY0X0JyYW5kaW5mbyBmcmVlYnNkX2JyYW5kX2lu
Zm8gPSB7CmRpZmYgLS1naXQgYS9zeXMva2Vybi9pbWdhY3RfYW91dC5jIGIvc3lzL2tlcm4vaW1n
YWN0X2FvdXQuYwppbmRleCAzYWU3OGRlLi5iZTY5OWRkIDEwMDY0NAotLS0gYS9zeXMva2Vybi9p
bWdhY3RfYW91dC5jCisrKyBiL3N5cy9rZXJuL2ltZ2FjdF9hb3V0LmMKQEAgLTI3LDYgKzI3LDgg
QEAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAorI2lu
Y2x1ZGUgIm9wdF9wYXguaCIKKwogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5
cy9leGVjLmg+CiAjaW5jbHVkZSA8c3lzL2ltZ2FjdC5oPgpAQCAtMzYsNiArMzgsOSBAQCBfX0ZC
U0RJRCgiJEZyZWVCU0QkIik7CiAjaW5jbHVkZSA8c3lzL2xvY2suaD4KICNpbmNsdWRlIDxzeXMv
bWFsbG9jLmg+CiAjaW5jbHVkZSA8c3lzL211dGV4Lmg+CisjaWZkZWYgUEFYX0FTTFIKKyNpbmNs
dWRlIDxzeXMvcGF4Lmg+CisjZW5kaWYKICNpbmNsdWRlIDxzeXMvcHJvYy5oPgogI2luY2x1ZGUg
PHN5cy9yYWNjdC5oPgogI2luY2x1ZGUgPHN5cy9yZXNvdXJjZXZhci5oPgpAQCAtOTksNiArMTA0
LDEwIEBAIHN0cnVjdCBzeXNlbnR2ZWMgYW91dF9zeXN2ZWMgPSB7CiAJLnN2X2ZldGNoX3N5c2Nh
bGxfYXJncyA9IGNwdV9mZXRjaF9zeXNjYWxsX2FyZ3MsCiAJLnN2X3N5c2NhbGxuYW1lcyA9IHN5
c2NhbGxuYW1lcywKIAkuc3Zfc2NoZWR0YWlsCT0gTlVMTCwKKyNpZmRlZiBQQVhfQVNMUgorCS5z
dl9wYXhfYXNscl9pbml0ID0gX3BheF9hc2xyX2luaXQsIC8qIFhYWE9QICovCisjZWxzZQorCS5z
dl9wYXhfYXNscl9pbml0ID0gTlVMTCwKIH07CiAKICNlbGlmIGRlZmluZWQoX19hbWQ2NF9fKQpA
QCAtMTQzLDYgKzE1MiwxMSBAQCBzdHJ1Y3Qgc3lzZW50dmVjIGFvdXRfc3lzdmVjID0gewogCS5z
dl9zZXRfc3lzY2FsbF9yZXR2YWwgPSBpYTMyX3NldF9zeXNjYWxsX3JldHZhbCwKIAkuc3ZfZmV0
Y2hfc3lzY2FsbF9hcmdzID0gaWEzMl9mZXRjaF9zeXNjYWxsX2FyZ3MsCiAJLnN2X3N5c2NhbGxu
YW1lcyA9IGZyZWVic2QzMl9zeXNjYWxsbmFtZXMsCisjaWZkZWYgUEFYX0FTTFIKKwkuc3ZfcGF4
X2FzbHJfaW5pdCA9IF9wYXhfYXNscl9pbml0MzIsIC8qIFhYWE9QICovCisjZWxzZQorCS5zdl9w
YXhfYXNscl9pbml0ID0gTlVMTCwKKyNlbmRpZgogfTsKICNlbHNlCiAjZXJyb3IgIlBvcnQgbWUi
CmRpZmYgLS1naXQgYS9zeXMva2Vybi9pbml0X21haW4uYyBiL3N5cy9rZXJuL2luaXRfbWFpbi5j
CmluZGV4IGVkMzQzYjYuLjM2OTQwOGQgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL2luaXRfbWFpbi5j
CisrKyBiL3N5cy9rZXJuL2luaXRfbWFpbi5jCkBAIC00MTAsNiArNDEwLDcgQEAgc3RydWN0IHN5
c2VudHZlYyBudWxsX3N5c3ZlYyA9IHsKIAkuc3ZfZmV0Y2hfc3lzY2FsbF9hcmdzID0gbnVsbF9m
ZXRjaF9zeXNjYWxsX2FyZ3MsCiAJLnN2X3N5c2NhbGxuYW1lcyA9IE5VTEwsCiAJLnN2X3NjaGVk
dGFpbAk9IE5VTEwsCisJLnN2X3BheF9hc2xyX2luaXQgPSBOVUxMLAogfTsKIAogLyoKZGlmZiAt
LWdpdCBhL3N5cy9rZXJuL2tlcm5fcGF4LmMgYi9zeXMva2Vybi9rZXJuX3BheC5jCmluZGV4IGIw
M2NjMDMuLjkyMDkwMzggMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL2tlcm5fcGF4LmMKKysrIGIvc3lz
L2tlcm4va2Vybl9wYXguYwpAQCAtMzAsOCArMzAsOCBAQAogI2luY2x1ZGUgPHN5cy9jZGVmcy5o
PgogX19GQlNESUQoIiRGcmVlQlNEJCIpOwogCi0jaW5jbHVkZSAib3B0X3BheC5oIgogI2luY2x1
ZGUgIm9wdF9jb21wYXQuaCIKKyNpbmNsdWRlICJvcHRfcGF4LmgiCiAKICNpbmNsdWRlIDxzeXMv
cGFyYW0uaD4KICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KQEAgLTUwMSw2ICs1MDEsMjggQEAgcGF4
X2FzbHJfaW5pdF9wcmlzb24oc3RydWN0IHByaXNvbiAqcHIpCiB9CiAKIHZvaWQKK19wYXhfYXNs
cl9pbml0KHN0cnVjdCB2bXNwYWNlICp2bSwgc3RydWN0IHByaXNvbiAqcHIpCit7CisJdm0tPnZt
X2FzbHJfZGVsdGFfbW1hcCA9IFBBWF9BU0xSX0RFTFRBKGFyYzRyYW5kb20oKSwKKwkJUEFYX0FT
TFJfREVMVEFfTU1BUF9MU0IsIChwciAhPSBOVUxMKSA/IHByLT5wcl9wYXhfYXNscl9tbWFwX2xl
biA6IHBheF9hc2xyX21tYXBfbGVuKTsKKwl2bS0+dm1fYXNscl9kZWx0YV9zdGFjayA9IFBBWF9B
U0xSX0RFTFRBKGFyYzRyYW5kb20oKSwKKwkJUEFYX0FTTFJfREVMVEFfU1RBQ0tfTFNCLCAocHIg
IT0gTlVMTCkgPyBwci0+cHJfcGF4X2FzbHJfc3RhY2tfbGVuIDogcGF4X2FzbHJfc3RhY2tfbGVu
KTsKKwl2bS0+dm1fYXNscl9kZWx0YV9zdGFjayA9IEFMSUdOKHZtLT52bV9hc2xyX2RlbHRhX3N0
YWNrKTsKK30KKworI2lmZGVmIENPTVBBVF9GUkVFQlNEMzIKK3ZvaWQKK19wYXhfYXNscl9pbml0
MzIoc3RydWN0IHZtc3BhY2UgKnZtLCBzdHJ1Y3QgcHJpc29uICpwcikKK3sKKyAgICAgICAgdm0t
PnZtX2FzbHJfZGVsdGFfbW1hcCA9IFBBWF9BU0xSX0RFTFRBKGFyYzRyYW5kb20oKSwKKyAgICAg
ICAgICAgIFBBWF9BU0xSX0NPTVBBVF9ERUxUQV9NTUFQX0xTQiwgKHByICE9IE5VTEwpID8gcHIt
PnByX3BheF9hc2xyX2NvbXBhdF9tbWFwX2xlbiA6IHBheF9hc2xyX2NvbXBhdF9tbWFwX2xlbik7
CisgICAgICAgIHZtLT52bV9hc2xyX2RlbHRhX3N0YWNrID0gUEFYX0FTTFJfREVMVEEoYXJjNHJh
bmRvbSgpLAorICAgICAgICAgICAgUEFYX0FTTFJfQ09NUEFUX0RFTFRBX1NUQUNLX0xTQiwgKHBy
ICE9IE5VTEwpID8gcHItPnByX3BheF9hc2xyX2NvbXBhdF9zdGFja19sZW4gOiBwYXhfYXNscl9j
b21wYXRfc3RhY2tfbGVuKTsKKyAgICAgICAgdm0tPnZtX2FzbHJfZGVsdGFfc3RhY2sgPSBBTElH
Tih2bS0+dm1fYXNscl9kZWx0YV9zdGFjayk7Cit9CisjZW5kaWYKKwordm9pZAogcGF4X2FzbHJf
aW5pdChzdHJ1Y3QgdGhyZWFkICp0ZCwgc3RydWN0IGltYWdlX3BhcmFtcyAqaW1ncCkKIHsKICAg
ICBzdHJ1Y3Qgdm1zcGFjZSAqdm07CkBAIC01MjIsMjcgKzU0NCw5IEBAIHBheF9hc2xyX2luaXQo
c3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBpbWFnZV9wYXJhbXMgKmltZ3ApCiAgICAgdm0gPSBp
bWdwLT5wcm9jLT5wX3Ztc3BhY2U7CiAgICAgc3ZfZmxhZ3MgPSBpbWdwLT5wcm9jLT5wX3N5c2Vu
dC0+c3ZfZmxhZ3M7CiAKLSNpZm5kZWYgQ09NUEFUX0ZSRUVCU0QzMgotICAgIHZtLT52bV9hc2xy
X2RlbHRhX21tYXAgPSBQQVhfQVNMUl9ERUxUQShhcmM0cmFuZG9tKCksCi0gICAgICAgIFBBWF9B
U0xSX0RFTFRBX01NQVBfTFNCLCAocHIgIT0gTlVMTCkgPyBwci0+cHJfcGF4X2FzbHJfbW1hcF9s
ZW4gOiBwYXhfYXNscl9tbWFwX2xlbik7Ci0gICAgdm0tPnZtX2FzbHJfZGVsdGFfc3RhY2sgPSBQ
QVhfQVNMUl9ERUxUQShhcmM0cmFuZG9tKCksCi0gICAgICAgIFBBWF9BU0xSX0RFTFRBX1NUQUNL
X0xTQiwgKHByICE9IE5VTEwpID8gcHItPnByX3BheF9hc2xyX3N0YWNrX2xlbiA6IHBheF9hc2xy
X3N0YWNrX2xlbik7Ci0gICAgdm0tPnZtX2FzbHJfZGVsdGFfc3RhY2sgPSBBTElHTih2bS0+dm1f
YXNscl9kZWx0YV9zdGFjayk7Ci0jZWxzZSAvKiBDT01QQVRfRlJFRUJTRDMyICovCi0gICAgaWYg
KChzdl9mbGFncyAmIFNWX0xQNjQpICE9IDApIHsKLSAgICAgICAgdm0tPnZtX2FzbHJfZGVsdGFf
bW1hcCA9IFBBWF9BU0xSX0RFTFRBKGFyYzRyYW5kb20oKSwKLSAgICAgICAgICAgIFBBWF9BU0xS
X0RFTFRBX01NQVBfTFNCLCAocHIgIT0gTlVMTCkgPyBwci0+cHJfcGF4X2FzbHJfbW1hcF9sZW4g
OiBwYXhfYXNscl9tbWFwX2xlbik7Ci0gICAgICAgIHZtLT52bV9hc2xyX2RlbHRhX3N0YWNrID0g
UEFYX0FTTFJfREVMVEEoYXJjNHJhbmRvbSgpLAotICAgICAgICAgICAgUEFYX0FTTFJfREVMVEFf
U1RBQ0tfTFNCLCAocHIgIT0gTlVMTCkgPyBwci0+cHJfcGF4X2FzbHJfc3RhY2tfbGVuIDogcGF4
X2FzbHJfc3RhY2tfbGVuKTsKLSAgICAgICAgdm0tPnZtX2FzbHJfZGVsdGFfc3RhY2sgPSBBTElH
Tih2bS0+dm1fYXNscl9kZWx0YV9zdGFjayk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdm0tPnZt
X2FzbHJfZGVsdGFfbW1hcCA9IFBBWF9BU0xSX0RFTFRBKGFyYzRyYW5kb20oKSwKLSAgICAgICAg
ICAgIFBBWF9BU0xSX0NPTVBBVF9ERUxUQV9NTUFQX0xTQiwgKHByICE9IE5VTEwpID8gcHItPnBy
X3BheF9hc2xyX2NvbXBhdF9tbWFwX2xlbiA6IHBheF9hc2xyX2NvbXBhdF9tbWFwX2xlbik7Ci0g
ICAgICAgIHZtLT52bV9hc2xyX2RlbHRhX3N0YWNrID0gUEFYX0FTTFJfREVMVEEoYXJjNHJhbmRv
bSgpLAotICAgICAgICAgICAgUEFYX0FTTFJfQ09NUEFUX0RFTFRBX1NUQUNLX0xTQiwgKHByICE9
IE5VTEwpID8gcHItPnByX3BheF9hc2xyX2NvbXBhdF9zdGFja19sZW4gOiBwYXhfYXNscl9jb21w
YXRfc3RhY2tfbGVuKTsKLSAgICAgICAgdm0tPnZtX2FzbHJfZGVsdGFfc3RhY2sgPSBBTElHTih2
bS0+dm1fYXNscl9kZWx0YV9zdGFjayk7CisgICAgaWYgKGltZ3AtPnByb2MtPnBfc3lzZW50LT5z
dl9wYXhfYXNscl9pbml0ICE9IE5VTEwpIHsKKwkgICAgaW1ncC0+cHJvYy0+cF9zeXNlbnQtPnN2
X3BheF9hc2xyX2luaXQodm0sIHByKTsKICAgICB9Ci0jZW5kaWYgLyogIUNPTVBBVF9GUkVFQlNE
MzIgKi8KIH0KIAogdm9pZApkaWZmIC0tZ2l0IGEvc3lzL21pcHMvbWlwcy9lbGZfbWFjaGRlcC5j
IGIvc3lzL21pcHMvbWlwcy9lbGZfbWFjaGRlcC5jCmluZGV4IGQzNzQ3MTMuLmJiZjM5NTYgMTAw
NjQ0Ci0tLSBhL3N5cy9taXBzL21pcHMvZWxmX21hY2hkZXAuYworKysgYi9zeXMvbWlwcy9taXBz
L2VsZl9tYWNoZGVwLmMKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4K
IF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAorI2luY2x1ZGUgIm9wdF9wYXguaCIKKwogI2luY2x1
ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KICNpbmNsdWRlIDxzeXMv
c3lzdG0uaD4KQEAgLTM2LDYgKzM4LDkgQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1
ZGUgPHN5cy9saW5rZXIuaD4KICNpbmNsdWRlIDxzeXMvc3lzZW50Lmg+CiAjaW5jbHVkZSA8c3lz
L2ltZ2FjdF9lbGYuaD4KKyNpZmRlZiBQQVhfQVNMUgorI2luY2x1ZGUgPHN5cy9wYXguaD4KKyNl
bmRpZgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KICNp
bmNsdWRlIDxzeXMvc2lnbmFsdmFyLmg+CkBAIC04Myw2ICs4OCwxMSBAQCBzdHJ1Y3Qgc3lzZW50
dmVjIGVsZjY0X2ZyZWVic2Rfc3lzdmVjID0gewogCS5zdl9mZXRjaF9zeXNjYWxsX2FyZ3MgPSBj
cHVfZmV0Y2hfc3lzY2FsbF9hcmdzLAogCS5zdl9zeXNjYWxsbmFtZXMgPSBzeXNjYWxsbmFtZXMs
CiAJLnN2X3NjaGVkdGFpbAk9IE5VTEwsCisjaWZkZWYgUEFYX0FTTFIKKwkuc3ZfcGF4X2FzbHJf
aW5pdCA9IF9wYXhfYXNscl9pbml0LAorI2Vsc2UKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9IE5VTEws
CisjZW5kaWYKIH07CiAKIHN0YXRpYyBFbGY2NF9CcmFuZGluZm8gZnJlZWJzZF9icmFuZF9pbmZv
ID0gewpAQCAtMTM5LDYgKzE0OSwxMSBAQCBzdHJ1Y3Qgc3lzZW50dmVjIGVsZjMyX2ZyZWVic2Rf
c3lzdmVjID0gewogCS5zdl9mZXRjaF9zeXNjYWxsX2FyZ3MgPSBjcHVfZmV0Y2hfc3lzY2FsbF9h
cmdzLAogCS5zdl9zeXNjYWxsbmFtZXMgPSBzeXNjYWxsbmFtZXMsCiAJLnN2X3NjaGVkdGFpbAk9
IE5VTEwsCisjaWZkZWYgUEFYX0FTTFIKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9IF9wYXhfYXNscl9p
bml0MzIsCisjZWxzZQorCS5zdl9wYXhfYXNscl9pbml0ID0gTlVMTCwKKyNlbmRpZgogfTsKIAog
c3RhdGljIEVsZjMyX0JyYW5kaW5mbyBmcmVlYnNkX2JyYW5kX2luZm8gPSB7CmRpZmYgLS1naXQg
YS9zeXMvbWlwcy9taXBzL2ZyZWVic2QzMl9tYWNoZGVwLmMgYi9zeXMvbWlwcy9taXBzL2ZyZWVi
c2QzMl9tYWNoZGVwLmMKaW5kZXggZGZkZjcwZi4uOWNmZGIyMiAxMDA2NDQKLS0tIGEvc3lzL21p
cHMvbWlwcy9mcmVlYnNkMzJfbWFjaGRlcC5jCisrKyBiL3N5cy9taXBzL21pcHMvZnJlZWJzZDMy
X21hY2hkZXAuYwpAQCAtMzEsNiArMzEsNyBAQAogICovCiAKICNpbmNsdWRlICJvcHRfY29tcGF0
LmgiCisjaW5jbHVkZSAib3B0X3BheC5oIgogCiAjZGVmaW5lIF9fRUxGX1dPUkRfU0laRSAzMgog
CkBAIC00Miw2ICs0Myw5IEBACiAjaW5jbHVkZSA8c3lzL2V4ZWMuaD4KICNpbmNsdWRlIDxzeXMv
aW1nYWN0Lmg+CiAjaW5jbHVkZSA8c3lzL21hbGxvYy5oPgorI2lmZGVmIFBBWF9BU0xSCisjaW5j
bHVkZSA8c3lzL3BheC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8c3lzL3Byb2MuaD4KICNpbmNsdWRl
IDxzeXMvbmFtZWkuaD4KICNpbmNsdWRlIDxzeXMvZmNudGwuaD4KQEAgLTEwNiw2ICsxMTAsMTEg
QEAgc3RydWN0IHN5c2VudHZlYyBlbGYzMl9mcmVlYnNkX3N5c3ZlYyA9IHsKIAkuc3ZfZmV0Y2hf
c3lzY2FsbF9hcmdzID0gY3B1X2ZldGNoX3N5c2NhbGxfYXJncywKIAkuc3Zfc3lzY2FsbG5hbWVz
ID0gZnJlZWJzZDMyX3N5c2NhbGxuYW1lcywKIAkuc3Zfc2NoZWR0YWlsCT0gTlVMTCwKKyNpZmRl
ZiBQQVhfQVNMUgorCS5zdl9wYXhfYXNscl9pbml0ID0gX3BheF9hc2xyX2luaXQzMiwKKyNlbHNl
CisJLnN2X3BheF9hc2xyX2luaXQgPSBOVUxMLAorI2VuZGlmCiB9OwogSU5JVF9TWVNFTlRWRUMo
ZWxmMzJfc3lzdmVjLCAmZWxmMzJfZnJlZWJzZF9zeXN2ZWMpOwogCmRpZmYgLS1naXQgYS9zeXMv
cG93ZXJwYy9wb3dlcnBjL2VsZjMyX21hY2hkZXAuYyBiL3N5cy9wb3dlcnBjL3Bvd2VycGMvZWxm
MzJfbWFjaGRlcC5jCmluZGV4IGRiZTU4ZGYuLmU0YWIyYjkgMTAwNjQ0Ci0tLSBhL3N5cy9wb3dl
cnBjL3Bvd2VycGMvZWxmMzJfbWFjaGRlcC5jCisrKyBiL3N5cy9wb3dlcnBjL3Bvd2VycGMvZWxm
MzJfbWFjaGRlcC5jCkBAIC0yNSw2ICsyNSw4IEBACiAgKiAkRnJlZUJTRCQKICAqLwogCisjaW5j
bHVkZSAib3B0X3BheC5oIgorCiAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CiAjaW5jbHVkZSA8c3lz
L2tlcm5lbC5oPgogI2luY2x1ZGUgPHN5cy9zeXN0bS5oPgpAQCAtMzQsNiArMzYsOSBAQAogI2lu
Y2x1ZGUgPHN5cy9leGVjLmg+CiAjaW5jbHVkZSA8c3lzL2ltZ2FjdC5oPgogI2luY2x1ZGUgPHN5
cy9tYWxsb2MuaD4KKyNpZmRlZiBQQVhfQVNMUgorI2luY2x1ZGUgPHN5cy9wYXguaD4KKyNlbmRp
ZgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL25hbWVpLmg+CiAjaW5jbHVk
ZSA8c3lzL2ZjbnRsLmg+CkBAIC0xMDcsNiArMTEyLDExIEBAIHN0cnVjdCBzeXNlbnR2ZWMgZWxm
MzJfZnJlZWJzZF9zeXN2ZWMgPSB7CiAJLnN2X3NoYXJlZF9wYWdlX2Jhc2UgPSBGUkVFQlNEMzJf
U0hBUkVEUEFHRSwKIAkuc3Zfc2hhcmVkX3BhZ2VfbGVuID0gUEFHRV9TSVpFLAogCS5zdl9zY2hl
ZHRhaWwJPSBOVUxMLAorI2lmZGVmIFBBWF9BU0xSCisJLnN2X3BheF9hc2xyX2luaXQgPSBfcGF4
X2FzbHJfaW5pdDMyLAorI2Vsc2UKKwkuc3ZfcGF4X2FzbHJfaW5pdCA9IE5VTEwsCisjZW5kaWYK
IH07CiBJTklUX1NZU0VOVFZFQyhlbGYzMl9zeXN2ZWMsICZlbGYzMl9mcmVlYnNkX3N5c3ZlYyk7
CiAKZGlmZiAtLWdpdCBhL3N5cy9wb3dlcnBjL3Bvd2VycGMvZWxmNjRfbWFjaGRlcC5jIGIvc3lz
L3Bvd2VycGMvcG93ZXJwYy9lbGY2NF9tYWNoZGVwLmMKaW5kZXggMGM0MWE4ZC4uODViNTY5NyAx
MDA2NDQKLS0tIGEvc3lzL3Bvd2VycGMvcG93ZXJwYy9lbGY2NF9tYWNoZGVwLmMKKysrIGIvc3lz
L3Bvd2VycGMvcG93ZXJwYy9lbGY2NF9tYWNoZGVwLmMKQEAgLTI1LDEyICsyNSwxNyBAQAogICog
JEZyZWVCU0QkCiAgKi8KIAorI2luY2x1ZGUgIm9wdF9wYXguaCIKKwogI2luY2x1ZGUgPHN5cy9w
YXJhbS5oPgogI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4K
ICNpbmNsdWRlIDxzeXMvZXhlYy5oPgogI2luY2x1ZGUgPHN5cy9pbWdhY3QuaD4KICNpbmNsdWRl
IDxzeXMvbWFsbG9jLmg+CisjaWZkZWYgUEFYX0FTTFIKKyNpbmNsdWRlIDxzeXMvcGF4Lmg+Cisj
ZW5kaWYKICNpbmNsdWRlIDxzeXMvcHJvYy5oPgogI2luY2x1ZGUgPHN5cy9uYW1laS5oPgogI2lu
Y2x1ZGUgPHN5cy9mY250bC5oPgpAQCAtODMsNiArODgsMTEgQEAgc3RydWN0IHN5c2VudHZlYyBl
bGY2NF9mcmVlYnNkX3N5c3ZlYyA9IHsKIAkuc3Zfc2hhcmVkX3BhZ2VfYmFzZSA9IFNIQVJFRFBB
R0UsCiAJLnN2X3NoYXJlZF9wYWdlX2xlbiA9IFBBR0VfU0laRSwKIAkuc3Zfc2NoZWR0YWlsCT0g
TlVMTCwKKyNpZmRlZiBQQVhfQVNMUgorCS5zdl9wYXhfYXNscl9pbml0ID0gX3BheF9hc2xyX2lu
aXQsCisjZWxzZQorCS5zdl9wYXhfYXNscl9pbml0ID0gTlVMTCwKKyNlbmRpZgogfTsKIElOSVRf
U1lTRU5UVkVDKGVsZjY0X3N5c3ZlYywgJmVsZjY0X2ZyZWVic2Rfc3lzdmVjKTsKIApkaWZmIC0t
Z2l0IGEvc3lzL3NwYXJjNjQvc3BhcmM2NC9lbGZfbWFjaGRlcC5jIGIvc3lzL3NwYXJjNjQvc3Bh
cmM2NC9lbGZfbWFjaGRlcC5jCmluZGV4IDRkNTU3MTcuLmI5ZjJiZTAgMTAwNjQ0Ci0tLSBhL3N5
cy9zcGFyYzY0L3NwYXJjNjQvZWxmX21hY2hkZXAuYworKysgYi9zeXMvc3BhcmM2NC9zcGFyYzY0
L2VsZl9tYWNoZGVwLmMKQEAgLTM0LDEyICszNCwxNyBAQAogI2luY2x1ZGUgPHN5cy9jZGVmcy5o
PgogX19GQlNESUQoIiRGcmVlQlNEJCIpOwogCisjaW5jbHVkZSAib3B0X3BheC5oIgorCiAjaW5j
bHVkZSA8c3lzL3BhcmFtLmg+CiAjaW5jbHVkZSA8c3lzL2tlcm5lbC5oPgogI2luY2x1ZGUgPHN5
cy9zeXN0bS5oPgogI2luY2x1ZGUgPHN5cy9leGVjLmg+CiAjaW5jbHVkZSA8c3lzL2ltZ2FjdC5o
PgogI2luY2x1ZGUgPHN5cy9saW5rZXIuaD4KKyNpZmRlZiBQQVhfQVNMUgorI2luY2x1ZGUgPHN5
cy9wYXguaD4KKyNlbmRpZgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL3N5
c2VudC5oPgogI2luY2x1ZGUgPHN5cy9pbWdhY3RfZWxmLmg+CkBAIC04Nyw2ICs5MiwxMSBAQCBz
dGF0aWMgc3RydWN0IHN5c2VudHZlYyBlbGY2NF9mcmVlYnNkX3N5c3ZlYyA9IHsKIAkuc3ZfZmV0
Y2hfc3lzY2FsbF9hcmdzID0gY3B1X2ZldGNoX3N5c2NhbGxfYXJncywKIAkuc3Zfc3lzY2FsbG5h
bWVzID0gc3lzY2FsbG5hbWVzLAogCS5zdl9zY2hlZHRhaWwJPSBOVUxMLAorI2lmZGVmIFBBWF9B
U0xSCisJLnN2X3BheF9hc2xyX2luaXQgPSBfcGF4X2FzbHJfaW5pdCwKKyNlbHNlCisJLnN2X3Bh
eF9hc2xyX2luaXQgPSBOVUxMLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgRWxmNjRfQnJhbmRpbmZv
IGZyZWVic2RfYnJhbmRfaW5mbyA9IHsKZGlmZiAtLWdpdCBhL3N5cy9zeXMvcGFyYW0uaCBiL3N5
cy9zeXMvcGFyYW0uaAppbmRleCAwNWI1OTY4Li5hZTE3MDRhIDEwMDY0NAotLS0gYS9zeXMvc3lz
L3BhcmFtLmgKKysrIGIvc3lzL3N5cy9wYXJhbS5oCkBAIC01OCw3ICs1OCw3IEBACiAgKgkJaW4g
dGhlIHJhbmdlIDUgdG8gOS4KICAqLwogI3VuZGVmIF9fRnJlZUJTRF92ZXJzaW9uCi0jZGVmaW5l
IF9fRnJlZUJTRF92ZXJzaW9uIDEwMDA3MDUJLyogTWFzdGVyLCBwcm9wYWdhdGVkIHRvIG5ld3Zl
cnMgKi8KKyNkZWZpbmUgX19GcmVlQlNEX3ZlcnNpb24gMTAwMDcwNgkvKiBNYXN0ZXIsIHByb3Bh
Z2F0ZWQgdG8gbmV3dmVycyAqLwogCiAvKgogICogX19GcmVlQlNEX2tlcm5lbF9fIGluZGljYXRl
cyB0aGF0IHRoaXMgc3lzdGVtIHVzZXMgdGhlIGtlcm5lbCBvZiBGcmVlQlNELApkaWZmIC0tZ2l0
IGEvc3lzL3N5cy9wYXguaCBiL3N5cy9zeXMvcGF4LmgKaW5kZXggYjY2ZTY4Yi4uM2VlMzk4MiAx
MDA2NDQKLS0tIGEvc3lzL3N5cy9wYXguaAorKysgYi9zeXMvc3lzL3BheC5oCkBAIC0zMSw2ICsz
MSw3IEBACiAjZGVmaW5lCV9fU1lTX1BBWF9ICiAKIHN0cnVjdCBpbWFnZV9wYXJhbXM7CitzdHJ1
Y3QgcHJpc29uOwogc3RydWN0IHRocmVhZDsKIHN0cnVjdCB2bXNwYWNlOwogc3RydWN0IHZtX29m
ZnNldF90OwpAQCAtMTU3LDYgKzE1OCw4IEBAIGV4dGVybiBpbnQgcGF4X2FzbHJfZXhlY19sZW47
CiB2b2lkIHBheF9pbml0KHZvaWQpOwogdm9pZCBwYXhfYXNscl9pbml0X3ByaXNvbihzdHJ1Y3Qg
cHJpc29uICpwcik7CiBib29sIHBheF9hc2xyX2FjdGl2ZShzdHJ1Y3QgdGhyZWFkICp0ZCwgc3Ry
dWN0IHByb2MgKnByb2MpOwordm9pZCBfcGF4X2FzbHJfaW5pdChzdHJ1Y3Qgdm1zcGFjZSAqdm0s
IHN0cnVjdCBwcmlzb24gKnByKTsKK3ZvaWQgX3BheF9hc2xyX2luaXQzMihzdHJ1Y3Qgdm1zcGFj
ZSAqdm0sIHN0cnVjdCBwcmlzb24gKnByKTsKIHZvaWQgcGF4X2FzbHJfaW5pdChzdHJ1Y3QgdGhy
ZWFkICp0ZCwgc3RydWN0IGltYWdlX3BhcmFtcyAqaW1ncCk7CiB2b2lkIHBheF9hc2xyX21tYXAo
c3RydWN0IHRocmVhZCAqdGQsIHZtX29mZnNldF90ICphZGRyLAogCQkJdm1fb2Zmc2V0X3Qgb3Jp
Z19hZGRyLCBpbnQgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvc3lzL3N5cy9zeXNlbnQuaCBiL3N5cy9z
eXMvc3lzZW50LmgKaW5kZXggYzQ5ZGI0MS4uY2ZiY2RjMCAxMDA2NDQKLS0tIGEvc3lzL3N5cy9z
eXNlbnQuaAorKysgYi9zeXMvc3lzL3N5c2VudC5oCkBAIC03Nyw5ICs3NywxMSBAQCBzdHJ1Y3Qg
c3lzZW50IHsJCQkvKiBzeXN0ZW0gY2FsbCB0YWJsZSAqLwogI2RlZmluZQlTWV9USFJfSU5DUgkw
eDgKIAogc3RydWN0IGltYWdlX3BhcmFtczsKK3N0cnVjdCBwcmlzb247CiBzdHJ1Y3QgX19zaWdz
ZXQ7CiBzdHJ1Y3Qgc3lzY2FsbF9hcmdzOwogc3RydWN0IHRyYXBmcmFtZTsKK3N0cnVjdCB2bXNw
YWNlOwogc3RydWN0IHZub2RlOwogCiBzdHJ1Y3Qgc3lzZW50dmVjIHsKQEAgLTEzMCw2ICsxMzIs
NyBAQCBzdHJ1Y3Qgc3lzZW50dmVjIHsKIAl1aW50MzJfdAlzdl90aW1la2VlcF9nZW47CiAJdm9p
ZAkJKnN2X3NoYXJlZF9wYWdlX29iajsKIAl2b2lkCQkoKnN2X3NjaGVkdGFpbCkoc3RydWN0IHRo
cmVhZCAqKTsKKwl2b2lkCQkoKnN2X3BheF9hc2xyX2luaXQpKHN0cnVjdCB2bXNwYWNlICp2bSwg
c3RydWN0IHByaXNvbiAqcHIpOwogfTsKIAogI2RlZmluZQlTVl9JTFAzMgkweDAwMDEwMAotLSAK
MS45LjAKCg==
--089e01229a1228069604f604b350--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPjTQNH1x7UYVrV60QpaE3-q%2BJ%2B5OXRnNxhN=_UYpua-VJWvUA>