1. 17 Nov, 2018 2 commits
    • Roman Gushchin's avatar
      bpf: allocate local storage buffers using GFP_ATOMIC · 569a933b
      Roman Gushchin authored
      Naresh reported an issue with the non-atomic memory allocation of
      cgroup local storage buffers:
      
      [   73.047526] BUG: sleeping function called from invalid context at
      /srv/oe/build/tmp-rpb-glibc/work-shared/intel-corei7-64/kernel-source/mm/slab.h:421
      [   73.060915] in_atomic(): 1, irqs_disabled(): 0, pid: 3157, name: test_cgroup_sto
      [   73.068342] INFO: lockdep is turned off.
      [   73.072293] CPU: 2 PID: 3157 Comm: test_cgroup_sto Not tainted
      4.20.0-rc2-next-20181113 #1
      [   73.080548] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
      2.0b 07/27/2017
      [   73.088018] Call Trace:
      [   73.090463]  dump_stack+0x70/0xa5
      [   73.093783]  ___might_sleep+0x152/0x240
      [   73.097619]  __might_sleep+0x4a/0x80
      [   73.101191]  __kmalloc_node+0x1cf/0x2f0
      [   73.105031]  ? cgroup_storage_update_elem+0x46/0x90
      [   73.109909]  cgroup_storage_update_elem+0x46/0x90
      
      cgroup_storage_update_elem() (as well as other update map update
      callbacks) is called with disabled preemption, so GFP_ATOMIC
      allocation should be used: e.g. alloc_htab_elem() in hashtab.c.
      Reported-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
      Tested-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
      Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      569a933b
    • Edward Cree's avatar
      bpf: fix off-by-one error in adjust_subprog_starts · afd59424
      Edward Cree authored
      When patching in a new sequence for the first insn of a subprog, the start
       of that subprog does not change (it's the first insn of the sequence), so
       adjust_subprog_starts should check start <= off (rather than < off).
      Also added a test to test_verifier.c (it's essentially the syz reproducer).
      
      Fixes: cc8b0b92 ("bpf: introduce function calls (function boundaries)")
      Reported-by: syzbot+4fc427c7af994b0948be@syzkaller.appspotmail.com
      Signed-off-by: default avatarEdward Cree <ecree@solarflare.com>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      afd59424
  2. 09 Nov, 2018 16 commits
  3. 08 Nov, 2018 8 commits
  4. 07 Nov, 2018 3 commits
  5. 06 Nov, 2018 11 commits