// form // https://github.com/alibaba/diagnose-tools/blob/8cd905a1c17f2201e460a2d607413a1303757a32/SOURCE/module/internal.h#L65 // look for current function address, all the function with prefix "orig_".
#define LOOKUP_SYMS(name) \ do { \ orig_##name = (void *)diag_kallsyms_lookup_name(#name); \ if (!orig_##name) { \ printk(KERN_ERR "kallsyms_lookup_name: %s\n", #name); \ return -EINVAL; \ } \ } while (0)
#define LOOKUP_SYMS_NORET(name) \ do { \ orig_##name = (void *)diag_kallsyms_lookup_name(#name); \ if (!orig_##name) \ pr_err("kallsyms_lookup_name: %s\n", #name); \ } while (0)