linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Garnier <thgarnie@google.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
	Kees Cook <keescook@chromium.org>,
	Thomas Garnier <thgarnie@google.com>,
	Yinghai Lu <yinghai@kernel.org>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Pavel Machek <pavel@ucw.cz>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, kernel-hardening@lists.openwall.com
Subject: [PATCH v1 0/2] x86/power/64: Make KASLR memory randomization compatible with hibernation
Date: Mon,  1 Aug 2016 10:07:58 -0700	[thread overview]
Message-ID: <1470071280-78706-1-git-send-email-thgarnie@google.com> (raw)

***Background:
KASLR memory randomization for x86_64 was added when KASLR did not support hibernation. Now that it does, some changes are needed.

***Problems that needed solving:
Hibernation was failing on reboot with a GP fault when CONFIG_RANDOMIZE_MEMORY was enabled. Two issues were identified.

The original fault was due to a wrong physical address assigned to cr3. The problem was introduced with __PAGE_OFFSET becoming a global variable when randomized. The fix uses a define to use the glbobal or immediate value based on config settings.

The second isssue was that the temporary page table mapping did not support virtual addresses not aligned on PGD level. KASLR memory randomization will generated a random address aligned on PUD level. The fix correctly calculates the offset on all levels of the temporary page table.

***Parts:
 - 01/02: Support unaligned addresses (second issue)
 - 02/02: Fix __PAGE_OFFSET usage on assembly (first issue)

             reply	other threads:[~2016-08-01 17:08 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-01 17:07 Thomas Garnier [this message]
2016-08-01 17:07 ` [PATCH v1 1/2] x86/power/64: Support unaligned addresses for temporary mapping Thomas Garnier
2016-08-02  0:36   ` Rafael J. Wysocki
2016-08-02 18:01     ` Yinghai Lu
2016-08-02 17:36   ` Yinghai Lu
2016-08-02 17:48     ` Thomas Garnier
2016-08-02 19:55       ` Yinghai Lu
2016-08-03 15:29         ` Thomas Garnier
2016-08-03 18:23         ` [PATCH v2] " Yinghai Lu
2016-08-03 21:28           ` Rafael J. Wysocki
2016-08-07  1:03             ` Rafael J. Wysocki
2016-08-07  4:53               ` Yinghai Lu
2016-08-07 23:23                 ` Rafael J. Wysocki
2016-08-08  7:06                   ` Yinghai Lu
2016-08-08  7:23                     ` Yinghai Lu
2016-08-08 13:16                       ` Rafael J. Wysocki
2016-08-01 17:08 ` [PATCH v1 2/2] x86/power/64: Fix __PAGE_OFFSET usage on restore Thomas Garnier
2016-08-02  0:38   ` Rafael J. Wysocki
2016-08-02 14:34     ` Thomas Garnier
2016-08-02 20:47       ` Rafael J. Wysocki
2016-08-02 20:59         ` Thomas Garnier
2016-08-02 21:08           ` Rafael J. Wysocki
2016-08-02 23:19             ` [PATCH] x86/power/64: Do not refer to __PAGE_OFFSET from assembly code Rafael J. Wysocki
2016-08-05 10:37               ` Pavel Machek
2016-08-05 14:44                 ` Rafael J. Wysocki
2016-08-05 15:21                   ` Thomas Garnier
2016-08-05 23:12                     ` Rafael J. Wysocki
2016-08-06 19:41                       ` Pavel Machek
2016-08-01 23:48 ` [PATCH v1 0/2] x86/power/64: Make KASLR memory randomization compatible with hibernation Rafael J. Wysocki
2016-08-02  0:47   ` 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=1470071280-78706-1-git-send-email-thgarnie@google.com \
    --to=thgarnie@google.com \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pavel@ucw.cz \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).