Filter: add lshift, rshift, bit not ops
[lttng-modules.git] / wrapper / kref.h
index eedefbfe87e96ab47ac79ac0c4a36565c03a47ae..3f3be7a42d27c0445d7273fc771b5d55dd120248 100644 (file)
 
 #include <linux/kref.h>
 #include <linux/rculist.h>
+#include <linux/version.h>
 
 /*
  * lttng_kref_get: get reference count, checking for overflow.
  *
  * Return 1 if reference is taken, 0 otherwise (overflow).
  */
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
 static inline int lttng_kref_get(struct kref *kref)
 {
-       if (atomic_add_unless(&kref->refcount, 1, INT_MAX) != INT_MAX) {
-               return 1;
-       } else {
-               return 0;
-       }
+       kref_get(kref);
+       return 1;
 }
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
+static inline int lttng_kref_get(struct kref *kref)
+{
+       return atomic_add_unless(&kref->refcount, 1, INT_MAX);
+}
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
 
 #endif /* _LTTNG_WRAPPER_KREF_H */
This page took 0.023392 seconds and 4 git commands to generate.