From owner-freebsd-current@FreeBSD.ORG Wed Apr 2 00:52:34 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DD2114F6 for ; Wed, 2 Apr 2014 00:52:33 +0000 (UTC) Received: from mail-ob0-x22c.google.com (mail-ob0-x22c.google.com [IPv6:2607:f8b0:4003:c01::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A25CF1A0 for ; Wed, 2 Apr 2014 00:52:33 +0000 (UTC) Received: by mail-ob0-f172.google.com with SMTP id wm4so12113747obc.31 for ; Tue, 01 Apr 2014 17:52:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=fQzVbYWYC6a2lqDk0dYRSjk7r8mhPRldBt/0rykX7To=; b=ICPG2MvEfayrsRhnF3+7KkcXEr5/SHq+KE/yjnsZS9Ii61ayjgQUzf01n3t9F5ss4n xIsF0VtcqFq0K+yqKai6aThFTo9B1BCZ0C/wKPnZ+aHLEWSnIBDChw+KcMMFHvqlZG/Y Ab64oYgNzWzs0V006qDqK+fwsoJNwn4+6t5lnFitUIjzEXHO9PxazvBSRe142goVNW+s cqjshINq3DlfoQsGhOPczITWofNDZjgVmnYAB6szrLrCR3iPAY3b9YZsfyjMdjxu1HWi r5NKlQeggbBpsHM0pc5ZHYdR0Q+SzJbAe2Xe4J+gvB9T49+LFcOoL9Mr3p6a/MDjtLmJ hKig== MIME-Version: 1.0 X-Received: by 10.182.85.193 with SMTP id j1mr248498obz.52.1396399952880; Tue, 01 Apr 2014 17:52:32 -0700 (PDT) Received: by 10.182.80.7 with HTTP; Tue, 1 Apr 2014 17:52:32 -0700 (PDT) In-Reply-To: <20140331002436.GB14025@pwnie.vrt.sourcefire.com> References: <20140331002436.GB14025@pwnie.vrt.sourcefire.com> Date: Wed, 2 Apr 2014 02:52:32 +0200 Message-ID: Subject: Re: [CFT] ASLR and PIE on amd64 From: Oliver Pinter To: Shawn Webb Content-Type: multipart/mixed; boundary=089e01229a1228069604f604b350 Cc: FreeBSD-current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Apr 2014 00:52:34 -0000 --089e01229a1228069604f604b350 Content-Type: text/plain; charset=ISO-8859-1 On 3/31/14, Shawn Webb wrote: > On Mar 31, 2014 02:07 AM +0200, Oliver Pinter wrote: >> On 3/22/14, Shawn Webb 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--