On Wed, Apr 03, 2019 at 12:00:51PM +0100, Catalin Marinas wrote:
On Mon, Apr 01, 2019 at 10:39:18PM +0200, Pavel Machek wrote:
On Mon 2019-04-01 19:02:28, Greg Kroah-Hartman wrote:
4.4-stable review patch. If anyone has any objections, please let me know.
[ Upstream commit f6cf0545ec697ddc278b7457b7d0c0d86a2ea88e ]
Some architectures require code written to memory as if it were data to be 'cleaned' from any data caches before the processor can fetch them as new instructions.
During resume from hibernate, the snapshot code copies some pages directly, meaning these architectures do not get a chance to perform their cache maintenance. Modify the read and decompress code to call flush_icache_range() on all pages that are restored, so that the restored in-place pages are guaranteed to be executable on these architectures.
Signed-off-by: James Morse james.morse@arm.com Acked-by: Pavel Machek pavel@ucw.cz Acked-by: Rafael J. Wysocki rjw@rjwysocki.net Acked-by: Catalin Marinas catalin.marinas@arm.com [will: make clean_pages_on_* static and remove initialisers] Signed-off-by: Will Deacon will.deacon@arm.com Signed-off-by: Sasha Levin sashal@kernel.org
I don't think this is suitable for stable.
Catalin: Are there platforms that a) need this and b) support hibernation in 4.4.X?
Good point. This commit was required for the arm64 hibernate support that went in the 4.7 kernel.
Greg, why was this patch selected for stable? It's harmless anyway.
It came in through Sasha's "magic patch selection AI" tools :)
If it's harmless, might as well leave it in now, and not revert it.
thanks,
greg k-h