Lines Matching refs:filter
100 static int seccomp_check_filter(struct sock_filter *filter, unsigned int flen) in seccomp_check_filter() argument
104 struct sock_filter *ftest = &filter[pc]; in seccomp_check_filter()
182 lockless_dereference(current->seccomp.filter); in seccomp_run_filters()
272 is_ancestor(thread->seccomp.filter, in seccomp_can_sync_threads()
273 caller->seccomp.filter))) in seccomp_can_sync_threads()
317 smp_store_release(&thread->seccomp.filter, in seccomp_sync_threads()
318 caller->seccomp.filter); in seccomp_sync_threads()
395 struct seccomp_filter *filter = ERR_PTR(-EFAULT); in seccomp_prepare_user_filter() local
403 fprog.filter = compat_ptr(fprog32.filter); in seccomp_prepare_user_filter()
408 filter = seccomp_prepare_filter(&fprog); in seccomp_prepare_user_filter()
410 return filter; in seccomp_prepare_user_filter()
423 struct seccomp_filter *filter) in seccomp_attach_filter() argument
431 total_insns = filter->prog->len; in seccomp_attach_filter()
432 for (walker = current->seccomp.filter; walker; walker = walker->prev) in seccomp_attach_filter()
450 filter->prev = current->seccomp.filter; in seccomp_attach_filter()
451 current->seccomp.filter = filter; in seccomp_attach_filter()
463 struct seccomp_filter *orig = tsk->seccomp.filter; in get_seccomp_filter()
470 static inline void seccomp_filter_free(struct seccomp_filter *filter) in seccomp_filter_free() argument
472 if (filter) { in seccomp_filter_free()
473 bpf_prog_destroy(filter->prog); in seccomp_filter_free()
474 kfree(filter); in seccomp_filter_free()
481 struct seccomp_filter *orig = tsk->seccomp.filter; in put_seccomp_filter()
765 const char __user *filter) in seccomp_set_mode_filter() argument
776 prepared = seccomp_prepare_user_filter(filter); in seccomp_set_mode_filter()
810 const char __user *filter) in seccomp_set_mode_filter() argument
845 long prctl_set_seccomp(unsigned long seccomp_mode, char __user *filter) in prctl_set_seccomp() argument
862 uargs = filter; in prctl_set_seccomp()
876 struct seccomp_filter *filter; in seccomp_get_filter() local
892 filter = task->seccomp.filter; in seccomp_get_filter()
893 while (filter) { in seccomp_get_filter()
894 filter = filter->prev; in seccomp_get_filter()
904 filter = task->seccomp.filter; in seccomp_get_filter()
905 while (filter && count > 1) { in seccomp_get_filter()
906 filter = filter->prev; in seccomp_get_filter()
910 if (WARN_ON(count != 1 || !filter)) { in seccomp_get_filter()
916 fprog = filter->prog->orig_prog; in seccomp_get_filter()
933 if (copy_to_user(data, fprog->filter, bpf_classic_proglen(fprog))) in seccomp_get_filter()