Lines Matching refs:fprog

648 static struct seccomp_filter *seccomp_prepare_filter(struct sock_fprog *fprog)  in seccomp_prepare_filter()  argument
659 if (fprog->len == 0 || fprog->len > BPF_MAXINSNS) in seccomp_prepare_filter()
662 BUG_ON(INT_MAX / fprog->len < sizeof(struct sock_filter)); in seccomp_prepare_filter()
680 ret = bpf_prog_create_from_user(&sfilter->prog, fprog, in seccomp_prepare_filter()
703 struct sock_fprog fprog; in seccomp_prepare_user_filter() local
711 fprog.len = fprog32.len; in seccomp_prepare_user_filter()
712 fprog.filter = compat_ptr(fprog32.filter); in seccomp_prepare_user_filter()
715 if (copy_from_user(&fprog, user_filter, sizeof(fprog))) in seccomp_prepare_user_filter()
717 filter = seccomp_prepare_filter(&fprog); in seccomp_prepare_user_filter()
729 static bool seccomp_is_const_allow(struct sock_fprog_kern *fprog, in seccomp_is_const_allow() argument
736 if (WARN_ON_ONCE(!fprog)) in seccomp_is_const_allow()
739 for (pc = 0; pc < fprog->len; pc++) { in seccomp_is_const_allow()
740 struct sock_filter *insn = &fprog->filter[pc]; in seccomp_is_const_allow()
806 struct sock_fprog_kern *fprog = sfilter->prog->orig_prog; in seccomp_cache_prepare_bitmap() local
827 if (seccomp_is_const_allow(fprog, &sd)) in seccomp_cache_prepare_bitmap()
2162 struct sock_fprog_kern *fprog; in seccomp_get_filter() local
2174 fprog = filter->prog->orig_prog; in seccomp_get_filter()
2175 if (!fprog) { in seccomp_get_filter()
2184 ret = fprog->len; in seccomp_get_filter()
2188 if (copy_to_user(data, fprog->filter, bpf_classic_proglen(fprog))) in seccomp_get_filter()