diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-11-19 01:07:08 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-11-19 01:07:08 +0100 |
commit | b38f67c4ae35eb4bcea0bf42a0a18a778a5d04c2 (patch) | |
tree | 16718edcebee40195a12dc01c7037b17c8f619f0 /kernel | |
parent | Merge branch 'pm-cpufreq' (diff) | |
parent | PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps() (diff) | |
download | linux-b38f67c4ae35eb4bcea0bf42a0a18a778a5d04c2.tar.xz linux-b38f67c4ae35eb4bcea0bf42a0a18a778a5d04c2.zip |
Merge branch 'pm-sleep'
* pm-sleep:
PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/snapshot.c | 3 | ||||
-rw-r--r-- | kernel/power/user.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c index 10c22cae83a0..b38109e204af 100644 --- a/kernel/power/snapshot.c +++ b/kernel/power/snapshot.c @@ -792,7 +792,8 @@ void free_basic_memory_bitmaps(void) { struct memory_bitmap *bm1, *bm2; - BUG_ON(!(forbidden_pages_map && free_pages_map)); + if (WARN_ON(!(forbidden_pages_map && free_pages_map))) + return; bm1 = forbidden_pages_map; bm2 = free_pages_map; diff --git a/kernel/power/user.c b/kernel/power/user.c index 24850270c802..98d357584cd6 100644 --- a/kernel/power/user.c +++ b/kernel/power/user.c @@ -70,6 +70,7 @@ static int snapshot_open(struct inode *inode, struct file *filp) data->swap = swsusp_resume_device ? swap_type_of(swsusp_resume_device, 0, NULL) : -1; data->mode = O_RDONLY; + data->free_bitmaps = false; error = pm_notifier_call_chain(PM_HIBERNATION_PREPARE); if (error) pm_notifier_call_chain(PM_POST_HIBERNATION); |