new file mode 100644
@@ -0,0 +1,47 @@
+#ifndef __BACKPORT_LINUX_REFCOUNT_H
+#define __BACKPORT_LINUX_REFCOUNT_H
+#if LINUX_VERSION_IS_GEQ(4,11,0)
+#include_next <linux/refcount.h>
+#else
+
+#include <linux/atomic.h>
+#include <linux/mutex.h>
+#include <linux/spinlock.h>
+#include <linux/kernel.h>
+
+/**
+ * refcount_t - variant of atomic_t specialized for reference counts
+ * @refs: atomic_t counter field
+ *
+ * The counter saturates at UINT_MAX and will not move once
+ * there. This avoids wrapping the counter and causing 'spurious'
+ * use-after-free bugs.
+ */
+typedef struct refcount_struct {
+ atomic_t refs;
+} refcount_t;
+
+#define REFCOUNT_INIT(n) { .refs = ATOMIC_INIT(n), }
+
+/**
+ * refcount_set - set a refcount's value
+ * @r: the refcount
+ * @n: value to which the refcount will be set
+ */
+static inline void refcount_set(refcount_t *r, unsigned int n)
+{
+ atomic_set(&r->refs, n);
+}
+
+static inline void refcount_inc(refcount_t *r)
+{
+ atomic_inc(&r->refs);
+}
+
+static inline __must_check bool refcount_dec_and_test(refcount_t *r)
+{
+ return atomic_dec_and_test(&r->refs);
+}
+
+#endif /* LINUX_VERSION_IS_GEQ(4,11,0) */
+#endif /* __BACKPORT_LINUX_REFCOUNT_H */
Add the new linux/refcount.h header file. This was added in kernel 4.11 and is used by some drivers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- backport/backport-include/linux/refcount.h | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 backport/backport-include/linux/refcount.h