fprog             762 drivers/net/ppp/ppp_generic.c 			struct sock_fprog_kern fprog = {
fprog             768 drivers/net/ppp/ppp_generic.c 			if (fprog.filter)
fprog             769 drivers/net/ppp/ppp_generic.c 				err = bpf_prog_create(&pass_filter, &fprog);
fprog             788 drivers/net/ppp/ppp_generic.c 			struct sock_fprog_kern fprog = {
fprog             794 drivers/net/ppp/ppp_generic.c 			if (fprog.filter)
fprog             795 drivers/net/ppp/ppp_generic.c 				err = bpf_prog_create(&active_filter, &fprog);
fprog             263 drivers/net/team/team_mode_loadbalance.c 	struct sock_fprog_kern *fprog;
fprog             268 drivers/net/team/team_mode_loadbalance.c 	fprog = kmalloc(sizeof(*fprog), GFP_KERNEL);
fprog             269 drivers/net/team/team_mode_loadbalance.c 	if (!fprog)
fprog             271 drivers/net/team/team_mode_loadbalance.c 	fprog->filter = kmemdup(filter, data_len, GFP_KERNEL);
fprog             272 drivers/net/team/team_mode_loadbalance.c 	if (!fprog->filter) {
fprog             273 drivers/net/team/team_mode_loadbalance.c 		kfree(fprog);
fprog             276 drivers/net/team/team_mode_loadbalance.c 	fprog->len = data_len / sizeof(struct sock_filter);
fprog             277 drivers/net/team/team_mode_loadbalance.c 	*pfprog = fprog;
fprog             281 drivers/net/team/team_mode_loadbalance.c static void __fprog_destroy(struct sock_fprog_kern *fprog)
fprog             283 drivers/net/team/team_mode_loadbalance.c 	kfree(fprog->filter);
fprog             284 drivers/net/team/team_mode_loadbalance.c 	kfree(fprog);
fprog             292 drivers/net/team/team_mode_loadbalance.c 	struct sock_fprog_kern *fprog = NULL;
fprog             296 drivers/net/team/team_mode_loadbalance.c 		err = __fprog_create(&fprog, ctx->data.bin_val.len,
fprog             300 drivers/net/team/team_mode_loadbalance.c 		err = bpf_prog_create(&fp, fprog);
fprog             302 drivers/net/team/team_mode_loadbalance.c 			__fprog_destroy(fprog);
fprog             315 drivers/net/team/team_mode_loadbalance.c 	lb_priv->ex->orig_fprog = fprog;
fprog             225 drivers/net/tun.c 	struct sock_fprog	fprog;
fprog             819 drivers/net/tun.c 		err = sk_attach_filter(&tun->fprog, tfile->socket.sk);
fprog            2959 drivers/net/tun.c 		ret = sk_attach_filter(&tun->fprog, tfile->socket.sk);
fprog            3302 drivers/net/tun.c 		if (copy_from_user(&tun->fprog, argp, sizeof(tun->fprog)))
fprog            3322 drivers/net/tun.c 		if (copy_to_user(argp, &tun->fprog, sizeof(tun->fprog)))
fprog             769 include/linux/filter.h #define bpf_classic_proglen(fprog) (fprog->len * sizeof(fprog->filter[0]))
fprog             829 include/linux/filter.h int bpf_prog_create(struct bpf_prog **pfp, struct sock_fprog_kern *fprog);
fprog             830 include/linux/filter.h int bpf_prog_create_from_user(struct bpf_prog **pfp, struct sock_fprog *fprog,
fprog             834 include/linux/filter.h int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk);
fprog             836 include/linux/filter.h int sk_reuseport_attach_filter(struct sock_fprog *fprog, struct sock *sk);
fprog             430 kernel/seccomp.c static struct seccomp_filter *seccomp_prepare_filter(struct sock_fprog *fprog)
fprog             436 kernel/seccomp.c 	if (fprog->len == 0 || fprog->len > BPF_MAXINSNS)
fprog             439 kernel/seccomp.c 	BUG_ON(INT_MAX / fprog->len < sizeof(struct sock_filter));
fprog             458 kernel/seccomp.c 	ret = bpf_prog_create_from_user(&sfilter->prog, fprog,
fprog             479 kernel/seccomp.c 	struct sock_fprog fprog;
fprog             487 kernel/seccomp.c 		fprog.len = fprog32.len;
fprog             488 kernel/seccomp.c 		fprog.filter = compat_ptr(fprog32.filter);
fprog             491 kernel/seccomp.c 	if (copy_from_user(&fprog, user_filter, sizeof(fprog)))
fprog             493 kernel/seccomp.c 	filter = seccomp_prepare_filter(&fprog);
fprog            1504 kernel/seccomp.c 	struct sock_fprog_kern *fprog;
fprog            1516 kernel/seccomp.c 	fprog = filter->prog->orig_prog;
fprog            1517 kernel/seccomp.c 	if (!fprog) {
fprog            1526 kernel/seccomp.c 	ret = fprog->len;
fprog            1530 kernel/seccomp.c 	if (copy_to_user(data, fprog->filter, bpf_classic_proglen(fprog)))
fprog            6583 lib/test_bpf.c 	struct sock_fprog_kern fprog;
fprog            6588 lib/test_bpf.c 		fprog.filter = fptr;
fprog            6589 lib/test_bpf.c 		fprog.len = flen;
fprog            6591 lib/test_bpf.c 		*err = bpf_prog_create(&fp, &fprog);
fprog            6609 lib/test_bpf.c 				*err, fprog.len);
fprog            1111 net/core/filter.c 				      const struct sock_fprog *fprog)
fprog            1113 net/core/filter.c 	unsigned int fsize = bpf_classic_proglen(fprog);
fprog            1121 net/core/filter.c 	fkprog->len = fprog->len;
fprog            1135 net/core/filter.c 	struct sock_fprog_kern *fprog = fp->orig_prog;
fprog            1137 net/core/filter.c 	if (fprog) {
fprog            1138 net/core/filter.c 		kfree(fprog->filter);
fprog            1139 net/core/filter.c 		kfree(fprog);
fprog            1338 net/core/filter.c int bpf_prog_create(struct bpf_prog **pfp, struct sock_fprog_kern *fprog)
fprog            1340 net/core/filter.c 	unsigned int fsize = bpf_classic_proglen(fprog);
fprog            1344 net/core/filter.c 	if (!bpf_check_basics_ok(fprog->filter, fprog->len))
fprog            1347 net/core/filter.c 	fp = bpf_prog_alloc(bpf_prog_size(fprog->len), 0);
fprog            1351 net/core/filter.c 	memcpy(fp->insns, fprog->filter, fsize);
fprog            1353 net/core/filter.c 	fp->len = fprog->len;
fprog            1383 net/core/filter.c int bpf_prog_create_from_user(struct bpf_prog **pfp, struct sock_fprog *fprog,
fprog            1386 net/core/filter.c 	unsigned int fsize = bpf_classic_proglen(fprog);
fprog            1391 net/core/filter.c 	if (!bpf_check_basics_ok(fprog->filter, fprog->len))
fprog            1394 net/core/filter.c 	fp = bpf_prog_alloc(bpf_prog_size(fprog->len), 0);
fprog            1398 net/core/filter.c 	if (copy_from_user(fp->insns, fprog->filter, fsize)) {
fprog            1403 net/core/filter.c 	fp->len = fprog->len;
fprog            1407 net/core/filter.c 		err = bpf_prog_store_orig_filter(fp, fprog);
fprog            1459 net/core/filter.c struct bpf_prog *__get_filter(struct sock_fprog *fprog, struct sock *sk)
fprog            1461 net/core/filter.c 	unsigned int fsize = bpf_classic_proglen(fprog);
fprog            1469 net/core/filter.c 	if (!bpf_check_basics_ok(fprog->filter, fprog->len))
fprog            1472 net/core/filter.c 	prog = bpf_prog_alloc(bpf_prog_size(fprog->len), 0);
fprog            1476 net/core/filter.c 	if (copy_from_user(prog->insns, fprog->filter, fsize)) {
fprog            1481 net/core/filter.c 	prog->len = fprog->len;
fprog            1483 net/core/filter.c 	err = bpf_prog_store_orig_filter(prog, fprog);
fprog            1505 net/core/filter.c int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk)
fprog            1507 net/core/filter.c 	struct bpf_prog *prog = __get_filter(fprog, sk);
fprog            1523 net/core/filter.c int sk_reuseport_attach_filter(struct sock_fprog *fprog, struct sock *sk)
fprog            1525 net/core/filter.c 	struct bpf_prog *prog = __get_filter(fprog, sk);
fprog            8633 net/core/filter.c 	struct sock_fprog_kern *fprog;
fprog            8648 net/core/filter.c 	fprog = filter->prog->orig_prog;
fprog            8649 net/core/filter.c 	if (!fprog)
fprog            8652 net/core/filter.c 	ret = fprog->len;
fprog            8658 net/core/filter.c 	if (len < fprog->len)
fprog            8662 net/core/filter.c 	if (copy_to_user(ubuf, fprog->filter, bpf_classic_proglen(fprog)))
fprog            8668 net/core/filter.c 	ret = fprog->len;
fprog             995 net/core/sock.c 			struct sock_fprog fprog;
fprog             998 net/core/sock.c 			if (copy_from_user(&fprog, optval, sizeof(fprog)))
fprog            1001 net/core/sock.c 			ret = sk_attach_filter(&fprog, sk);
fprog            1021 net/core/sock.c 			struct sock_fprog fprog;
fprog            1024 net/core/sock.c 			if (copy_from_user(&fprog, optval, sizeof(fprog)))
fprog            1027 net/core/sock.c 			ret = sk_reuseport_attach_filter(&fprog, sk);
fprog              73 net/core/sock_diag.c 	struct sock_fprog_kern *fprog;
fprog              89 net/core/sock_diag.c 	fprog = filter->prog->orig_prog;
fprog              90 net/core/sock_diag.c 	if (!fprog)
fprog              93 net/core/sock_diag.c 	flen = bpf_classic_proglen(fprog);
fprog             101 net/core/sock_diag.c 	memcpy(nla_data(attr), fprog->filter, flen);
fprog            1542 net/packet/af_packet.c 	struct sock_fprog fprog;
fprog            1547 net/packet/af_packet.c 	if (len != sizeof(fprog))
fprog            1549 net/packet/af_packet.c 	if (copy_from_user(&fprog, data, len))
fprog            1552 net/packet/af_packet.c 	ret = bpf_prog_create_from_user(&new, &fprog, NULL, false);