X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Fwrapper%2Fuprobes.h;h=9cbbe3b2fdffd33a650a103e5510532f9b715d39;hb=546cb5f29a6b43d6240f21a1a2d1a38b2919f966;hp=d511850939a6212c9dfb28f8816bb14871aee9ab;hpb=117ab60f69a98dcbc365de8008ab93e6699d153a;p=lttng-modules.git diff --git a/include/wrapper/uprobes.h b/include/wrapper/uprobes.h index d5118509..9cbbe3b2 100644 --- a/include/wrapper/uprobes.h +++ b/include/wrapper/uprobes.h @@ -14,13 +14,13 @@ #ifndef _LTTNG_WRAPPER_UPROBES_H #define _LTTNG_WRAPPER_UPROBES_H -#include +#include -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,5,0)) #include /* Use kallsym lookup for version before 3.9. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0)) static inline int wrapper_uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) @@ -52,6 +52,19 @@ int wrapper_uprobe_register(struct inode *inode, loff_t offset, struct uprobe_co } } +/* + * Canary function to check for 'uprobe_register()' at compile time. + * + * From 'include/linux/uprobes.h': + * + * extern int uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc); + */ +static inline +int __canary__uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) +{ + return uprobe_register(inode, offset, uc); +} + static inline void wrapper_uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) { @@ -66,6 +79,20 @@ void wrapper_uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe WARN_ON(1); } } + +/* + * Canary function to check for 'uprobe_unregister()' at compile time. + * + * From 'include/linux/uprobes.h': + * + * extern void uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc); + */ +static inline +void __canary__uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) +{ + uprobe_unregister(inode, offset, uc); +} + #endif #else /* Version < 3.5, before uprobe was added. */