diff options
author | Petr Holasek <pholasek@redhat.com> | 2011-03-22 19:33:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-22 20:44:04 -0400 |
commit | c033a93c0d961fc7ec5b0872649143e061d97dd4 (patch) | |
tree | 06d037d837bb493b08e306a605b393c9f67d175f /mm | |
parent | 8afdcece4911e51cfff2b50a269418914cab8a3f (diff) |
hugetlbfs: correct handling of negative input to /proc/sys/vm/nr_hugepages
When the user inserts a negative value into /proc/sys/vm/nr_hugepages it
will cause the kernel to allocate as many hugepages as possible and to
then update /proc/meminfo to reflect this.
This changes the behavior so that the negative input will result in
nr_hugepages value being unchanged.
Signed-off-by: Petr Holasek <pholasek@redhat.com>
Signed-off-by: Anton Arapov <anton@redhat.com>
Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Acked-by: Eric B Munson <emunson@mgebm.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/hugetlb.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index bb0b7c128015..06de5aa4d644 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -1872,8 +1872,7 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy, | |||
1872 | unsigned long tmp; | 1872 | unsigned long tmp; |
1873 | int ret; | 1873 | int ret; |
1874 | 1874 | ||
1875 | if (!write) | 1875 | tmp = h->max_huge_pages; |
1876 | tmp = h->max_huge_pages; | ||
1877 | 1876 | ||
1878 | if (write && h->order >= MAX_ORDER) | 1877 | if (write && h->order >= MAX_ORDER) |
1879 | return -EINVAL; | 1878 | return -EINVAL; |
@@ -1938,8 +1937,7 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write, | |||
1938 | unsigned long tmp; | 1937 | unsigned long tmp; |
1939 | int ret; | 1938 | int ret; |
1940 | 1939 | ||
1941 | if (!write) | 1940 | tmp = h->nr_overcommit_huge_pages; |
1942 | tmp = h->nr_overcommit_huge_pages; | ||
1943 | 1941 | ||
1944 | if (write && h->order >= MAX_ORDER) | 1942 | if (write && h->order >= MAX_ORDER) |
1945 | return -EINVAL; | 1943 | return -EINVAL; |