From: Catalin Marinas <catalin.marinas@arm.com>
To: Suzuki K Poulose <suzuki.poulose@arm.com>,
"Rafael J. Wysocki" <rafael@kernel.org>
Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev, maz@kernel.org,
will@kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, steven.price@arm.com,
aneesh.kumar@kernel.org, oupton@kernel.org, gshan@redhat.com,
joey.gouly@arm.com, tabba@google.com, yuzenghui@huawei.com,
linux-coco@lists.linux.dev, gankulkarni@os.amperecomputing.com,
sdonthineni@nvidia.com, alpergun@google.com,
fj0570is@fujitsu.com, WeiLin.Chang@arm.com,
lpieralisi@kernel.org, enju.kohei@fujitsu.com,
sudeep.holla@arm.com, jonathan.cameron@oss.qualcomm.com,
Len Brown <lenb@kernel.org>, Pavel Machek <pavel@kernel.org>,
linux-pm@vger.kernel.org, Sudeep Holla <sudeep.holla@kernel.org>
Subject: Re: [PATCH v22 07/10] kernel: hibernate: Add an arch hook for preventing hiberation
Date: Fri, 2 Oct 2026 12:03:36 +0100 [thread overview]
Message-ID: <ar-PiBQGye4_hQa6@arm.com> (raw)
In-Reply-To: <20261002061507.1600269-8-suzuki.poulose@arm.com>
On Fri, Oct 02, 2026 at 07:15:03AM +0100, Suzuki K Poulose wrote:
> Add a hook to allow arch code disable hibernation. On arm64, with an RMM active,
> there could be pages that are delegated to the "Realm" security state. Any
> access to them are fatal (e.g., hibernate save image or restoring an image to
> a delegated page). pKVM host also has its restrictions on enabling hibernation.
>
> Add a weak arch hook to let the architectures have a say.
>
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Cc: Len Brown <lenb@kernel.org>
> Cc: Pavel Machek <pavel@kernel.org>
> Cc: linux-pm@vger.kernel.org
> Cc: Sudeep Holla <sudeep.holla@kernel.org>
> Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Nit: the subject prefix for kernel/power/ usually is
PM: hibernate: ....
I can fix it locally, no need to respin (and probably the wrap the long
lines in the commit log, we tend to keep them shorter).
> ---
> include/linux/suspend.h | 1 +
> kernel/power/hibernate.c | 8 +++++++-
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/suspend.h b/include/linux/suspend.h
> index b02876f1ae38a..a3815027773c5 100644
> --- a/include/linux/suspend.h
> +++ b/include/linux/suspend.h
> @@ -401,6 +401,7 @@ int hibernate_quiet_exec(int (*func)(void *data), void *data);
> int hibernate_resume_nonboot_cpu_disable(void);
> int arch_hibernation_header_save(void *addr, unsigned int max_size);
> int arch_hibernation_header_restore(void *addr);
> +bool arch_hibernation_available(void);
>
> #else /* CONFIG_HIBERNATION */
> static inline void register_nosave_region(unsigned long b, unsigned long e) {}
> diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> index d2479c69d71a4..9d9d53828542f 100644
> --- a/kernel/power/hibernate.c
> +++ b/kernel/power/hibernate.c
> @@ -106,11 +106,17 @@ bool hibernation_in_progress(void)
> return !atomic_read(&hibernate_atomic);
> }
>
> +__weak bool arch_hibernation_available(void)
> +{
> + return true;
> +}
> +
> bool hibernation_available(void)
> {
> return nohibernate == 0 &&
> !security_locked_down(LOCKDOWN_HIBERNATION) &&
> - !secretmem_active() && !cxl_mem_active();
> + !secretmem_active() && !cxl_mem_active() &&
> + arch_hibernation_available();
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Raphael, any objection to this patch going in through the arm64 tree? It
matches the style of other __weak functions in this file.
Thanks.
--
Catalin
next prev parent reply other threads:[~2026-10-02 11:03 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 6:14 [PATCH v22 00/10] firmware: arm_rmm: Add RMM v2.0 base RMI support Suzuki K Poulose
2026-10-02 6:14 ` [PATCH v22 01/10] firmware: arm_rmm: Add SMC definitions for calling the RMM Suzuki K Poulose
2026-10-02 6:14 ` [PATCH v22 02/10] firmware: arm_rmm: Check for RMI support at init Suzuki K Poulose
2026-10-13 3:53 ` Gavin Shan
2026-10-13 9:58 ` Suzuki K Poulose
2026-10-02 6:14 ` [PATCH v22 03/10] firmware: arm_rmm: Configure the RMM with the host's page size Suzuki K Poulose
2026-10-02 6:15 ` [PATCH v22 04/10] firmware: arm_rmm: Add support for SRO Suzuki K Poulose
2026-10-02 6:15 ` [PATCH v22 05/10] firmware: arm_rmm: Activate the RMM Suzuki K Poulose
2026-10-02 6:15 ` [PATCH v22 06/10] firmware: arm_rmm: Ensure the RMM has GPT entries for memory Suzuki K Poulose
2026-10-02 6:15 ` [PATCH v22 07/10] kernel: hibernate: Add an arch hook for preventing hiberation Suzuki K Poulose
2026-10-02 11:03 ` Catalin Marinas [this message]
2026-10-02 15:29 ` Suzuki K Poulose
2026-10-12 19:11 ` Rafael J. Wysocki (Intel)
2026-10-02 13:32 ` Sudeep Holla
2026-10-02 6:15 ` [PATCH v22 08/10] arm64: Block hibernate and kexec while RMM is active Suzuki K Poulose
2026-10-02 6:15 ` [PATCH v22 09/10] firmware: arm_rmm: Add wrappers for Realm related RMI commands Suzuki K Poulose
2026-10-02 11:05 ` Catalin Marinas
2026-10-02 15:28 ` Suzuki K Poulose
2026-10-02 6:15 ` [PATCH v22 10/10] firmware: arm_rmm: hotplug: Skip memory added to ZONE_MOVABLE Suzuki K Poulose
2026-10-02 7:57 ` David Hildenbrand (Arm)
2026-10-02 18:49 ` [PATCH v22 00/10] firmware: arm_rmm: Add RMM v2.0 base RMI support Catalin Marinas
2026-10-03 5:57 ` Suzuki K Poulose
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=ar-PiBQGye4_hQa6@arm.com \
--to=catalin.marinas@arm.com \
--cc=WeiLin.Chang@arm.com \
--cc=alpergun@google.com \
--cc=aneesh.kumar@kernel.org \
--cc=enju.kohei@fujitsu.com \
--cc=fj0570is@fujitsu.com \
--cc=gankulkarni@os.amperecomputing.com \
--cc=gshan@redhat.com \
--cc=joey.gouly@arm.com \
--cc=jonathan.cameron@oss.qualcomm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=lenb@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=maz@kernel.org \
--cc=oupton@kernel.org \
--cc=pavel@kernel.org \
--cc=rafael@kernel.org \
--cc=sdonthineni@nvidia.com \
--cc=steven.price@arm.com \
--cc=sudeep.holla@arm.com \
--cc=sudeep.holla@kernel.org \
--cc=suzuki.poulose@arm.com \
--cc=tabba@google.com \
--cc=will@kernel.org \
--cc=yuzenghui@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.