Home
last modified time | relevance | path

Searched refs:fprog (Results 1 – 8 of 8) sorted by relevance

/linux/kernel/
H A Dseccomp.c665 * @fprog: BPF program to install
669 static struct seccomp_filter *seccomp_prepare_filter(struct sock_fprog *fprog) in seccomp_prepare_filter() argument
680 if (fprog->len == 0 || fprog->len > BPF_MAXINSNS) in seccomp_prepare_filter()
683 BUG_ON(INT_MAX / fprog->len < sizeof(struct sock_filter)); in seccomp_prepare_filter()
701 ret = bpf_prog_create_from_user(&sfilter->prog, fprog, in seccomp_prepare_filter()
724 struct sock_fprog fprog; in seccomp_prepare_user_filter() local
732 fprog.len = fprog32.len; in seccomp_prepare_user_filter()
733 fprog.filter = compat_ptr(fprog32.filter); in seccomp_prepare_user_filter()
736 if (copy_from_user(&fprog, user_filte in seccomp_prepare_user_filter()
770 seccomp_is_const_allow(struct sock_fprog_kern * fprog,struct seccomp_data * sd) seccomp_is_const_allow() argument
851 struct sock_fprog_kern *fprog = sfilter->prog->orig_prog; seccomp_cache_prepare_bitmap() local
2217 struct sock_fprog_kern *fprog; seccomp_get_filter() local
[all...]
/linux/io_uring/
H A Dbpf_filter.c366 struct sock_fprog fprog; in io_register_bpf_filter() local
373 fprog.len = reg.filter.filter_len; in io_register_bpf_filter()
374 fprog.filter = u64_to_user_ptr(reg.filter.filter_ptr); in io_register_bpf_filter()
376 ret = bpf_prog_create_from_user(&prog, &fprog, in io_register_bpf_filter()
/linux/include/linux/
H A Dfilter.h1152 #define bpf_classic_proglen(fprog) (fprog->len * sizeof(fprog->filter[0])) argument
1215 int bpf_prog_create(struct bpf_prog **pfp, struct sock_fprog_kern *fprog);
1216 int bpf_prog_create_from_user(struct bpf_prog **pfp, struct sock_fprog *fprog,
1220 int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk);
1222 int sk_reuseport_attach_filter(struct sock_fprog *fprog, struct sock *sk);
/linux/net/core/
H A Dfilter.c1158 const struct sock_fprog *fprog) in bpf_prog_store_orig_filter() argument
1160 unsigned int fsize = bpf_classic_proglen(fprog); in bpf_prog_store_orig_filter()
1168 fkprog->len = fprog->len; in bpf_prog_store_orig_filter()
1182 struct sock_fprog_kern *fprog = fp->orig_prog; in bpf_release_orig_filter() local
1184 if (fprog) { in bpf_release_orig_filter()
1185 kfree(fprog->filter); in bpf_release_orig_filter()
1186 kfree(fprog); in bpf_release_orig_filter()
1385 int bpf_prog_create(struct bpf_prog **pfp, struct sock_fprog_kern *fprog) in bpf_prog_create() argument
1387 unsigned int fsize = bpf_classic_proglen(fprog); in bpf_prog_create()
1391 if (!bpf_check_basics_ok(fprog->filter, fprog->len)) in bpf_prog_create()
[all …]
H A Dsock.c1465 struct sock_fprog fprog; in sk_setsockopt() local
1472 ret = copy_bpf_fprog_from_user(&fprog, optval, optlen); in sk_setsockopt()
1474 ret = sk_attach_filter(&fprog, sk); in sk_setsockopt()
1491 struct sock_fprog fprog; in sk_setsockopt() local
1493 ret = copy_bpf_fprog_from_user(&fprog, optval, optlen); in sk_setsockopt()
1495 ret = sk_reuseport_attach_filter(&fprog, sk); in sk_setsockopt()
/linux/drivers/net/ppp/
H A Dppp_generic.c580 struct sock_fprog_kern fprog; in get_filter() local
588 fprog.len = uprog->len; in get_filter()
589 fprog.filter = memdup_array_user(uprog->filter, in get_filter()
591 if (IS_ERR(fprog.filter)) in get_filter()
592 return ERR_CAST(fprog.filter); in get_filter()
594 err = bpf_prog_create(&res, &fprog); in get_filter()
595 kfree(fprog.filter); in get_filter()
/linux/drivers/net/
H A Dtun.c199 struct sock_fprog fprog; member
755 err = sk_attach_filter(&tun->fprog, tfile->socket.sk); in tun_attach()
3073 ret = sk_attach_filter(&tun->fprog, tfile->socket.sk); in tun_attach_filter()
3422 if (copy_from_user(&tun->fprog, argp, sizeof(tun->fprog))) in __tun_chr_ioctl()
3442 if (copy_to_user(argp, &tun->fprog, sizeof(tun->fprog))) in __tun_chr_ioctl()
/linux/net/packet/
H A Daf_packet.c1599 struct sock_fprog fprog; in fanout_set_data_cbpf() local
1605 ret = copy_bpf_fprog_from_user(&fprog, data, len); in fanout_set_data_cbpf()
1609 ret = bpf_prog_create_from_user(&new, &fprog, NULL, false); in fanout_set_data_cbpf()