All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgenii Shatokhin <eugene.shatokhin@yandex.ru>
To: Kees Cook <keescook@chromium.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: 32-bit x86 system reboots automatically on resume from hibernate (ASLR issue?)
Date: Wed, 22 Mar 2017 15:50:57 +0300	[thread overview]
Message-ID: <58D27331.5050109@yandex.ru> (raw)
In-Reply-To: <CAGXu5jL79O_K_Xs8PfA5DSuohF_ReFA1Dz7sHD6HCdLA1Lcd-g@mail.gmail.com>

On 21.03.2017 23:40, Kees Cook wrote:
> On Tue, Mar 21, 2017 at 6:54 AM, Evgenii Shatokhin
> <eugene.shatokhin@yandex.ru> wrote:
>> Hi,
>>
>> One of my x86 machines with a 32-bit Linux system (ROSA Linux in this case)
>> automatically reboots when it tries to resume from hibernate. This happens
>> shortly after "Image loading progress 100%" message is shown on the screen.
>>
>> No traces of the error are in the system log after reboot though.
>>
>> The problem is present at least in the mainline kernels 4.8 - 4.10. With
>> earlier versions (I tried 4.4, 4.5, etc.), the system resumes OK.
>>
>> The bisection pointed to the following commit as the first "bad" one:
>>
>> commit 65fe935dd2387a4faf15314c73f5e6d31ef0217e
>> Author: Kees Cook <keescook@chromium.org>
>> Date:   Mon Jun 13 15:10:02 2016 -0700
>>
>>      x86/KASLR, x86/power: Remove x86 hibernation restrictions
>
> Hrm, perhaps the 32-bit hibernation code still isn't KASLR-safe. If
> you boot with nokaslr on the kernel command line, does the problem go
> away?

Yes. The problem does not show up when I boot the system with 'nokaslr'.

>
>> Hardware: https://linux-hardware.org/index.php?probe=e6a06c64c7
>> Config used to build the kernel at rev. 65fe935:
>> http://pastebin.com/AxEA6ahb
>>
>> If I understand it correctly, this commit just enabled ASLR by default
>> regardless of whether hibernation support was present or not. Before this
>> commit, ASLR was disabled on that system because hibernation was supported.
>>
>> To check if ASLR is really involved here, I rebuilt the kernel with
>> CONFIG_RANDOMIZE_BASE unset - now the system resumes OK from hibernation, no
>> auto reboots, no other visible problems so far.
>>
>> The problem does not show up in a 64-bit Linux system installed on the same
>> machine. Only the 32-bit system is affected.
>
> (Why would you want to run 32-bit kernels on a 64-bit system?)

Mostly for testing and debugging.

While most of ROSA Linux users are OK with the 64-bit version of the 
distro, some still need its 32-bit variant. They reported (unrelated) 
problems with hibernate. I was debugging these and stumbled upon this 
problem as well.

Regards,
Evgenii

>
> -Kees
>

  reply	other threads:[~2017-03-22 12:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 13:54 32-bit x86 system reboots automatically on resume from hibernate (ASLR issue?) Evgenii Shatokhin
2017-03-21 20:40 ` Kees Cook
2017-03-22 12:50   ` Evgenii Shatokhin [this message]
2017-03-22 18:58     ` Kees Cook
2017-03-22 22:23       ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=58D27331.5050109@yandex.ru \
    --to=eugene.shatokhin@yandex.ru \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.