Fix: Disable IBT around indirect function calls
[lttng-modules.git] / src / wrapper / kallsyms.c
index e5b5e3101f42313b60fc2fd83bf507d6aaf44724..6293e07ea703f68c54e25e5b2f51b6d8a645c0a1 100644 (file)
@@ -103,9 +103,15 @@ unsigned long wrapper_kallsyms_lookup_name(const char *name)
        if (!kallsyms_lookup_name_sym) {
                kallsyms_lookup_name_sym = (void *)do_get_kallsyms();
        }
-       if (kallsyms_lookup_name_sym)
-               return kallsyms_lookup_name_sym(name);
-       else {
+       if (kallsyms_lookup_name_sym) {
+               struct irq_ibt_state irq_ibt_state;
+               unsigned long ret;
+
+               irq_ibt_state = wrapper_irq_ibt_save();
+               ret = kallsyms_lookup_name_sym(name);
+               wrapper_irq_ibt_restore(irq_ibt_state);
+               return ret;
+       } else {
                printk_once(KERN_WARNING "LTTng: requires kallsyms_lookup_name\n");
                return 0;
        }
This page took 0.023015 seconds and 4 git commands to generate.