Message ID | 25cc2777f0c1e5603fc8751bff0f36249b018388.1620499942.git.yifeifz2@illinois.edu (mailing list archive) |
---|---|
State | RFC |
Delegated to: | BPF |
Headers | show |
Series | eBPF seccomp filters | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for bpf-next |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | warning | 7 maintainers not CCed: netdev@vger.kernel.org yhs@fb.com kpsingh@kernel.org andrii@kernel.org kafai@fb.com john.fastabend@gmail.com songliubraving@fb.com |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 27 this patch: 27 |
netdev/kdoc | success | Errors and warnings before: 8 this patch: 8 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 24 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 27 this patch: 27 |
netdev/header_inline | success | Link |
diff --git a/kernel/seccomp.c b/kernel/seccomp.c index 8550ae885245..b9ed9951a05b 100644 --- a/kernel/seccomp.c +++ b/kernel/seccomp.c @@ -2441,6 +2441,9 @@ static bool seccomp_is_valid_access(int off, int size, static const struct bpf_func_proto * seccomp_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) { + if (security_seccomp_extended()) + return NULL; + switch (func_id) { case BPF_FUNC_get_current_uid_gid: return &bpf_get_current_uid_gid_proto; @@ -2459,9 +2462,15 @@ seccomp_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) const struct bpf_prog_ops seccomp_prog_ops = { }; +static bool seccomp_map_access(enum bpf_access_type type) +{ + return !security_seccomp_extended(); +} + const struct bpf_verifier_ops seccomp_verifier_ops = { .get_func_proto = seccomp_func_proto, .is_valid_access = seccomp_is_valid_access, + .map_access = seccomp_map_access, }; #endif /* CONFIG_SECCOMP_FILTER_EXTENDED */