Lines Matching refs:fprog

639 static struct seccomp_filter *seccomp_prepare_filter(struct sock_fprog *fprog)  in seccomp_prepare_filter()  argument
650 if (fprog->len == 0 || fprog->len > BPF_MAXINSNS) in seccomp_prepare_filter()
653 BUG_ON(INT_MAX / fprog->len < sizeof(struct sock_filter)); in seccomp_prepare_filter()
671 ret = bpf_prog_create_from_user(&sfilter->prog, fprog, in seccomp_prepare_filter()
694 struct sock_fprog fprog; in seccomp_prepare_user_filter() local
702 fprog.len = fprog32.len; in seccomp_prepare_user_filter()
703 fprog.filter = compat_ptr(fprog32.filter); in seccomp_prepare_user_filter()
706 if (copy_from_user(&fprog, user_filter, sizeof(fprog))) in seccomp_prepare_user_filter()
708 filter = seccomp_prepare_filter(&fprog); in seccomp_prepare_user_filter()
720 static bool seccomp_is_const_allow(struct sock_fprog_kern *fprog, in seccomp_is_const_allow() argument
727 if (WARN_ON_ONCE(!fprog)) in seccomp_is_const_allow()
730 for (pc = 0; pc < fprog->len; pc++) { in seccomp_is_const_allow()
731 struct sock_filter *insn = &fprog->filter[pc]; in seccomp_is_const_allow()
797 struct sock_fprog_kern *fprog = sfilter->prog->orig_prog; in seccomp_cache_prepare_bitmap() local
818 if (seccomp_is_const_allow(fprog, &sd)) in seccomp_cache_prepare_bitmap()
2098 struct sock_fprog_kern *fprog; in seccomp_get_filter() local
2110 fprog = filter->prog->orig_prog; in seccomp_get_filter()
2111 if (!fprog) { in seccomp_get_filter()
2120 ret = fprog->len; in seccomp_get_filter()
2124 if (copy_to_user(data, fprog->filter, bpf_classic_proglen(fprog))) in seccomp_get_filter()