Home
last modified time | relevance | path

Searched refs:info (Results 1 – 25 of 64) sorted by relevance

123

/kernel/module/
Dmain.c181 static unsigned int find_sec(const struct load_info *info, const char *name) in find_sec() argument
185 for (i = 1; i < info->hdr->e_shnum; i++) { in find_sec()
186 Elf_Shdr *shdr = &info->sechdrs[i]; in find_sec()
189 && strcmp(info->secstrings + shdr->sh_name, name) == 0) in find_sec()
196 static void *section_addr(const struct load_info *info, const char *name) in section_addr() argument
199 return (void *)info->sechdrs[find_sec(info, name)].sh_addr; in section_addr()
203 static void *section_objs(const struct load_info *info, in section_objs() argument
208 unsigned int sec = find_sec(info, name); in section_objs()
211 *num = info->sechdrs[sec].sh_size / object_size; in section_objs()
212 return (void *)info->sechdrs[sec].sh_addr; in section_objs()
[all …]
Ddecompress.c17 static int module_extend_max_pages(struct load_info *info, unsigned int extent) in module_extend_max_pages() argument
21 new_pages = kvmalloc_array(info->max_pages + extent, in module_extend_max_pages()
22 sizeof(info->pages), GFP_KERNEL); in module_extend_max_pages()
26 memcpy(new_pages, info->pages, info->max_pages * sizeof(info->pages)); in module_extend_max_pages()
27 kvfree(info->pages); in module_extend_max_pages()
28 info->pages = new_pages; in module_extend_max_pages()
29 info->max_pages += extent; in module_extend_max_pages()
34 static struct page *module_get_next_page(struct load_info *info) in module_get_next_page() argument
39 if (info->max_pages == info->used_pages) { in module_get_next_page()
40 error = module_extend_max_pages(info, info->used_pages); in module_get_next_page()
[all …]
Dkallsyms.c37 static char elf_type(const Elf_Sym *sym, const struct load_info *info) in elf_type() argument
39 const Elf_Shdr *sechdrs = info->sechdrs; in elf_type()
49 if (sym->st_shndx == SHN_ABS || sym->st_shndx == info->index.pcpu) in elf_type()
70 if (strstarts(info->secstrings + sechdrs[sym->st_shndx].sh_name, in elf_type()
110 void layout_symtab(struct module *mod, struct load_info *info) in layout_symtab() argument
112 Elf_Shdr *symsect = info->sechdrs + info->index.sym; in layout_symtab()
113 Elf_Shdr *strsect = info->sechdrs + info->index.str; in layout_symtab()
120 info->index.sym) | INIT_OFFSET_MASK; in layout_symtab()
121 pr_debug("\t%s\n", info->secstrings + symsect->sh_name); in layout_symtab()
123 src = (void *)info->hdr + symsect->sh_offset; in layout_symtab()
[all …]
Dinternal.h77 unsigned int sym, str, mod, vers, info, pcpu; member
99 int mod_verify_sig(const void *mod, struct load_info *info);
130 int copy_module_elf(struct module *mod, struct load_info *info);
133 static inline int copy_module_elf(struct module *mod, struct load_info *info) in copy_module_elf() argument
173 int module_decompress(struct load_info *info, const void *buf, size_t size);
174 void module_decompress_cleanup(struct load_info *info);
176 static inline int module_decompress(struct load_info *info, in module_decompress() argument
182 static inline void module_decompress_cleanup(struct load_info *info) in module_decompress_cleanup() argument
230 int module_sig_check(struct load_info *info, int flags);
232 static inline int module_sig_check(struct load_info *info, int flags) in module_sig_check() argument
[all …]
Dsigning.c50 int mod_verify_sig(const void *mod, struct load_info *info) in mod_verify_sig() argument
53 size_t sig_len, modlen = info->len; in mod_verify_sig()
69 info->len = modlen; in mod_verify_sig()
77 int module_sig_check(struct load_info *info, int flags) in module_sig_check() argument
82 const void *mod = info->hdr; in module_sig_check()
90 info->len > markerlen && in module_sig_check()
91 memcmp(mod + info->len - markerlen, MODULE_SIG_STRING, markerlen) == 0) { in module_sig_check()
93 info->len -= markerlen; in module_sig_check()
94 err = mod_verify_sig(mod, info); in module_sig_check()
96 info->sig_ok = true; in module_sig_check()
Dlivepatch.c18 int copy_module_elf(struct module *mod, struct load_info *info) in copy_module_elf() argument
30 memcpy(&mod->klp_info->hdr, info->hdr, size); in copy_module_elf()
33 size = sizeof(*info->sechdrs) * info->hdr->e_shnum; in copy_module_elf()
34 mod->klp_info->sechdrs = kmemdup(info->sechdrs, size, GFP_KERNEL); in copy_module_elf()
41 size = info->sechdrs[info->hdr->e_shstrndx].sh_size; in copy_module_elf()
42 mod->klp_info->secstrings = kmemdup(info->secstrings, size, GFP_KERNEL); in copy_module_elf()
49 symndx = info->index.sym; in copy_module_elf()
Dsysfs.c72 static void add_sect_attrs(struct module *mod, const struct load_info *info) in add_sect_attrs() argument
80 for (i = 0; i < info->hdr->e_shnum; i++) in add_sect_attrs()
81 if (!sect_empty(&info->sechdrs[i])) in add_sect_attrs()
97 for (i = 0; i < info->hdr->e_shnum; i++) { in add_sect_attrs()
98 Elf_Shdr *sec = &info->sechdrs[i]; in add_sect_attrs()
105 kstrdup(info->secstrings + sec->sh_name, GFP_KERNEL); in add_sect_attrs()
172 static void add_notes_attrs(struct module *mod, const struct load_info *info) in add_notes_attrs() argument
184 for (i = 0; i < info->hdr->e_shnum; i++) in add_notes_attrs()
185 if (!sect_empty(&info->sechdrs[i]) && in add_notes_attrs()
186 info->sechdrs[i].sh_type == SHT_NOTE) in add_notes_attrs()
[all …]
Ddebug_kmemleak.c13 const struct load_info *info) in kmemleak_load_module() argument
20 for (i = 1; i < info->hdr->e_shnum; i++) { in kmemleak_load_module()
22 if (!(info->sechdrs[i].sh_flags & SHF_ALLOC) || in kmemleak_load_module()
23 !(info->sechdrs[i].sh_flags & SHF_WRITE) || in kmemleak_load_module()
24 (info->sechdrs[i].sh_flags & SHF_EXECINSTR)) in kmemleak_load_module()
27 kmemleak_scan_area((void *)info->sechdrs[i].sh_addr, in kmemleak_load_module()
28 info->sechdrs[i].sh_size, GFP_KERNEL); in kmemleak_load_module()
Dversion.c13 int check_version(const struct load_info *info, in check_version() argument
18 Elf_Shdr *sechdrs = info->sechdrs; in check_version()
19 unsigned int versindex = info->index.vers; in check_version()
50 pr_warn_once("%s: no symbol version for %s\n", info->name, symname); in check_version()
54 pr_warn("%s: disagrees about version of symbol %s\n", info->name, symname); in check_version()
58 int check_modstruct_version(const struct load_info *info, in check_modstruct_version() argument
76 return check_version(info, "module_layout", mod, fsa.crc); in check_modstruct_version()
/kernel/gcov/
Dgcc_4_7.c112 const char *gcov_info_filename(struct gcov_info *info) in gcov_info_filename() argument
114 return info->filename; in gcov_info_filename()
121 unsigned int gcov_info_version(struct gcov_info *info) in gcov_info_version() argument
123 return info->version; in gcov_info_version()
133 struct gcov_info *gcov_info_next(struct gcov_info *info) in gcov_info_next() argument
135 if (!info) in gcov_info_next()
138 return info->next; in gcov_info_next()
145 void gcov_info_link(struct gcov_info *info) in gcov_info_link() argument
147 info->next = gcov_info_head; in gcov_info_link()
148 gcov_info_head = info; in gcov_info_link()
[all …]
Dclang.c84 struct gcov_info *info = kzalloc(sizeof(*info), GFP_KERNEL); in llvm_gcov_init() local
86 if (!info) in llvm_gcov_init()
89 INIT_LIST_HEAD(&info->head); in llvm_gcov_init()
90 INIT_LIST_HEAD(&info->functions); in llvm_gcov_init()
94 list_add_tail(&info->head, &clang_gcov_list); in llvm_gcov_init()
95 current_info = info; in llvm_gcov_init()
99 gcov_event(GCOV_ADD, info); in llvm_gcov_init()
115 struct gcov_fn_info *info = kzalloc(sizeof(*info), GFP_KERNEL); in llvm_gcda_emit_function() local
117 if (!info) in llvm_gcda_emit_function()
120 INIT_LIST_HEAD(&info->head); in llvm_gcda_emit_function()
[all …]
Dfs.c99 struct gcov_info *info; member
111 static struct gcov_iterator *gcov_iter_new(struct gcov_info *info) in gcov_iter_new() argument
117 size = convert_to_gcda(NULL, info); in gcov_iter_new()
123 iter->info = info; in gcov_iter_new()
125 convert_to_gcda(iter->buffer, info); in gcov_iter_new()
146 return iter->info; in gcov_iter_get_info()
269 struct gcov_info *info; in get_accumulated_info() local
273 info = gcov_info_dup(node->unloaded_info); in get_accumulated_info()
275 info = gcov_info_dup(node->loaded_info[i++]); in get_accumulated_info()
276 if (!info) in get_accumulated_info()
[all …]
Dgcov.h45 const char *gcov_info_filename(struct gcov_info *info);
46 unsigned int gcov_info_version(struct gcov_info *info);
47 struct gcov_info *gcov_info_next(struct gcov_info *info);
48 void gcov_info_link(struct gcov_info *info);
49 void gcov_info_unlink(struct gcov_info *prev, struct gcov_info *info);
50 bool gcov_info_within_module(struct gcov_info *info, struct module *mod);
51 size_t convert_to_gcda(char *buffer, struct gcov_info *info);
59 void gcov_event(enum gcov_action action, struct gcov_info *info);
67 void gcov_info_reset(struct gcov_info *info);
70 struct gcov_info *gcov_info_dup(struct gcov_info *info);
[all …]
Dbase.c38 struct gcov_info *info = NULL; in gcov_enable_events() local
44 while ((info = gcov_info_next(info))) { in gcov_enable_events()
45 gcov_event(GCOV_ADD, info); in gcov_enable_events()
107 struct gcov_info *info = NULL; in gcov_module_notifier() local
115 while ((info = gcov_info_next(info))) { in gcov_module_notifier()
116 if (gcov_info_within_module(info, mod)) { in gcov_module_notifier()
117 gcov_info_unlink(prev, info); in gcov_module_notifier()
119 gcov_event(GCOV_REMOVE, info); in gcov_module_notifier()
121 prev = info; in gcov_module_notifier()
/kernel/
Dsignal.c502 int sig = q->info.si_signo; in __flush_itimer_signals()
504 if (likely(q->info.si_code != SI_TIMER)) { in __flush_itimer_signals()
576 static void collect_signal(int sig, struct sigpending *list, kernel_siginfo_t *info, in collect_signal() argument
586 if (q->info.si_signo == sig) { in collect_signal()
598 copy_siginfo(info, &first->info); in collect_signal()
602 (info->si_code == SI_TIMER) && in collect_signal()
603 (info->si_sys_private); in collect_signal()
612 clear_siginfo(info); in collect_signal()
613 info->si_signo = sig; in collect_signal()
614 info->si_errno = 0; in collect_signal()
[all …]
Dusermode_driver.c60 int umd_load_blob(struct umd_info *info, const void *data, size_t len) in umd_load_blob() argument
64 if (WARN_ON_ONCE(info->wd.dentry || info->wd.mnt)) in umd_load_blob()
67 mnt = blob_to_mnt(data, len, info->driver_name); in umd_load_blob()
71 info->wd.mnt = mnt; in umd_load_blob()
72 info->wd.dentry = mnt->mnt_root; in umd_load_blob()
82 int umd_unload_blob(struct umd_info *info) in umd_unload_blob() argument
84 if (WARN_ON_ONCE(!info->wd.mnt || in umd_unload_blob()
85 !info->wd.dentry || in umd_unload_blob()
86 info->wd.mnt->mnt_root != info->wd.dentry)) in umd_unload_blob()
89 kern_unmount(info->wd.mnt); in umd_unload_blob()
[all …]
Dtaskstats.c66 static int prepare_reply(struct genl_info *info, u8 cmd, struct sk_buff **skbp, in prepare_reply() argument
79 if (!info) { in prepare_reply()
84 reply = genlmsg_put_reply(skb, info, &family, 0, cmd); in prepare_reply()
97 static int send_reply(struct sk_buff *skb, struct genl_info *info) in send_reply() argument
104 return genlmsg_reply(skb, info); in send_reply()
407 static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info) in cgroupstats_user_cmd() argument
417 na = info->attrs[CGROUPSTATS_CMD_ATTR_FD]; in cgroupstats_user_cmd()
421 fd = nla_get_u32(info->attrs[CGROUPSTATS_CMD_ATTR_FD]); in cgroupstats_user_cmd()
428 rc = prepare_reply(info, CGROUPSTATS_CMD_NEW, &rep_skb, in cgroupstats_user_cmd()
450 rc = send_reply(rep_skb, info); in cgroupstats_user_cmd()
[all …]
Dup.c12 int smp_call_function_single(int cpu, void (*func) (void *info), void *info, in smp_call_function_single() argument
21 func(info); in smp_call_function_single()
33 csd->func(csd->info); in smp_call_function_single_async()
44 void *info, bool wait, const struct cpumask *mask) in on_each_cpu_cond_mask() argument
49 if ((!cond_func || cond_func(0, info)) && cpumask_test_cpu(0, mask)) { in on_each_cpu_cond_mask()
51 func(info); in on_each_cpu_cond_mask()
/kernel/bpf/
Dtask_iter.c162 struct bpf_iter_seq_task_info *info = seq->private; in task_seq_start() local
165 task = task_seq_get_next(&info->common, &info->tid, false); in task_seq_start()
176 struct bpf_iter_seq_task_info *info = seq->private; in task_seq_next() local
180 ++info->tid; in task_seq_next()
182 task = task_seq_get_next(&info->common, &info->tid, false); in task_seq_next()
279 task_file_seq_get_next(struct bpf_iter_seq_task_file_info *info) in task_file_seq_get_next() argument
281 u32 saved_tid = info->tid; in task_file_seq_get_next()
283 unsigned int curr_fd = info->fd; in task_file_seq_get_next()
290 if (info->task) { in task_file_seq_get_next()
291 curr_task = info->task; in task_file_seq_get_next()
[all …]
Dsyscall.c2938 struct bpf_link_info *info) in bpf_tracing_link_fill_link_info() argument
2943 info->tracing.attach_type = tr_link->attach_type; in bpf_tracing_link_fill_link_info()
2945 &info->tracing.target_obj_id, in bpf_tracing_link_fill_link_info()
2946 &info->tracing.target_btf_id); in bpf_tracing_link_fill_link_info()
3179 struct bpf_link_info *info) in bpf_raw_tp_link_fill_link_info() argument
3183 char __user *ubuf = u64_to_user_ptr(info->raw_tracepoint.tp_name); in bpf_raw_tp_link_fill_link_info()
3185 u32 ulen = info->raw_tracepoint.tp_name_len; in bpf_raw_tp_link_fill_link_info()
3191 info->raw_tracepoint.tp_name_len = tp_len + 1; in bpf_raw_tp_link_fill_link_info()
3882 static int set_info_rec_size(struct bpf_prog_info *info) in set_info_rec_size() argument
3894 if ((info->nr_func_info || info->func_info_rec_size) && in set_info_rec_size()
[all …]
Doffload.c262 struct bpf_prog_info *info; member
276 args->info->ifindex = aux->offload->netdev->ifindex; in bpf_prog_offload_info_fill_ns()
281 args->info->ifindex = 0; in bpf_prog_offload_info_fill_ns()
291 int bpf_prog_offload_info_fill(struct bpf_prog_info *info, in bpf_prog_offload_info_fill() argument
296 .info = info, in bpf_prog_offload_info_fill()
307 if (!info->ifindex) in bpf_prog_offload_info_fill()
319 ulen = info->jited_prog_len; in bpf_prog_offload_info_fill()
320 info->jited_prog_len = aux->offload->jited_len; in bpf_prog_offload_info_fill()
321 if (info->jited_prog_len && ulen) { in bpf_prog_offload_info_fill()
322 uinsns = u64_to_user_ptr(info->jited_prog_insns); in bpf_prog_offload_info_fill()
[all …]
/kernel/irq/
Dmsi.c471 struct msi_domain_info *info = domain->host_data; in msi_check_level() local
477 WARN_ON(!((info->flags & MSI_FLAG_LEVEL_CAPABLE) && in msi_check_level()
478 (info->chip->flags & IRQCHIP_SUPPORTS_LEVEL_MSI)) && in msi_check_level()
533 struct msi_domain_info *info = domain->host_data; in msi_domain_alloc() local
534 struct msi_domain_ops *ops = info->ops; in msi_domain_alloc()
535 irq_hw_number_t hwirq = ops->get_hwirq(info, arg); in msi_domain_alloc()
548 ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg); in msi_domain_alloc()
552 ops->msi_free(domain, info, virq + i); in msi_domain_alloc()
565 struct msi_domain_info *info = domain->host_data; in msi_domain_free() local
568 if (info->ops->msi_free) { in msi_domain_free()
[all …]
/kernel/printk/
Dprintk.c556 struct printk_info *info) in info_print_ext_header() argument
558 u64 ts_usec = info->ts_nsec; in info_print_ext_header()
561 u32 id = info->caller_id; in info_print_ext_header()
572 (info->facility << 3) | info->level, info->seq, in info_print_ext_header()
573 ts_usec, info->flags & LOG_CONT ? 'c' : '-', caller); in info_print_ext_header()
639 struct printk_info info; member
757 if (r->info->seq != atomic64_read(&user->seq)) { in devkmsg_read()
759 atomic64_set(&user->seq, r->info->seq); in devkmsg_read()
764 len = info_print_ext_header(user->buf, sizeof(user->buf), r->info); in devkmsg_read()
766 &r->text_buf[0], r->info->text_len, in devkmsg_read()
[all …]
Dprintk_ringbuffer.c436 struct printk_info *info = to_info(desc_ring, id); in desc_read() local
482 *seq_out = info->seq; /* also part of desc_read:C */ in desc_read()
484 *caller_id_out = info->caller_id; /* also part of desc_read:C */ in desc_read()
1354 struct printk_info *info; in prb_reserve_in_last() local
1370 info = to_info(desc_ring, id); in prb_reserve_in_last()
1384 if (caller_id != info->caller_id) in prb_reserve_in_last()
1388 if (WARN_ON_ONCE(info->text_len != 0)) { in prb_reserve_in_last()
1390 info->text_len); in prb_reserve_in_last()
1391 info->text_len = 0; in prb_reserve_in_last()
1411 if (WARN_ON_ONCE(info->text_len > data_size)) { in prb_reserve_in_last()
[all …]
/kernel/entry/
Dsyscall_user_dispatch.c21 struct kernel_siginfo info; in trigger_sigsys() local
23 clear_siginfo(&info); in trigger_sigsys()
24 info.si_signo = SIGSYS; in trigger_sigsys()
25 info.si_code = SYS_USER_DISPATCH; in trigger_sigsys()
26 info.si_call_addr = (void __user *)KSTK_EIP(current); in trigger_sigsys()
27 info.si_errno = 0; in trigger_sigsys()
28 info.si_arch = syscall_get_arch(current); in trigger_sigsys()
29 info.si_syscall = syscall_get_nr(current, regs); in trigger_sigsys()
31 force_sig_info(&info); in trigger_sigsys()

123