Lines Matching refs:uattr
1376 static int map_create(union bpf_attr *attr, bpfptr_t uattr) in map_create() argument
1572 bpfptr_t uprog_hash = make_bpfptr(attr->excl_prog_hash, uattr.is_kernel); in map_create()
1594 err = security_bpf_map_create(map, attr, token, uattr.is_kernel); in map_create()
1780 static int map_update_elem(union bpf_attr *attr, bpfptr_t uattr) in map_update_elem() argument
1782 bpfptr_t ukey = make_bpfptr(attr->key, uattr.is_kernel); in map_update_elem()
1783 bpfptr_t uvalue = make_bpfptr(attr->value, uattr.is_kernel); in map_update_elem()
1833 static int map_delete_elem(union bpf_attr *attr, bpfptr_t uattr) in map_delete_elem() argument
1835 bpfptr_t ukey = make_bpfptr(attr->key, uattr.is_kernel); in map_delete_elem()
1944 union bpf_attr __user *uattr) in generic_map_delete_batch() argument
1963 if (put_user(0, &uattr->batch.count)) in generic_map_delete_batch()
1990 if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp))) in generic_map_delete_batch()
2000 union bpf_attr __user *uattr) in generic_map_update_batch() argument
2018 if (put_user(0, &uattr->batch.count)) in generic_map_update_batch()
2046 if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp))) in generic_map_update_batch()
2057 union bpf_attr __user *uattr) in generic_map_lookup_batch() argument
2077 if (put_user(0, &uattr->batch.count)) in generic_map_lookup_batch()
2136 if ((copy_to_user(&uattr->batch.count, &cp, sizeof(cp)) || in generic_map_lookup_batch()
2870 static int bpf_prog_load(union bpf_attr *attr, bpfptr_t uattr, u32 uattr_size) in bpf_prog_load() argument
3019 make_bpfptr(attr->insns, uattr.is_kernel), in bpf_prog_load()
3024 make_bpfptr(attr->license, uattr.is_kernel), in bpf_prog_load()
3033 err = bpf_prog_verify_signature(prog, attr, uattr.is_kernel); in bpf_prog_load()
3083 err = security_bpf_prog_load(prog, attr, token, uattr.is_kernel); in bpf_prog_load()
3088 err = bpf_check(&prog, attr, uattr, uattr_size); in bpf_prog_load()
4618 union bpf_attr __user *uattr) in bpf_prog_query() argument
4657 return cgroup_bpf_prog_query(attr, uattr); in bpf_prog_query()
4659 return lirc_prog_query(attr, uattr); in bpf_prog_query()
4662 return netns_bpf_prog_query(attr, uattr); in bpf_prog_query()
4667 return sock_map_bpf_prog_query(attr, uattr); in bpf_prog_query()
4670 return tcx_prog_query(attr, uattr); in bpf_prog_query()
4673 return netkit_prog_query(attr, uattr); in bpf_prog_query()
4682 union bpf_attr __user *uattr) in bpf_prog_test_run() argument
4703 ret = prog->aux->ops->test_run(prog, attr, uattr); in bpf_prog_test_run()
4712 union bpf_attr __user *uattr, in bpf_obj_get_next_id() argument
4732 err = put_user(next_id, &uattr->next_id); in bpf_obj_get_next_id()
4975 union bpf_attr __user *uattr) in bpf_prog_get_info_by_fd() argument
5255 put_user(info_len, &uattr->info.info_len)) in bpf_prog_get_info_by_fd()
5264 union bpf_attr __user *uattr) in bpf_map_get_info_by_fd() argument
5324 put_user(info_len, &uattr->info.info_len)) in bpf_map_get_info_by_fd()
5333 union bpf_attr __user *uattr) in bpf_btf_get_info_by_fd() argument
5343 return btf_get_info_by_fd(btf, attr, uattr); in bpf_btf_get_info_by_fd()
5349 union bpf_attr __user *uattr) in bpf_link_get_info_by_fd() argument
5377 put_user(info_len, &uattr->info.info_len)) in bpf_link_get_info_by_fd()
5387 union bpf_attr __user *uattr) in token_get_info_by_fd() argument
5396 return bpf_token_get_info_by_fd(token, attr, uattr); in token_get_info_by_fd()
5402 union bpf_attr __user *uattr) in bpf_obj_get_info_by_fd() argument
5413 uattr); in bpf_obj_get_info_by_fd()
5416 uattr); in bpf_obj_get_info_by_fd()
5418 return bpf_btf_get_info_by_fd(fd_file(f), fd_file(f)->private_data, attr, uattr); in bpf_obj_get_info_by_fd()
5421 attr, uattr); in bpf_obj_get_info_by_fd()
5424 attr, uattr); in bpf_obj_get_info_by_fd()
5430 static int bpf_btf_load(const union bpf_attr *attr, bpfptr_t uattr, __u32 uattr_size) in bpf_btf_load() argument
5457 return btf_new_fd(attr, uattr, uattr_size); in bpf_btf_load()
5493 union bpf_attr __user *uattr, in bpf_task_fd_query_copy() argument
5502 if (put_user(len, &uattr->task_fd_query.buf_len)) in bpf_task_fd_query_copy()
5519 if (put_user(prog_id, &uattr->task_fd_query.prog_id) || in bpf_task_fd_query_copy()
5520 put_user(fd_type, &uattr->task_fd_query.fd_type) || in bpf_task_fd_query_copy()
5521 put_user(probe_offset, &uattr->task_fd_query.probe_offset) || in bpf_task_fd_query_copy()
5522 put_user(probe_addr, &uattr->task_fd_query.probe_addr)) in bpf_task_fd_query_copy()
5531 union bpf_attr __user *uattr) in bpf_task_fd_query() argument
5569 err = bpf_task_fd_query_copy(attr, uattr, in bpf_task_fd_query()
5588 err = bpf_task_fd_query_copy(attr, uattr, prog_id, in bpf_task_fd_query()
5614 union bpf_attr __user *uattr, in bpf_map_do_batch() argument
5643 BPF_DO_BATCH(map->ops->map_lookup_batch, map, attr, uattr); in bpf_map_do_batch()
5645 BPF_DO_BATCH(map->ops->map_lookup_and_delete_batch, map, attr, uattr); in bpf_map_do_batch()
5647 BPF_DO_BATCH(map->ops->map_update_batch, map, fd_file(f), attr, uattr); in bpf_map_do_batch()
5649 BPF_DO_BATCH(map->ops->map_delete_batch, map, attr, uattr); in bpf_map_do_batch()
5659 static int link_create(union bpf_attr *attr, bpfptr_t uattr) in link_create() argument
5706 ret = bpf_iter_link_attach(attr, uattr, prog); in link_create()
6125 static int __sys_bpf(enum bpf_cmd cmd, bpfptr_t uattr, unsigned int size) in __sys_bpf() argument
6130 err = bpf_check_uarg_tail_zero(uattr, sizeof(attr), size); in __sys_bpf()
6137 if (copy_from_bpfptr(&attr, uattr, size) != 0) in __sys_bpf()
6140 err = security_bpf(cmd, &attr, size, uattr.is_kernel); in __sys_bpf()
6146 err = map_create(&attr, uattr); in __sys_bpf()
6152 err = map_update_elem(&attr, uattr); in __sys_bpf()
6155 err = map_delete_elem(&attr, uattr); in __sys_bpf()
6164 err = bpf_prog_load(&attr, uattr, size); in __sys_bpf()
6179 err = bpf_prog_query(&attr, uattr.user); in __sys_bpf()
6182 err = bpf_prog_test_run(&attr, uattr.user); in __sys_bpf()
6185 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6189 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6193 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6203 err = bpf_obj_get_info_by_fd(&attr, uattr.user); in __sys_bpf()
6209 err = bpf_btf_load(&attr, uattr, size); in __sys_bpf()
6215 err = bpf_task_fd_query(&attr, uattr.user); in __sys_bpf()
6221 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_LOOKUP_BATCH); in __sys_bpf()
6224 err = bpf_map_do_batch(&attr, uattr.user, in __sys_bpf()
6228 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_UPDATE_BATCH); in __sys_bpf()
6231 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_DELETE_BATCH); in __sys_bpf()
6234 err = link_create(&attr, uattr); in __sys_bpf()
6243 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6272 SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) in SYSCALL_DEFINE3() argument
6274 return __sys_bpf(cmd, USER_BPFPTR(uattr), size); in SYSCALL_DEFINE3()