Aaron Lu fd432b9f8c PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
When system has a lot of highmem (e.g. 16GiB using a 32 bits kernel),
the code to calculate how much memory we need to preallocate in
normal zone may cause overflow. As Leon has analysed:

 It looks that during computing 'alloc' variable there is overflow:
 alloc = (3943404 - 1970542) - 1978280 = -5418 (signed)
 And this function goes to err_out.

Fix this by avoiding that overflow.

References: https://bugzilla.kernel.org/show_bug.cgi?id=60817
Reported-and-tested-by: Leon Drugi <eyak@wp.pl>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-11-07 01:58:39 +01:00
..
2013-10-04 09:58:53 +02:00
2013-09-13 15:09:52 +02:00
2013-04-22 07:09:06 -07:00
2013-09-09 11:19:09 -07:00
2013-06-25 23:11:19 +02:00
2012-12-20 17:40:19 -08:00
2013-09-11 15:59:10 -07:00
2013-09-13 15:09:52 +02:00
2013-05-05 00:16:35 -04:00
2013-09-11 15:58:27 -07:00
2013-04-29 13:55:38 -07:00