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 774BAC624C6 for ; Mon, 31 Aug 2026 13:47:05 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wFvkuYFqcdzD3xnKZBFg/qvLRZ86KmtmC8HFi1i4wOw=; b=WHa6wys5JktwiG mX2/ZV38Yk3jvMCC5v29JE5xfgyf1MVFa8jwgauLUfjuUHUe1Uzsazz0wksh4eLqSnIKSAtfmgueB TA+bGugQz+hblskrQ9A08sx5jmpdV8Hj31tWzgnR8dHHnRNrm4SYaoE6j5Q6iwLjUiLEJXYx5UtO/ oXuprssOdfktUAVxvtmRYE7zWblPMl88sZU+gNL/fnXAtv2hprqih9dpzXaKyGjED8IaQgs0O29PT 5wCUPwqsHYXNBPztfsawGTjsul17/SzmvjRJq1wjGgI2XiVrK+Scho8drxq/0s4UNBYdxppEtEZfS XRfeO77D1fGJdn9zQB+A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12Lf-00000009WCG-2ht9; Mon, 31 Aug 2026 13:46:55 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12Le-00000009WAo-2BS9 for linux-riscv@lists.infradead.org; Mon, 31 Aug 2026 13:46:54 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id DE2A86013A; Mon, 31 Aug 2026 13:46:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8277D1F00ACF; Mon, 31 Aug 2026 13:46:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788184013; bh=CidNdpnOwPaWgqdN5zzQ/+4Wjai7x6h2A9meyleHZA0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=QRaVN1EtpJuUVSy6nHg2Eu3nBGfPUnDcE9BLyDDKzOzyI12Ul+kkbNJLiO9OKfWdo 034GTw1D+5Z1STkeB12u+Nm8bOCczoDlCg09v1TZLDJTnhgPbqJ7wU7knkKGeP2N6p stwuEDWGx5SDewqXhQ9kdhoRiplKMuduV2Yw3x13jX6KpdKe3OKzzYnTbBAWqxFX1C v68XQUlADiBEX1wMnViybsnpweho3J7H3t/0gQnMMsmTP2Wx7CECf/YBf64jYOCder cVgVxdeVFTV9kKa18v3FYzJLC5eVmRBRczL1bhYG86DwUEONSGvZV3/3lu82j7P6zo yHHGlSxO7qS6Q== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Han Gao , Paul Walmsley , Sasha Levin , palmer@dabbelt.com, aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18] riscv: also select ARCH_KEEP_MEMBLOCK if kexec is selected Date: Mon, 31 Aug 2026 09:27:46 -0400 Message-ID: <20260831133314.4125787-438-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org> References: <20260831133314.4125787-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.48 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 RnJvbTogSGFuIEdhbyA8Z2FvaGFuQGlzY2FzLmFjLmNuPgoKWyBVcHN0cmVhbSBjb21taXQgYmNl MzUxMzVmZWNjN2E3M2M2MGFhYTlkMmVjNjk5ZWFkMWUzMjY2MSBdCgpPbiBSSVNDLVYsIGFsc28g c2VsZWN0IEFSQ0hfS0VFUF9NRU1CTE9DSyBpZiBrZXhlYyBpcyBzZWxlY3RlZCwgbm90Cm9ubHkg aWYgQUNQSSBpcyBzZWxlY3RlZC4gIFRoaXMgaXMgYmVjYXVzZSBrZXhlYyByZXF1aXJlcyB0aGUg bWVtYmxvY2sKYXJlYXMgdG8gYmUga2VwdCBhZnRlciBib290IHRvIGluaXRpYWxpemUgdGhlIHNl Y29uZGFyeSBrZXJuZWwuICBUaGlzCmlzIG5lZWRlZCBmb3IgYm90aCBEZXZpY2UgVHJlZSBhbmQg QUNQSSBwbGF0Zm9ybXMuCgpTaWduZWQtb2ZmLWJ5OiBIYW4gR2FvIDxnYW9oYW5AaXNjYXMuYWMu Y24+Ckxpbms6IGh0dHBzOi8vcGF0Y2gubXNnaWQubGluay8yMDI2MDUxOTE2NTU0Ni4xMjMxMDUt MS1nYW9oYW5AaXNjYXMuYWMuY24KW3Bqd0BrZXJuZWwub3JnOiBjaGFuZ2UgdG8gYWRkIHRoZSBk ZXBlbmRlbmN5IG9uIGtleGVjLCByYXRoZXIgdGhhbiBtYWtpbmcgaXQgdW5jb25kaXRpb25hbDsK IHJld3JpdGUgdGhlIHBhdGNoIGRlc2NyaXB0aW9uIGFjY29yZGluZ2x5XQpTaWduZWQtb2ZmLWJ5 OiBQYXVsIFdhbG1zbGV5IDxwandAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2 aW4gPHNhc2hhbEBrZXJuZWwub3JnPgotLS0KCkxMTSBHZW5lcmF0ZWQgZXhwbGFuYXRpb25zLCBt YXkgYmUgY29tcGxldGVseSBib2d1czoKCiMjIFBoYXNlIDE6IENvbW1pdCBNZXNzYWdlIEZvcmVu c2ljcwoKIyMjIFN0ZXAgMS4xOiBTdWJqZWN0IGxpbmUKKipSZWNvcmQ6KiogYFtyaXNjdl1gIGBb YWxzbyBzZWxlY3RdYCDigJQgRXh0ZW5kIGBBUkNIX0tFRVBfTUVNQkxPQ0tgCktjb25maWcgc2Vs ZWN0aW9uIG9uIFJJU0MtViB0byBjb3ZlciBrZXhlYywgbm90IG9ubHkgQUNQSS4KCiMjIyBTdGVw IDEuMjogVGFncwoqKlJlY29yZDoqKgotICoqU2lnbmVkLW9mZi1ieToqKiBIYW4gR2FvIGA8Z2Fv aGFuQGlzY2FzLmFjLmNuPmAgKGF1dGhvcikKLSAqKkxpbms6KioKICBodHRwczovL3BhdGNoLm1z Z2lkLmxpbmsvMjAyNjA1MTkxNjU1NDYuMTIzMTA1LTEtZ2FvaGFuQGlzY2FzLmFjLmNuCi0gKipT aWduZWQtb2ZmLWJ5OioqIFBhdWwgV2FsbXNsZXkgYDxwandAa2VybmVsLm9yZz5gIChtYWludGFp bmVyLAogIHJld3JvdGUgYXBwcm9hY2gpCi0gTm8gYEZpeGVzOmAsIGBSZXBvcnRlZC1ieTpgLCBg VGVzdGVkLWJ5OmAsIGBSZXZpZXdlZC1ieTpgLCBgQWNrZWQtCiAgYnk6YCwgb3IgYENjOiBzdGFi bGVAdmdlci5rZXJuZWwub3JnYAotIE5vdGFibGU6IG1haW50YWluZXIgcmV3b3JrIG5vdGUgaW4g Y29tbWl0IG1lc3NhZ2Ug4oCUIG9yaWdpbmFsIHBhdGNoIHdhcwogIHVuY29uZGl0aW9uYWw7IGZp bmFsIHZlcnNpb24gc2NvcGVzIHRvIGBLRVhFQ2AKCiMjIyBTdGVwIDEuMzogQm9keSBhbmFseXNp cwoqKlJlY29yZDoqKgotICoqQnVnOioqIE9uIFJJU0MtViwgYEFSQ0hfS0VFUF9NRU1CTE9DS2Ag aXMgc2VsZWN0ZWQgb25seSB3aGVuIGBBQ1BJYAogIGlzIGVuYWJsZWQuIERldmljZSBUcmVlIHBs YXRmb3JtcyB3aXRoIGtleGVjIGVuYWJsZWQgZG8gbm90IGtlZXAKICBtZW1ibG9jayBkYXRhIGFm dGVyIGJvb3QuCi0gKipTeW1wdG9tOioqIGtleGVjIGNhbm5vdCBwcm9wZXJseSBpbml0aWFsaXpl IHRoZSBzZWNvbmRhcnkga2VybmVsCiAgYmVjYXVzZSBpdCBuZWVkcyBsaXZlIG1lbWJsb2NrIHJl Z2lvbiBpbmZvcm1hdGlvbiBhdCBydW50aW1lLgotICoqUm9vdCBjYXVzZSAoYXV0aG9yKToqKiBr ZXhlYyBkZXBlbmRzIG9uIG1lbWJsb2NrIGFyZWFzIHJlbWFpbmluZwogIGF2YWlsYWJsZSBhZnRl ciBib290OyB0aGUgQUNQSS1vbmx5IGd1YXJkIHdhcyBpbmNvbXBsZXRlLgotICoqVmVyc2lvbiBp bmZvOioqIE5vbmUgaW4gbWVzc2FnZS4KCiMjIyBTdGVwIDEuNDogSGlkZGVuIGJ1ZyBmaXg/Cioq UmVjb3JkOioqIFllcy4gQWx0aG91Z2ggcGhyYXNlZCBhcyBhIEtjb25maWcgZGVwZW5kZW5jeSBj b3JyZWN0aW9uLAp0aGlzIGZpeGVzIGJyb2tlbi91bnJlbGlhYmxlIGtleGVjIGFuZCBrZHVtcCBv biBub24tQUNQSSBSSVNDLVYKcGxhdGZvcm1zIOKAlCBhIGZ1bmN0aW9uYWwgY29ycmVjdG5lc3Mg YnVnLCBub3QgY29zbWV0aWMgY2xlYW51cC4KCi0tLQoKIyMgUGhhc2UgMjogRGlmZiBBbmFseXNp cwoKIyMjIFN0ZXAgMi4xOiBJbnZlbnRvcnkKKipSZWNvcmQ6KioKLSAqKkZpbGVzOioqIGBhcmNo L3Jpc2N2L0tjb25maWdgIG9ubHkgKCsxL+KIkjEgbGluZSkKLSAqKkZ1bmN0aW9uczoqKiBOb25l IChLY29uZmlnIG9ubHkpCi0gKipTY29wZToqKiBTaW5nbGUtZmlsZSwgc3VyZ2ljYWwgS2NvbmZp ZyBmaXgKCiMjIyBTdGVwIDIuMjogQ29kZSBmbG93IGNoYW5nZQoqKlJlY29yZDoqKgotICoqQmVm b3JlOioqIGBzZWxlY3QgQVJDSF9LRUVQX01FTUJMT0NLIGlmIEFDUElgIOKAlCBtZW1ibG9jayBt ZXRhZGF0YQogIGRpc2NhcmRlZCBhZnRlciBib290IG9uIERULW9ubHkgY29uZmlncywgZXZlbiB3 aXRoIGBDT05GSUdfS0VYRUNgLgotICoqQWZ0ZXI6KiogYHNlbGVjdCBBUkNIX0tFRVBfTUVNQkxP Q0sgaWYgQUNQSSB8fCBLRVhFQ2Ag4oCUIG1lbWJsb2NrCiAga2VwdCB3aGVuIGtleGVjIGlzIGVu YWJsZWQsIHJlZ2FyZGxlc3Mgb2YgZmlybXdhcmUgdHlwZS4KLSAqKlBhdGggYWZmZWN0ZWQ6Kiog QnVpbGQtdGltZSBjb25maWcgc2VsZWN0aW9uOyBydW50aW1lIGtleGVjIG1lbW9yeS0KICBob2xl IGRpc2NvdmVyeSBpbiBnZW5lcmljIGtleGVjIGNvZGUuCgojIyMgU3RlcCAyLjM6IEJ1ZyBtZWNo YW5pc20KKipSZWNvcmQ6KioKLSAqKkNhdGVnb3J5OioqIExvZ2ljL2NvcnJlY3RuZXNzIOKAlCBt aXNzaW5nIEtjb25maWcgZGVwZW5kZW5jeQotICoqTWVjaGFuaXNtOioqIFdpdGhvdXQgYEFSQ0hf S0VFUF9NRU1CTE9DS2AsIGBtZW1ibG9ja19kaXNjYXJkKClgIHJ1bnMKICBkdXJpbmcgYG1lbV9p bml0KClgLiBHZW5lcmljIGtleGVjIHRoZW4gdXNlcyB0aGUKICBga2V4ZWNfd2Fsa19yZXNvdXJj ZXMoKWAgaW9tZW0gZmFsbGJhY2sgaW5zdGVhZCBvZgogIGBrZXhlY193YWxrX21lbWJsb2NrKClg LiBPbiBSSVNDLVYgRFQgc3lzdGVtcyAodGhlIGNvbW1vbiBjYXNlKSwga2V4ZWMKICBtZW1vcnkg cGxhY2VtZW50IGNhbiBiZSB3cm9uZyBvciBmYWlsIChgLUVBRERSTk9UQVZBSUxgKSwgYnJlYWtp bmcKICBrZXhlYyByZWJvb3QgYW5kIGtkdW1wLiBhcm02NCB1bmNvbmRpdGlvbmFsbHkgc2VsZWN0 cwogIGBBUkNIX0tFRVBfTUVNQkxPQ0tgOyBSSVNDLVYgd2FzIGluY29uc2lzdGVudC4KCiMjIyBT dGVwIDIuNDogRml4IHF1YWxpdHkKKipSZWNvcmQ6KioKLSBPYnZpb3VzbHkgY29ycmVjdDogdGll cyBtZW1ibG9jayByZXRlbnRpb24gdG8gdGhlIGZlYXR1cmUgdGhhdCBuZWVkcwogIGl0LgotIE1p bmltYWw6IG9uZS1saW5lIGNoYW5nZS4KLSBMb3cgcmVncmVzc2lvbiByaXNrOiBvbmx5IGFmZmVj dHMga2VybmVscyBidWlsdCB3aXRoIGBDT05GSUdfS0VYRUNgOwogIGFkZHMgc21hbGwgcmV0YWlu ZWQgbWVtYmxvY2sgbWV0YWRhdGEgKHNhbWUgdHJhZGUtb2ZmIGFybTY0IGFscmVhZHkKICBtYWtl cykuCi0gTWFpbnRhaW5lci1zY29wZWQgdGhlIGZpeCBmcm9tIHVuY29uZGl0aW9uYWwgdG8gYEtF WEVDYC1vbmx5LCByZWR1Y2luZwogIGJsYXN0IHJhZGl1cy4KCi0tLQoKIyMgUGhhc2UgMzogR2l0 IEhpc3RvcnkgSW52ZXN0aWdhdGlvbgoKIyMjIFN0ZXAgMy4xOiBCbGFtZQoqKlJlY29yZDoqKgot IEN1cnJlbnQgbGluZSBpbnRyb2R1Y2VkIGJ5IGBlODA2NWRmNWIwYzQ2MGAgKFN1bmlsIFYgTCwg T2N0IDIwMjMpOgogICJSSVNDLVY6IEFDUEk6IEVuaGFuY2UgYWNwaV9vc19pb3JlbWFwIHdpdGgg TU1JTyByZW1hcHBpbmciIOKAlCBhZGRlZAogIGBBUkNIX0tFRVBfTUVNQkxPQ0sgaWYgQUNQSWAg Zm9yIEFDUEkgbWVtYmxvY2sgcXVlcmllcy4KLSBSSVNDLVYga2V4ZWMgc3VwcG9ydCBkYXRlcyB0 byA1LjEzIChgZmJhOGE4Njc0ZjY4YWApOyBrZHVtcCBzaW5jZQogIDUuMTMuIFRoZSBBQ1BJLW9u bHkgbWVtYmxvY2sgZ3VhcmQgbGVmdCBEVCtrZXhlYyB3aXRob3V0IHRoZSBuZWVkZWQKICBkZXBl bmRlbmN5IGZvciB5ZWFycy4KCiMjIyBTdGVwIDMuMjogRml4ZXM6IHRhZwoqKlJlY29yZDoqKiBO L0Eg4oCUIG5vIGBGaXhlczpgIHRhZy4gQnVnIGludHJvZHVjZWQgYnkgaW5jb21wbGV0ZSBzY29w aW5nCmluIGBlODA2NWRmNWIwYzQ2MGAuCgojIyMgU3RlcCAzLjM6IFJlbGF0ZWQgZmlsZSBoaXN0 b3J5CioqUmVjb3JkOioqCi0gUmVjZW50IGBhcmNoL3Jpc2N2L0tjb25maWdgIGNodXJuIGlzIHVu cmVsYXRlZCAoQ0ZJLCBpbnNuLCBOVU1BKS4KLSBTdGFuZGFsb25lIG9uZS1wYXRjaCBmaXg7IG5v dCBwYXJ0IG9mIGEgc2VyaWVzLgotIFVwc3RyZWFtIG1haW5saW5lIGNvbW1pdDogYGJjZTM1MTM1 ZmVjYzdgIChtZXJnZWQgSnVuIDcsIDIwMjYpLiBFeGlzdHMKICBpbiByZXBvIGFzIHN0YWJsZS1w cmVwIGNvbW1pdCBgYzNmMWI1ZjRhM2E4NWAgYnV0IGlzICoqbm90KiogaW4KICBjdXJyZW50IEhF QUQuCgojIyMgU3RlcCAzLjQ6IEF1dGhvciBjb250ZXh0CioqUmVjb3JkOioqIEhhbiBHYW8gaXMg YW4gYWN0aXZlIFJJU0MtViBjb250cmlidXRvciAoQUNQSSwgRFRTLCBjb21wYXQKZml4ZXMpLiBQ YXVsIFdhbG1zbGV5IGlzIHRoZSBSSVNDLVYgbWFpbnRhaW5lciB3aG8gYWNjZXB0ZWQgYW5kIHJl ZmluZWQKdGhlIHBhdGNoLgoKIyMjIFN0ZXAgMy41OiBEZXBlbmRlbmNpZXMKKipSZWNvcmQ6Kiog Tm8gcHJlcmVxdWlzaXRlcy4gYEtFWEVDYCBzeW1ib2wgZXhpc3RzIGluCmBrZXJuZWwvS2NvbmZp Zy5rZXhlY2A7IFJJU0MtViBoYXMgYEFSQ0hfU1VQUE9SVFNfS0VYRUMgZGVmX2Jvb2wgeWAuClBh dGNoIGFwcGxpZXMgY2xlYW5seSAoYGdpdCBhcHBseSAtLWNoZWNrYCBwYXNzZWQpLgoKLS0tCgoj IyBQaGFzZSA0OiBNYWlsaW5nIExpc3QgYW5kIEV4dGVybmFsIFJlc2VhcmNoCgojIyMgU3RlcCA0 LjE6IE9yaWdpbmFsIGRpc2N1c3Npb24KKipSZWNvcmQ6KioKLSAqKlVSTDoqKgogIGh0dHBzOi8v cGF0Y2gubXNnaWQubGluay8yMDI2MDUxOTE2NTU0Ni4xMjMxMDUtMS1nYW9oYW5AaXNjYXMuYWMu Y24KLSAqKlNlcmllczoqKiB2MSBvbmx5IChvcmlnaW5hbCBzdWJqZWN0OiAidW5jb25kaXRpb25h bGx5IHNlbGVjdAogIEFSQ0hfS0VFUF9NRU1CTE9DSyIpCi0gKipNYWludGFpbmVyIGZlZWRiYWNr OioqIFBhdWwgV2FsbXNsZXkgYXNrZWQgdG8gc2NvcGUgdG8ga2V4ZWMgcmF0aGVyCiAgdGhhbiBt YWtlIGl0IHVuY29uZGl0aW9uYWw7IGNvbW1pdHRlZCB2ZXJzaW9uIGZvbGxvd3MgdGhhdCBndWlk YW5jZS4KLSBObyBOQUtzIGZvdW5kLiBObyBleHBsaWNpdCBzdGFibGUgbm9taW5hdGlvbi4KCiMj IyBTdGVwIDQuMjogUmV2aWV3ZXJzCioqUmVjb3JkOioqIENDJ2Q6IFBhdWwgV2FsbXNsZXksIFBh bG1lciBEYWJiZWx0LCBBbGJlcnQgT3UsIEFsZXhhbmRyZQpHaGl0aSwgbGludXgtcmlzY3ZAbGlz dHMuaW5mcmFkZWFkLm9yZywgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZy4KCiMjIyBTdGVw IDQuMzogQnVnIHJlcG9ydHMKKipSZWNvcmQ6KiogTm8gZXh0ZXJuYWwgYnVnIHJlcG9ydCwgc3l6 Ym90LCBvciB1c2VyIGBSZXBvcnRlZC1ieTpgLiBCdWcKaWRlbnRpZmllZCBieSBkZXZlbG9wZXIg YW5hbHlzaXMgb2Yga2V4ZWMvbWVtYmxvY2sgaW50ZXJhY3Rpb24uCgojIyMgU3RlcCA0LjQ6IFJl bGF0ZWQgcGF0Y2hlcwoqKlJlY29yZDoqKiBTdGFuZGFsb25lLiBNYWludGFpbmVyIHN1Z2dlc3Rl ZCB0eWluZyB0bwpgQVJDSF9TRUxFQ1RTX0tFWEVDYDsgZmluYWwgcGF0Y2ggdXNlcyBgS0VYRUNg IGluIHRoZSBgUklTQ1ZgIGNvbmZpZwpzZWxlY3QgaW5zdGVhZC4KCiMjIyBTdGVwIDQuNTogU3Rh YmxlIGxpc3QgaGlzdG9yeQoqKlJlY29yZDoqKiBObyBzdGFibGUtbGlzdCBkaXNjdXNzaW9uIGZv dW5kIGluIHRoZSBtYm94IHRocmVhZC4KCi0tLQoKIyMgUGhhc2UgNTogQ29kZSBTZW1hbnRpYyBB bmFseXNpcwoKIyMjIFN0ZXAgNS4xOiBLZXkgZnVuY3Rpb25zCioqUmVjb3JkOioqIE5vIEMgZnVu Y3Rpb25zIG1vZGlmaWVkLiBSdW50aW1lIGltcGFjdCBpcyB0aHJvdWdoIGV4aXN0aW5nCmdlbmVy aWMgY29kZToKLSBga2V4ZWNfbG9jYXRlX21lbV9ob2xlKClgIGluIGBrZXJuZWwva2V4ZWNfZmls ZS5jYAotIGBtZW1ibG9ja19kaXNjYXJkKClgIGluIGBtbS9tZW1ibG9jay5jYAotIFJJU0MtViBg aW5pdF9yZXNvdXJjZXMoKWAgLyBgcmVzZXJ2ZV9tZW1ibG9ja19yZXNlcnZlZF9yZWdpb25zKClg IGluCiAgYGFyY2gvcmlzY3Yva2VybmVsL3NldHVwLmNgCgojIyMgU3RlcCA1LjI6IENhbGxlcnMK KipSZWNvcmQ6KiogYGtleGVjX2xvY2F0ZV9tZW1faG9sZSgpYCBpcyBjYWxsZWQgZnJvbQpga2V4 ZWNfYWRkX2J1ZmZlcigpYCwgdXNlZCB0aHJvdWdob3V0IFJJU0MtViBrZXhlY19maWxlIGxvYWRp bmcKKGBtYWNoaW5lX2tleGVjX2ZpbGUuY2AsIGBrZXhlY19lbGYuY2AsIGBrZXhlY19pbWFnZS5j YCkg4oCUIHJlYWNoYWJsZQpmcm9tIHRoZSBga2V4ZWNfZmlsZV9sb2FkYCBzeXNjYWxsIHdoZW4g dXNlcnMgbG9hZCBhIG5ldyBrZXJuZWwgb3IgY3Jhc2gKa2VybmVsLgoKIyMjIFN0ZXAgNS4zOiBD YWxsZWVzCioqUmVjb3JkOioqIFdpdGggZml4LCBrZXhlYyB1c2VzIGBrZXhlY193YWxrX21lbWJs b2NrKClgIOKGkgpgZm9yX2VhY2hfZnJlZV9tZW1fcmFuZ2UoKWAgd2l0aCBgTUVNQkxPQ0tfTk9O RWAsIGNvcnJlY3RseSBza2lwcGluZwpkcml2ZXItbWFuYWdlZCByZWdpb25zLiBXaXRob3V0IGZp eCwgZmFsbHMgYmFjayB0bwpga2V4ZWNfd2Fsa19yZXNvdXJjZXMoKWAg4oaSIGB3YWxrX3N5c3Rl bV9yYW1fcmVzKClgLgoKIyMjIFN0ZXAgNS40OiBSZWFjaGFiaWxpdHkKKipSZWNvcmQ6KiogUmVh Y2hhYmxlIGZyb20gdXNlcnNwYWNlIHZpYSBrZXhlYyBzeXNjYWxscyBvbiBhbnkgUklTQy1WCnN5 c3RlbSB3aXRoIGBDT05GSUdfS0VYRUNgIGVuYWJsZWQuIERUIHBsYXRmb3JtcyBhcmUgdGhlIG1h am9yaXR5IG9mClJJU0MtViBoYXJkd2FyZSAoVmlzaW9uRml2ZSwgTWlsay1WLCBTb3BoZ28sIFN0 YXJGaXZlLCBRRU1VIHZpcnQgd2l0aG91dApBQ1BJLCBldGMuKS4KCiMjIyBTdGVwIDUuNTogU2lt aWxhciBwYXR0ZXJucwoqKlJlY29yZDoqKgotIGFybTY0OiBgc2VsZWN0IEFSQ0hfS0VFUF9NRU1C TE9DS2AgKHVuY29uZGl0aW9uYWwpCi0geDg2LCBhcm0sIG1pcHMsIGxvb25nYXJjaCwgcG93ZXJw YzogdW5jb25kaXRpb25hbCBgQVJDSF9LRUVQX01FTUJMT0NLYAotIFJJU0MtViBpcyB0aGUgb3V0 bGllciB3aXRoIEFDUEktb25seSBzZWxlY3Rpb24KCi0tLQoKIyMgUGhhc2UgNjogQ3Jvc3MtUmVm ZXJlbmNlIEFnYWluc3QgTG9jYWwgVHJlZQoKIyMjIFN0ZXAgNi4xOiBCdWdneSBjb2RlIHByZXNl bnQ/CioqUmVjb3JkOioqICoqWWVzLioqIExvY2FsIHRyZWUgaXMgKip2Ni4xOC40NCoqIChgZ2l0 IGRlc2NyaWJlIEhFQURgKS4KQ3VycmVudCBsaW5lOgoKYGBgNTk6NTk6YXJjaC9yaXNjdi9LY29u ZmlnCiAgICAgICAgc2VsZWN0IEFSQ0hfS0VFUF9NRU1CTE9DSyBpZiBBQ1BJCmBgYAoKRml4IGNv bW1pdCBgYmNlMzUxMzVmZWNjN2AgLyBgYzNmMWI1ZjRhM2E4NWAgaXMgKipub3QqKiBhbiBhbmNl c3RvciBvZgpIRUFELiBSSVNDLVYga2V4ZWMgc3VwcG9ydCBpcyBmdWxseSBwcmVzZW50IChgQVJD SF9TVVBQT1JUU19LRVhFQ2AsCmBtYWNoaW5lX2tleGVjX2ZpbGUuY2AsIGV0Yy4pLgoKIyMjIFN0 ZXAgNi4yOiBCYWNrcG9ydCBjb21wbGljYXRpb25zCioqUmVjb3JkOioqIENsZWFuIGFwcGx5IGNv bmZpcm1lZC4gTm8gY29uZmxpY3RpbmcgY2hhbmdlcyBpbgpgYXJjaC9yaXNjdi9LY29uZmlnYCBh dCB0aGlzIGxpbmUuCgojIyMgU3RlcCA2LjM6IFJlbGF0ZWQgZml4ZXMgYWxyZWFkeSBwcmVzZW50 PwoqKlJlY29yZDoqKiBObyBlcXVpdmFsZW50IGZpeCBpbiBIRUFELiBBQ1BJLW9ubHkgZ3VhcmQg cmVtYWlucy4KCi0tLQoKIyMgUGhhc2UgNzogU3Vic3lzdGVtIGFuZCBNYWludGFpbmVyIENvbnRl eHQKCiMjIyBTdGVwIDcuMTogU3Vic3lzdGVtIGNyaXRpY2FsaXR5CioqUmVjb3JkOioqIGBhcmNo L3Jpc2N2YCDigJQgcGxhdGZvcm0tc3BlY2lmaWMgYnV0IGtleGVjL2tkdW1wIGFmZmVjdHMKcHJv ZHVjdGlvbiBSSVNDLVYgZGVwbG95bWVudHMuICoqQ3JpdGljYWxpdHk6IElNUE9SVEFOVCoqIChu b3QgdW5pdmVyc2FsCmxpa2UgbW0vLCBidXQga2R1bXAgaXMgb3BlcmF0aW9uYWxseSBjcml0aWNh bCB3aGVyZSBlbmFibGVkKS4KCiMjIyBTdGVwIDcuMjogQWN0aXZpdHkKKipSZWNvcmQ6KiogUklT Qy1WIGtleGVjIGFjdGl2ZWx5IGRldmVsb3BlZCAoa2V4ZWNfZmlsZSBJbWFnZSBzdXBwb3J0IGlu CjYuMTYsIENNQSBhbGxvY2F0aW9uLCByZWNlbnQgTlVMTC1kZXJlZiBmaXggaW4gYG1hY2hpbmVf a2V4ZWNfcHJlcGFyZWApLgpUaGlzIGdhcCBpcyByZWxldmFudCB0byB0aGUgY3VycmVudCB0cmVl LgoKLS0tCgojIyBQaGFzZSA4OiBJbXBhY3QgYW5kIFJpc2sgQXNzZXNzbWVudAoKIyMjIFN0ZXAg OC4xOiBXaG8gaXMgYWZmZWN0ZWQKKipSZWNvcmQ6KiogUklTQy1WIHVzZXJzIHdpdGggYENPTkZJ R19LRVhFQ2AgKGFuZCB0eXBpY2FsbHkKYENPTkZJR19LRVhFQ19GSUxFYCwgYENPTkZJR19DUkFT SF9EVU1QYCkgb24gKipEZXZpY2UgVHJlZSoqIHBsYXRmb3Jtcwp3aXRob3V0IEFDUEkg4oCUIHRo ZSBkb21pbmFudCBSSVNDLVYgY29uZmlndXJhdGlvbi4KCiMjIyBTdGVwIDguMjogVHJpZ2dlciBj b25kaXRpb25zCioqUmVjb3JkOioqIFRyaWdnZXJlZCB3aGVuZXZlciBhIHVzZXIgbG9hZHMgb3Ig ZXhlY3V0ZXMgYSBrZXhlYyBpbWFnZQooYGtleGVjIC1lYCwga2R1bXAgYWZ0ZXIgcGFuaWMpLiBD b21tb24gZm9yIGludGVudGlvbmFsIGtleGVjOyByYXJlIGJ1dApjcml0aWNhbCBmb3Iga2R1bXAu CgojIyMgU3RlcCA4LjM6IEZhaWx1cmUgbW9kZSBzZXZlcml0eQoqKlJlY29yZDoqKgotIGtleGVj IGxvYWQgZmFpbHVyZSAoYC1FQUREUk5PVEFWQUlMYCkgb3IgYm9vdGluZyBzZWNvbmRhcnkga2Vy bmVsIGludG8KICB3cm9uZyBtZW1vcnkKLSBrZHVtcCBmYWlsdXJlIGFmdGVyIGtlcm5lbCBjcmFz aCDigJQgbm8gY3Jhc2ggZHVtcCBjYXB0dXJlZAotICoqU2V2ZXJpdHk6IEhJR0gqKiBmb3Iga2V4 ZWMva2R1bXAgdXNlcnM7ICoqTE9XKiogZm9yIHVzZXJzIHdpdGhvdXQKICBgQ09ORklHX0tFWEVD YAoKIyMjIFN0ZXAgOC40OiBSaXNrLWJlbmVmaXQKKipSZWNvcmQ6KioKLSAqKkJlbmVmaXQ6Kiog SElHSCBmb3IgUklTQy1WIGtleGVjL2tkdW1wIHVzZXJzIOKAlCByZXN0b3JlcyBpbnRlbmRlZAog IG1lbWJsb2NrLWJhc2VkIG1lbW9yeSBkaXNjb3ZlcnkKLSAqKlJpc2s6KiogVkVSWSBMT1cg4oCU IG9uZS1saW5lIEtjb25maWcsIG1haW50YWluZXItYXBwcm92ZWQsIG1pcnJvcnMKICBvdGhlciBh cmNoaXRlY3R1cmVzCi0gKipSYXRpbzoqKiBTdHJvbmcgYmVuZWZpdCwgbmVnbGlnaWJsZSByaXNr CgotLS0KCiMjIFBoYXNlIDk6IEZpbmFsIFN5bnRoZXNpcwoKIyMjIFN0ZXAgOS4xOiBFdmlkZW5j ZSBzdW1tYXJ5CgoqKkZPUiBiYWNrcG9ydDoqKgotIFJlYWwgZnVuY3Rpb25hbCBidWc6IERUIFJJ U0MtViArIGtleGVjIGxhY2tzIGBBUkNIX0tFRVBfTUVNQkxPQ0tgCi0gTWFpbnRhaW5lciBhY2Nl cHRlZCBhbmQgY29tbWl0dGVkIHVwc3RyZWFtCi0gYXJtNjQgYW5kIG90aGVyIGFyY2hlcyBrZWVw IG1lbWJsb2NrIGZvciBrZXhlYwotIFRyaXZpYWwsIG9idmlvdXNseSBjb3JyZWN0IG9uZS1saW5l IGZpeAotIEFwcGxpZXMgY2xlYW5seSB0byB2Ni4xOC40NAotIEFmZmVjdHMga2R1bXAg4oCUIG9w ZXJhdGlvbmFsbHkgaW1wb3J0YW50Ci0gUklTQy1WIGtleGVjIGZ1bGx5IHByZXNlbnQgaW4gdGhp cyB0cmVlCgoqKkFHQUlOU1QgYmFja3BvcnQ6KioKLSBObyB1c2VyIGJ1ZyByZXBvcnQgb3Igc3l6 Ym90IHJlcG9ydAotIGlvbWVtIGZhbGxiYWNrIG1heSB3b3JrIG9uIHNpbXBsZSBtZW1vcnkgbGF5 b3V0cyAoaW5jb21wbGV0ZQogIG1pdGlnYXRpb24pCi0gT25seSBhZmZlY3RzIGBDT05GSUdfS0VY RUNgIGJ1aWxkcwotIE5vdCBhIGdlbmVyYWwtcHVycG9zZSBjcmFzaCBvciBzZWN1cml0eSB2dWxu ZXJhYmlsaXR5CgoqKlVucmVzb2x2ZWQ6KiogTm8gcmVwcm9kdWN0aW9uIGxvZyBpbiBtYWlsaW5n IGxpc3Q7IGltcGFjdCBzZXZlcml0eSBvbgpzcGVjaWZpYyBib2FyZHMgbm90IGluZGVwZW5kZW50 bHkgdmVyaWZpZWQgd2l0aCBhIGZhaWxpbmcgdGVzdCBjYXNlLgoKIyMjIFN0ZXAgOS4yOiBTdGFi bGUgcnVsZXMgY2hlY2tsaXN0CjEuIE9idmlvdXNseSBjb3JyZWN0IGFuZCB0ZXN0ZWQ/ICoqUEFT UyoqIOKAlCBtYWludGFpbmVyLXJldmlld2VkIEtjb25maWcKICAgZGVwZW5kZW5jeTsgbG9naWMg aXMgY2xlYXIuCjIuIEZpeGVzIGEgcmVhbCBidWcgYWZmZWN0aW5nIHVzZXJzPyAqKlBBU1MqKiDi gJQga2V4ZWMva2R1bXAgYnJva2VuIG9uIERUCiAgIFJJU0MtViB3aXRob3V0IHRoaXMuCjMuIElt cG9ydGFudCBpc3N1ZT8gKipQQVNTKiog4oCUIGtleGVjL2tkdW1wIGZhaWx1cmUgKEhJR0ggZm9y IGFmZmVjdGVkCiAgIHVzZXJzKS4KNC4gU21hbGwgYW5kIGNvbnRhaW5lZD8gKipQQVNTKiog4oCU IDEgbGluZSwgMSBmaWxlLgo1LiBObyBuZXcgZmVhdHVyZXMgb3IgQVBJcz8gKipQQVNTKiog4oCU IGNvcnJlY3RzIGV4aXN0aW5nIGNvbmZpZwogICBkZXBlbmRlbmN5IG9ubHkuCjYuIENhbiBhcHBs eSB0byBsb2NhbCB0cmVlPyAqKlBBU1MqKiDigJQgY2xlYW4gYXBwbHkgdmVyaWZpZWQ7IGJ1Z2d5 IGNvZGUKICAgcHJlc2VudC4KCiMjIyBTdGVwIDkuMzogRXhjZXB0aW9uIGNhdGVnb3JpZXMKKipS ZWNvcmQ6KiogTm9uZSBzdHJpY3RseSwgYnV0IGFuYWxvZ291cyB0byBhIGJ1aWxkL2NvbmZpZyBm aXggdGhhdAplbmFibGVzIGNvcnJlY3QgYmVoYXZpb3Igb2YgYW4gZXhpc3RpbmcgZmVhdHVyZS4K CiMjIyBTdGVwIDkuNDogRGVjaXNpb24gcmF0aW9uYWxlClRoaXMgaXMgYSBtYWludGFpbmVyLWFw cHJvdmVkIEtjb25maWcgY29ycmVjdGlvbiB0aGF0IGZpeGVzIGtleGVjL2tkdW1wCm9uIHRoZSBt b3N0IGNvbW1vbiBSSVNDLVYgcGxhdGZvcm0gdHlwZSAoRGV2aWNlIFRyZWUgd2l0aG91dCBBQ1BJ KS4gVGhlCmZpeCBpcyBtaW5pbWFsLCBhcHBsaWVzIGNsZWFubHkgdG8gdGhlIGxvY2FsIHY2LjE4 LjQ0IHRyZWUsIGFuZCBhbGlnbnMKUklTQy1WIHdpdGggYXJtNjQncyBlc3RhYmxpc2hlZCBwYXR0 ZXJuLiBUaGUgbWlzc2luZyBkZXBlbmRlbmN5IGhhcyBiZWVuCnByZXNlbnQgc2luY2UgQUNQSSBt ZW1ibG9jayBzdXBwb3J0IHdhcyBhZGRlZCBpbiAyMDIzIHdoaWxlIGtleGVjIGhhcwpiZWVuIHN1 cHBvcnRlZCBzaW5jZSA1LjEzLgoKLS0tCgojIyBWZXJpZmljYXRpb24KCi0gKipbUGhhc2UgMV0q KiBQYXJzZWQgY29tbWl0IG1lc3NhZ2UgYW5kIHRhZ3MgZnJvbSB1c2VyLXByb3ZpZGVkIGRpZmYK ICBhbmQgYGdpdCBzaG93IGJjZTM1MTM1ZmVjYzdgCi0gKipbUGhhc2UgMl0qKiBEaWZmIGFuYWx5 c2lzOiAxLWxpbmUgS2NvbmZpZyBjaGFuZ2UgaW4KICBgYXJjaC9yaXNjdi9LY29uZmlnYAotICoq W1BoYXNlIDNdKiogYGdpdCBibGFtZSAtTCA1NSw2NSBhcmNoL3Jpc2N2L0tjb25maWdgOiBBQ1BJ LW9ubHkgbGluZQogIGZyb20gYGU4MDY1ZGY1YjBjNDYwYCAoT2N0IDIwMjMpCi0gKipbUGhhc2Ug M10qKiBgZ2l0IGxvZyAtLW9uZWxpbmUgLS1yZXZlcnNlIC0tZ3JlcD1rZXhlYyAtLQogIGFyY2gv cmlzY3YvYDoga2V4ZWMgc2luY2UgYGZiYThhODY3NGY2OGFgICg1LjEzKQotICoqW1BoYXNlIDNd KiogYGdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgYzNmMWI1ZjRhM2E4NSBIRUFEYDogZml4 CiAgKipOT1QqKiBpbiB0cmVlCi0gKipbUGhhc2UgM10qKiBgZ2l0IGFwcGx5IC0tY2hlY2tgIG9u IHVwc3RyZWFtIHBhdGNoOiAqKmNsZWFuIGFwcGx5KioKLSAqKltQaGFzZSA0XSoqIGBiNCBkaWcg LWMgYzNmMWI1ZjRhM2E4NWA6IGZvdW5kIGxvcmUgdGhyZWFkCi0gKipbUGhhc2UgNF0qKiBgYjQg ZGlnIC1hYDogdjEgc2VyaWVzIG9ubHkKLSAqKltQaGFzZSA0XSoqIGBiNCBkaWcgLXdgOiBQYXVs IFdhbG1zbGV5LCBQYWxtZXIgRGFiYmVsdCwgQWxleGFuZHJlCiAgR2hpdGkgQ0MnZAotICoqW1Bo YXNlIDRdKiogYC90bXAva2V4ZWNfbWVtYmxvY2subWJ4YDogbWFpbnRhaW5lciBzY29wZWQgZml4 IHRvCiAga2V4ZWM7IG5vIHN0YWJsZSBDYywgbm8gTkFLCi0gKipbUGhhc2UgNV0qKiBSZWFkIGBr ZXJuZWwva2V4ZWNfZmlsZS5jYCBsaW5lcyA1ODbigJM3NDQ6IG1lbWJsb2NrIHZzCiAgaW9tZW0g d2FsayBzZWxlY3Rpb24KLSAqKltQaGFzZSA1XSoqIFJlYWQgYG1tL21lbWJsb2NrLmNgIGxpbmVz IDEwMOKAkzEwMywgMzgw4oCTNDA5OiBtZW1ibG9jawogIGRpc2NhcmRlZCB3aXRob3V0IGBBUkNI X0tFRVBfTUVNQkxPQ0tgCi0gKipbUGhhc2UgNV0qKiBHcmVwIGBhcmNoLyovS2NvbmZpZ2A6CiAg YXJtNjQveDg2L2FybS9taXBzL2xvb25nYXJjaC9wb3dlcnBjIHNlbGVjdCBgQVJDSF9LRUVQX01F TUJMT0NLYAogIHVuY29uZGl0aW9uYWxseQotICoqW1BoYXNlIDZdKiogYGdpdCBkZXNjcmliZSBI RUFEYDogdjYuMTguNDQ7IGBtYWtlIGtlcm5lbHZlcnNpb25gOgogIDYuMTguNDQKLSAqKltQaGFz ZSA2XSoqIEdyZXAgYGFyY2gvcmlzY3YvS2NvbmZpZ2A6IGJ1Z2d5IGBpZiBBQ1BJYCBsaW5lCiAg Y29uZmlybWVkIHByZXNlbnQKLSAqKltQaGFzZSA2XSoqIFZlcmlmaWVkIFJJU0MtViBrZXhlYyBm aWxlcyBleGlzdDoKICBgbWFjaGluZV9rZXhlY19maWxlLmNgLCBgQVJDSF9TVVBQT1JUU19LRVhF Q2AKLSAqKltQaGFzZSA4XSoqIENvbmZpcm1lZCBgQ09ORklHX0tFWEVDYCBzeW1ib2wgZXhpc3Rz IGluCiAgYGtlcm5lbC9LY29uZmlnLmtleGVjYAotICoqVU5WRVJJRklFRDoqKiBObyBoYW5kcy1v biBrZXhlYyBmYWlsdXJlIHJlcHJvZHVjdGlvbiBvbiBhIERUIFJJU0MtVgogIGJvYXJkCgoqKllF UyoqCgogYXJjaC9yaXNjdi9LY29uZmlnIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LY29uZmlnIGIv YXJjaC9yaXNjdi9LY29uZmlnCmluZGV4IGZhZGVjMjBiODdhOGUuLjAyZTIyODk1OTY5ODkgMTAw NjQ0Ci0tLSBhL2FyY2gvcmlzY3YvS2NvbmZpZworKysgYi9hcmNoL3Jpc2N2L0tjb25maWcKQEAg LTU2LDcgKzU2LDcgQEAgY29uZmlnIFJJU0NWCiAJc2VsZWN0IEFSQ0hfSEFTX1VCU0FOCiAJc2Vs ZWN0IEFSQ0hfSEFTX1ZEU09fQVJDSF9EQVRBIGlmIEhBVkVfR0VORVJJQ19WRFNPCiAJc2VsZWN0 IEFSQ0hfSEFWRV9OTUlfU0FGRV9DTVBYQ0hHCi0Jc2VsZWN0IEFSQ0hfS0VFUF9NRU1CTE9DSyBp ZiBBQ1BJCisJc2VsZWN0IEFSQ0hfS0VFUF9NRU1CTE9DSyBpZiBBQ1BJIHx8IEtFWEVDCiAJc2Vs ZWN0IEFSQ0hfTUhQX01FTU1BUF9PTl9NRU1PUllfRU5BQkxFCWlmIDY0QklUICYmIE1NVQogCXNl bGVjdCBBUkNIX09QVElPTkFMX0tFUk5FTF9SV1ggaWYgQVJDSF9IQVNfU1RSSUNUX0tFUk5FTF9S V1gKIAlzZWxlY3QgQVJDSF9PUFRJT05BTF9LRVJORUxfUldYX0RFRkFVTFQKLS0gCjIuNTMuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJp c2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02437552925; Mon, 31 Aug 2026 13:46:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788184017; cv=none; b=ghYnsb16YYYdQg4FvaQhVgqQ0YZ/eA3o0Wa2WyFYXaDe4h35vqWLNy92tUrlJqrFN+r8LbjOFatSD0qwvGtRTvsdqGzeC8PEIdZdMy1VhDYnvPGTHBxFg7NbLREa5GF7hT+Jl4az/f/ev7GATO4eH4IcfdmlQZzuUj9L6lpCivA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788184017; c=relaxed/simple; bh=MG7I1D4ufAI7jrXsZRNa2o6kbzQihBa3/3eUbODy4/g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WPn8sdjNI6m9mGzJE6hcusrbe8NR2bYyZ6aXNVmwd9dg8vLEJlUm6+bFHSbvAHcD+ilDNgdSdnB1bmoe6oOQhtKfvMQxlaGIdnvyw0WGYXTRulOx8Jiub26qj4wS5jn8r8bEF6BcR7vF+IJ3Y4smZQEF6vi9TwnuyNI8okNvKZk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QRaVN1Et; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QRaVN1Et" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8277D1F00ACF; Mon, 31 Aug 2026 13:46:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788184013; bh=CidNdpnOwPaWgqdN5zzQ/+4Wjai7x6h2A9meyleHZA0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=QRaVN1EtpJuUVSy6nHg2Eu3nBGfPUnDcE9BLyDDKzOzyI12Ul+kkbNJLiO9OKfWdo 034GTw1D+5Z1STkeB12u+Nm8bOCczoDlCg09v1TZLDJTnhgPbqJ7wU7knkKGeP2N6p stwuEDWGx5SDewqXhQ9kdhoRiplKMuduV2Yw3x13jX6KpdKe3OKzzYnTbBAWqxFX1C v68XQUlADiBEX1wMnViybsnpweho3J7H3t/0gQnMMsmTP2Wx7CECf/YBf64jYOCder cVgVxdeVFTV9kKa18v3FYzJLC5eVmRBRczL1bhYG86DwUEONSGvZV3/3lu82j7P6zo yHHGlSxO7qS6Q== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Han Gao , Paul Walmsley , Sasha Levin , palmer@dabbelt.com, aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18] riscv: also select ARCH_KEEP_MEMBLOCK if kexec is selected Date: Mon, 31 Aug 2026 09:27:46 -0400 Message-ID: <20260831133314.4125787-438-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org> References: <20260831133314.4125787-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.48 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Han Gao [ Upstream commit bce35135fecc7a73c60aaa9d2ec699ead1e32661 ] On RISC-V, also select ARCH_KEEP_MEMBLOCK if kexec is selected, not only if ACPI is selected. This is because kexec requires the memblock areas to be kept after boot to initialize the secondary kernel. This is needed for both Device Tree and ACPI platforms. Signed-off-by: Han Gao Link: https://patch.msgid.link/20260519165546.123105-1-gaohan@iscas.ac.cn [pjw@kernel.org: change to add the dependency on kexec, rather than making it unconditional; rewrite the patch description accordingly] Signed-off-by: Paul Walmsley Signed-off-by: Sasha Levin --- LLM Generated explanations, may be completely bogus: ## Phase 1: Commit Message Forensics ### Step 1.1: Subject line **Record:** `[riscv]` `[also select]` — Extend `ARCH_KEEP_MEMBLOCK` Kconfig selection on RISC-V to cover kexec, not only ACPI. ### Step 1.2: Tags **Record:** - **Signed-off-by:** Han Gao `` (author) - **Link:** https://patch.msgid.link/20260519165546.123105-1-gaohan@iscas.ac.cn - **Signed-off-by:** Paul Walmsley `` (maintainer, rewrote approach) - No `Fixes:`, `Reported-by:`, `Tested-by:`, `Reviewed-by:`, `Acked- by:`, or `Cc: stable@vger.kernel.org` - Notable: maintainer rework note in commit message — original patch was unconditional; final version scopes to `KEXEC` ### Step 1.3: Body analysis **Record:** - **Bug:** On RISC-V, `ARCH_KEEP_MEMBLOCK` is selected only when `ACPI` is enabled. Device Tree platforms with kexec enabled do not keep memblock data after boot. - **Symptom:** kexec cannot properly initialize the secondary kernel because it needs live memblock region information at runtime. - **Root cause (author):** kexec depends on memblock areas remaining available after boot; the ACPI-only guard was incomplete. - **Version info:** None in message. ### Step 1.4: Hidden bug fix? **Record:** Yes. Although phrased as a Kconfig dependency correction, this fixes broken/unreliable kexec and kdump on non-ACPI RISC-V platforms — a functional correctness bug, not cosmetic cleanup. --- ## Phase 2: Diff Analysis ### Step 2.1: Inventory **Record:** - **Files:** `arch/riscv/Kconfig` only (+1/−1 line) - **Functions:** None (Kconfig only) - **Scope:** Single-file, surgical Kconfig fix ### Step 2.2: Code flow change **Record:** - **Before:** `select ARCH_KEEP_MEMBLOCK if ACPI` — memblock metadata discarded after boot on DT-only configs, even with `CONFIG_KEXEC`. - **After:** `select ARCH_KEEP_MEMBLOCK if ACPI || KEXEC` — memblock kept when kexec is enabled, regardless of firmware type. - **Path affected:** Build-time config selection; runtime kexec memory- hole discovery in generic kexec code. ### Step 2.3: Bug mechanism **Record:** - **Category:** Logic/correctness — missing Kconfig dependency - **Mechanism:** Without `ARCH_KEEP_MEMBLOCK`, `memblock_discard()` runs during `mem_init()`. Generic kexec then uses the `kexec_walk_resources()` iomem fallback instead of `kexec_walk_memblock()`. On RISC-V DT systems (the common case), kexec memory placement can be wrong or fail (`-EADDRNOTAVAIL`), breaking kexec reboot and kdump. arm64 unconditionally selects `ARCH_KEEP_MEMBLOCK`; RISC-V was inconsistent. ### Step 2.4: Fix quality **Record:** - Obviously correct: ties memblock retention to the feature that needs it. - Minimal: one-line change. - Low regression risk: only affects kernels built with `CONFIG_KEXEC`; adds small retained memblock metadata (same trade-off arm64 already makes). - Maintainer-scoped the fix from unconditional to `KEXEC`-only, reducing blast radius. --- ## Phase 3: Git History Investigation ### Step 3.1: Blame **Record:** - Current line introduced by `e8065df5b0c460` (Sunil V L, Oct 2023): "RISC-V: ACPI: Enhance acpi_os_ioremap with MMIO remapping" — added `ARCH_KEEP_MEMBLOCK if ACPI` for ACPI memblock queries. - RISC-V kexec support dates to 5.13 (`fba8a8674f68a`); kdump since 5.13. The ACPI-only memblock guard left DT+kexec without the needed dependency for years. ### Step 3.2: Fixes: tag **Record:** N/A — no `Fixes:` tag. Bug introduced by incomplete scoping in `e8065df5b0c460`. ### Step 3.3: Related file history **Record:** - Recent `arch/riscv/Kconfig` churn is unrelated (CFI, insn, NUMA). - Standalone one-patch fix; not part of a series. - Upstream mainline commit: `bce35135fecc7` (merged Jun 7, 2026). Exists in repo as stable-prep commit `c3f1b5f4a3a85` but is **not** in current HEAD. ### Step 3.4: Author context **Record:** Han Gao is an active RISC-V contributor (ACPI, DTS, compat fixes). Paul Walmsley is the RISC-V maintainer who accepted and refined the patch. ### Step 3.5: Dependencies **Record:** No prerequisites. `KEXEC` symbol exists in `kernel/Kconfig.kexec`; RISC-V has `ARCH_SUPPORTS_KEXEC def_bool y`. Patch applies cleanly (`git apply --check` passed). --- ## Phase 4: Mailing List and External Research ### Step 4.1: Original discussion **Record:** - **URL:** https://patch.msgid.link/20260519165546.123105-1-gaohan@iscas.ac.cn - **Series:** v1 only (original subject: "unconditionally select ARCH_KEEP_MEMBLOCK") - **Maintainer feedback:** Paul Walmsley asked to scope to kexec rather than make it unconditional; committed version follows that guidance. - No NAKs found. No explicit stable nomination. ### Step 4.2: Reviewers **Record:** CC'd: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org. ### Step 4.3: Bug reports **Record:** No external bug report, syzbot, or user `Reported-by:`. Bug identified by developer analysis of kexec/memblock interaction. ### Step 4.4: Related patches **Record:** Standalone. Maintainer suggested tying to `ARCH_SELECTS_KEXEC`; final patch uses `KEXEC` in the `RISCV` config select instead. ### Step 4.5: Stable list history **Record:** No stable-list discussion found in the mbox thread. --- ## Phase 5: Code Semantic Analysis ### Step 5.1: Key functions **Record:** No C functions modified. Runtime impact is through existing generic code: - `kexec_locate_mem_hole()` in `kernel/kexec_file.c` - `memblock_discard()` in `mm/memblock.c` - RISC-V `init_resources()` / `reserve_memblock_reserved_regions()` in `arch/riscv/kernel/setup.c` ### Step 5.2: Callers **Record:** `kexec_locate_mem_hole()` is called from `kexec_add_buffer()`, used throughout RISC-V kexec_file loading (`machine_kexec_file.c`, `kexec_elf.c`, `kexec_image.c`) — reachable from the `kexec_file_load` syscall when users load a new kernel or crash kernel. ### Step 5.3: Callees **Record:** With fix, kexec uses `kexec_walk_memblock()` → `for_each_free_mem_range()` with `MEMBLOCK_NONE`, correctly skipping driver-managed regions. Without fix, falls back to `kexec_walk_resources()` → `walk_system_ram_res()`. ### Step 5.4: Reachability **Record:** Reachable from userspace via kexec syscalls on any RISC-V system with `CONFIG_KEXEC` enabled. DT platforms are the majority of RISC-V hardware (VisionFive, Milk-V, Sophgo, StarFive, QEMU virt without ACPI, etc.). ### Step 5.5: Similar patterns **Record:** - arm64: `select ARCH_KEEP_MEMBLOCK` (unconditional) - x86, arm, mips, loongarch, powerpc: unconditional `ARCH_KEEP_MEMBLOCK` - RISC-V is the outlier with ACPI-only selection --- ## Phase 6: Cross-Reference Against Local Tree ### Step 6.1: Buggy code present? **Record:** **Yes.** Local tree is **v6.18.44** (`git describe HEAD`). Current line: ```59:59:arch/riscv/Kconfig select ARCH_KEEP_MEMBLOCK if ACPI ``` Fix commit `bce35135fecc7` / `c3f1b5f4a3a85` is **not** an ancestor of HEAD. RISC-V kexec support is fully present (`ARCH_SUPPORTS_KEXEC`, `machine_kexec_file.c`, etc.). ### Step 6.2: Backport complications **Record:** Clean apply confirmed. No conflicting changes in `arch/riscv/Kconfig` at this line. ### Step 6.3: Related fixes already present? **Record:** No equivalent fix in HEAD. ACPI-only guard remains. --- ## Phase 7: Subsystem and Maintainer Context ### Step 7.1: Subsystem criticality **Record:** `arch/riscv` — platform-specific but kexec/kdump affects production RISC-V deployments. **Criticality: IMPORTANT** (not universal like mm/, but kdump is operationally critical where enabled). ### Step 7.2: Activity **Record:** RISC-V kexec actively developed (kexec_file Image support in 6.16, CMA allocation, recent NULL-deref fix in `machine_kexec_prepare`). This gap is relevant to the current tree. --- ## Phase 8: Impact and Risk Assessment ### Step 8.1: Who is affected **Record:** RISC-V users with `CONFIG_KEXEC` (and typically `CONFIG_KEXEC_FILE`, `CONFIG_CRASH_DUMP`) on **Device Tree** platforms without ACPI — the dominant RISC-V configuration. ### Step 8.2: Trigger conditions **Record:** Triggered whenever a user loads or executes a kexec image (`kexec -e`, kdump after panic). Common for intentional kexec; rare but critical for kdump. ### Step 8.3: Failure mode severity **Record:** - kexec load failure (`-EADDRNOTAVAIL`) or booting secondary kernel into wrong memory - kdump failure after kernel crash — no crash dump captured - **Severity: HIGH** for kexec/kdump users; **LOW** for users without `CONFIG_KEXEC` ### Step 8.4: Risk-benefit **Record:** - **Benefit:** HIGH for RISC-V kexec/kdump users — restores intended memblock-based memory discovery - **Risk:** VERY LOW — one-line Kconfig, maintainer-approved, mirrors other architectures - **Ratio:** Strong benefit, negligible risk --- ## Phase 9: Final Synthesis ### Step 9.1: Evidence summary **FOR backport:** - Real functional bug: DT RISC-V + kexec lacks `ARCH_KEEP_MEMBLOCK` - Maintainer accepted and committed upstream - arm64 and other arches keep memblock for kexec - Trivial, obviously correct one-line fix - Applies cleanly to v6.18.44 - Affects kdump — operationally important - RISC-V kexec fully present in this tree **AGAINST backport:** - No user bug report or syzbot report - iomem fallback may work on simple memory layouts (incomplete mitigation) - Only affects `CONFIG_KEXEC` builds - Not a general-purpose crash or security vulnerability **Unresolved:** No reproduction log in mailing list; impact severity on specific boards not independently verified with a failing test case. ### Step 9.2: Stable rules checklist 1. Obviously correct and tested? **PASS** — maintainer-reviewed Kconfig dependency; logic is clear. 2. Fixes a real bug affecting users? **PASS** — kexec/kdump broken on DT RISC-V without this. 3. Important issue? **PASS** — kexec/kdump failure (HIGH for affected users). 4. Small and contained? **PASS** — 1 line, 1 file. 5. No new features or APIs? **PASS** — corrects existing config dependency only. 6. Can apply to local tree? **PASS** — clean apply verified; buggy code present. ### Step 9.3: Exception categories **Record:** None strictly, but analogous to a build/config fix that enables correct behavior of an existing feature. ### Step 9.4: Decision rationale This is a maintainer-approved Kconfig correction that fixes kexec/kdump on the most common RISC-V platform type (Device Tree without ACPI). The fix is minimal, applies cleanly to the local v6.18.44 tree, and aligns RISC-V with arm64's established pattern. The missing dependency has been present since ACPI memblock support was added in 2023 while kexec has been supported since 5.13. --- ## Verification - **[Phase 1]** Parsed commit message and tags from user-provided diff and `git show bce35135fecc7` - **[Phase 2]** Diff analysis: 1-line Kconfig change in `arch/riscv/Kconfig` - **[Phase 3]** `git blame -L 55,65 arch/riscv/Kconfig`: ACPI-only line from `e8065df5b0c460` (Oct 2023) - **[Phase 3]** `git log --oneline --reverse --grep=kexec -- arch/riscv/`: kexec since `fba8a8674f68a` (5.13) - **[Phase 3]** `git merge-base --is-ancestor c3f1b5f4a3a85 HEAD`: fix **NOT** in tree - **[Phase 3]** `git apply --check` on upstream patch: **clean apply** - **[Phase 4]** `b4 dig -c c3f1b5f4a3a85`: found lore thread - **[Phase 4]** `b4 dig -a`: v1 series only - **[Phase 4]** `b4 dig -w`: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti CC'd - **[Phase 4]** `/tmp/kexec_memblock.mbx`: maintainer scoped fix to kexec; no stable Cc, no NAK - **[Phase 5]** Read `kernel/kexec_file.c` lines 586–744: memblock vs iomem walk selection - **[Phase 5]** Read `mm/memblock.c` lines 100–103, 380–409: memblock discarded without `ARCH_KEEP_MEMBLOCK` - **[Phase 5]** Grep `arch/*/Kconfig`: arm64/x86/arm/mips/loongarch/powerpc select `ARCH_KEEP_MEMBLOCK` unconditionally - **[Phase 6]** `git describe HEAD`: v6.18.44; `make kernelversion`: 6.18.44 - **[Phase 6]** Grep `arch/riscv/Kconfig`: buggy `if ACPI` line confirmed present - **[Phase 6]** Verified RISC-V kexec files exist: `machine_kexec_file.c`, `ARCH_SUPPORTS_KEXEC` - **[Phase 8]** Confirmed `CONFIG_KEXEC` symbol exists in `kernel/Kconfig.kexec` - **UNVERIFIED:** No hands-on kexec failure reproduction on a DT RISC-V board **YES** arch/riscv/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index fadec20b87a8e..02e2289596989 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -56,7 +56,7 @@ config RISCV select ARCH_HAS_UBSAN select ARCH_HAS_VDSO_ARCH_DATA if HAVE_GENERIC_VDSO select ARCH_HAVE_NMI_SAFE_CMPXCHG - select ARCH_KEEP_MEMBLOCK if ACPI + select ARCH_KEEP_MEMBLOCK if ACPI || KEXEC select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT -- 2.53.0