diff --git a/kernel.spec b/kernel.spec index 1b53b2d..cd704e9 100644 --- a/kernel.spec +++ b/kernel.spec @@ -624,6 +624,9 @@ Patch667: CVE-2017-7645.patch # CVE-2017-7477 rhbz 1445207 1445208 Patch668: CVE-2017-7477.patch +# Needed for compilation of external modules +Patch669: refcount-change-EXPORT_SYMBOL-markings.patch + # END OF PATCH DEFINITIONS %endif @@ -2188,6 +2191,9 @@ fi # # %changelog +* Tue May 09 2017 Laura Abbott +- Fix EXPORT_SYMBOL for external modules that shall not be named + * Tue May 09 2017 Laura Abbott - 4.11.0-2 - Bump for updated gcc (rhbz 1448958) diff --git a/refcount-change-EXPORT_SYMBOL-markings.patch b/refcount-change-EXPORT_SYMBOL-markings.patch new file mode 100644 index 0000000..dce8d61 --- /dev/null +++ b/refcount-change-EXPORT_SYMBOL-markings.patch @@ -0,0 +1,118 @@ +From 829cf8de29d2e511bf64fdac0b6584067e419017 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 4 May 2017 15:51:03 -0700 +Subject: [PATCH] refcount: change EXPORT_SYMBOL markings + +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. + +Signed-off-by: Greg Kroah-Hartman +--- + lib/refcount.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/lib/refcount.c b/lib/refcount.c +index aa09ad3..26dffb7 100644 +--- a/lib/refcount.c ++++ b/lib/refcount.c +@@ -62,13 +62,13 @@ bool refcount_add_not_zero(unsigned int i, refcount_t *r) + + 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 i, refcount_t *r) + + 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(refcount_t *r, struct mutex *lock) + + 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, spinlock_t *lock) + + return true; + } +-EXPORT_SYMBOL_GPL(refcount_dec_and_lock); ++EXPORT_SYMBOL(refcount_dec_and_lock); + +-- +2.7.4 +