aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>2011-05-26 06:16:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-26 12:20:31 -0400
commitca16d140af91febe25daeb9e032bf8bd46b8c31f (patch)
treea093c3f244a1bdfc2a50e271a7e6df3324df0f05 /include
parent4db70f73e56961b9bcdfd0c36c62847a18b7dbb5 (diff)
mm: don't access vm_flags as 'int'
The type of vma->vm_flags is 'unsigned long'. Neither 'int' nor 'unsigned int'. This patch fixes such misuse. Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> [ Changed to use a typedef - we'll extend it to cover more cases later, since there has been discussion about making it a 64-bit type.. - Linus ] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/hugetlb.h6
-rw-r--r--include/linux/hugetlb_inline.h2
-rw-r--r--include/linux/mm.h6
-rw-r--r--include/linux/mm_types.h4
4 files changed, 10 insertions, 8 deletions
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);
42int hugetlb_reserve_pages(struct inode *inode, long from, long to, 42int 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);
45void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed); 45void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed);
46int dequeue_hwpoisoned_huge_page(struct page *page); 46int dequeue_hwpoisoned_huge_page(struct page *page);
47void copy_huge_page(struct page *dst, struct page *src); 47void 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
169extern const struct file_operations hugetlbfs_file_operations; 169extern const struct file_operations hugetlbfs_file_operations;
170extern const struct vm_operations_struct hugetlb_vm_ops; 170extern const struct vm_operations_struct hugetlb_vm_ops;
171struct file *hugetlb_file_setup(const char *name, size_t size, int acct, 171struct 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);
173int hugetlb_get_quota(struct address_space *mapping, long delta); 173int hugetlb_get_quota(struct address_space *mapping, long delta);
174void hugetlb_put_quota(struct address_space *mapping, long delta); 174void 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()
194static inline struct file *hugetlb_file_setup(const char *name, size_t size, 194static 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
8static inline int is_vm_hugetlb_page(struct vm_area_struct *vma) 8static 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 */
166static inline int is_linear_pfn_mapping(struct vm_area_struct *vma) 166static 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
171static inline int is_pfn_mapping(struct vm_area_struct *vma) 171static 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);
1433extern unsigned long mmap_region(struct file *file, unsigned long addr, 1433extern 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
1437static inline unsigned long do_mmap(struct file *file, unsigned long addr, 1437static 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
105typedef 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 */
110struct vm_region { 112struct 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 */