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>
This commit is contained in:
committed by
Linus Torvalds
parent
4db70f73e5
commit
ca16d140af
@@ -307,13 +307,13 @@ void munlock_vma_pages_range(struct vm_area_struct *vma,
|
||||
* For vmas that pass the filters, merge/split as appropriate.
|
||||
*/
|
||||
static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct **prev,
|
||||
unsigned long start, unsigned long end, unsigned int newflags)
|
||||
unsigned long start, unsigned long end, vm_flags_t newflags)
|
||||
{
|
||||
struct mm_struct *mm = vma->vm_mm;
|
||||
pgoff_t pgoff;
|
||||
int nr_pages;
|
||||
int ret = 0;
|
||||
int lock = newflags & VM_LOCKED;
|
||||
int lock = !!(newflags & VM_LOCKED);
|
||||
|
||||
if (newflags == vma->vm_flags || (vma->vm_flags & VM_SPECIAL) ||
|
||||
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)
|
||||
prev = vma;
|
||||
|
||||
for (nstart = start ; ; ) {
|
||||
unsigned int newflags;
|
||||
vm_flags_t newflags;
|
||||
|
||||
/* Here we know that vma->vm_start <= nstart < vma->vm_end. */
|
||||
|
||||
@@ -524,7 +524,7 @@ static int do_mlockall(int flags)
|
||||
goto out;
|
||||
|
||||
for (vma = current->mm->mmap; vma ; vma = prev->vm_next) {
|
||||
unsigned int newflags;
|
||||
vm_flags_t newflags;
|
||||
|
||||
newflags = vma->vm_flags | VM_LOCKED;
|
||||
if (!(flags & MCL_CURRENT))
|
||||
|
Reference in New Issue
Block a user