The underlying type of `struct kref` changed in kernel 4.11 from an atomic_t to a refcount_t. This change was introduced in kernel commit:10383ae. This commit also added a builtin overflow checks to `kref_get()` so we use it.
Signed-off-by: Francis Deslauriers <francis.deslauri...@efficios.com> --- wrapper/kref.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wrapper/kref.h b/wrapper/kref.h index f30a9ae..8db05b5 100644 --- a/wrapper/kref.h +++ b/wrapper/kref.h @@ -34,9 +34,17 @@ * * 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) +{ + 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 */ -- 2.7.4 _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev