]> err.no Git - linux-2.6/blobdiff - mm/mmap.c
[PATCH] swap: swap extent list is ordered
[linux-2.6] / mm / mmap.c
index da3fa90a0aae2b9af04ec553209deb6a51b80b48..404319477e71d61679166bc954ed246719affe89 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -143,7 +143,11 @@ int __vm_enough_memory(long pages, int cap_sys_admin)
           leave 3% of the size of this process for other processes */
        allowed -= current->mm->total_vm / 32;
 
-       if (atomic_read(&vm_committed_space) < allowed)
+       /*
+        * cast `allowed' as a signed long because vm_committed_space
+        * sometimes has a negative value
+        */
+       if (atomic_read(&vm_committed_space) < (long)allowed)
                return 0;
 
        vm_unacct_memory(pages);