diff options
-rw-r--r-- | fs/hugetlbfs/inode.c | 3 | ||||
-rw-r--r-- | fs/proc/task_mmu.c | 2 | ||||
-rw-r--r-- | include/linux/hugetlb.h | 6 | ||||
-rw-r--r-- | include/linux/hugetlb_inline.h | 2 | ||||
-rw-r--r-- | include/linux/mm.h | 6 | ||||
-rw-r--r-- | include/linux/mm_types.h | 4 | ||||
-rw-r--r-- | ipc/shm.c | 2 | ||||
-rw-r--r-- | mm/fremap.c | 2 | ||||
-rw-r--r-- | mm/hugetlb.c | 4 | ||||
-rw-r--r-- | mm/memory.c | 2 | ||||
-rw-r--r-- | mm/mlock.c | 8 | ||||
-rw-r--r-- | mm/mmap.c | 8 |
12 files changed, 26 insertions, 23 deletions
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index e7a035781b7d..7aafeb8fa300 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c | |||
@@ -921,7 +921,8 @@ static int can_do_hugetlb_shm(void) | |||
921 | return capable(CAP_IPC_LOCK) || in_group_p(sysctl_hugetlb_shm_group); | 921 | return capable(CAP_IPC_LOCK) || in_group_p(sysctl_hugetlb_shm_group); |
922 | } | 922 | } |
923 | 923 | ||
924 | struct file *hugetlb_file_setup(const char *name, size_t size, int acctflag, | 924 | struct file *hugetlb_file_setup(const char *name, size_t size, |
925 | vm_flags_t acctflag, | ||
925 | struct user_struct **user, int creat_flags) | 926 | struct user_struct **user, int creat_flags) |
926 | { | 927 | { |
927 | int error = -ENOMEM; | 928 | int error = -ENOMEM; |
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 2c9db29ea358..db15935fa757 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c | |||
@@ -211,7 +211,7 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma) | |||
211 | { | 211 | { |
212 | struct mm_struct *mm = vma->vm_mm; | 212 | struct mm_struct *mm = vma->vm_mm; |
213 | struct file *file = vma->vm_file; | 213 | struct file *file = vma->vm_file; |
214 | int flags = vma->vm_flags; | 214 | vm_flags_t flags = vma->vm_flags; |
215 | unsigned long ino = 0; | 215 | unsigned long ino = 0; |
216 | unsigned long long pgoff = 0; | 216 | unsigned long long pgoff = 0; |
217 | unsigned long start, end; | 217 | unsigned long start, end; |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 943c76b3d4bb..cf8931e1dd9d 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
@@ -41,7 +41,7 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, | |||
41 | unsigned long address, unsigned int flags); | 41 | unsigned long address, unsigned int flags); |
42 | int hugetlb_reserve_pages(struct inode *inode, long from, long to, | 42 | int hugetlb_reserve_pages(struct inode *inode, long from, long to, |
43 | struct vm_area_struct *vma, | 43 | struct vm_area_struct *vma, |
44 | int acctflags); | 44 | vm_flags_t vm_flags); |
45 | void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed); | 45 | void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed); |
46 | int dequeue_hwpoisoned_huge_page(struct page *page); | 46 | int dequeue_hwpoisoned_huge_page(struct page *page); |
47 | void copy_huge_page(struct page *dst, struct page *src); | 47 | void copy_huge_page(struct page *dst, struct page *src); |
@@ -168,7 +168,7 @@ static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(struct super_block *sb) | |||
168 | 168 | ||
169 | extern const struct file_operations hugetlbfs_file_operations; | 169 | extern const struct file_operations hugetlbfs_file_operations; |
170 | extern const struct vm_operations_struct hugetlb_vm_ops; | 170 | extern const struct vm_operations_struct hugetlb_vm_ops; |
171 | struct file *hugetlb_file_setup(const char *name, size_t size, int acct, | 171 | struct file *hugetlb_file_setup(const char *name, size_t size, vm_flags_t acct, |
172 | struct user_struct **user, int creat_flags); | 172 | struct user_struct **user, int creat_flags); |
173 | int hugetlb_get_quota(struct address_space *mapping, long delta); | 173 | int hugetlb_get_quota(struct address_space *mapping, long delta); |
174 | void hugetlb_put_quota(struct address_space *mapping, long delta); | 174 | void hugetlb_put_quota(struct address_space *mapping, long delta); |
@@ -192,7 +192,7 @@ static inline void set_file_hugepages(struct file *file) | |||
192 | #define is_file_hugepages(file) 0 | 192 | #define is_file_hugepages(file) 0 |
193 | #define set_file_hugepages(file) BUG() | 193 | #define set_file_hugepages(file) BUG() |
194 | static inline struct file *hugetlb_file_setup(const char *name, size_t size, | 194 | static inline struct file *hugetlb_file_setup(const char *name, size_t size, |
195 | int acctflag, struct user_struct **user, int creat_flags) | 195 | vm_flags_t acctflag, struct user_struct **user, int creat_flags) |
196 | { | 196 | { |
197 | return ERR_PTR(-ENOSYS); | 197 | return ERR_PTR(-ENOSYS); |
198 | } | 198 | } |
diff --git a/include/linux/hugetlb_inline.h b/include/linux/hugetlb_inline.h index 6931489a5c14..2bb681fbeb35 100644 --- a/include/linux/hugetlb_inline.h +++ b/include/linux/hugetlb_inline.h | |||
@@ -7,7 +7,7 @@ | |||
7 | 7 | ||
8 | static inline int is_vm_hugetlb_page(struct vm_area_struct *vma) | 8 | static inline int is_vm_hugetlb_page(struct vm_area_struct *vma) |
9 | { | 9 | { |
10 | return vma->vm_flags & VM_HUGETLB; | 10 | return !!(vma->vm_flags & VM_HUGETLB); |
11 | } | 11 | } |
12 | 12 | ||
13 | #else | 13 | #else |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 8eb969ebf904..fb8e814f78dc 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -165,12 +165,12 @@ extern pgprot_t protection_map[16]; | |||
165 | */ | 165 | */ |
166 | static inline int is_linear_pfn_mapping(struct vm_area_struct *vma) | 166 | static inline int is_linear_pfn_mapping(struct vm_area_struct *vma) |
167 | { | 167 | { |
168 | return (vma->vm_flags & VM_PFN_AT_MMAP); | 168 | return !!(vma->vm_flags & VM_PFN_AT_MMAP); |
169 | } | 169 | } |
170 | 170 | ||
171 | static inline int is_pfn_mapping(struct vm_area_struct *vma) | 171 | static inline int is_pfn_mapping(struct vm_area_struct *vma) |
172 | { | 172 | { |
173 | return (vma->vm_flags & VM_PFNMAP); | 173 | return !!(vma->vm_flags & VM_PFNMAP); |
174 | } | 174 | } |
175 | 175 | ||
176 | /* | 176 | /* |
@@ -1432,7 +1432,7 @@ extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, | |||
1432 | unsigned long flag, unsigned long pgoff); | 1432 | unsigned long flag, unsigned long pgoff); |
1433 | extern unsigned long mmap_region(struct file *file, unsigned long addr, | 1433 | extern unsigned long mmap_region(struct file *file, unsigned long addr, |
1434 | unsigned long len, unsigned long flags, | 1434 | unsigned long len, unsigned long flags, |
1435 | unsigned int vm_flags, unsigned long pgoff); | 1435 | vm_flags_t vm_flags, unsigned long pgoff); |
1436 | 1436 | ||
1437 | static inline unsigned long do_mmap(struct file *file, unsigned long addr, | 1437 | static inline unsigned long do_mmap(struct file *file, unsigned long addr, |
1438 | unsigned long len, unsigned long prot, | 1438 | unsigned long len, unsigned long prot, |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 071d459e866b..6fe96c19f85e 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
@@ -102,6 +102,8 @@ struct page { | |||
102 | #endif | 102 | #endif |
103 | }; | 103 | }; |
104 | 104 | ||
105 | typedef unsigned long __nocast vm_flags_t; | ||
106 | |||
105 | /* | 107 | /* |
106 | * A region containing a mapping of a non-memory backed file under NOMMU | 108 | * A region containing a mapping of a non-memory backed file under NOMMU |
107 | * conditions. These are held in a global tree and are pinned by the VMAs that | 109 | * conditions. These are held in a global tree and are pinned by the VMAs that |
@@ -109,7 +111,7 @@ struct page { | |||
109 | */ | 111 | */ |
110 | struct vm_region { | 112 | struct vm_region { |
111 | struct rb_node vm_rb; /* link in global region tree */ | 113 | struct rb_node vm_rb; /* link in global region tree */ |
112 | unsigned long vm_flags; /* VMA vm_flags */ | 114 | vm_flags_t vm_flags; /* VMA vm_flags */ |
113 | unsigned long vm_start; /* start address of region */ | 115 | unsigned long vm_start; /* start address of region */ |
114 | unsigned long vm_end; /* region initialised to here */ | 116 | unsigned long vm_end; /* region initialised to here */ |
115 | unsigned long vm_top; /* region allocated to here */ | 117 | unsigned long vm_top; /* region allocated to here */ |
@@ -347,7 +347,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) | |||
347 | struct file * file; | 347 | struct file * file; |
348 | char name[13]; | 348 | char name[13]; |
349 | int id; | 349 | int id; |
350 | int acctflag = 0; | 350 | vm_flags_t acctflag = 0; |
351 | 351 | ||
352 | if (size < SHMMIN || size > ns->shm_ctlmax) | 352 | if (size < SHMMIN || size > ns->shm_ctlmax) |
353 | return -EINVAL; | 353 | return -EINVAL; |
diff --git a/mm/fremap.c b/mm/fremap.c index 7f4123056e06..b8e0e2d468af 100644 --- a/mm/fremap.c +++ b/mm/fremap.c | |||
@@ -224,7 +224,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, | |||
224 | /* | 224 | /* |
225 | * drop PG_Mlocked flag for over-mapped range | 225 | * drop PG_Mlocked flag for over-mapped range |
226 | */ | 226 | */ |
227 | unsigned int saved_flags = vma->vm_flags; | 227 | vm_flags_t saved_flags = vma->vm_flags; |
228 | munlock_vma_pages_range(vma, start, start + size); | 228 | munlock_vma_pages_range(vma, start, start + size); |
229 | vma->vm_flags = saved_flags; | 229 | vma->vm_flags = saved_flags; |
230 | } | 230 | } |
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 5fd68b95c671..f33bb319b73f 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -2833,7 +2833,7 @@ void hugetlb_change_protection(struct vm_area_struct *vma, | |||
2833 | int hugetlb_reserve_pages(struct inode *inode, | 2833 | int hugetlb_reserve_pages(struct inode *inode, |
2834 | long from, long to, | 2834 | long from, long to, |
2835 | struct vm_area_struct *vma, | 2835 | struct vm_area_struct *vma, |
2836 | int acctflag) | 2836 | vm_flags_t vm_flags) |
2837 | { | 2837 | { |
2838 | long ret, chg; | 2838 | long ret, chg; |
2839 | struct hstate *h = hstate_inode(inode); | 2839 | struct hstate *h = hstate_inode(inode); |
@@ -2843,7 +2843,7 @@ int hugetlb_reserve_pages(struct inode *inode, | |||
2843 | * attempt will be made for VM_NORESERVE to allocate a page | 2843 | * attempt will be made for VM_NORESERVE to allocate a page |
2844 | * and filesystem quota without using reserves | 2844 | * and filesystem quota without using reserves |
2845 | */ | 2845 | */ |
2846 | if (acctflag & VM_NORESERVE) | 2846 | if (vm_flags & VM_NORESERVE) |
2847 | return 0; | 2847 | return 0; |
2848 | 2848 | ||
2849 | /* | 2849 | /* |
diff --git a/mm/memory.c b/mm/memory.c index b73f677f0bb1..fc24f7d788bd 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -730,7 +730,7 @@ static void print_bad_pte(struct vm_area_struct *vma, unsigned long addr, | |||
730 | add_taint(TAINT_BAD_PAGE); | 730 | add_taint(TAINT_BAD_PAGE); |
731 | } | 731 | } |
732 | 732 | ||
733 | static inline int is_cow_mapping(unsigned int flags) | 733 | static inline int is_cow_mapping(vm_flags_t flags) |
734 | { | 734 | { |
735 | return (flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE; | 735 | return (flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE; |
736 | } | 736 | } |
diff --git a/mm/mlock.c b/mm/mlock.c index 516b2c2ddd5a..048260c4e02e 100644 --- a/mm/mlock.c +++ b/mm/mlock.c | |||
@@ -307,13 +307,13 @@ void munlock_vma_pages_range(struct vm_area_struct *vma, | |||
307 | * For vmas that pass the filters, merge/split as appropriate. | 307 | * For vmas that pass the filters, merge/split as appropriate. |
308 | */ | 308 | */ |
309 | static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct **prev, | 309 | static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct **prev, |
310 | unsigned long start, unsigned long end, unsigned int newflags) | 310 | unsigned long start, unsigned long end, vm_flags_t newflags) |
311 | { | 311 | { |
312 | struct mm_struct *mm = vma->vm_mm; | 312 | struct mm_struct *mm = vma->vm_mm; |
313 | pgoff_t pgoff; | 313 | pgoff_t pgoff; |
314 | int nr_pages; | 314 | int nr_pages; |
315 | int ret = 0; | 315 | int ret = 0; |
316 | int lock = newflags & VM_LOCKED; | 316 | int lock = !!(newflags & VM_LOCKED); |
317 | 317 | ||
318 | if (newflags == vma->vm_flags || (vma->vm_flags & VM_SPECIAL) || | 318 | if (newflags == vma->vm_flags || (vma->vm_flags & VM_SPECIAL) || |
319 | is_vm_hugetlb_page(vma) || vma == get_gate_vma(current->mm)) | 319 | is_vm_hugetlb_page(vma) || vma == get_gate_vma(current->mm)) |
@@ -385,7 +385,7 @@ static int do_mlock(unsigned long start, size_t len, int on) | |||
385 | prev = vma; | 385 | prev = vma; |
386 | 386 | ||
387 | for (nstart = start ; ; ) { | 387 | for (nstart = start ; ; ) { |
388 | unsigned int newflags; | 388 | vm_flags_t newflags; |
389 | 389 | ||
390 | /* Here we know that vma->vm_start <= nstart < vma->vm_end. */ | 390 | /* Here we know that vma->vm_start <= nstart < vma->vm_end. */ |
391 | 391 | ||
@@ -524,7 +524,7 @@ static int do_mlockall(int flags) | |||
524 | goto out; | 524 | goto out; |
525 | 525 | ||
526 | for (vma = current->mm->mmap; vma ; vma = prev->vm_next) { | 526 | for (vma = current->mm->mmap; vma ; vma = prev->vm_next) { |
527 | unsigned int newflags; | 527 | vm_flags_t newflags; |
528 | 528 | ||
529 | newflags = vma->vm_flags | VM_LOCKED; | 529 | newflags = vma->vm_flags | VM_LOCKED; |
530 | if (!(flags & MCL_CURRENT)) | 530 | if (!(flags & MCL_CURRENT)) |
@@ -960,7 +960,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, | |||
960 | { | 960 | { |
961 | struct mm_struct * mm = current->mm; | 961 | struct mm_struct * mm = current->mm; |
962 | struct inode *inode; | 962 | struct inode *inode; |
963 | unsigned int vm_flags; | 963 | vm_flags_t vm_flags; |
964 | int error; | 964 | int error; |
965 | unsigned long reqprot = prot; | 965 | unsigned long reqprot = prot; |
966 | 966 | ||
@@ -1165,7 +1165,7 @@ SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg) | |||
1165 | */ | 1165 | */ |
1166 | int vma_wants_writenotify(struct vm_area_struct *vma) | 1166 | int vma_wants_writenotify(struct vm_area_struct *vma) |
1167 | { | 1167 | { |
1168 | unsigned int vm_flags = vma->vm_flags; | 1168 | vm_flags_t vm_flags = vma->vm_flags; |
1169 | 1169 | ||
1170 | /* If it was private or non-writable, the write bit is already clear */ | 1170 | /* If it was private or non-writable, the write bit is already clear */ |
1171 | if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED))) | 1171 | if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED))) |
@@ -1193,7 +1193,7 @@ int vma_wants_writenotify(struct vm_area_struct *vma) | |||
1193 | * We account for memory if it's a private writeable mapping, | 1193 | * We account for memory if it's a private writeable mapping, |
1194 | * not hugepages and VM_NORESERVE wasn't set. | 1194 | * not hugepages and VM_NORESERVE wasn't set. |
1195 | */ | 1195 | */ |
1196 | static inline int accountable_mapping(struct file *file, unsigned int vm_flags) | 1196 | static inline int accountable_mapping(struct file *file, vm_flags_t vm_flags) |
1197 | { | 1197 | { |
1198 | /* | 1198 | /* |
1199 | * hugetlb has its own accounting separate from the core VM | 1199 | * hugetlb has its own accounting separate from the core VM |
@@ -1207,7 +1207,7 @@ static inline int accountable_mapping(struct file *file, unsigned int vm_flags) | |||
1207 | 1207 | ||
1208 | unsigned long mmap_region(struct file *file, unsigned long addr, | 1208 | unsigned long mmap_region(struct file *file, unsigned long addr, |
1209 | unsigned long len, unsigned long flags, | 1209 | unsigned long len, unsigned long flags, |
1210 | unsigned int vm_flags, unsigned long pgoff) | 1210 | vm_flags_t vm_flags, unsigned long pgoff) |
1211 | { | 1211 | { |
1212 | struct mm_struct *mm = current->mm; | 1212 | struct mm_struct *mm = current->mm; |
1213 | struct vm_area_struct *vma, *prev; | 1213 | struct vm_area_struct *vma, *prev; |