Re: [PATCH] arm64: mm: Make hibernation aware of KFENCE

From: Will Deacon
Date: Thu Jul 20 2023 - 08:14:01 EST


On Thu, 13 Jul 2023 12:37:57 +0530, Nikhil V wrote:
> In the restore path, swsusp_arch_suspend_exit uses copy_page() to
> over-write memory. However, with features like KFENCE enabled, there could
> be situations where it may have marked some pages as not valid, due to
> which it could be reported as invalid accesses.
>
> Consider a situation where page 'P' was part of the hibernation image.
> Now, when the resume kernel tries to restore the pages, the same page 'P'
> is already in use in the resume kernel and is kfence protected, due to
> which its mapping is removed from linear map. Since restoring pages happens
> with the resume kernel page tables, we would end up accessing 'P' during
> copy and results in kernel pagefault.
>
> [...]

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: mm: Make hibernation aware of KFENCE
https://git.kernel.org/arm64/c/a8bd38dbc57c

Cheers,
--
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev