From: sashiko-bot@kernel.org
To: "Rob Herring" <robh@kernel.org>, "Barry Song" <baohua@kernel.org>,
"Matthew Brost" <matthew.brost@intel.com>,
"Zi Yan" <ziy@nvidia.com>, "David Howells" <dhowells@redhat.com>,
"Dev Jain" <dev.jain@arm.com>,
"David Hildenbrand" <david@kernel.org>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Benjamin Marzinski" <bmarzins@redhat.com>,
"Michal Hocko" <mhocko@suse.com>,
"Johannes Weiner" <hannes@cmpxchg.org>,
"Jan Sebastian Götte" <linux@jaseg.de>,
"Mark Rutland" <mark.rutland@arm.com>,
"Kiryl Shutsemau" <kas@kernel.org>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"James Morris" <jmorris@namei.org>,
"Rik van Riel" <riel@surriel.com>,
"Usama Arif" <usama.arif@linux.dev>,
"Mikulas Patocka" <mpatocka@redhat.com>,
"Mike Snitzer" <snitzer@kernel.org>,
"Lance Yang" <lance.yang@linux.dev>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Baolin Wang" <baolin.wang@linux.alibaba.com>,
"Byungchul Park" <byungchul@sk.com>,
"Paul Moore" <paul@paul-moore.com>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
"David S. Miller" <davem@davemloft.net>,
"Peter Xu" <peterx@redhat.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Brendan Jackman" <brendan.jackman@linux.dev>,
"Harry Yoo" <harry@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Oscar Salvador" <osalvador@suse.de>,
"Pedro Falcato" <pfalcato@suse.de>,
"Gregory Price" <gourry@gourry.net>,
"Mimi Zohar" <zohar@linux.ibm.com>,
"Saravana Kannan" <saravanak@kernel.org>,
"Joshua Hahn" <joshua.hahnjy@gmail.com>,
"Baoquan He" <baoquan.he@linux.dev>,
"Jann Horn" <jannh@google.com>,
"Serge E. Hallyn" <serge@hallyn.com>,
"Pasha Tatashin" <pasha.tatashin@soleen.com>,
"Muchun Song" <muchun.song@linux.dev>,
"Suren Baghdasaryan" <surenb@google.com>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Alistair Popple" <apopple@nvidia.com>,
"Jarkko Sakkinen" <jarkko@kernel.org>,
"Ryan Roberts" <ryan.roberts@arm.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"James Bottomley" <James.Bottomley@HansenPartnership.com>,
"Vlastimil Babka" <vbabka@kernel.org>,
"Alasdair Kergon" <agk@redhat.com>,
"Will Deacon" <will@kernel.org>,
"Nico Pache" <nico.pache@linux.dev>,
"Pratyush Yadav" <pratyush@kernel.org>,
"Dave Young" <ruirui.yang@linux.dev>,
"Ying Huang" <ying.huang@linux.alibaba.com>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kexec@lists.infradead.org,
keyrings@vger.kernel.org, robh@kernel.org,
linux-doc@vger.kernel.org, conor+dt@kernel.org,
dm-devel@lists.linux.dev, linux-mm@kvack.org,
linux-integrity@vger.kernel.org, devicetree@vger.kernel.org,
driver-core@lists.linux.dev, linux-fsdevel@vger.kernel.org,
"Eric Biggers" <ebiggers@kernel.org>,
linux-security-module@vger.kernel.org,
linux-crypto@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH v3 02/12] lib, kexec: Add a secret pool for key material
Date: Mon, 28 Sep 2026 17:36:35 +0000 [thread overview]
Message-ID: <20260928173636.78B211F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260928-crash-memaction-upstream-20260921-v3-2-e511e9ee2329@jaseg.de>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] lib/secret_pool: fallback to shared kmalloc inadvertently marks entire pages as secret
--
commit 774a436bfd0576d919ce17b831096d5b8c8dbbb5
Author: Jan Sebastian Götte <linux@jaseg.de>
lib, kexec: Add a secret pool for key material
Key material allocated with kmalloc() shares its slab pages with
unrelated allocations. crash_memaction marks memory at page granularity,
so smaller objects in shared slab pages can't cleanly be marked or
unmarked. This commit adds a secret pool built on kmem_buckets to
hold such keys in marked pages.
> diff --git a/lib/secret_pool.c b/lib/secret_pool.c
> new file mode 100644
> index 0000000000000..62954847091a0
> --- /dev/null
> +++ b/lib/secret_pool.c
> @@ -0,0 +1,27 @@
[ ... ]
> +void *secret_pool_alloc_node(size_t size, gfp_t flags, int node)
> +{
> + void *p = kmem_buckets_alloc_node_track_caller(secret_pool, size,
> + flags, node);
> +
> + crash_memaction_mark(p, size, CRASH_MEMACTION_SECRET);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Severity: High]
Does this unconditionally mark the allocation even if it falls back to a shared
kmalloc page?
The commit message notes that if the secret pool is used before its initcall
runs or if pool creation fails, allocations will fall back to ordinary kmalloc
caches.
Because crash_memaction_mark() operates at page granularity, wouldn't calling
it on a shared kmalloc page inadvertently mark the entire page (and unrelated
kernel objects sharing it) as a secret?
In the event of a crash, could this cause the kdump kernel to wipe or exclude
these shared pages, potentially destroying crash data?
> +
> + return p;
> +}
> +EXPORT_SYMBOL_GPL(secret_pool_alloc_node);
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260928-crash-memaction-upstream-20260921-v3-0-e511e9ee2329@jaseg.de?part=2
next prev parent reply other threads:[~2026-09-28 17:36 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 17:17 [PATCH v3 00/12] CRASH_MEMACTION: describe pages to a kdump kernel (was: CRASH_WIPE_SECRETS) Jan Sebastian Götte
2026-09-28 17:17 ` [PATCH v3 01/12] kexec: Add a crash memaction registry Jan Sebastian Götte
2026-09-28 17:36 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 02/12] lib, kexec: Add a secret pool for key material Jan Sebastian Götte
2026-09-28 17:36 ` sashiko-bot [this message]
2026-09-28 17:17 ` [PATCH v3 03/12] mm: Wire up the crash memaction registry Jan Sebastian Götte
2026-09-28 17:38 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 04/12] arm64: Enable " Jan Sebastian Götte
2026-09-28 17:35 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 05/12] dm crypt: Allocate key material from the secret pool Jan Sebastian Götte
2026-09-28 17:33 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 06/12] crypto: api - Allocate tfms " Jan Sebastian Götte
2026-09-28 17:32 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 07/12] security/keys: Allocate key payloads " Jan Sebastian Götte
2026-09-28 17:32 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 08/12] mm: Add VM_CRASH_MARK Jan Sebastian Götte
2026-09-28 17:34 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 09/12] mm/rmap: Mark folios mapped into crash_memaction-marked VMAs Jan Sebastian Götte
2026-09-28 17:41 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 10/12] mm/madvise: Add MADV_CRASH_SECRET, MADV_CRASH_CACHE and MADV_CRASH_RESET Jan Sebastian Götte
2026-09-28 17:35 ` sashiko-bot
2026-09-28 17:17 ` [PATCH v3 11/12] Documentation/mm: Document the crash memaction registry Jan Sebastian Götte
2026-09-28 17:31 ` sashiko-bot
2026-09-28 17:18 ` [PATCH v3 12/12] kexec: Expose the crash memaction bitmap in debugfs Jan Sebastian Götte
2026-09-28 17:38 ` sashiko-bot
2026-09-28 19:19 ` Randy Dunlap
2026-09-28 17:49 ` [PATCH v3 00/12] CRASH_MEMACTION: describe pages to a kdump kernel (was: CRASH_WIPE_SECRETS) Lorenzo Stoakes (ARM)
2026-09-28 18:58 ` David Hildenbrand (Arm)
2026-09-28 19:02 ` David Hildenbrand (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260928173636.78B211F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=agk@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=apopple@nvidia.com \
--cc=arnd@arndb.de \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=baoquan.he@linux.dev \
--cc=bmarzins@redhat.com \
--cc=brendan.jackman@linux.dev \
--cc=byungchul@sk.com \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=dakr@kernel.org \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=dhowells@redhat.com \
--cc=dm-devel@lists.linux.dev \
--cc=driver-core@lists.linux.dev \
--cc=ebiggers@kernel.org \
--cc=gourry@gourry.net \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=harry@kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=jannh@google.com \
--cc=jarkko@kernel.org \
--cc=jmorris@namei.org \
--cc=joshua.hahnjy@gmail.com \
--cc=kas@kernel.org \
--cc=kexec@lists.infradead.org \
--cc=keyrings@vger.kernel.org \
--cc=lance.yang@linux.dev \
--cc=liam@infradead.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux@jaseg.de \
--cc=ljs@kernel.org \
--cc=mark.rutland@arm.com \
--cc=matthew.brost@intel.com \
--cc=mhocko@suse.com \
--cc=mpatocka@redhat.com \
--cc=muchun.song@linux.dev \
--cc=nico.pache@linux.dev \
--cc=osalvador@suse.de \
--cc=pasha.tatashin@soleen.com \
--cc=paul@paul-moore.com \
--cc=peterx@redhat.com \
--cc=pfalcato@suse.de \
--cc=pratyush@kernel.org \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=riel@surriel.com \
--cc=robh@kernel.org \
--cc=rppt@kernel.org \
--cc=ruirui.yang@linux.dev \
--cc=ryan.roberts@arm.com \
--cc=saravanak@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=serge@hallyn.com \
--cc=skhan@linuxfoundation.org \
--cc=snitzer@kernel.org \
--cc=surenb@google.com \
--cc=usama.arif@linux.dev \
--cc=vbabka@kernel.org \
--cc=will@kernel.org \
--cc=ying.huang@linux.alibaba.com \
--cc=ziy@nvidia.com \
--cc=zohar@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®