mm: hugetlb: fix type of hugetlb_treat_as_movable variable
authorAndrey Ryabinin <a.ryabinin@samsung.com>
Tue, 10 Feb 2015 22:11:36 +0000 (14:11 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Feb 2015 22:30:34 +0000 (14:30 -0800)
hugetlb_treat_as_movable declared as unsigned long, but
proc_dointvec() used for parsing it:

static struct ctl_table vm_table[] = {
...
        {
                .procname = "hugepages_treat_as_movable",
                .data = &hugepages_treat_as_movable,
                .maxlen = sizeof(int),
                .mode = 0644,
                .proc_handler = proc_dointvec,
        },

This seems harmless, but it's better to use int type here.

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/hugetlb.h
mm/hugetlb.c

index 431b7fc605c9bccff38613418dce7b74d3a86d95..7d785635992079219319e144ef044266ce496e33 100644 (file)
@@ -86,7 +86,7 @@ void free_huge_page(struct page *page);
 pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud);
 #endif
 
-extern unsigned long hugepages_treat_as_movable;
+extern int hugepages_treat_as_movable;
 extern int sysctl_hugetlb_shm_group;
 extern struct list_head huge_boot_pages;
 
index 85032de5e20f88bdef36f8fa54b71ae826f53f13..be0e5d0db5ec86b1a16364db0e15ee69f2e2837a 100644 (file)
@@ -35,7 +35,7 @@
 #include <linux/node.h>
 #include "internal.h"
 
-unsigned long hugepages_treat_as_movable;
+int hugepages_treat_as_movable;
 
 int hugetlb_max_hstate __read_mostly;
 unsigned int default_hstate_idx;