bpf: Change bpf arena to populate vm_area without allocating memory.
vm_area_map_pages() may allocate memory while inserting pages into bpf
arena's vm_area. In order to make bpf_arena_alloc_pages() kfunc
non-sleepable change bpf arena to populate pages without
allocating memory:
- at arena creation time populate all page table levels except
the last level
- when new pages need to be inserted call apply_to_page_range()
again which will only set_pte_at() those pages and will not
allocate memory
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
3 files changed