Lines Matching refs:info_linear

114 	struct perf_bpil *info_linear;  in get_bpf_prog_info_linear()  local
156 info_linear = malloc(sizeof(struct perf_bpil) + data_len); in get_bpf_prog_info_linear()
157 if (!info_linear) in get_bpf_prog_info_linear()
161 info_linear->arrays = arrays; in get_bpf_prog_info_linear()
162 memset(&info_linear->info, 0, sizeof(info)); in get_bpf_prog_info_linear()
163 ptr = info_linear->data; in get_bpf_prog_info_linear()
174 bpf_prog_info_set_offset_u32(&info_linear->info, in get_bpf_prog_info_linear()
176 bpf_prog_info_set_offset_u32(&info_linear->info, in get_bpf_prog_info_linear()
178 assert(ptr >= info_linear->data); in get_bpf_prog_info_linear()
179 assert(ptr < &info_linear->data[data_len]); in get_bpf_prog_info_linear()
180 bpf_prog_info_set_offset_u64(&info_linear->info, in get_bpf_prog_info_linear()
187 err = bpf_obj_get_info_by_fd(fd, &info_linear->info, &info_len); in get_bpf_prog_info_linear()
190 free(info_linear); in get_bpf_prog_info_linear()
193 if (info_linear->info.type >= __MAX_BPF_PROG_TYPE) { in get_bpf_prog_info_linear()
195 __func__, __LINE__, info_linear->info.type); in get_bpf_prog_info_linear()
199 ptr = info_linear->data; in get_bpf_prog_info_linear()
209 count2 = bpf_prog_info_read_offset_u32(&info_linear->info, in get_bpf_prog_info_linear()
213 free(info_linear); in get_bpf_prog_info_linear()
218 size2 = bpf_prog_info_read_offset_u32(&info_linear->info, in get_bpf_prog_info_linear()
222 free(info_linear); in get_bpf_prog_info_linear()
225 ptr2 = bpf_prog_info_read_offset_u64(&info_linear->info, desc->array_offset); in get_bpf_prog_info_linear()
228 free(info_linear); in get_bpf_prog_info_linear()
235 info_linear->info_len = sizeof(struct bpf_prog_info); in get_bpf_prog_info_linear()
236 info_linear->data_len = data_len; in get_bpf_prog_info_linear()
238 return info_linear; in get_bpf_prog_info_linear()
241 void bpil_addr_to_offs(struct perf_bpil *info_linear) in bpil_addr_to_offs() argument
249 if ((info_linear->arrays & (1UL << i)) == 0) in bpil_addr_to_offs()
252 addr = bpf_prog_info_read_offset_u64(&info_linear->info, in bpil_addr_to_offs()
254 offs = addr - ptr_to_u64(info_linear->data); in bpil_addr_to_offs()
255 bpf_prog_info_set_offset_u64(&info_linear->info, in bpil_addr_to_offs()
260 void bpil_offs_to_addr(struct perf_bpil *info_linear) in bpil_offs_to_addr() argument
268 if ((info_linear->arrays & (1UL << i)) == 0) in bpil_offs_to_addr()
271 offs = bpf_prog_info_read_offset_u64(&info_linear->info, in bpil_offs_to_addr()
273 addr = offs + ptr_to_u64(info_linear->data); in bpil_offs_to_addr()
274 bpf_prog_info_set_offset_u64(&info_linear->info, in bpil_offs_to_addr()