diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-11-07 13:26:55 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-11-07 13:26:55 -0500 |
commit | feba070dbac6f7b477570e590a7dc960b7b0f784 (patch) | |
tree | 44e25aa2755ca2e54624e6ff20155a237451d688 /kernel/power | |
parent | 15d4cb9013ab7cdf10760aeabd07b007d635b321 (diff) | |
parent | fd432b9f8c7c88428a4635b9f5a9c6e174df6e36 (diff) |
Merge branch 'pm-sleep'
* pm-sleep:
PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/snapshot.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c index 98c3b34a4cff..10c22cae83a0 100644 --- a/kernel/power/snapshot.c +++ b/kernel/power/snapshot.c | |||
@@ -1402,7 +1402,11 @@ int hibernate_preallocate_memory(void) | |||
1402 | * highmem and non-highmem zones separately. | 1402 | * highmem and non-highmem zones separately. |
1403 | */ | 1403 | */ |
1404 | pages_highmem = preallocate_image_highmem(highmem / 2); | 1404 | pages_highmem = preallocate_image_highmem(highmem / 2); |
1405 | alloc = (count - max_size) - pages_highmem; | 1405 | alloc = count - max_size; |
1406 | if (alloc > pages_highmem) | ||
1407 | alloc -= pages_highmem; | ||
1408 | else | ||
1409 | alloc = 0; | ||
1406 | pages = preallocate_image_memory(alloc, avail_normal); | 1410 | pages = preallocate_image_memory(alloc, avail_normal); |
1407 | if (pages < alloc) { | 1411 | if (pages < alloc) { |
1408 | /* We have exhausted non-highmem pages, try highmem. */ | 1412 | /* We have exhausted non-highmem pages, try highmem. */ |