Lines Matching refs:fsa
312 struct find_symbol_arg *fsa) in find_exported_symbol_in_section() argument
316 if (!fsa->gplok && syms->license == GPL_ONLY) in find_exported_symbol_in_section()
319 sym = bsearch(fsa->name, syms->start, syms->stop - syms->start, in find_exported_symbol_in_section()
324 fsa->owner = owner; in find_exported_symbol_in_section()
325 fsa->crc = symversion(syms->crcs, sym - syms->start); in find_exported_symbol_in_section()
326 fsa->sym = sym; in find_exported_symbol_in_section()
327 fsa->license = syms->license; in find_exported_symbol_in_section()
336 bool find_symbol(struct find_symbol_arg *fsa) in find_symbol() argument
349 if (find_exported_symbol_in_section(&arr[i], NULL, fsa)) in find_symbol()
366 if (find_exported_symbol_in_section(&arr[i], mod, fsa)) in find_symbol()
370 pr_debug("Failed to find symbol %s\n", fsa->name); in find_symbol()
804 struct find_symbol_arg fsa = { in __symbol_put() local
810 BUG_ON(!find_symbol(&fsa)); in __symbol_put()
811 module_put(fsa.owner); in __symbol_put()
1138 struct find_symbol_arg fsa = { in resolve_symbol() local
1152 if (!find_symbol(&fsa)) in resolve_symbol()
1155 if (fsa.license == GPL_ONLY) in resolve_symbol()
1158 if (!inherit_taint(mod, fsa.owner, name)) { in resolve_symbol()
1159 fsa.sym = NULL; in resolve_symbol()
1163 if (!check_version(info, name, mod, fsa.crc)) { in resolve_symbol()
1164 fsa.sym = ERR_PTR(-EINVAL); in resolve_symbol()
1168 err = verify_namespace_is_imported(info, fsa.sym, mod); in resolve_symbol()
1170 fsa.sym = ERR_PTR(err); in resolve_symbol()
1174 err = ref_module(mod, fsa.owner); in resolve_symbol()
1176 fsa.sym = ERR_PTR(err); in resolve_symbol()
1182 strscpy(ownername, module_name(fsa.owner), MODULE_NAME_LEN); in resolve_symbol()
1185 return fsa.sym; in resolve_symbol()
1351 struct find_symbol_arg fsa = { in __symbol_get() local
1358 if (!find_symbol(&fsa)) in __symbol_get()
1360 if (fsa.license != GPL_ONLY) { in __symbol_get()
1365 if (strong_try_module_get(fsa.owner)) in __symbol_get()
1368 return (void *)kernel_symbol_value(fsa.sym); in __symbol_get()
1392 struct find_symbol_arg fsa = { in verify_exported_symbols() local
1396 if (find_symbol(&fsa)) { in verify_exported_symbols()
1400 module_name(fsa.owner)); in verify_exported_symbols()