aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/verifier.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/bpf/verifier.c')
-rw-r--r--kernel/bpf/verifier.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 69ba2251a22b..e206c2181412 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1036,7 +1036,9 @@ static int check_map_func_compatibility(struct bpf_map *map, int func_id)
1036 goto error; 1036 goto error;
1037 break; 1037 break;
1038 case BPF_MAP_TYPE_CGROUP_ARRAY: 1038 case BPF_MAP_TYPE_CGROUP_ARRAY:
1039 goto error; 1039 if (func_id != BPF_FUNC_skb_in_cgroup)
1040 goto error;
1041 break;
1040 default: 1042 default:
1041 break; 1043 break;
1042 } 1044 }
@@ -1056,6 +1058,10 @@ static int check_map_func_compatibility(struct bpf_map *map, int func_id)
1056 if (map->map_type != BPF_MAP_TYPE_STACK_TRACE) 1058 if (map->map_type != BPF_MAP_TYPE_STACK_TRACE)
1057 goto error; 1059 goto error;
1058 break; 1060 break;
1061 case BPF_FUNC_skb_in_cgroup:
1062 if (map->map_type != BPF_MAP_TYPE_CGROUP_ARRAY)
1063 goto error;
1064 break;
1059 default: 1065 default:
1060 break; 1066 break;
1061 } 1067 }