Messages in this thread Patch in this message | | | Subject | [PATCH] vmalloc.c: fix lose num_physpages checking | From | "Figo.zhang" <> | Date | Fri, 10 Jul 2009 10:06:44 +0800 |
| |
__get_vm_area_node() lose size (physpages limit) checking, it be called by __get_vm_area() that some drivers called it directly.
Signed-off-by: Figo.zhang <figo1802@gmail.com> --- mm/vmalloc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index f8189a4..99f3aea 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1144,7 +1144,7 @@ static struct vm_struct *__get_vm_area_node(unsigned long size, } size = PAGE_ALIGN(size); - if (unlikely(!size)) + if (unlikely(!size || (size >> PAGE_SHIFT) > num_physpages)) return NULL; area = kmalloc_node(sizeof(*area), gfp_mask & GFP_RECLAIM_MASK, node);
| |