|
@@ -1649,6 +1649,9 @@ void *vmap(struct page **pages, unsigned int count,
|
|
|
}
|
|
|
EXPORT_SYMBOL(vmap);
|
|
|
|
|
|
+static void *__vmalloc_node(unsigned long size, unsigned long align,
|
|
|
+ gfp_t gfp_mask, pgprot_t prot,
|
|
|
+ int node, const void *caller);
|
|
|
static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
|
|
|
pgprot_t prot, int node)
|
|
|
{
|
|
@@ -1791,7 +1794,7 @@ fail:
|
|
|
* with mm people.
|
|
|
*
|
|
|
*/
|
|
|
-void *__vmalloc_node(unsigned long size, unsigned long align,
|
|
|
+static void *__vmalloc_node(unsigned long size, unsigned long align,
|
|
|
gfp_t gfp_mask, pgprot_t prot,
|
|
|
int node, const void *caller)
|
|
|
{
|
|
@@ -1806,6 +1809,20 @@ void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot)
|
|
|
}
|
|
|
EXPORT_SYMBOL(__vmalloc);
|
|
|
|
|
|
+static inline void *__vmalloc_node_flags(unsigned long size,
|
|
|
+ int node, gfp_t flags)
|
|
|
+{
|
|
|
+ return __vmalloc_node(size, 1, flags, PAGE_KERNEL,
|
|
|
+ node, __builtin_return_address(0));
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags,
|
|
|
+ void *caller)
|
|
|
+{
|
|
|
+ return __vmalloc_node(size, 1, flags, PAGE_KERNEL, node, caller);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* vmalloc - allocate virtually contiguous memory
|
|
|
* @size: allocation size
|