Lines Matching full:uattr
1362 static int map_create(union bpf_attr *attr, bpfptr_t uattr) in map_create() argument
1558 bpfptr_t uprog_hash = make_bpfptr(attr->excl_prog_hash, uattr.is_kernel); in map_create()
1580 err = security_bpf_map_create(map, attr, token, uattr.is_kernel); in map_create()
1766 static int map_update_elem(union bpf_attr *attr, bpfptr_t uattr) in map_update_elem() argument
1768 bpfptr_t ukey = make_bpfptr(attr->key, uattr.is_kernel); in map_update_elem()
1769 bpfptr_t uvalue = make_bpfptr(attr->value, uattr.is_kernel); in map_update_elem()
1819 static int map_delete_elem(union bpf_attr *attr, bpfptr_t uattr) in map_delete_elem() argument
1821 bpfptr_t ukey = make_bpfptr(attr->key, uattr.is_kernel); in map_delete_elem()
1930 union bpf_attr __user *uattr) in generic_map_delete_batch() argument
1949 if (put_user(0, &uattr->batch.count)) in generic_map_delete_batch()
1976 if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp))) in generic_map_delete_batch()
1986 union bpf_attr __user *uattr) in generic_map_update_batch() argument
2005 if (put_user(0, &uattr->batch.count)) in generic_map_update_batch()
2033 if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp))) in generic_map_update_batch()
2044 union bpf_attr __user *uattr) in generic_map_lookup_batch() argument
2064 if (put_user(0, &uattr->batch.count)) in generic_map_lookup_batch()
2123 if ((copy_to_user(&uattr->batch.count, &cp, sizeof(cp)) || in generic_map_lookup_batch()
2864 static int bpf_prog_load(union bpf_attr *attr, bpfptr_t uattr, u32 uattr_size) in bpf_prog_load() argument
3013 make_bpfptr(attr->insns, uattr.is_kernel), in bpf_prog_load()
3018 make_bpfptr(attr->license, uattr.is_kernel), in bpf_prog_load()
3027 err = bpf_prog_verify_signature(prog, attr, uattr.is_kernel); in bpf_prog_load()
3077 err = security_bpf_prog_load(prog, attr, token, uattr.is_kernel); in bpf_prog_load()
3082 err = bpf_check(&prog, attr, uattr, uattr_size); in bpf_prog_load()
4657 union bpf_attr __user *uattr) in bpf_prog_query() argument
4696 return cgroup_bpf_prog_query(attr, uattr); in bpf_prog_query()
4698 return lirc_prog_query(attr, uattr); in bpf_prog_query()
4701 return netns_bpf_prog_query(attr, uattr); in bpf_prog_query()
4706 return sock_map_bpf_prog_query(attr, uattr); in bpf_prog_query()
4709 return tcx_prog_query(attr, uattr); in bpf_prog_query()
4712 return netkit_prog_query(attr, uattr); in bpf_prog_query()
4721 union bpf_attr __user *uattr) in bpf_prog_test_run() argument
4742 ret = prog->aux->ops->test_run(prog, attr, uattr); in bpf_prog_test_run()
4751 union bpf_attr __user *uattr, in bpf_obj_get_next_id() argument
4771 err = put_user(next_id, &uattr->next_id); in bpf_obj_get_next_id()
5040 union bpf_attr __user *uattr) in bpf_prog_get_info_by_fd() argument
5320 put_user(info_len, &uattr->info.info_len)) in bpf_prog_get_info_by_fd()
5329 union bpf_attr __user *uattr) in bpf_map_get_info_by_fd() argument
5392 put_user(info_len, &uattr->info.info_len)) in bpf_map_get_info_by_fd()
5401 union bpf_attr __user *uattr) in bpf_btf_get_info_by_fd() argument
5411 return btf_get_info_by_fd(btf, attr, uattr); in bpf_btf_get_info_by_fd()
5417 union bpf_attr __user *uattr) in bpf_link_get_info_by_fd() argument
5445 put_user(info_len, &uattr->info.info_len)) in bpf_link_get_info_by_fd()
5455 union bpf_attr __user *uattr) in token_get_info_by_fd() argument
5464 return bpf_token_get_info_by_fd(token, attr, uattr); in token_get_info_by_fd()
5470 union bpf_attr __user *uattr) in bpf_obj_get_info_by_fd() argument
5481 uattr); in bpf_obj_get_info_by_fd()
5484 uattr); in bpf_obj_get_info_by_fd()
5486 return bpf_btf_get_info_by_fd(fd_file(f), fd_file(f)->private_data, attr, uattr); in bpf_obj_get_info_by_fd()
5489 attr, uattr); in bpf_obj_get_info_by_fd()
5492 attr, uattr); in bpf_obj_get_info_by_fd()
5498 static int bpf_btf_load(const union bpf_attr *attr, bpfptr_t uattr, __u32 uattr_size) in bpf_btf_load() argument
5525 return btf_new_fd(attr, uattr, uattr_size); in bpf_btf_load()
5561 union bpf_attr __user *uattr, in bpf_task_fd_query_copy() argument
5570 if (put_user(len, &uattr->task_fd_query.buf_len)) in bpf_task_fd_query_copy()
5587 if (put_user(prog_id, &uattr->task_fd_query.prog_id) || in bpf_task_fd_query_copy()
5588 put_user(fd_type, &uattr->task_fd_query.fd_type) || in bpf_task_fd_query_copy()
5589 put_user(probe_offset, &uattr->task_fd_query.probe_offset) || in bpf_task_fd_query_copy()
5590 put_user(probe_addr, &uattr->task_fd_query.probe_addr)) in bpf_task_fd_query_copy()
5599 union bpf_attr __user *uattr) in bpf_task_fd_query() argument
5637 err = bpf_task_fd_query_copy(attr, uattr, in bpf_task_fd_query()
5656 err = bpf_task_fd_query_copy(attr, uattr, prog_id, in bpf_task_fd_query()
5682 union bpf_attr __user *uattr, in bpf_map_do_batch() argument
5711 BPF_DO_BATCH(map->ops->map_lookup_batch, map, attr, uattr); in bpf_map_do_batch()
5713 BPF_DO_BATCH(map->ops->map_lookup_and_delete_batch, map, attr, uattr); in bpf_map_do_batch()
5715 BPF_DO_BATCH(map->ops->map_update_batch, map, fd_file(f), attr, uattr); in bpf_map_do_batch()
5717 BPF_DO_BATCH(map->ops->map_delete_batch, map, attr, uattr); in bpf_map_do_batch()
5727 static int link_create(union bpf_attr *attr, bpfptr_t uattr) in link_create() argument
5774 ret = bpf_iter_link_attach(attr, uattr, prog); in link_create()
6235 static int __sys_bpf(enum bpf_cmd cmd, bpfptr_t uattr, unsigned int size) in __sys_bpf() argument
6240 err = bpf_check_uarg_tail_zero(uattr, sizeof(attr), size); in __sys_bpf()
6247 if (copy_from_bpfptr(&attr, uattr, size) != 0) in __sys_bpf()
6250 err = security_bpf(cmd, &attr, size, uattr.is_kernel); in __sys_bpf()
6256 err = map_create(&attr, uattr); in __sys_bpf()
6262 err = map_update_elem(&attr, uattr); in __sys_bpf()
6265 err = map_delete_elem(&attr, uattr); in __sys_bpf()
6274 err = bpf_prog_load(&attr, uattr, size); in __sys_bpf()
6289 err = bpf_prog_query(&attr, uattr.user); in __sys_bpf()
6292 err = bpf_prog_test_run(&attr, uattr.user); in __sys_bpf()
6295 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6299 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6303 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6313 err = bpf_obj_get_info_by_fd(&attr, uattr.user); in __sys_bpf()
6319 err = bpf_btf_load(&attr, uattr, size); in __sys_bpf()
6325 err = bpf_task_fd_query(&attr, uattr.user); in __sys_bpf()
6331 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_LOOKUP_BATCH); in __sys_bpf()
6334 err = bpf_map_do_batch(&attr, uattr.user, in __sys_bpf()
6338 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_UPDATE_BATCH); in __sys_bpf()
6341 err = bpf_map_do_batch(&attr, uattr.user, BPF_MAP_DELETE_BATCH); in __sys_bpf()
6344 err = link_create(&attr, uattr); in __sys_bpf()
6353 err = bpf_obj_get_next_id(&attr, uattr.user, in __sys_bpf()
6385 SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) in SYSCALL_DEFINE3() argument
6387 return __sys_bpf(cmd, USER_BPFPTR(uattr), size); in SYSCALL_DEFINE3()