aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mman.h
diff options
context:
space:
mode:
authorAlan Cox <alan@redhat.com>2008-05-23 16:04:31 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-24 12:56:09 -0400
commit80119ef5c8153e0a6cc5edf00c083dc98a9bd348 (patch)
treea2af11a3991b1bebe9d764ab6d4d28891e86eda2 /include/linux/mman.h
parent6c7c6afbb8c0e60d32a563cae7c6889211e9d9d8 (diff)
mm: fix atomic_t overflow in vm
The atomic_t type is 32bit but a 64bit system can have more than 2^32 pages of virtual address space available. Without this we overflow on ludicrously large mappings Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/mman.h')
-rw-r--r--include/linux/mman.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/mman.h b/include/linux/mman.h
index 87920a0852a3..dab8892e6ff1 100644
--- a/include/linux/mman.h
+++ b/include/linux/mman.h
@@ -17,14 +17,14 @@
17 17
18extern int sysctl_overcommit_memory; 18extern int sysctl_overcommit_memory;
19extern int sysctl_overcommit_ratio; 19extern int sysctl_overcommit_ratio;
20extern atomic_t vm_committed_space; 20extern atomic_long_t vm_committed_space;
21 21
22#ifdef CONFIG_SMP 22#ifdef CONFIG_SMP
23extern void vm_acct_memory(long pages); 23extern void vm_acct_memory(long pages);
24#else 24#else
25static inline void vm_acct_memory(long pages) 25static inline void vm_acct_memory(long pages)
26{ 26{
27 atomic_add(pages, &vm_committed_space); 27 atomic_long_add(pages, &vm_committed_space);
28} 28}
29#endif 29#endif
30 30