Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1442911

Re: [PATCH] PM / hibernate: Introduce snapshot test mode for hibernation

From "Rafael J. Wysocki" <rafael@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH] PM / hibernate: Introduce snapshot test mode for hibernation
Date 2016-07-14 00:20 +0200
Message-ID <rUAFz-Ll-5@gated-at.bofh.it> (permalink)
References (6 earlier) <rUyDM-7RI-31@gated-at.bofh.it> <rUyX7-7ZC-11@gated-at.bofh.it> <rUzgu-87F-31@gated-at.bofh.it> <rUAcx-ja-1@gated-at.bofh.it> <rUAvT-Hu-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Jul 14, 2016 at 12:00 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
> On Wed, Jul 13, 2016 at 11:45 PM, Pavel Machek <pavel@ucw.cz> wrote:
>> On Wed 2016-07-13 22:44:24, Rafael J. Wysocki wrote:
>>> On Wed, Jul 13, 2016 at 10:26 PM, Pavel Machek <pavel@ucw.cz> wrote:
>>> > On Wed 2016-07-13 22:04:27, Rafael J. Wysocki wrote:
>>> >> On Wed, Jul 13, 2016 at 7:01 PM, Pavel Machek <pavel@ucw.cz> wrote:
>>> >> > Hi!
>>> >> >
>>> >> >> >>and then swapon the swap device, and do a testing. This should be safer?
>>> >> >> >Yeah, that's the way. Read-only root is other option.
>>> >> >> >
>>> >> >> >>>I guess updating documentation would be welcome from my side,
>>> >> >> >>>otherwise it should be ok.
>>> >> >> >>OK, I'll  update the documents.
>>> >> >> >Just add fat warning into the documentation.
>>> >> >> OK.
>>> >> >
>>> >> > Actually... If you could add
>>> >> >
>>> >> > printk(KERN_ALERT "Hibernation image written. If you have any
>>> >> > filesystems mounted read-write and attempt to resume, you'll corrupt
>>> >> > your data. To prevent that, remove the hibernation image.\n")
>>> >> >
>>> >> > ...I guess that would save someone's filesystem. (Yes, very high
>>> >> > loglevel. If you attempt to do this from anything else then singleuser
>>> >> > or initrd, you are asking for problems, so... lets make sure user sees
>>> >> > it.)
>>> >>
>>> >> Please see the new version of this patch:
>>> >> https://patchwork.kernel.org/patch/9226837/
>>> >
>>> > New version changes nothing, right? You still need to be sure
>>> > filesystems are not mounted r/w. So I would still like to see printk()
>>> > with warning.
>>>
>>> It shouldn't matter how they are mounted, because the contents of
>>> persistent storage don't change.
>>
>> @@ -721,6 +724,9 @@  int hibernate(void)
>>    atomic_inc(&snapshot_device_available);
>>      Unlock:
>>         unlock_system_sleep();
>>         +       if (snapshot_test)
>>         +          software_resume();
>>         +
>>                 return error;
>>                  }
>>
>> Aha, I see, immediate wakeup here. Makes sense. ... ...
>>
>> No.
>>
>> AFAICT, freezer is used in hibernation_snapshot, which means at
>> Unlock:, kernel threads are running; software_resume() freezes them
>> again, but they had chance to run and potentially corrupt the
>> persistent storage... right?
>
> OK, there is a bug.
>
> The thawing of user space is potentially dangerous, so in the
> "snapshot" test mode hibernate() should just call
> free_basic_memory_bitmaps() and from there invoke the code below the
> Check_image label in software_resume(), roughly.

Or rather call free_basic_memory_bitmaps() and
unlock_device_hotplug(), then do swsusp_check() and invoke the code
starting with the "PM: Loading hibernation image.\n" message in
software_resume().

Thanks,
Rafael

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Pavel Machek <pavel@ucw.cz> - 2016-07-13 12:00 +0200
  Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Chen Yu <yu.c.chen@intel.com> - 2016-07-13 12:20 +0200
    Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Pavel Machek <pavel@ucw.cz> - 2016-07-13 12:30 +0200
      Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Chen Yu <yu.c.chen@intel.com> - 2016-07-13 12:40 +0200
        Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Pavel Machek <pavel@ucw.cz> - 2016-07-13 19:10 +0200
          Re: [PATCH] PM / hibernate: Introduce snapshot test mode for hibernation "Rafael J. Wysocki" <rafael@kernel.org> - 2016-07-13 22:10 +0200
            Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Pavel Machek <pavel@ucw.cz> - 2016-07-13 22:30 +0200
              Re: [PATCH] PM / hibernate: Introduce snapshot test mode for hibernation "Rafael J. Wysocki" <rafael@kernel.org> - 2016-07-13 22:50 +0200
                Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Pavel Machek <pavel@ucw.cz> - 2016-07-13 23:50 +0200
                Re: [PATCH] PM / hibernate: Introduce snapshot test mode for hibernation "Rafael J. Wysocki" <rafael@kernel.org> - 2016-07-14 00:10 +0200
                Re: [PATCH] PM / hibernate: Introduce snapshot test mode for hibernation "Rafael J. Wysocki" <rafael@kernel.org> - 2016-07-14 00:20 +0200
                Re: [PATCH] PM / hibernate: Introduce snapshot test mode for  hibernation Chen Yu <yu.c.chen@intel.com> - 2016-07-14 12:40 +0200

csiph-web