diff options
author | Zhimin Gu <kookoo.gu@intel.com> | 2018-09-21 08:28:11 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-10-03 11:56:34 +0200 |
commit | 32aa276437f6128df63111af13e57fe8f0272af3 (patch) | |
tree | 58a65d9e86baba9db8ba38c66eea8bd0a7d8e3fd /arch/x86/lib/string_32.c | |
parent | x86-32, hibernate: Use the page size macro instead of constant value (diff) | |
download | linux-32aa276437f6128df63111af13e57fe8f0272af3.tar.xz linux-32aa276437f6128df63111af13e57fe8f0272af3.zip |
x86-32, hibernate: Switch to original page table after resumed
After all the pages are restored to previous address, the page
table switches back to current swapper_pg_dir. However the
swapper_pg_dir currently in used might not be consistent with
previous page table, which might cause issue after resume.
Fix this issue by switching to original page table after resume,
and the address of the original page table is saved in the hibernation
image header.
Move the manipulation of restore_cr3 into common code blocks.
Signed-off-by: Zhimin Gu <kookoo.gu@intel.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'arch/x86/lib/string_32.c')
0 files changed, 0 insertions, 0 deletions