mm: Change count_mm_mlocked_page_nr return type
Subsystems (2)
PATCH 1/1 mm: Change count_mm_mlocked_page_nr return type
From: swkhack <[email protected]>
In 64-bit machine,the value of "vma->vm_end - vma->vm_start" maybe negative in 32bit int and the "count >> PAGE_SHIFT"'s rusult will be wrong.So change the local variable and return value to unsigned long will fix the problem.
Signed-off-by swkhack <[email protected]>
--- mm/mlock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
mm/mlock.c +2 -2
@@ -636,11 +636,11 @@ static int apply_vma_lock_flags(unsigned long start, size_t len,* is also counted. * Return value: previously mlocked page counts */ -static int count_mm_mlocked_page_nr (struct mm_struct *mm, +static unsigned long count_mm_mlocked_page_nr (struct mm_struct *mm,unsigned long start,size_t len) {struct vm_area_struct *vma; -int count =0 ; +unsigned long count =0 ;if (mm ==NULL ) mm = current->mm;
Signature · 1 line
2.17.1
Quoted 5 lines · Weikang shi
From: swkhack <[email protected]>
In 64-bit machine,the value of "
vma->vm_end-vma->vm_start" maybe negative in 32bit int and the "count >> PAGE_SHIFT"'s rusult
s/rusult/result.
Quoted 29 lines
will be wrong.So change the local variable and return value to unsigned long will fix the problem.
Signed-off-by swkhack <[email protected]>--- mm/mlock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)mm/mlock.c +2
-3@@ -636,11 +636,11 @@ static int apply_vma_lock_flags(unsigned long start, size_t len,* is also counted. * Return value: previously mlocked page counts */ -static int count_mm_mlocked_page_nr (struct mm_struct *mm, +static unsigned long count_mm_mlocked_page_nr (struct mm_struct *mm,unsigned long start,size_t len) {struct vm_area_struct *vma; -int count =0 ; +unsigned long count =0 ;if (mm ==NULL ) mm = current->mm; --2.17.1