Make flush_workqueue() available again to non GPL modules (rhbz 1259231)

This commit is contained in:
Justin M. Forbes 2015-09-02 12:00:59 -05:00 committed by Josh Boyer
parent d07b889185
commit 9b5419c22b
2 changed files with 41 additions and 0 deletions

View File

@ -625,6 +625,9 @@ Patch514: drm-qxl-validate-monitors-config-modes.patch
Patch517: vmwgfx-Rework-device-initialization.patch
Patch518: drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch
#rhbz 1259231
Patch519: make-flush-workqueue-available-to-non-GPL-modules.patch
# END OF PATCH DEFINITIONS
%endif
@ -1368,6 +1371,9 @@ ApplyPatch drm-qxl-validate-monitors-config-modes.patch
ApplyPatch vmwgfx-Rework-device-initialization.patch
ApplyPatch drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch
#rhbz 1259231
ApplyPatch make-flush-workqueue-available-to-non-GPL-modules.patch
# END OF PATCH APPLICATIONS
%endif
@ -2218,6 +2224,9 @@ fi
#
#
%changelog
* Wed Sep 02 2015 Justin M. Forbes <jforbes@fedoraproject.org>
- Make flush_workqueue() available again to non GPL modules (rhbz 1259231)
* Tue Sep 1 2015 Laura Abbott <labbott@fedoraproject.org> - 4.2.0-200
- Linux v4.2

View File

@ -0,0 +1,32 @@
From 1dadafa86a779884f14a6e7a3ddde1a57b0a0a65 Mon Sep 17 00:00:00 2001
From: Tim Gardner <tim.gardner@canonical.com>
Date: Tue, 4 Aug 2015 11:26:04 -0600
Subject: [PATCH] workqueue: Make flush_workqueue() available again to non GPL
modules
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 <tim.gardner@canonical.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
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