Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Daniel Borkmann says: ==================== pull-request: bpf 2018-10-27 The following pull-request contains BPF updates for your *net* tree. The main changes are: 1) Fix toctou race in BTF header validation, from Martin and Wenwen. 2) Fix devmap interface comparison in notifier call which was neglecting netns, from Taehee. 3) Several fixes in various places, for example, correcting direct packet access and helper function availability, from Daniel. 4) Fix BPF kselftest config fragment to include af_xdp and sockmap, from Naresh. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -20,3 +20,5 @@ CONFIG_VXLAN=y
|
||||
CONFIG_GENEVE=y
|
||||
CONFIG_NET_CLS_FLOWER=m
|
||||
CONFIG_LWTUNNEL=y
|
||||
CONFIG_BPF_STREAM_PARSER=y
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
|
@@ -4891,6 +4891,8 @@ static struct bpf_test tests[] = {
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.result = ACCEPT,
|
||||
.result_unpriv = REJECT,
|
||||
.errstr_unpriv = "invalid bpf_context access off=76 size=4",
|
||||
.prog_type = BPF_PROG_TYPE_CGROUP_SKB,
|
||||
},
|
||||
{
|
||||
@@ -5146,6 +5148,7 @@ static struct bpf_test tests[] = {
|
||||
.fixup_cgroup_storage = { 1 },
|
||||
.result = REJECT,
|
||||
.errstr = "get_local_storage() doesn't support non-zero flags",
|
||||
.errstr_unpriv = "R2 leaks addr into helper function",
|
||||
.prog_type = BPF_PROG_TYPE_CGROUP_SKB,
|
||||
},
|
||||
{
|
||||
@@ -5261,6 +5264,7 @@ static struct bpf_test tests[] = {
|
||||
.fixup_percpu_cgroup_storage = { 1 },
|
||||
.result = REJECT,
|
||||
.errstr = "get_local_storage() doesn't support non-zero flags",
|
||||
.errstr_unpriv = "R2 leaks addr into helper function",
|
||||
.prog_type = BPF_PROG_TYPE_CGROUP_SKB,
|
||||
},
|
||||
{
|
||||
@@ -14050,6 +14054,13 @@ static void get_unpriv_disabled()
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
static bool test_as_unpriv(struct bpf_test *test)
|
||||
{
|
||||
return !test->prog_type ||
|
||||
test->prog_type == BPF_PROG_TYPE_SOCKET_FILTER ||
|
||||
test->prog_type == BPF_PROG_TYPE_CGROUP_SKB;
|
||||
}
|
||||
|
||||
static int do_test(bool unpriv, unsigned int from, unsigned int to)
|
||||
{
|
||||
int i, passes = 0, errors = 0, skips = 0;
|
||||
@@ -14060,10 +14071,10 @@ static int do_test(bool unpriv, unsigned int from, unsigned int to)
|
||||
/* Program types that are not supported by non-root we
|
||||
* skip right away.
|
||||
*/
|
||||
if (!test->prog_type && unpriv_disabled) {
|
||||
if (test_as_unpriv(test) && unpriv_disabled) {
|
||||
printf("#%d/u %s SKIP\n", i, test->descr);
|
||||
skips++;
|
||||
} else if (!test->prog_type) {
|
||||
} else if (test_as_unpriv(test)) {
|
||||
if (!unpriv)
|
||||
set_admin(false);
|
||||
printf("#%d/u %s ", i, test->descr);
|
||||
|
Verwijs in nieuw issue
Block a user