From: Aaron Lu Date: Wed, 6 Nov 2013 00:41:31 +0000 (+0800) Subject: PM / hibernate: Avoid overflow in hibernate_preallocate_memory() X-Git-Tag: v3.13-rc1~96^2~3^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd432b9f8c7c88428a4635b9f5a9c6e174df6e36;p=pandora-kernel.git 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 Cc: All applicable Signed-off-by: Aaron Lu Signed-off-by: Rafael J. Wysocki --- Reading git-diff-tree failed