1. 18 Jul, 2018 1 commit
    • Roman Gushchin's avatar
      bpf: bpf_prog_array_alloc() should return a generic non-rcu pointer · d29ab6e1
      Roman Gushchin authored
      Currently the return type of the bpf_prog_array_alloc() is
      struct bpf_prog_array __rcu *, which is not quite correct.
      Obviously, the returned pointer is a generic pointer, which
      is valid for an indefinite amount of time and it's not shared
      with anyone else, so there is no sense in marking it as __rcu.
      
      This change eliminate the following sparse warnings:
      kernel/bpf/core.c:1544:31: warning: incorrect type in return expression (different address spaces)
      kernel/bpf/core.c:1544:31:    expected struct bpf_prog_array [noderef] <asn:4>*
      kernel/bpf/core.c:1544:31:    got void *
      kernel/bpf/core.c:1548:17: warning: incorrect type in return expression (different address spaces)
      kernel/bpf/core.c:1548:17:    expected struct bpf_prog_array [noderef] <asn:4>*
      kernel/bpf/core.c:1548:17:    got struct bpf_prog_array *<noident>
      kernel/bpf/core.c:1681:15: warning: incorrect type in assignment (different address spaces)
      kernel/bpf/core.c:1681:15:    expected struct bpf_prog_array *array
      kernel/bpf/core.c:1681:15:    got struct bpf_prog_array [noderef] <asn:4>*
      
      Fixes: 324bda9e ("bpf: multi program support for cgroup+bpf")
      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 avatarDaniel Borkmann <daniel@iogearbox.net>
      d29ab6e1
  2. 16 Jul, 2018 39 commits