On 1/31/22 12:46 PM, Hou Tao wrote:
Now the ringbuf area in /proc/vmallocinfo is showed as vmalloc,
but VM_ALLOC is only used for vmalloc(), and for the ringbuf area
it is created by mapping allocated pages, so use VM_MAP instead.
After the change, ringbuf info in /proc/vmallocinfo will changed from:
[start]-[end] 24576 ringbuf_map_alloc+0x171/0x290 vmalloc user
to
[start]-[end] 24576 ringbuf_map_alloc+0x171/0x290 vmap user
Could you elaborate in the commit msg if this also has some other internal
effect aside from the /proc/vmallocinfo listing? Thanks!
Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx>
---
kernel/bpf/ringbuf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/bpf/ringbuf.c b/kernel/bpf/ringbuf.c
index 638d7fd7b375..710ba9de12ce 100644
--- a/kernel/bpf/ringbuf.c
+++ b/kernel/bpf/ringbuf.c
@@ -104,7 +104,7 @@ static struct bpf_ringbuf *bpf_ringbuf_area_alloc(size_t data_sz, int numa_node)
}
rb = vmap(pages, nr_meta_pages + 2 * nr_data_pages,
- VM_ALLOC | VM_USERMAP, PAGE_KERNEL);
+ VM_MAP | VM_USERMAP, PAGE_KERNEL);
if (rb) {
kmemleak_not_leak(pages);
rb->pages = pages;