On Mon, Jun 6, 2022 at 11:45 AM Vasily Averin <vvs@xxxxxxxxxx> wrote: > [...] > > As far as I understand this report means that 'init_net' have incorrect > virtual address on arm64. So, the two call stacks tell the addresses belong to the kernel modules (nfnetlink and nf_tables) whose underlying memory is allocated through vmalloc and virt_to_page() does not work on vmalloc() addresses. > > Roman, Shakeel, I need your help > > Should we perhaps verify kaddr via virt_addr_valid() before using virt_to_page() > If so, where it should be checked? I think virt_addr_valid() check in mem_cgroup_from_obj() should work but I think it is expensive on the arm64 platform. The cheaper and a bit hacky way to avoid such addresses is to directly use is_vmalloc_addr() directly.