ANDROID: mm/slab: Use EXPORT_SYMBOL for android_kmalloc_64_create

Commit 8a7073c106 ("ANDROID: mm/slab: Create 64-byte slab caches if the
hardware supports it") introduced the android_kmalloc_64_create variable
and exported it to modules through the EXPORT_SYMBOL_GPL() macro.

Since android_kmalloc_64_create is referred to by kmalloc(), which is
inlined to all callers, including modules, it makes it so that all
modules that invoke kmalloc() have to be GPL licensed. This diverges
from upstream Linux's intent of letting kmalloc() be invoked by non-GPL
licensed modules, which is not correct. Thus, use the EXPORT_SYMBOL()
macro for exporting android_kmalloc_64_create variable, instead of
EXPORT_SYMBOL_GPL().

Fixes: 8a7073c106 ("ANDROID: mm/slab: Create 64-byte slab caches if the hardware supports it")
Bug: 259498503
Change-Id: I96d20ec9cc17853a02e9343edb2829d0a5185f0e
Signed-off-by: Isaac J. Manjarres <isaacmanjarres@google.com>
This commit is contained in:
Isaac J. Manjarres
2022-11-18 18:15:05 +00:00
committed by Isaac Manjarres
parent e161b0c43c
commit 50358d6729

View File

@@ -716,7 +716,7 @@ kmalloc_caches[NR_KMALLOC_TYPES][KMALLOC_SHIFT_HIGH + 1] __ro_after_init =
EXPORT_SYMBOL(kmalloc_caches);
bool android_kmalloc_64_create __ro_after_init;
EXPORT_SYMBOL_GPL(android_kmalloc_64_create);
EXPORT_SYMBOL(android_kmalloc_64_create);
/*
* Conversion table for small slabs sizes / 8 to the index in the