diff options
author | David S. Miller <davem@davemloft.net> | 2019-11-25 15:46:58 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-25 15:46:58 -0800 |
commit | 622dc5ad8052f4f0c6b7a12787696a5caa3c6a58 (patch) | |
tree | d869a2aefe3deed534a4bfc35073e93e6d0e2047 /mm | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (diff) | |
parent | libbpf: Fix usage of u32 in userspace code (diff) | |
download | linux-622dc5ad8052f4f0c6b7a12787696a5caa3c6a58.tar.gz linux-622dc5ad8052f4f0c6b7a12787696a5caa3c6a58.tar.bz2 linux-622dc5ad8052f4f0c6b7a12787696a5caa3c6a58.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
Daniel Borkmann says:
====================
pull-request: bpf-next 2019-11-26
The following pull-request contains BPF updates for your *net-next* tree.
We've added 2 non-merge commits during the last 1 day(s) which contain
a total of 2 files changed, 14 insertions(+), 3 deletions(-).
The main changes, 2 small fixes are:
1) Fix libbpf out of tree compilation which complained about unknown u32
type used in libbpf_find_vmlinux_btf_id() which needs to be __u32 instead,
from Andrii Nakryiko.
2) Follow-up fix for the prior BPF mmap series where kbuild bot complained
about missing vmalloc_user_node_flags() for no-MMU, also from Andrii Nakryiko.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/nommu.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/mm/nommu.c b/mm/nommu.c index 99b7ec318824..7de592058ab4 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -155,11 +155,11 @@ void *__vmalloc_node_flags(unsigned long size, int node, gfp_t flags) return __vmalloc(size, flags, PAGE_KERNEL); } -void *vmalloc_user(unsigned long size) +static void *__vmalloc_user_flags(unsigned long size, gfp_t flags) { void *ret; - ret = __vmalloc(size, GFP_KERNEL | __GFP_ZERO, PAGE_KERNEL); + ret = __vmalloc(size, flags, PAGE_KERNEL); if (ret) { struct vm_area_struct *vma; @@ -172,8 +172,19 @@ void *vmalloc_user(unsigned long size) return ret; } + +void *vmalloc_user(unsigned long size) +{ + return __vmalloc_user_flags(size, GFP_KERNEL | __GFP_ZERO); +} EXPORT_SYMBOL(vmalloc_user); +void *vmalloc_user_node_flags(unsigned long size, int node, gfp_t flags) +{ + return __vmalloc_user_flags(size, flags | __GFP_ZERO); +} +EXPORT_SYMBOL(vmalloc_user_node_flags); + struct page *vmalloc_to_page(const void *addr) { return virt_to_page(addr); |