• Jason Wang's avatar
    bpf: cpumap: use GFP_KERNEL instead of GFP_ATOMIC in __cpu_map_entry_alloc() · 7fc17e90
    Jason Wang authored
    There're several implications after commit 0bf7800f ("ptr_ring:
    try vmalloc() when kmalloc() fails") with the using of vmalloc() since
    can't allow GFP_ATOMIC but mandate GFP_KERNEL. This will lead a WARN
    since cpumap try to call with GFP_ATOMIC. Fortunately, entry
    allocation of cpumap can only be done through syscall path which means
    GFP_ATOMIC is not necessary, so fixing this by replacing GFP_ATOMIC
    with GFP_KERNEL.
    
    Reported-by: syzbot+1a240cdb1f4cc88819df@syzkaller.appspotmail.com
    Fixes: 0bf7800f ("ptr_ring: try vmalloc() when kmalloc() fails")
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Jesper Dangaard Brouer <brouer@redhat.com>
    Cc: akpm@linux-foundation.org
    Cc: dhowells@redhat.com
    Cc: hannes@cmpxchg.org
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    Acked-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    7fc17e90
cpumap.c 19.6 KB