--- /dev/null
+From d557d1b58b3546bab2c5bc2d624c5709840e6b10 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Thu, 4 May 2017 15:51:03 -0700
+Subject: refcount: change EXPORT_SYMBOL markings
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+commit d557d1b58b3546bab2c5bc2d624c5709840e6b10 upstream.
+
+Now that kref is using the refcount apis, the _GPL markings are getting
+exported to places that it previously wasn't. Now kref.h is GPLv2
+licensed, so any non-GPL code using it better be talking to some
+lawyers, but changing api markings isn't considered "nice", so let's fix
+this up.
+
+Cc: Philip Müller <philm@manjaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+---
+ lib/refcount.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+--- a/lib/refcount.c
++++ b/lib/refcount.c
+@@ -62,13 +62,13 @@ bool refcount_add_not_zero(unsigned int
+
+ return true;
+ }
+-EXPORT_SYMBOL_GPL(refcount_add_not_zero);
++EXPORT_SYMBOL(refcount_add_not_zero);
+
+ void refcount_add(unsigned int i, refcount_t *r)
+ {
+ WARN_ONCE(!refcount_add_not_zero(i, r), "refcount_t: addition on 0; use-after-free.\n");
+ }
+-EXPORT_SYMBOL_GPL(refcount_add);
++EXPORT_SYMBOL(refcount_add);
+
+ /*
+ * Similar to atomic_inc_not_zero(), will saturate at UINT_MAX and WARN.
+@@ -101,7 +101,7 @@ bool refcount_inc_not_zero(refcount_t *r
+
+ return true;
+ }
+-EXPORT_SYMBOL_GPL(refcount_inc_not_zero);
++EXPORT_SYMBOL(refcount_inc_not_zero);
+
+ /*
+ * Similar to atomic_inc(), will saturate at UINT_MAX and WARN.
+@@ -113,7 +113,7 @@ void refcount_inc(refcount_t *r)
+ {
+ WARN_ONCE(!refcount_inc_not_zero(r), "refcount_t: increment on 0; use-after-free.\n");
+ }
+-EXPORT_SYMBOL_GPL(refcount_inc);
++EXPORT_SYMBOL(refcount_inc);
+
+ bool refcount_sub_and_test(unsigned int i, refcount_t *r)
+ {
+@@ -138,7 +138,7 @@ bool refcount_sub_and_test(unsigned int
+
+ return !new;
+ }
+-EXPORT_SYMBOL_GPL(refcount_sub_and_test);
++EXPORT_SYMBOL(refcount_sub_and_test);
+
+ /*
+ * Similar to atomic_dec_and_test(), it will WARN on underflow and fail to
+@@ -152,7 +152,7 @@ bool refcount_dec_and_test(refcount_t *r
+ {
+ return refcount_sub_and_test(1, r);
+ }
+-EXPORT_SYMBOL_GPL(refcount_dec_and_test);
++EXPORT_SYMBOL(refcount_dec_and_test);
+
+ /*
+ * Similar to atomic_dec(), it will WARN on underflow and fail to decrement
+@@ -166,7 +166,7 @@ void refcount_dec(refcount_t *r)
+ {
+ WARN_ONCE(refcount_dec_and_test(r), "refcount_t: decrement hit 0; leaking memory.\n");
+ }
+-EXPORT_SYMBOL_GPL(refcount_dec);
++EXPORT_SYMBOL(refcount_dec);
+
+ /*
+ * No atomic_t counterpart, it attempts a 1 -> 0 transition and returns the
+@@ -183,7 +183,7 @@ bool refcount_dec_if_one(refcount_t *r)
+ {
+ return atomic_cmpxchg_release(&r->refs, 1, 0) == 1;
+ }
+-EXPORT_SYMBOL_GPL(refcount_dec_if_one);
++EXPORT_SYMBOL(refcount_dec_if_one);
+
+ /*
+ * No atomic_t counterpart, it decrements unless the value is 1, in which case
+@@ -217,7 +217,7 @@ bool refcount_dec_not_one(refcount_t *r)
+
+ return true;
+ }
+-EXPORT_SYMBOL_GPL(refcount_dec_not_one);
++EXPORT_SYMBOL(refcount_dec_not_one);
+
+ /*
+ * Similar to atomic_dec_and_mutex_lock(), it will WARN on underflow and fail
+@@ -240,7 +240,7 @@ bool refcount_dec_and_mutex_lock(refcoun
+
+ return true;
+ }
+-EXPORT_SYMBOL_GPL(refcount_dec_and_mutex_lock);
++EXPORT_SYMBOL(refcount_dec_and_mutex_lock);
+
+ /*
+ * Similar to atomic_dec_and_lock(), it will WARN on underflow and fail to
+@@ -263,5 +263,5 @@ bool refcount_dec_and_lock(refcount_t *r
+
+ return true;
+ }
+-EXPORT_SYMBOL_GPL(refcount_dec_and_lock);
++EXPORT_SYMBOL(refcount_dec_and_lock);
+