| Function report | 
| Source Code: kernel\bpf\syscall.c | Create Date:2022-07-28 12:52:47 | 
| Last Modify:2022-05-19 18:06:12 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:map_get_next_key
Proto:static int map_get_next_key(union bpf_attr *attr)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| union bpf_attr * | attr | 
| 1119 | __user * ukey = u64_to_user_ptr(key) | 
| 1120 | __user * unext_key = u64_to_user_ptr(next_key) | 
| 1127 | If helper macro to check that unused fields 'union bpf_attr' are zero (BPF_MAP_GET_NEXT_KEY) Then Return -EINVAL | 
| 1131 | map = error is returned, fd is released.* On success caller should complete fd access with matching fdput() | 
| 1134 | If Not (map_get_sys_perms(map, f) & Has read method(s) ) Then | 
| 1139 | If ukey Then | 
| 1140 | key = __bpf_copy_key(ukey, key_size) | 
| 1145 | Else | 
| 1146 | key = NULL | 
| 1150 | next_key = Allocation memory | 
| 1154 | If bpf_map_is_dev_bound(map) Then | 
| 1160 | err = map_get_next_key(map, key, next_key) | 
| 1162 | out : | 
| 1163 | If err Then Go to free_next_key | 
| 1167 | If copy_to_user(unext_key, next_key, key_size) != 0 Then Go to free_next_key | 
| 1170 | err = 0 | 
| 1172 | free_next_key : | 
| 1174 | free_key : | 
| 1176 | err_put : | 
| 1178 | Return err | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |