Lines Matching refs:load_attr

256 int libbpf__bpf_prog_load(const struct bpf_prog_load_params *load_attr)  in libbpf__bpf_prog_load()  argument
262 if (!load_attr->log_buf != !load_attr->log_buf_sz) in libbpf__bpf_prog_load()
265 if (load_attr->log_level > (4 | 2 | 1) || (load_attr->log_level && !load_attr->log_buf)) in libbpf__bpf_prog_load()
269 attr.prog_type = load_attr->prog_type; in libbpf__bpf_prog_load()
270 attr.expected_attach_type = load_attr->expected_attach_type; in libbpf__bpf_prog_load()
272 if (load_attr->attach_prog_fd) in libbpf__bpf_prog_load()
273 attr.attach_prog_fd = load_attr->attach_prog_fd; in libbpf__bpf_prog_load()
275 attr.attach_btf_obj_fd = load_attr->attach_btf_obj_fd; in libbpf__bpf_prog_load()
276 attr.attach_btf_id = load_attr->attach_btf_id; in libbpf__bpf_prog_load()
278 attr.prog_ifindex = load_attr->prog_ifindex; in libbpf__bpf_prog_load()
279 attr.kern_version = load_attr->kern_version; in libbpf__bpf_prog_load()
281 attr.insn_cnt = (__u32)load_attr->insn_cnt; in libbpf__bpf_prog_load()
282 attr.insns = ptr_to_u64(load_attr->insns); in libbpf__bpf_prog_load()
283 attr.license = ptr_to_u64(load_attr->license); in libbpf__bpf_prog_load()
285 attr.log_level = load_attr->log_level; in libbpf__bpf_prog_load()
287 attr.log_buf = ptr_to_u64(load_attr->log_buf); in libbpf__bpf_prog_load()
288 attr.log_size = load_attr->log_buf_sz; in libbpf__bpf_prog_load()
291 attr.prog_btf_fd = load_attr->prog_btf_fd; in libbpf__bpf_prog_load()
292 attr.prog_flags = load_attr->prog_flags; in libbpf__bpf_prog_load()
294 attr.func_info_rec_size = load_attr->func_info_rec_size; in libbpf__bpf_prog_load()
295 attr.func_info_cnt = load_attr->func_info_cnt; in libbpf__bpf_prog_load()
296 attr.func_info = ptr_to_u64(load_attr->func_info); in libbpf__bpf_prog_load()
298 attr.line_info_rec_size = load_attr->line_info_rec_size; in libbpf__bpf_prog_load()
299 attr.line_info_cnt = load_attr->line_info_cnt; in libbpf__bpf_prog_load()
300 attr.line_info = ptr_to_u64(load_attr->line_info); in libbpf__bpf_prog_load()
301 attr.fd_array = ptr_to_u64(load_attr->fd_array); in libbpf__bpf_prog_load()
303 if (load_attr->name) in libbpf__bpf_prog_load()
304 memcpy(attr.prog_name, load_attr->name, in libbpf__bpf_prog_load()
305 min(strlen(load_attr->name), (size_t)BPF_OBJ_NAME_LEN - 1)); in libbpf__bpf_prog_load()
317 attr.func_info_rec_size < load_attr->func_info_rec_size) { in libbpf__bpf_prog_load()
319 finfo = alloc_zero_tailing_info(load_attr->func_info, in libbpf__bpf_prog_load()
320 load_attr->func_info_cnt, in libbpf__bpf_prog_load()
321 load_attr->func_info_rec_size, in libbpf__bpf_prog_load()
329 attr.func_info_rec_size = load_attr->func_info_rec_size; in libbpf__bpf_prog_load()
332 load_attr->line_info_rec_size) { in libbpf__bpf_prog_load()
333 linfo = alloc_zero_tailing_info(load_attr->line_info, in libbpf__bpf_prog_load()
334 load_attr->line_info_cnt, in libbpf__bpf_prog_load()
335 load_attr->line_info_rec_size, in libbpf__bpf_prog_load()
343 attr.line_info_rec_size = load_attr->line_info_rec_size; in libbpf__bpf_prog_load()
353 if (load_attr->log_level || !load_attr->log_buf) in libbpf__bpf_prog_load()
357 attr.log_buf = ptr_to_u64(load_attr->log_buf); in libbpf__bpf_prog_load()
358 attr.log_size = load_attr->log_buf_sz; in libbpf__bpf_prog_load()
360 load_attr->log_buf[0] = 0; in libbpf__bpf_prog_load()
370 int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr, in bpf_load_program_xattr() argument
375 if (!load_attr || !log_buf != !log_buf_sz) in bpf_load_program_xattr()
378 p.prog_type = load_attr->prog_type; in bpf_load_program_xattr()
379 p.expected_attach_type = load_attr->expected_attach_type; in bpf_load_program_xattr()
383 p.attach_btf_id = load_attr->attach_btf_id; in bpf_load_program_xattr()
387 p.attach_btf_id = load_attr->attach_btf_id; in bpf_load_program_xattr()
388 p.attach_prog_fd = load_attr->attach_prog_fd; in bpf_load_program_xattr()
391 p.prog_ifindex = load_attr->prog_ifindex; in bpf_load_program_xattr()
392 p.kern_version = load_attr->kern_version; in bpf_load_program_xattr()
394 p.insn_cnt = load_attr->insns_cnt; in bpf_load_program_xattr()
395 p.insns = load_attr->insns; in bpf_load_program_xattr()
396 p.license = load_attr->license; in bpf_load_program_xattr()
397 p.log_level = load_attr->log_level; in bpf_load_program_xattr()
400 p.prog_btf_fd = load_attr->prog_btf_fd; in bpf_load_program_xattr()
401 p.func_info_rec_size = load_attr->func_info_rec_size; in bpf_load_program_xattr()
402 p.func_info_cnt = load_attr->func_info_cnt; in bpf_load_program_xattr()
403 p.func_info = load_attr->func_info; in bpf_load_program_xattr()
404 p.line_info_rec_size = load_attr->line_info_rec_size; in bpf_load_program_xattr()
405 p.line_info_cnt = load_attr->line_info_cnt; in bpf_load_program_xattr()
406 p.line_info = load_attr->line_info; in bpf_load_program_xattr()
407 p.name = load_attr->name; in bpf_load_program_xattr()
408 p.prog_flags = load_attr->prog_flags; in bpf_load_program_xattr()
418 struct bpf_load_program_attr load_attr; in bpf_load_program() local
420 memset(&load_attr, 0, sizeof(struct bpf_load_program_attr)); in bpf_load_program()
421 load_attr.prog_type = type; in bpf_load_program()
422 load_attr.expected_attach_type = 0; in bpf_load_program()
423 load_attr.name = NULL; in bpf_load_program()
424 load_attr.insns = insns; in bpf_load_program()
425 load_attr.insns_cnt = insns_cnt; in bpf_load_program()
426 load_attr.license = license; in bpf_load_program()
427 load_attr.kern_version = kern_version; in bpf_load_program()
429 return bpf_load_program_xattr(&load_attr, log_buf, log_buf_sz); in bpf_load_program()