Merge branch 'resolve_prog_type'
authorAlexei Starovoitov <ast@kernel.org>
Wed, 26 Aug 2020 19:47:57 +0000 (12:47 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 26 Aug 2020 19:50:36 +0000 (12:50 -0700)
commit1fc0e18b6e06cbc174a814d8fe69d37212287d1f
tree9c85e9701630619b177f54108794bed961bd1b93
parent7100ff7c62682c2332300ffde8706578e1098e13
parent1410620cf20e7e23cce17983e9a81af659b28583
Merge branch 'resolve_prog_type'

Udip Pant says:

====================
This patch series adds changes in verifier to make decisions such as granting
of read / write access or enforcement of return code status based on
the program type of the target program while using dynamic program
extension (of type BPF_PROG_TYPE_EXT).

The BPF_PROG_TYPE_EXT type can be used to extend types such as XDP, SKB
and others. Since the BPF_PROG_TYPE_EXT program type on itself is just a
placeholder for those, we need this extended check for those extended
programs to actually work with proper access, while using this option.

Patch #1 includes changes in the verifier.
Patch #2 adds selftests to verify write access on a packet for a valid
extension program type
Patch #3 adds selftests to verify proper check for the return code
Patch #4 adds selftests to ensure access permissions and restrictions
for some map types such sockmap.

Changelogs:
  v2 -> v3:
    * more comprehensive resolution of the program type in the verifier
      based on the target program (and not just for the packet access)
    * selftests for checking return code and map access
    * Also moved this patch to 'bpf-next' from 'bpf' tree
  v1 -> v2:
    * extraction of the logic to resolve prog type into a separate method
    * selftests to check for packet access for a valid freplace prog
====================

Acked-by: Yonghong Song <yhs@fb.com>
Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>