Fix EXPORT_SYMBOL for external modules that shall not be named
This commit is contained in:
parent
f2ae1bd31e
commit
c7cad27274
|
@ -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 <labbott@fedoraproject.org>
|
||||
- Fix EXPORT_SYMBOL for external modules that shall not be named
|
||||
|
||||
* Tue May 09 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.0-2
|
||||
- Bump for updated gcc (rhbz 1448958)
|
||||
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
From 829cf8de29d2e511bf64fdac0b6584067e419017 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
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 <gregkh@linuxfoundation.org>
|
||||
---
|
||||
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
|
||||
|
Loading…
Reference in New Issue