Searched refs:fprog (Results 1 – 7 of 7) sorted by relevance
| /linux/io_uring/ |
| H A D | bpf_filter.c | 367 struct sock_fprog fprog; in io_register_bpf_filter() 374 fprog.len = reg.filter.filter_len; in io_register_bpf_filter() 375 fprog.filter = u64_to_user_ptr(reg.filter.filter_ptr); in io_register_bpf_filter() 377 ret = bpf_prog_create_from_user(&prog, &fprog, in io_register_bpf_filter() 366 struct sock_fprog fprog; io_register_bpf_filter() local
|
| /linux/include/linux/ |
| H A D | filter.h | 1152 #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 D | filter.c | 1158 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 D | sock.c | 1466 struct sock_fprog fprog; in sk_setsockopt() local 1473 ret = copy_bpf_fprog_from_user(&fprog, optval, optlen); in sk_setsockopt() 1475 ret = sk_attach_filter(&fprog, sk); in sk_setsockopt() 1492 struct sock_fprog fprog; in sk_setsockopt() local 1494 ret = copy_bpf_fprog_from_user(&fprog, optval, optlen); in sk_setsockopt() 1496 ret = sk_reuseport_attach_filter(&fprog, sk); in sk_setsockopt()
|
| /linux/drivers/net/ppp/ |
| H A D | ppp_generic.c | 580 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 D | tun.c | 199 struct sock_fprog fprog; member 755 err = sk_attach_filter(&tun->fprog, tfile->socket.sk); in tun_attach() 3078 ret = sk_attach_filter(&tun->fprog, tfile->socket.sk); in tun_attach_filter() 3427 if (copy_from_user(&tun->fprog, argp, sizeof(tun->fprog))) in __tun_chr_ioctl() 3447 if (copy_to_user(argp, &tun->fprog, sizeof(tun->fprog))) in __tun_chr_ioctl()
|
| /linux/net/packet/ |
| H A D | af_packet.c | 1602 struct sock_fprog fprog; in fanout_set_data_cbpf() local 1608 ret = copy_bpf_fprog_from_user(&fprog, data, len); in fanout_set_data_cbpf() 1612 ret = bpf_prog_create_from_user(&new, &fprog, NULL, false); in fanout_set_data_cbpf()
|