linux-stable/kernel/module
Christoph Hellwig 5d0fe30be4 modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
commit 9011e49d54 upstream.

It has recently come to my attention that nvidia is circumventing the
protection added in 262e6ae708 ("modules: inherit
TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary
modules into an allegedly GPL licensed module and then rexporting them.

Given that symbol_get was only ever intended for tightly cooperating
modules using very internal symbols it is logical to restrict it to
being used on EXPORT_SYMBOL_GPL and prevent nvidia from costly DMCA
Circumvention of Access Controls law suites.

All symbols except for four used through symbol_get were already exported
as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in
the preparation patches.

Fixes: 262e6ae708 ("modules: inherit TAINT_PROPRIETARY_MODULE")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-09-06 21:27:00 +01:00
..
debug_kmemleak.c
decompress.c module: Fix NULL vs IS_ERR checking for module_get_next_page 2022-12-31 13:32:10 +01:00
internal.h dyndbg: gather __dyndbg[] state into struct _ddebug_info 2022-09-07 17:04:48 +02:00
kallsyms.c module: Increase readability of module_kallsyms_lookup_name() 2022-07-11 10:49:14 -07:00
Kconfig module: Move module's Kconfig items in kernel/module/ 2022-07-12 12:07:25 -07:00
kdb.c
livepatch.c
main.c modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules 2023-09-06 21:27:00 +01:00
Makefile
procfs.c module: Modify module_flags() to accept show_state argument 2022-07-14 17:40:23 -07:00
signing.c
strict_rwx.c
sysfs.c
tracking.c module: tracking: Keep a record of tainted unloaded modules only 2022-10-10 12:16:19 -07:00
tree_lookup.c
version.c