From dd220fc567c8534f6758f00032950909ce18e02b Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 8 Sep 2015 12:46:57 +0100 Subject: [PATCH] workqueue: Make flush_workqueue() available again to non GPL modules (Closes: #798311) --- debian/changelog | 2 ++ ...lush_workqueue-available-again-to-no.patch | 35 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 38 insertions(+) create mode 100644 debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch diff --git a/debian/changelog b/debian/changelog index c1da6a5d2..83e04185a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium * [hppa/parisc64-smp,[mips*el/loongson-3] udeb: Add i2c-modules and make fb-modules depend on it rather than including I2C modules directly + * workqueue: Make flush_workqueue() available again to non GPL modules + (Closes: #798311) [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch b/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch new file mode 100644 index 000000000..571cc90c9 --- /dev/null +++ b/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch @@ -0,0 +1,35 @@ +From: Tim Gardner +Date: Tue, 4 Aug 2015 11:26:04 -0600 +Subject: workqueue: Make flush_workqueue() available again to non GPL modules +Origin: https://git.kernel.org/linus/1dadafa86a779884f14a6e7a3ddde1a57b0a0a65 +Bug-Debian: https://bugs.debian.org/798311 + +Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move +flush_scheduled_work() to workqueue.h") moved the exported non GPL +flush_scheduled_work() from a function to an inline wrapper. +Unfortunately, it directly calls flush_workqueue() which is a GPL function. +This has the effect of changing the licensing requirement for this function +and makes it unavailable to non GPL modules. + +See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make +schedule_work() available again to non GPL modules") for precedent. + +Signed-off-by: Tim Gardner +Signed-off-by: Tejun Heo +--- + kernel/workqueue.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/workqueue.c b/kernel/workqueue.c +index 4c4f061..a413acb 100644 +--- a/kernel/workqueue.c ++++ b/kernel/workqueue.c +@@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_struct *wq) + out_unlock: + mutex_unlock(&wq->mutex); + } +-EXPORT_SYMBOL_GPL(flush_workqueue); ++EXPORT_SYMBOL(flush_workqueue); + + /** + * drain_workqueue - drain a workqueue diff --git a/debian/patches/series b/debian/patches/series index b9805de9c..9cb425ab4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -90,3 +90,4 @@ features/all/grsecurity/grsecurity-kconfig.patch features/all/grsecurity/grkernsec_perf_harden.patch bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch +bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch