Skip to content

Commit d8c949c

Browse files
Uwe Kleine-KönigJonathan Corbet
Uwe Kleine-König
authored and
Jonathan Corbet
committed
docs/licensing: Clarify wording about "GPL" and "Proprietary"
There are currently some doubts about out-of-tree kernel modules licensed under GPLv3 and if they are supposed to be able to use symbols exported using EXPORT_SYMBOL_GPL. Clarify that "Proprietary" means anything non-GPL2 even though the license might be an open source license. Also disambiguate "GPL compatible" to "GPLv2 compatible". Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20241115103842.585207-2-ukleinek@kernel.org
1 parent 21e5001 commit d8c949c

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

Documentation/kernel-hacking/hacking.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ Defined in ``include/linux/export.h``
587587

588588
Similar to :c:func:`EXPORT_SYMBOL()` except that the symbols
589589
exported by :c:func:`EXPORT_SYMBOL_GPL()` can only be seen by
590-
modules with a :c:func:`MODULE_LICENSE()` that specifies a GPL
590+
modules with a :c:func:`MODULE_LICENSE()` that specifies a GPLv2
591591
compatible license. It implies that the function is considered an
592592
internal implementation issue, and not really an interface. Some
593593
maintainers and developers may however require EXPORT_SYMBOL_GPL()

Documentation/process/license-rules.rst

+10-8
Original file line numberDiff line numberDiff line change
@@ -471,14 +471,16 @@ _`MODULE_LICENSE`
471471
source files.
472472

473473
"Proprietary" The module is under a proprietary license.
474-
This string is solely for proprietary third
475-
party modules and cannot be used for modules
476-
which have their source code in the kernel
477-
tree. Modules tagged that way are tainting
478-
the kernel with the 'P' flag when loaded and
479-
the kernel module loader refuses to link such
480-
modules against symbols which are exported
481-
with EXPORT_SYMBOL_GPL().
474+
"Proprietary" is to be understood only as
475+
"The license is not compatible to GPLv2".
476+
This string is solely for non-GPL2 compatible
477+
third party modules and cannot be used for
478+
modules which have their source code in the
479+
kernel tree. Modules tagged that way are
480+
tainting the kernel with the 'P' flag when
481+
loaded and the kernel module loader refuses
482+
to link such modules against symbols which
483+
are exported with EXPORT_SYMBOL_GPL().
482484
============================= =============================================
483485

484486

0 commit comments

Comments
 (0)