Lines Matching refs:fsa
364 struct find_symbol_arg *fsa) in find_exported_symbol_in_section() argument
368 if (!fsa->gplok && syms->license == GPL_ONLY) in find_exported_symbol_in_section()
371 sym = bsearch(fsa->name, syms->start, syms->stop - syms->start, in find_exported_symbol_in_section()
376 fsa->owner = owner; in find_exported_symbol_in_section()
377 fsa->crc = symversion(syms->crcs, sym - syms->start); in find_exported_symbol_in_section()
378 fsa->sym = sym; in find_exported_symbol_in_section()
379 fsa->license = syms->license; in find_exported_symbol_in_section()
388 bool find_symbol(struct find_symbol_arg *fsa) in find_symbol() argument
401 if (find_exported_symbol_in_section(&arr[i], NULL, fsa)) in find_symbol()
418 if (find_exported_symbol_in_section(&arr[i], mod, fsa)) in find_symbol()
422 pr_debug("Failed to find symbol %s\n", fsa->name); in find_symbol()
858 struct find_symbol_arg fsa = { in __symbol_put() local
864 BUG_ON(!find_symbol(&fsa)); in __symbol_put()
865 module_put(fsa.owner); in __symbol_put()
1236 struct find_symbol_arg fsa = { in resolve_symbol() local
1250 if (!find_symbol(&fsa)) in resolve_symbol()
1253 if (fsa.license == GPL_ONLY) in resolve_symbol()
1256 if (!inherit_taint(mod, fsa.owner, name)) { in resolve_symbol()
1257 fsa.sym = NULL; in resolve_symbol()
1261 if (!check_version(info, name, mod, fsa.crc)) { in resolve_symbol()
1262 fsa.sym = ERR_PTR(-EINVAL); in resolve_symbol()
1266 err = verify_namespace_is_imported(info, fsa.sym, mod); in resolve_symbol()
1268 fsa.sym = ERR_PTR(err); in resolve_symbol()
1272 err = ref_module(mod, fsa.owner); in resolve_symbol()
1274 fsa.sym = ERR_PTR(err); in resolve_symbol()
1280 strscpy(ownername, module_name(fsa.owner), MODULE_NAME_LEN); in resolve_symbol()
1283 return fsa.sym; in resolve_symbol()
1440 struct find_symbol_arg fsa = { in __symbol_get() local
1447 if (!find_symbol(&fsa)) in __symbol_get()
1449 if (fsa.license != GPL_ONLY) { in __symbol_get()
1454 if (strong_try_module_get(fsa.owner)) in __symbol_get()
1457 return (void *)kernel_symbol_value(fsa.sym); in __symbol_get()
1481 struct find_symbol_arg fsa = { in verify_exported_symbols() local
1485 if (find_symbol(&fsa)) { in verify_exported_symbols()
1489 module_name(fsa.owner)); in verify_exported_symbols()