Re: [PATCH v4] x86/power: Fix 'nosmt' vs. hibernation triple fault during resume

From: Rafael J. Wysocki
Date: Fri May 31 2019 - 05:01:03 EST


On Friday, May 31, 2019 10:47:21 AM CEST Jiri Kosina wrote:
> On Fri, 31 May 2019, Josh Poimboeuf wrote:
>
> > > I disagree with that from the backwards compatibility point of view.
> > >
> > > I personally am quite frequently using differnet combinations of
> > > resumer/resumee kernels, and I've never been biten by it so far. I'd guess
> > > I am not the only one.
> > > Fixmap sort of breaks that invariant.
> >
> > Right now there is no backwards compatibility because nosmt resume is
> > already broken.
>
> Yeah, well, but that's "only" for nosmt kernels at least.
>
> > For "future" backwards compatibility we could just define a hard-coded
> > reserved fixmap page address, adjacent to the vsyscall reserved address.
> >
> > Something like this (not yet tested)? Maybe we could also remove the
> > resume_play_dead() hack?
>
> Does it also solve cpuidle case? I have no overview what all the cpuidle
> drivers might be potentially doing in their ->enter_dead() callbacks.
> Rafael?

There are just two of them, ACPI cpuidle and intel_idle, and they both should
be covered.

In any case, I think that this is the way to go here even though it may be somewhat
problematic to start with.

Cheers,
Rafael