From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5E504CAC5B0 for ; Thu, 2 Oct 2025 15:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=P+iv+tNWl8ZiU/tVFjQTaVQJxXLuucgg02IJN3wgbXQ=; b=buIH7ADyHSJSqn GtQy0uoxf9dYI0MqWhnq826VVGv1hD3PHvnliTEGPesSBwc7C0mAfTompYzWVWKzHV7dV3NgGxEIh J4vkMKAzuWFhm9d0kqXHbZoFrBTUcQ6QLKVP5gea4BXJEuvkvnlpyxs2FM8lo1v8CkdNIVy8TIu3Z VhTEWwYYLlWCOSX45ZH1sldrG221qGxuMLmy2AlWzEWZCQTMq9iFc3FeJQkuIlH27iExnD8krOVD6 aQFKi/0S8FX3eOigULrBCxBdjRyGUGcC3wJjprKciupmgf4LdAYSmuThM8ogwqWYo50Hq4fWtAVAO entqATVYQswRGgm2jcuA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1v4LhR-0000000AlbF-3OCY; Thu, 02 Oct 2025 15:58:33 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1v4LhP-0000000AlaJ-38jV for linux-riscv@lists.infradead.org; Thu, 02 Oct 2025 15:58:31 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id BFCF56208C; Thu, 2 Oct 2025 15:58:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67594C4CEF4; Thu, 2 Oct 2025 15:58:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1759420710; bh=cilV1O0vUAtuGZGe3YxvO4p8XIFUBSm2PiXuqmpPfBw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hit0hmB/DVeLXD6O/DpSQ8xEhEiP2a3qgSR3d0ryg1junES7D4Ug16orX9gcWc1FL 7KJXcq6+R8iaSXx75VrN6/Fj0NrBsmnICuipBoAzUrZOyFaQlWo/mSf0ocxa4Vtkcs 78Ve8D/fqKlMM17MRWq/WsjPy83yiUuqOIND8GJayscI6IW4TCQOnHgvT8f9vRpNvu 8GQTYZeYvAD3pjerLq4odG28Z6yW36sPZ3tK8D2vnEn0mZpLRsDaK+tomeoWnp5bWN Krn2OP+FMIlynZyqtc+vJbUFDGuPaM1aX4gux0hSnfTYFYAPXXpLqbbGsHYao6Deh2 K9MUduWlNdYDQ== Date: Thu, 2 Oct 2025 08:58:30 -0700 From: Kees Cook To: Sasha Levin Cc: patches@lists.linux.dev, stable@vger.kernel.org, Svetlana Parfenova , paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, viro@zeniv.linux.org.uk, akpm@linux-foundation.org, gregkh@linuxfoundation.org, harshvardhan.j.jha@oracle.com, chenqiwu@xiaomi.com, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH AUTOSEL 6.17-6.12] binfmt_elf: preserve original ELF e_flags for core dumps Message-ID: <202510020856.736F028D@keescook> References: <20251002153025.2209281-1-sashal@kernel.org> <20251002153025.2209281-31-sashal@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20251002153025.2209281-31-sashal@kernel.org> X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SSdtIG5vdCBleGNpdGVkIGFib3V0IHRoaXMgZ2V0dGluZyBiYWNrcG9ydGVkIHdpdGhvdXQgYW4g ZXhwbGljaXQKdXNlci9jaGFtcGlvbiBmb3IgaXQgLS0gaXQgYWRkcyBLY29uZmlnIGRlcGVuZGVu Y2llcyBhbmQgcG90ZW50aWFsbHkKY2hhbmdlcyBleGlzdGluZyBydW50aW1lIGJlaGF2aW9ycy4K Ci1LZWVzCgpPbiBUaHUsIE9jdCAwMiwgMjAyNSBhdCAxMTozMDoxOEFNIC0wNDAwLCBTYXNoYSBM ZXZpbiB3cm90ZToKPiBGcm9tOiBTdmV0bGFuYSBQYXJmZW5vdmEgPHN2ZXRsYW5hLnBhcmZlbm92 YUBzeW50YWNvcmUuY29tPgo+IAo+IFsgVXBzdHJlYW0gY29tbWl0IDhjOTRkYjBhZTk3YzcyYzI1 M2E2MTVmOTkwYmQ0NjZiNDU2ZTk0ZjYgXQo+IAo+IFNvbWUgYXJjaGl0ZWN0dXJlcywgc3VjaCBh cyBSSVNDLVYsIHVzZSB0aGUgRUxGIGVfZmxhZ3MgZmllbGQgdG8gZW5jb2RlCj4gQUJJLXNwZWNp ZmljIGluZm9ybWF0aW9uIChlLmcuLCBJU0EgZXh0ZW5zaW9ucywgZnB1IHN1cHBvcnQpLiBEZWJ1 Z2dlcnMKPiBsaWtlIEdEQiByZWx5IG9uIHRoZXNlIGZsYWdzIGluIGNvcmUgZHVtcHMgdG8gY29y cmVjdGx5IGludGVycHJldAo+IG9wdGlvbmFsIHJlZ2lzdGVyIHNldHMuIElmIHRoZSBmbGFncyBh cmUgbWlzc2luZyBvciBpbmNvcnJlY3QsIEdEQiBtYXkKPiB3YXJuIGFuZCBpZ25vcmUgdmFsaWQg ZGF0YSwgZm9yIGV4YW1wbGU6Cj4gCj4gICAgIHdhcm5pbmc6IFVuZXhwZWN0ZWQgc2l6ZSBvZiBz ZWN0aW9uICcucmVnMi8yMTMnIGluIGNvcmUgZmlsZS4KPiAKPiBUaGlzIGNhbiBwcmV2ZW50IGFj Y2VzcyB0byBmcHUgb3Igb3RoZXIgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIHJlZ2lzdGVycwo+IGV2 ZW4gd2hlbiB0aGV5IHdlcmUgZHVtcGVkLgo+IAo+IFNhdmUgdGhlIGVfZmxhZ3MgZmllbGQgZHVy aW5nIEVMRiBiaW5hcnkgbG9hZGluZyAoaW4gbG9hZF9lbGZfYmluYXJ5KCkpCj4gaW50byB0aGUg bW1fc3RydWN0LCBhbmQgbGF0ZXIgcmV0cmlldmUgaXQgZHVyaW5nIGNvcmUgZHVtcCBnZW5lcmF0 aW9uCj4gKGluIGZpbGxfbm90ZV9pbmZvKCkpLiBLY29uZmlnIG9wdGlvbiBDT05GSUdfQVJDSF9I QVNfRUxGX0NPUkVfRUZMQUdTCj4gaXMgaW50cm9kdWNlZCBmb3IgYXJjaGl0ZWN0dXJlcyB0aGF0 IHJlcXVpcmUgdGhpcyBiZWhhdmlvdXIuCj4gCj4gU2lnbmVkLW9mZi1ieTogU3ZldGxhbmEgUGFy ZmVub3ZhIDxzdmV0bGFuYS5wYXJmZW5vdmFAc3ludGFjb3JlLmNvbT4KPiBMaW5rOiBodHRwczov L2xvcmUua2VybmVsLm9yZy9yLzIwMjUwOTAxMTM1MzUwLjYxOTQ4NS0xLXN2ZXRsYW5hLnBhcmZl bm92YUBzeW50YWNvcmUuY29tCj4gU2lnbmVkLW9mZi1ieTogS2VlcyBDb29rIDxrZWVzQGtlcm5l bC5vcmc+Cj4gU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPHNhc2hhbEBrZXJuZWwub3JnPgo+ IC0tLQo+IAo+IExMTSBHZW5lcmF0ZWQgZXhwbGFuYXRpb25zLCBtYXkgYmUgY29tcGxldGVseSBi b2d1czoKPiAKPiBCYXNlZCBvbiBteSBjb21wcmVoZW5zaXZlIGFuYWx5c2lzLCBoZXJlIGlzIG15 IGRldGVybWluYXRpb246Cj4gCj4gLS0tCj4gCj4gIyMgKipCYWNrcG9ydCBTdGF0dXM6IFlFUyoq Cj4gCj4gIyMjICoqRXh0ZW5zaXZlIEFuYWx5c2lzOioqCj4gCj4gIyMjIyAqKlByb2JsZW0gQmVp bmcgRml4ZWQ6KioKPiBUaGlzIGNvbW1pdCBhZGRyZXNzZXMgYSBkZWJ1Z2dpbmcgaXNzdWUgb24g UklTQy1WIGFyY2hpdGVjdHVyZSB3aGVyZSBHREIKPiBjYW5ub3QgcHJvcGVybHkgaW50ZXJwcmV0 IGNvcmUgZHVtcHMuIFRoZSByb290IGNhdXNlIGlzIHRoYXQgUklTQy1WIHVzZXMKPiB0aGUgRUxG IGVfZmxhZ3MgZmllbGQgdG8gZW5jb2RlIGNyaXRpY2FsIEFCSSBpbmZvcm1hdGlvbiAoSVNBCj4g ZXh0ZW5zaW9ucywgRlBVIHN1cHBvcnQpLCBhbmQgd2l0aG91dCBwcmVzZXJ2aW5nIHRoZXNlIGZs YWdzIGluIGNvcmUKPiBkdW1wcywgR0RCIGRpc3BsYXlzIHdhcm5pbmdzIGxpa2U6Cj4gCj4gYGBg Cj4gd2FybmluZzogVW5leHBlY3RlZCBzaXplIG9mIHNlY3Rpb24gJy5yZWcyLzIxMycgaW4gY29y ZSBmaWxlLgo+IGBgYAo+IAo+IFRoaXMgcHJldmVudHMgZGV2ZWxvcGVycyBmcm9tIGFjY2Vzc2lu ZyBGUFUgb3Igb3RoZXIgYXJjaGl0ZWN0dXJlLQo+IHNwZWNpZmljIHJlZ2lzdGVycyBkdXJpbmcg cG9zdC1tb3J0ZW0gZGVidWdnaW5nLCBldmVuIHdoZW4gdGhlIGRhdGEgd2FzCj4gY29ycmVjdGx5 IGR1bXBlZC4KPiAKPiAjIyMjICoqQ29kZSBDaGFuZ2VzIEFuYWx5c2lzOioqCj4gCj4gKioxLiBm cy9iaW5mbXRfZWxmLmMgKGNvcmUgY2hhbmdlcyk6KioKPiAgICAtIExpbmVzIDEwNi0xMTk6IEFk ZHMgdHdvIGlubGluZSBoZWxwZXIgZnVuY3Rpb25zCj4gICAgICBgZWxmX2NvcmVkdW1wX3NldF9t bV9lZmxhZ3MoKWAgYW5kIGBlbGZfY29yZWR1bXBfZ2V0X21tX2VmbGFncygpYAo+ICAgICAgdGhh dCBhcmUgbm8tb3BzIHdoZW4gQ09ORklHX0FSQ0hfSEFTX0VMRl9DT1JFX0VGTEFHUyBpcyBkaXNh YmxlZAo+ICAgIC0gTGluZSAxMzA4OiBTYXZlcyBlX2ZsYWdzIGR1cmluZyBFTEYgYmluYXJ5IGxv YWRpbmc6Cj4gICAgICBgZWxmX2NvcmVkdW1wX3NldF9tbV9lZmxhZ3MobW0sIGVsZl9leC0+ZV9m bGFncylgCj4gICAgLSBMaW5lcyAxODI0LTE4NjY6IFJlZmFjdG9ycyBmaWxsX25vdGVfaW5mbygp IHRvIGV4dHJhY3QgbWFjaGluZSB0eXBlCj4gICAgICBhbmQgZmxhZ3MgaW50byBsb2NhbCB2YXJp YWJsZXMsIHRoZW4gb3ZlcnJpZGVzIGZsYWdzIHdpdGggc2F2ZWQKPiAgICAgIHZhbHVlIGlmIGFy Y2hpdGVjdHVyZSBvcHRlZCBpbgo+IAo+ICoqMi4gaW5jbHVkZS9saW51eC9tbV90eXBlcy5oOioq Cj4gICAgLSBBZGRzIGB1bnNpZ25lZCBsb25nIHNhdmVkX2VfZmxhZ3NgIGZpZWxkIHRvIG1tX3N0 cnVjdCwKPiAgICAgIGNvbmRpdGlvbmFsbHkgY29tcGlsZWQKPiAgICAtIEZpZWxkIHBsYWNlbWVu dCBpcyBsb2dpY2FsIChhZnRlciBzYXZlZF9hdXh2LCBhbm90aGVyIEVMRi1yZWxhdGVkCj4gICAg ICBmaWVsZCkKPiAgICAtIE1lbW9yeSBvdmVyaGVhZDogb25lIHVuc2lnbmVkIGxvbmcgKDggYnl0 ZXMgb24gNjQtYml0KSBwZXIKPiAgICAgIG1tX3N0cnVjdCwgb25seSBvbiBSSVNDLVYKPiAKPiAq KjMuIGZzL0tjb25maWcuYmluZm10OioqCj4gICAgLSBBZGRzIENPTkZJR19BUkNIX0hBU19FTEZf Q09SRV9FRkxBR1Mgb3B0aW9uCj4gICAgLSBEZXBlbmRzIG9uIEJJTkZNVF9FTEYgJiYgRUxGX0NP UkUKPiAgICAtIEFsbG93cyBhcmNoaXRlY3R1cmVzIHRvIG9wdC1pbiB0byBlX2ZsYWdzIHByZXNl cnZhdGlvbgo+IAo+ICoqNC4gYXJjaC9yaXNjdi9LY29uZmlnOioqCj4gICAgLSBFbmFibGVzIENP TkZJR19BUkNIX0hBU19FTEZfQ09SRV9FRkxBR1MgZm9yIFJJU0MtVgo+IAo+ICMjIyMgKipXaHkg VGhpcyBRdWFsaWZpZXMgZm9yIEJhY2twb3J0aW5nOioqCj4gCj4gKirinJMgSW1wb3J0YW50IEJ1 ZyBGaXg6KioKPiAtIEZpeGVzIHJlYWwgdXNlci1mYWNpbmcgcHJvYmxlbTogZGVidWdnaW5nIFJJ U0MtViBhcHBsaWNhdGlvbnMgd2l0aCBGUFUKPiAgIGlzIGJyb2tlbgo+IC0gQWZmZWN0cyBkZXZl bG9wZXJzIHdvcmtpbmcgb24gUklTQy1WIHBsYXRmb3Jtcwo+IC0gTm8gd29ya2Fyb3VuZCBhdmFp bGFibGUgKHRoZSBpbmZvcm1hdGlvbiBpcyBsb3N0IGluIGNvcmUgZHVtcHMpCj4gCj4gKirinJMg U21hbGwgYW5kIENvbnRhaW5lZDoqKgo+IC0gTmV0IGNoYW5nZTogNTUgaW5zZXJ0aW9ucywgNiBk ZWxldGlvbnMgYWNyb3NzIDQgZmlsZXMKPiAtIEFsbCBsb2dpYyBpcyBzaW1wbGUgc2F2ZS9yZXN0 b3JlIHBhdHRlcm4KPiAtIE5vIGNvbXBsZXggc3RhdGUgbWFuYWdlbWVudCBvciBzeW5jaHJvbml6 YXRpb24KPiAKPiAqKuKckyBNaW5pbWFsIFJlZ3Jlc3Npb24gUmlzazoqKgo+IC0gT3B0LWluIHZp YSBLY29uZmlnIC0gb3RoZXIgYXJjaGl0ZWN0dXJlcyBjb21wbGV0ZWx5IHVuYWZmZWN0ZWQKPiAt IFdoZW4gZGlzYWJsZWQ6IHplcm8gcnVudGltZSBvdmVyaGVhZCAoZnVuY3Rpb25zIGNvbXBpbGUg dG8gZW1wdHkKPiAgIGlubGluZSBzdHVicykKPiAtIFdoZW4gZW5hYmxlZDogdHJpdmlhbCBhc3Np Z25tZW50IG9wZXJhdGlvbnMgd2l0aCBubyBmYWlsdXJlIHBhdGhzCj4gLSBDaGFuZ2VzIGFyZSBp biB3ZWxsLWVzdGFibGlzaGVkIGNvZGUgcGF0aHMgKGxvYWRfZWxmX2JpbmFyeSwKPiAgIGZpbGxf bm90ZV9pbmZvKQo+IAo+ICoq4pyTIE5vIERlcGVuZGVuY2llczoqKgo+IC0gQXBwbGllcyBjbGVh bmx5IHRvIDYuMTcgdHJlZQo+IC0gTm8gcHJlcmVxdWlzaXRlIGNvbW1pdHMgcmVxdWlyZWQKPiAt IFRoZSBiYWNrcG9ydCBhbHNvIGluY2x1ZGVzIGE3MjhjZThmZmJkMjcgKHN0cnVjdF9zaXplKCkg cmVmYWN0b3JpbmcpCj4gICB3aGljaCBpcyBhIGNvbXBhdGlibGUgY2xlYW51cAo+IAo+ICoq4pyT IFN0YWJsZSBBZnRlciBNYWlubGluZToqKgo+IC0gQ29tbWl0dGVkIFNlcCAzLCAyMDI1ICgyNyBk YXlzIGluIG1haW5saW5lIGFzIG9mIFNlcCAzMCkKPiAtIE5vIGZpeGVzLCByZXZlcnRzLCBvciBy ZXBvcnRlZCBpc3N1ZXMKPiAtIGdpdCBsb2cgc2hvd3Mgbm8gZm9sbG93LXVwIGNvcnJlY3Rpb25z IG5lZWRlZAo+IAo+ICoq4pyTIE1haW50YWluZXIgQXBwcm92ZWQ6KioKPiAtIFNpZ25lZC1vZmYt Ynk6IEtlZXMgQ29vayAoZXhlY3ZlL2JpbmZtdCBtYWludGFpbmVyKQo+IC0gUHJvcGVyIHJldmll dyBwcm9jZXNzIHRocm91Z2ggbG9yZS5rZXJuZWwub3JnCj4gCj4gKirinJMgRm9sbG93cyBTdGFi bGUgS2VybmVsIFJ1bGVzOioqCj4gLSBSdWxlIDE6IE11c3QgYmUgb2J2aW91c2x5IGNvcnJlY3Qg YW5kIHRlc3RlZCDinJMKPiAtIFJ1bGUgMjogU2lnbmlmaWNhbnQgYnVnZml4IOKckwo+IC0gUnVs ZSAzOiBOb3QgbGFyZ2VyIHRoYW4gMTAwIGxpbmVzIOKckwo+IC0gUnVsZSA0OiBQYXRjaGVzIGNh bm5vdCBhZGQgZmVhdHVyZXMg4pyTIChmaXhlcyBleGlzdGluZyBmZWF0dXJlKQo+IC0gUnVsZSA1 OiBObyB0aGVvcmV0aWNhbCByYWNlIGNvbmRpdGlvbiBmaXhlcyDinJMgKGZpeGVzIGFjdHVhbCBH REIgaXNzdWUpCj4gCj4gIyMjIyAqKlRlY2huaWNhbCBDb3JyZWN0bmVzczoqKgo+IAo+ICoqRUxG X0NPUkVfRUZMQUdTIEhpc3RvcmljYWwgQ29udGV4dDoqKgo+IC0gVGhlIG1hY3JvIGhhcyBleGlz dGVkIHNpbmNlIDIwMDUgKExpbnVzJ3Mgb3JpZ2luYWwgZ2l0IGltcG9ydCkKPiAtIE9ubHkgSGV4 YWdvbiBhbmQgUG93ZXJQQyBkZWZpbmVkIG5vbi16ZXJvIHZhbHVlcwo+IC0gUklTQy1WJ3MgZV9m bGFncyB1c2FnZSBpcyBhcmNoaXRlY3R1cmFsbHkgY3JpdGljYWwgZm9yIEFCSQo+ICAgY29tcGF0 aWJpbGl0eQo+IC0gVGhlIG9sZCBhcHByb2FjaCAodXNpbmcgc3RhdGljIEVMRl9DT1JFX0VGTEFH Uz0wKSBsb3N0IHJ1bnRpbWUKPiAgIGluZm9ybWF0aW9uCj4gCj4gKipEZXNpZ24gUXVhbGl0eToq Kgo+IC0gQ2xlYW4gc2VwYXJhdGlvbjogQ09ORklHIG9wdGlvbiDihpIgbW1fc3RydWN0IGZpZWxk IOKGkiBoZWxwZXIgZnVuY3Rpb25zCj4gLSBCYWNrd2FyZCBjb21wYXRpYmxlOiBhcmNoaXRlY3R1 cmVzIHRoYXQgZG9uJ3QgbmVlZCBpdCBwYXkgemVybyBjb3N0Cj4gLSBGb3J3YXJkIGNvbXBhdGli bGU6IG90aGVyIGFyY2hpdGVjdHVyZXMgKEFSTSwgTUlQUykgY291bGQgYWRvcHQgdGhpcwo+ICAg aWYgbmVlZGVkCj4gLSBQcm9wZXIgYWJzdHJhY3Rpb24gdGhyb3VnaCBpbmxpbmUgaGVscGVycyBw cmV2ZW50cyAjaWZkZWYKPiAgIHByb2xpZmVyYXRpb24KPiAKPiAjIyMjICoqUG90ZW50aWFsIENv bmNlcm5zIEFkZHJlc3NlZDoqKgo+IAo+ICoqUTogSXMgbW1fc3RydWN0IHNpemUgaW5jcmVhc2Ug YWNjZXB0YWJsZT8qKgo+IEE6IFllcy4gT25lIHVuc2lnbmVkIGxvbmcgKDggYnl0ZXMpIHBlciBw cm9jZXNzIG9uIFJJU0MtViBvbmx5LAo+IG5lZ2xpZ2libGUgY29tcGFyZWQgdG8gdHlwaWNhbCBt bV9zdHJ1Y3Qgc2l6ZSAofjFLQispCj4gCj4gKipROiBXaHkgbm90IHVzZSByZWdzZXRfdmlldy0+ ZV9mbGFncz8qKgo+IEE6IFRoZSByZWdzZXRfdmlldyBzdHJ1Y3R1cmUgZG9lc24ndCBoYXZlIGFu IGVfZmxhZ3MgZmllbGQuIFRoZSBvbGQgY29kZQo+IGZlbGwgYmFjayB0byB0aGUgY29tcGlsZS10 aW1lIEVMRl9DT1JFX0VGTEFHUyBjb25zdGFudCwgbG9zaW5nIHRoZSBwZXItCj4gcHJvY2VzcyBy dW50aW1lIEFCSSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBhY3R1YWwgRUxGIGJpbmFyeS4KPiAKPiAq KlE6IFRocmVhZCBzYWZldHkgY29uY2VybnM/KioKPiBBOiBOb25lLiBUaGUgZV9mbGFncyBhcmUg d3JpdHRlbiBvbmNlIGR1cmluZyBsb2FkX2VsZl9iaW5hcnkoKSBiZWZvcmUKPiBhbnkgdGhyZWFk cyBjYW4gYmUgY3JlYXRlZCwgYW5kIHJlYWQgZHVyaW5nIGNvcmUgZHVtcCB3aGVuIGFsbCB0aHJl YWRzCj4gYXJlIHN0b3BwZWQuCj4gCj4gKipROiBJcyB0aGlzIHRvbyByZWNlbnQgZm9yIGJhY2tw b3J0aW5nPyoqCj4gQTogV2hpbGUgMjcgZGF5cyBpcyByZWxhdGl2ZWx5IGZyZXNoLCB0aGUgY2hh bmdlIGlzIHNvIG1pbmltYWwgYW5kCj4gaXNvbGF0ZWQgdGhhdCB0aGUgcmlzayBpcyBuZWdsaWdp YmxlLiBUaGUgb3B0LWluIG5hdHVyZSBtZWFucwo+IHJlZ3Jlc3Npb25zIGNhbiBvbmx5IGFmZmVj dCBSSVNDLVYgdXNlcnMgd2hvIGV4cGxpY2l0bHkgZW5hYmxlCj4gY29yZWR1bXBzLgo+IAo+ICMj IyAqKkNvbmNsdXNpb246KioKPiAKPiBUaGlzIGNvbW1pdCBzaG91bGQgYmUgYmFja3BvcnRlZCBi ZWNhdXNlIGl0IGZpeGVzIGFuIGltcG9ydGFudCBkZWJ1Z2dpbmcKPiBpc3N1ZSBvbiBSSVNDLVYg d2l0aCBtaW5pbWFsIHJpc2suIFRoZSBjaGFuZ2UgaXMgc21hbGwsIHNlbGYtY29udGFpbmVkLAo+ IG9wdC1pbiwgYW5kIGhhcyBiZWVuIHN0YWJsZSBpbiBtYWlubGluZS4gSXQgbWVldHMgYWxsIHN0 YWJsZSBrZXJuZWwKPiBiYWNrcG9ydGluZyBjcml0ZXJpYSBhbmQgd2lsbCBzaWduaWZpY2FudGx5 IGltcHJvdmUgdGhlIGRlYnVnZ2luZwo+IGV4cGVyaWVuY2UgZm9yIFJJU0MtViBkZXZlbG9wZXJz IHdpdGhvdXQgaW1wYWN0aW5nIG90aGVyIGFyY2hpdGVjdHVyZXMuCj4gCj4gIGFyY2gvcmlzY3Yv S2NvbmZpZyAgICAgICB8ICAxICsKPiAgZnMvS2NvbmZpZy5iaW5mbXQgICAgICAgIHwgIDkgKysr KysrKysrCj4gIGZzL2JpbmZtdF9lbGYuYyAgICAgICAgICB8IDQwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0KPiAgaW5jbHVkZS9saW51eC9tbV90eXBlcy5oIHwgIDUg KysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L0tjb25maWcgYi9hcmNoL3Jpc2N2L0tjb25m aWcKPiBpbmRleCA1MWRjZDhlYWEyNDM1Li43NGRiMDU0YWExYjhiIDEwMDY0NAo+IC0tLSBhL2Fy Y2gvcmlzY3YvS2NvbmZpZwo+ICsrKyBiL2FyY2gvcmlzY3YvS2NvbmZpZwo+IEBAIC0yOCw2ICsy OCw3IEBAIGNvbmZpZyBSSVNDVgo+ICAJc2VsZWN0IEFSQ0hfSEFTX0RFQlVHX1ZJUlRVQUwgaWYg TU1VCj4gIAlzZWxlY3QgQVJDSF9IQVNfREVCVUdfVk1fUEdUQUJMRQo+ICAJc2VsZWN0IEFSQ0hf SEFTX0RFQlVHX1dYCj4gKwlzZWxlY3QgQVJDSF9IQVNfRUxGX0NPUkVfRUZMQUdTCj4gIAlzZWxl Y3QgQVJDSF9IQVNfRkFTVF9NVUxUSVBMSUVSCj4gIAlzZWxlY3QgQVJDSF9IQVNfRk9SVElGWV9T T1VSQ0UKPiAgCXNlbGVjdCBBUkNIX0hBU19HQ09WX1BST0ZJTEVfQUxMCj4gZGlmZiAtLWdpdCBh L2ZzL0tjb25maWcuYmluZm10IGIvZnMvS2NvbmZpZy5iaW5mbXQKPiBpbmRleCBiZDJmNTMwZTU3 NDA4Li4xOTQ5ZTI1Yzc3NDFiIDEwMDY0NAo+IC0tLSBhL2ZzL0tjb25maWcuYmluZm10Cj4gKysr IGIvZnMvS2NvbmZpZy5iaW5mbXQKPiBAQCAtMTg0LDQgKzE4NCwxMyBAQCBjb25maWcgRVhFQ19L VU5JVF9URVNUCj4gIAkgIFRoaXMgYnVpbGRzIHRoZSBleGVjIEtVbml0IHRlc3RzLCB3aGljaCB0 ZXN0cyBib3VuZGFyeSBjb25kaXRpb25zCj4gIAkgIG9mIHZhcmlvdXMgYXNwZWN0cyBvZiB0aGUg ZXhlYyBpbnRlcm5hbHMuCj4gIAo+ICtjb25maWcgQVJDSF9IQVNfRUxGX0NPUkVfRUZMQUdTCj4g Kwlib29sCj4gKwlkZXBlbmRzIG9uIEJJTkZNVF9FTEYgJiYgRUxGX0NPUkUKPiArCWRlZmF1bHQg bgo+ICsJaGVscAo+ICsJICBTZWxlY3QgdGhpcyBvcHRpb24gaWYgdGhlIGFyY2hpdGVjdHVyZSBt YWtlcyB1c2Ugb2YgdGhlIGVfZmxhZ3MKPiArCSAgZmllbGQgaW4gdGhlIEVMRiBoZWFkZXIgdG8g c3RvcmUgQUJJIG9yIG90aGVyIGFyY2hpdGVjdHVyZS1zcGVjaWZpYwo+ICsJICBpbmZvcm1hdGlv biB0aGF0IHNob3VsZCBiZSBwcmVzZXJ2ZWQgaW4gY29yZSBkdW1wcy4KPiArCj4gIGVuZG1lbnUK PiBkaWZmIC0tZ2l0IGEvZnMvYmluZm10X2VsZi5jIGIvZnMvYmluZm10X2VsZi5jCj4gaW5kZXgg MjY0ZmJhMGQ0NGJkZi4uYzEyNmUzZDBlNzAxOCAxMDA2NDQKPiAtLS0gYS9mcy9iaW5mbXRfZWxm LmMKPiArKysgYi9mcy9iaW5mbXRfZWxmLmMKPiBAQCAtMTAzLDYgKzEwMywyMSBAQCBzdGF0aWMg c3RydWN0IGxpbnV4X2JpbmZtdCBlbGZfZm9ybWF0ID0gewo+ICAKPiAgI2RlZmluZSBCQURfQURE Uih4KSAodW5saWtlbHkoKHVuc2lnbmVkIGxvbmcpKHgpID49IFRBU0tfU0laRSkpCj4gIAo+ICtz dGF0aWMgaW5saW5lIHZvaWQgZWxmX2NvcmVkdW1wX3NldF9tbV9lZmxhZ3Moc3RydWN0IG1tX3N0 cnVjdCAqbW0sIHUzMiBmbGFncykKPiArewo+ICsjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX0VMRl9D T1JFX0VGTEFHUwo+ICsJbW0tPnNhdmVkX2VfZmxhZ3MgPSBmbGFnczsKPiArI2VuZGlmCj4gK30K PiArCj4gK3N0YXRpYyBpbmxpbmUgdTMyIGVsZl9jb3JlZHVtcF9nZXRfbW1fZWZsYWdzKHN0cnVj dCBtbV9zdHJ1Y3QgKm1tLCB1MzIgZmxhZ3MpCj4gK3sKPiArI2lmZGVmIENPTkZJR19BUkNIX0hB U19FTEZfQ09SRV9FRkxBR1MKPiArCWZsYWdzID0gbW0tPnNhdmVkX2VfZmxhZ3M7Cj4gKyNlbmRp Zgo+ICsJcmV0dXJuIGZsYWdzOwo+ICt9Cj4gKwo+ICAvKgo+ICAgKiBXZSBuZWVkIHRvIGV4cGxp Y2l0bHkgemVybyBhbnkgdHJhaWxpbmcgcG9ydGlvbiBvZiB0aGUgcGFnZSB0aGF0IGZvbGxvd3MK PiAgICogcF9maWxlc3ogd2hlbiBpdCBlbmRzIGJlZm9yZSB0aGUgcGFnZSBlbmRzIChlLmcuIGJz cyksIG90aGVyd2lzZSB0aGlzCj4gQEAgLTEyOTAsNiArMTMwNSw4IEBAIHN0YXRpYyBpbnQgbG9h ZF9lbGZfYmluYXJ5KHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCj4gIAltbS0+ZW5kX2RhdGEg PSBlbmRfZGF0YTsKPiAgCW1tLT5zdGFydF9zdGFjayA9IGJwcm0tPnA7Cj4gIAo+ICsJZWxmX2Nv cmVkdW1wX3NldF9tbV9lZmxhZ3MobW0sIGVsZl9leC0+ZV9mbGFncyk7Cj4gKwo+ICAJLyoqCj4g IAkgKiBET0M6ICJicmsiIGhhbmRsaW5nCj4gIAkgKgo+IEBAIC0xODA0LDYgKzE4MjEsOCBAQCBz dGF0aWMgaW50IGZpbGxfbm90ZV9pbmZvKHN0cnVjdCBlbGZoZHIgKmVsZiwgaW50IHBoZHJzLAo+ ICAJc3RydWN0IGVsZl90aHJlYWRfY29yZV9pbmZvICp0Owo+ICAJc3RydWN0IGVsZl9wcnBzaW5m byAqcHNpbmZvOwo+ICAJc3RydWN0IGNvcmVfdGhyZWFkICpjdDsKPiArCXUxNiBtYWNoaW5lOwo+ ICsJdTMyIGZsYWdzOwo+ICAKPiAgCXBzaW5mbyA9IGttYWxsb2Moc2l6ZW9mKCpwc2luZm8pLCBH RlBfS0VSTkVMKTsKPiAgCWlmICghcHNpbmZvKQo+IEBAIC0xODMxLDE3ICsxODUwLDI2IEBAIHN0 YXRpYyBpbnQgZmlsbF9ub3RlX2luZm8oc3RydWN0IGVsZmhkciAqZWxmLCBpbnQgcGhkcnMsCj4g IAkJcmV0dXJuIDA7Cj4gIAl9Cj4gIAo+IC0JLyoKPiAtCSAqIEluaXRpYWxpemUgdGhlIEVMRiBm aWxlIGhlYWRlci4KPiAtCSAqLwo+IC0JZmlsbF9lbGZfaGVhZGVyKGVsZiwgcGhkcnMsCj4gLQkJ CXZpZXctPmVfbWFjaGluZSwgdmlldy0+ZV9mbGFncyk7Cj4gKwltYWNoaW5lID0gdmlldy0+ZV9t YWNoaW5lOwo+ICsJZmxhZ3MgPSB2aWV3LT5lX2ZsYWdzOwo+ICAjZWxzZQo+ICAJdmlldyA9IE5V TEw7Cj4gIAlpbmZvLT50aHJlYWRfbm90ZXMgPSAyOwo+IC0JZmlsbF9lbGZfaGVhZGVyKGVsZiwg cGhkcnMsIEVMRl9BUkNILCBFTEZfQ09SRV9FRkxBR1MpOwo+ICsJbWFjaGluZSA9IEVMRl9BUkNI Owo+ICsJZmxhZ3MgPSBFTEZfQ09SRV9FRkxBR1M7Cj4gICNlbmRpZgo+ICAKPiArCS8qCj4gKwkg KiBPdmVycmlkZSBFTEYgZV9mbGFncyB3aXRoIHZhbHVlIHRha2VuIGZyb20gcHJvY2VzcywKPiAr CSAqIGlmIGFyY2ggbmVlZHMgdGhhdC4KPiArCSAqLwo+ICsJZmxhZ3MgPSBlbGZfY29yZWR1bXBf Z2V0X21tX2VmbGFncyhkdW1wX3Rhc2stPm1tLCBmbGFncyk7Cj4gKwo+ICsJLyoKPiArCSAqIElu aXRpYWxpemUgdGhlIEVMRiBmaWxlIGhlYWRlci4KPiArCSAqLwo+ICsJZmlsbF9lbGZfaGVhZGVy KGVsZiwgcGhkcnMsIG1hY2hpbmUsIGZsYWdzKTsKPiArCj4gIAkvKgo+ICAJICogQWxsb2NhdGUg YSBzdHJ1Y3R1cmUgZm9yIGVhY2ggdGhyZWFkLgo+ICAJICovCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvbGludXgvbW1fdHlwZXMuaCBiL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaAo+IGluZGV4IGE2 NDNmYWU4YTM0OTQuLjdmNjI1YzM1MTI4YmUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9t bV90eXBlcy5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCj4gQEAgLTExMDcsNiAr MTEwNywxMSBAQCBzdHJ1Y3QgbW1fc3RydWN0IHsKPiAgCj4gIAkJdW5zaWduZWQgbG9uZyBzYXZl ZF9hdXh2W0FUX1ZFQ1RPUl9TSVpFXTsgLyogZm9yIC9wcm9jL1BJRC9hdXh2ICovCj4gIAo+ICsj aWZkZWYgQ09ORklHX0FSQ0hfSEFTX0VMRl9DT1JFX0VGTEFHUwo+ICsJCS8qIHRoZSBBQkktcmVs YXRlZCBmbGFncyBmcm9tIHRoZSBFTEYgaGVhZGVyLiBVc2VkIGZvciBjb3JlIGR1bXAgKi8KPiAr CQl1bnNpZ25lZCBsb25nIHNhdmVkX2VfZmxhZ3M7Cj4gKyNlbmRpZgo+ICsKPiAgCQlzdHJ1Y3Qg cGVyY3B1X2NvdW50ZXIgcnNzX3N0YXRbTlJfTU1fQ09VTlRFUlNdOwo+ICAKPiAgCQlzdHJ1Y3Qg bGludXhfYmluZm10ICpiaW5mbXQ7Cj4gLS0gCj4gMi41MS4wCj4gCgotLSAKS2VlcyBDb29rCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNj diBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==