Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
  • linux
  • kernel
  • bpf
  • devmap.c
Find file BlameHistoryPermalink
  • Daniel Borkmann's avatar
    bpf: fix splat for illegal devmap percpu allocation · 82f8dd28
    Daniel Borkmann authored Oct 17, 2017
    It was reported that syzkaller was able to trigger a splat on
    devmap percpu allocation due to illegal/unsupported allocation
    request size passed to __alloc_percpu():
    
      [   70.094249] illegal size (32776) or align (8) for percpu allocation
      [   70.094256] ------------[ cut here ]------------
      [   70.094259] WARNING: CPU: 3 PID: 3451 at mm/percpu.c:1365 pcpu_alloc+0x96/0x630
      [...]
      [   70.094325] Call Trace:
      [   70.094328]  __alloc_percpu_gfp+0x12/0x20
      [   70.094330]  dev_map_alloc+0x134/0x1e0
      [   70.094331]  SyS_bpf+0x9bc/0x1610
      [   70.094333]  ? selinux_task_setrlimit+0x5a/0x60
      [   70.094334]  ? security_task_setrlimit+0x43/0x60
      [   70.094336]  entry_SYSCALL_64_fastpath+0x1a/0xa5
    
    This was due to too large max_entries for the map such that we
    surpassed the upper limit of PCPU_MIN_UNIT_SIZE. It's fine to
    fail naturally here, so switch to __alloc_percpu_gfp() and pass
    __GFP_NOWARN instead.
    
    Fixes: 11393cc9
    
     ("xdp: Add batching support to redirect map")
    Reported-by: default avatarMark Rutland <mark.rutland@arm.com>
    Reported-by: default avatarShankara Pailoor <sp3485@columbia.edu>
    Reported-by: default avatarRichard Weinberger <richard@nod.at>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Cc: John Fastabend <john.fastabend@gmail.com>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    82f8dd28
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7