Lines Matching defs:fsa
365 struct find_symbol_arg *fsa)
370 sym = bsearch(fsa->name, syms->start, syms->stop - syms->start,
376 if (!fsa->gplok && (sym_flags & KSYM_FLAG_GPL_ONLY))
379 fsa->owner = owner;
380 fsa->crc = symversion(syms->crcs, sym - syms->start);
381 fsa->sym = sym;
382 fsa->license = (sym_flags & KSYM_FLAG_GPL_ONLY) ? GPL_ONLY : NOT_GPL_ONLY;
391 bool find_symbol(struct find_symbol_arg *fsa)
401 if (find_exported_symbol_in_section(&syms, NULL, fsa))
416 if (find_exported_symbol_in_section(&syms, mod, fsa))
420 pr_debug("Failed to find symbol %s\n", fsa->name);
886 struct find_symbol_arg fsa = {
892 BUG_ON(!find_symbol(&fsa));
893 module_put(fsa.owner);
1265 struct find_symbol_arg fsa = {
1279 if (!find_symbol(&fsa))
1282 if (fsa.license == GPL_ONLY)
1285 if (!inherit_taint(mod, fsa.owner, name)) {
1286 fsa.sym = NULL;
1290 if (!check_version(info, name, mod, fsa.crc)) {
1291 fsa.sym = ERR_PTR(-EINVAL);
1295 err = verify_namespace_is_imported(info, fsa.sym, mod);
1297 fsa.sym = ERR_PTR(err);
1301 err = ref_module(mod, fsa.owner);
1303 fsa.sym = ERR_PTR(err);
1309 strscpy(ownername, module_name(fsa.owner), MODULE_NAME_LEN);
1312 return fsa.sym;
1468 struct find_symbol_arg fsa = {
1475 if (!find_symbol(&fsa))
1477 if (fsa.license != GPL_ONLY) {
1482 if (strong_try_module_get(fsa.owner))
1485 return (void *)kernel_symbol_value(fsa.sym);
1499 struct find_symbol_arg fsa = {
1503 if (find_symbol(&fsa)) {
1506 module_name(fsa.owner));