Lines Matching refs:uattr
1107 static int map_update_elem(union bpf_attr *attr, bpfptr_t uattr) in map_update_elem() argument
1109 bpfptr_t ukey = make_bpfptr(attr->key, uattr.is_kernel); in map_update_elem()
1110 bpfptr_t uvalue = make_bpfptr(attr->value, uattr.is_kernel); in map_update_elem()
1285 union bpf_attr __user *uattr) in generic_map_delete_batch() argument
1328 if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp))) in generic_map_delete_batch()
1337 union bpf_attr __user *uattr) in generic_map_update_batch() argument
1386 if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp))) in generic_map_update_batch()
1399 union bpf_attr __user *uattr) in generic_map_lookup_batch() argument
1422 if (put_user(0, &uattr->batch.count)) in generic_map_lookup_batch()
1486 if ((copy_to_user(&uattr->batch.count, &cp, sizeof(cp)) || in generic_map_lookup_batch()
2164 static int bpf_prog_load(union bpf_attr *attr, bpfptr_t uattr) in bpf_prog_load() argument
2190 make_bpfptr(attr->license, uattr.is_kernel), in bpf_prog_load()
2276 make_bpfptr(attr->insns, uattr.is_kernel), in bpf_prog_load()
2304 err = bpf_check(&prog, attr, uattr); in bpf_prog_load()
3242 union bpf_attr __user *uattr) in bpf_prog_query() argument
3275 return cgroup_bpf_prog_query(attr, uattr); in bpf_prog_query()
3277 return lirc_prog_query(attr, uattr); in bpf_prog_query()
3280 return netns_bpf_prog_query(attr, uattr); in bpf_prog_query()
3289 union bpf_attr __user *uattr) in bpf_prog_test_run() argument
3310 ret = prog->aux->ops->test_run(prog, attr, uattr); in bpf_prog_test_run()
3319 union bpf_attr __user *uattr, in bpf_obj_get_next_id() argument
3339 err = put_user(next_id, &uattr->next_id); in bpf_obj_get_next_id()
3576 union bpf_attr __user *uattr) in bpf_prog_get_info_by_fd() argument
3849 put_user(info_len, &uattr->info.info_len)) in bpf_prog_get_info_by_fd()
3858 union bpf_attr __user *uattr) in bpf_map_get_info_by_fd() argument
3893 put_user(info_len, &uattr->info.info_len)) in bpf_map_get_info_by_fd()
3902 union bpf_attr __user *uattr) in bpf_btf_get_info_by_fd() argument
3912 return btf_get_info_by_fd(btf, attr, uattr); in bpf_btf_get_info_by_fd()
3918 union bpf_attr __user *uattr) in bpf_link_get_info_by_fd() argument
3945 put_user(info_len, &uattr->info.info_len)) in bpf_link_get_info_by_fd()
3955 union bpf_attr __user *uattr) in bpf_obj_get_info_by_fd() argument
3970 uattr); in bpf_obj_get_info_by_fd()
3973 uattr); in bpf_obj_get_info_by_fd()
3975 err = bpf_btf_get_info_by_fd(f.file, f.file->private_data, attr, uattr); in bpf_obj_get_info_by_fd()
3978 attr, uattr); in bpf_obj_get_info_by_fd()
3988 static int bpf_btf_load(const union bpf_attr *attr, bpfptr_t uattr) in bpf_btf_load() argument
3996 return btf_new_fd(attr, uattr); in bpf_btf_load()
4013 union bpf_attr __user *uattr, in bpf_task_fd_query_copy() argument
4022 if (put_user(len, &uattr->task_fd_query.buf_len)) in bpf_task_fd_query_copy()
4050 if (put_user(prog_id, &uattr->task_fd_query.prog_id) || in bpf_task_fd_query_copy()
4051 put_user(fd_type, &uattr->task_fd_query.fd_type) || in bpf_task_fd_query_copy()
4052 put_user(probe_offset, &uattr->task_fd_query.probe_offset) || in bpf_task_fd_query_copy()
4053 put_user(probe_addr, &uattr->task_fd_query.probe_addr)) in bpf_task_fd_query_copy()
4062 union bpf_attr __user *uattr) in bpf_task_fd_query() argument
4098 err = bpf_task_fd_query_copy(attr, uattr, in bpf_task_fd_query()
4117 err = bpf_task_fd_query_copy(attr, uattr, prog_id, in bpf_task_fd_query()
4139 err = fn(map, attr, uattr); \
4143 union bpf_attr __user *uattr, in bpf_map_do_batch() argument
4186 static int tracing_bpf_link_attach(const union bpf_attr *attr, bpfptr_t uattr, in tracing_bpf_link_attach() argument
4193 return bpf_iter_link_attach(attr, uattr, prog); in tracing_bpf_link_attach()
4202 static int link_create(union bpf_attr *attr, bpfptr_t uattr) in link_create() argument
4222 ret = tracing_bpf_link_attach(attr, uattr, prog); in link_create()
4253 ret = tracing_bpf_link_attach(attr, uattr, prog); in link_create()
4548 static int __sys_bpf(int cmd, bpfptr_t uattr, unsigned int size) in __sys_bpf() argument
4556 err = bpf_check_uarg_tail_zero(uattr, sizeof(attr), size); in __sys_bpf()
4563 if (copy_from_bpfptr(&attr, uattr, size) != 0) in __sys_bpf()
4578 err = map_update_elem(&attr, uattr); in __sys_bpf()
4590 err = bpf_prog_load(&attr, uattr); in __sys_bpf()
4605 err = bpf_prog_query(&attr, uattr.user); in __sys_bpf()
4608 err = bpf_prog_test_run(&attr, uattr.user); in __sys_bpf()
4611 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
4615 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
4619 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
4629 err = bpf_obj_get_info_by_fd(&attr, uattr.user); in __sys_bpf()
4635 err = bpf_btf_load(&attr, uattr); in __sys_bpf()
4641 err = bpf_task_fd_query(&attr, uattr.user); in __sys_bpf()
4647 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_LOOKUP_BATCH); in __sys_bpf()
4650 err = bpf_map_do_batch(&attr, uattr.user, in __sys_bpf()
4654 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_UPDATE_BATCH); in __sys_bpf()
4657 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_DELETE_BATCH); in __sys_bpf()
4660 err = link_create(&attr, uattr); in __sys_bpf()
4669 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
4692 SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) in SYSCALL_DEFINE3() argument
4694 return __sys_bpf(cmd, USER_BPFPTR(uattr), size); in SYSCALL_DEFINE3()