Lines Matching defs:data

161 	/* v5.2: kernel support for global data sections. */
297 void *data;
302 * struct tcp_congestion_ops data;
306 * from "data".
312 #define DATA_SEC ".data"
436 Elf_Data *data;
444 Elf_Data *data;
613 void *data = sec_data->d_buf;
664 sec_off, data + sec_off, prog_sz);
757 * struct tcp_congestion_ops data;
766 pr_warn("struct_ops init_kern: struct %s data is not found in struct %s%s\n",
794 void *data, *kern_data;
818 data = st_ops->data;
851 mdata = data + moff;
891 pr_debug("struct_ops init_kern %s: func ptr %s is set to prog %s from data(+%u) to kern_data(+%u)\n",
907 pr_debug("struct_ops init_kern %s: copy %s %u bytes from data(+%u) to kern_data(+%u)\n",
1003 st_ops->data = malloc(type->size);
1007 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off)
1016 memcpy(st_ops->data,
1060 * bpf_object__elf_finish() after data collection to return
1093 obj->efile.data = NULL;
1199 bpf_object__init_license(struct bpf_object *obj, void *data, size_t size)
1201 memcpy(obj->license, data, min(size, sizeof(obj->license) - 1));
1207 bpf_object__init_kversion(struct bpf_object *obj, void *data, size_t size)
1215 memcpy(&kver, data, sizeof(kver));
1238 if (obj->efile.data)
1239 *size = obj->efile.data->d_size;
1251 Elf_Data *data = elf_sec_data(obj, scn);
1253 if (data) {
1255 *size = data->d_size;
1362 int sec_idx, void *data, size_t data_sz)
1390 pr_debug("map '%s' (global data): at sec_idx %d, offset %zu, flags %x.\n",
1404 if (data)
1405 memcpy(map->mmaped, data, data_sz);
1421 obj->efile.data->d_buf,
1422 obj->efile.data->d_size);
1595 char *buf, void *data)
1628 ext_val = data + ext->kcfg.data_off;
1655 static int bpf_object__read_kconfig_file(struct bpf_object *obj, void *data)
1680 err = bpf_object__process_kconfig_line(obj, buf, data);
1694 const char *config, void *data)
1708 err = bpf_object__process_kconfig_line(obj, buf, data);
1751 Elf_Data *data = NULL;
1762 data = elf_sec_data(obj, scn);
1763 if (!scn || !data) {
1788 nr_maps, data->d_size, obj->path);
1790 if (!data->d_size || nr_maps == 0 || (data->d_size % nr_maps) != 0) {
1795 map_def_sz = data->d_size / nr_maps;
1797 /* Fill obj->maps using data in "maps" section. */
1825 if (sym.st_value + map_def_sz > data->d_size) {
1837 def = (struct bpf_map_def *)(data->d_buf + sym.st_value);
1929 * type definition, while using only sizeof(void *) space in ELF data section.
2218 const Elf_Data *data, bool strict,
2236 if ((__u64)vi->offset + vi->size > data->d_size) {
2237 pr_warn("map '%s' BTF data is corrupted.\n", map_name);
2289 Elf_Data *data;
2296 data = elf_sec_data(obj, scn);
2297 if (!scn || !data) {
2325 data, strict,
2714 Elf_Data *data;
2719 data = elf_getdata(scn, 0);
2720 if (!data) {
2721 pr_warn("elf: failed to get section(%zu) %s data from %s: %s\n",
2727 return data;
2809 Elf_Data *data;
2827 data = elf_sec_data(obj, scn);
2828 if (!data)
2831 obj->efile.symbols = data;
2851 data = elf_sec_data(obj, scn);
2852 if (!data)
2856 idx, name, (unsigned long)data->d_size,
2861 err = bpf_object__init_license(obj, data->d_buf, data->d_size);
2865 err = bpf_object__init_kversion(obj, data->d_buf, data->d_size);
2873 btf_data = data;
2875 btf_ext_data = data;
2878 } else if (sh.sh_type == SHT_PROGBITS && data->d_size > 0) {
2882 err = bpf_object__add_programs(obj, data, name, idx);
2886 obj->efile.data = data;
2889 obj->efile.rodata = data;
2892 obj->efile.st_ops_data = data;
2895 pr_info("elf: skipping unrecognized data section(%d) %s\n",
2922 obj->efile.reloc_sects[nr_sects].data = data;
2924 obj->efile.bss = data;
3442 /* global data map relocation */
3444 pr_warn("prog '%s': bad data relo against section '%s'\n",
3452 pr_debug("prog '%s': found data map %zd (%s, sec %d, off %zu) for insn %u\n",
3458 pr_warn("prog '%s': data relo failed to find map for section '%s'\n",
3505 bpf_object__collect_prog_relos(struct bpf_object *obj, GElf_Shdr *shdr, Elf_Data *data)
3528 if (!gelf_getrel(data, i, &rel)) {
3604 * LLVM annotates global data differently in BTF, that is,
3605 * only as '.data', '.bss' or '.rodata'.
3890 static const char strs[] = "\0x\0.data";
4039 "BTF data section and variable", probe_kern_btf_datasec,
4670 __u32 *data;
4676 free(cand_ids->data);
4722 new_ids = libbpf_reallocarray(cand_ids->data,
4724 sizeof(*cand_ids->data));
4729 cand_ids->data = new_ids;
4730 cand_ids->data[cand_ids->len++] = i;
5694 * data from incompatible changes between different kernel
5801 cand_id = cand_ids->data[i];
5846 cand_ids->data[j++] = cand_spec.root_type_id;
5998 /* Relocate data references within program code:
6442 /* relocate data references first for all programs and sub-programs,
6450 pr_warn("prog '%s': failed to relocate data references: %d\n",
6485 GElf_Shdr *shdr, Elf_Data *data);
6488 GElf_Shdr *shdr, Elf_Data *data)
6512 if (!gelf_getrel(data, i, &rel)) {
6621 Elf_Data *data = obj->efile.reloc_sects[i].data;
6630 err = bpf_object__collect_st_ops_relos(obj, shdr, data);
6632 err = bpf_object__collect_map_relos(obj, shdr, data);
6634 err = bpf_object__collect_prog_relos(obj, shdr, data);
7114 pr_warn("kernel doesn't support global data\n");
7939 zfree(&map->st_ops->data);
8558 GElf_Shdr *shdr, Elf_Data *data)
8578 if (!gelf_getrel(data, i, &rel)) {
8934 const void *data, size_t size)
8940 memcpy(map->mmaped, data, size);
9964 void *buf; /* for reconstructing segmented data */
10240 pb->events[j].data.ptr = cpu_buf;
10266 char data[];
10281 void *data = e;
10289 struct perf_sample_raw *s = data;
10292 pb->sample_cb(pb->ctx, cpu_buf->cpu, s->data, s->size);
10296 struct perf_sample_lost *s = data;
10334 struct perf_cpu_buf *cpu_buf = pb->events[i].data.ptr;
10355 * PERF_EVENT_ARRAY BPF map. This FD can be polled for new data using
10373 * Consume data from perf ring buffer corresponding to slot *buf_idx* in
10374 * PERF_EVENT_ARRAY BPF map without waiting/polling. If there is no data to
10559 /* step 4: fill data to info_linear->info */
10562 ptr = info_linear->data;
10592 /* step 6: verify the data */
10635 offs = addr - ptr_to_u64(info_linear->data);
10655 addr = offs + ptr_to_u64(info_linear->data);
10799 * as it breaks global data maps, because they contain object name
10809 obj = bpf_object__open_mem(s->data, s->data_sz, &skel_opts);