X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=include%2Finstrumentation%2Fevents%2Fmodule.h;h=06b20c64ae1291bddb7b92ca7156da360961e838;hb=acbe9250b563528ba81088e3589847a2ab75d2f5;hp=5831650b6f987b2a10b58db0bcef52b36b22f5bd;hpb=4f47ccf08dfac3d5db7553eb8b40bdab19764727;p=lttng-modules.git diff --git a/include/instrumentation/events/module.h b/include/instrumentation/events/module.h index 5831650b..06b20c64 100644 --- a/include/instrumentation/events/module.h +++ b/include/instrumentation/events/module.h @@ -16,7 +16,8 @@ #define LTTNG_TRACE_MODULE_H #include -#include +#include +#include #ifdef CONFIG_MODULES @@ -26,6 +27,45 @@ struct module; #endif +LTTNG_TRACEPOINT_ENUM(taint, + TP_ENUM_VALUES( + ctf_enum_value("PROPRIETARY_MODULE", 1UL << TAINT_PROPRIETARY_MODULE) + ctf_enum_value("FORCED_MODULE", 1UL << TAINT_FORCED_MODULE) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0)) + ctf_enum_value("CPU_OUT_OF_SPEC", 1UL << TAINT_CPU_OUT_OF_SPEC) +#else + ctf_enum_value("UNSAFE_SMP", 1UL << TAINT_UNSAFE_SMP) +#endif + ctf_enum_value("FORCED_RMMOD", 1UL << TAINT_FORCED_RMMOD) + ctf_enum_value("MACHINE_CHECK", 1UL << TAINT_MACHINE_CHECK) + ctf_enum_value("BAD_PAGE", 1UL << TAINT_BAD_PAGE) + ctf_enum_value("USER", 1UL << TAINT_USER) + ctf_enum_value("DIE", 1UL << TAINT_DIE) + ctf_enum_value("OVERRIDDEN_ACPI_TABLE", 1UL << TAINT_OVERRIDDEN_ACPI_TABLE) + ctf_enum_value("WARN", 1UL << TAINT_WARN) + ctf_enum_value("CRAP", 1UL << TAINT_CRAP) + ctf_enum_value("FIRMWARE_WORKAROUND", 1UL << TAINT_FIRMWARE_WORKAROUND) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,2,0)) + ctf_enum_value("OOT_MODULE", 1UL << TAINT_OOT_MODULE) +#endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0)) + ctf_enum_value("UNSIGNED_MODULE", 1UL << TAINT_UNSIGNED_MODULE) +#endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,17,0)) + ctf_enum_value("SOFTLOCKUP", 1UL << TAINT_SOFTLOCKUP) +#endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0)) + ctf_enum_value("LIVEPATCH", 1UL << TAINT_LIVEPATCH) +#endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0)) + ctf_enum_value("AUX", 1UL << TAINT_AUX) +#endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0)) + ctf_enum_value("RANDSTRUCT", 1UL << TAINT_RANDSTRUCT) +#endif + ) +) + LTTNG_TRACEPOINT_EVENT(module_load, TP_PROTO(struct module *mod), @@ -33,7 +73,7 @@ LTTNG_TRACEPOINT_EVENT(module_load, TP_ARGS(mod), TP_FIELDS( - ctf_integer(unsigned int, taints, mod->taints) + ctf_enum(taint, unsigned int, taints, mod->taints) ctf_string(name, mod->name) ) ) @@ -60,7 +100,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(module_refcnt, TP_FIELDS( ctf_integer_hex(unsigned long, ip, ip) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,19,0)) ctf_integer(int, refcnt, atomic_read(&mod->refcnt)) #else ctf_integer(int, refcnt, __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs))