Browse Source

Merge branch 'pm-sleep'

* pm-sleep:
  PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
Rafael J. Wysocki 11 years ago
parent
commit
feba070dba
1 changed files with 5 additions and 1 deletions
  1. 5 1
      kernel/power/snapshot.c

+ 5 - 1
kernel/power/snapshot.c

@@ -1402,7 +1402,11 @@ int hibernate_preallocate_memory(void)
 	 * highmem and non-highmem zones separately.
 	 */
 	pages_highmem = preallocate_image_highmem(highmem / 2);
-	alloc = (count - max_size) - pages_highmem;
+	alloc = count - max_size;
+	if (alloc > pages_highmem)
+		alloc -= pages_highmem;
+	else
+		alloc = 0;
 	pages = preallocate_image_memory(alloc, avail_normal);
 	if (pages < alloc) {
 		/* We have exhausted non-highmem pages, try highmem. */