Re: [PATCH 4.4 078/131] PM / Hibernate: Call flush_icache_range() on pages restored in-place

From: Greg Kroah-Hartman
Date: Wed Apr 03 2019 - 09:52:01 EST


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@xxxxxxx>
> > > Acked-by: Pavel Machek <pavel@xxxxxx>
> > > Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
> > > Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
> > > [will: make clean_pages_on_* static and remove initialisers]
> > > Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
> > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> >
> > 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