s390/pkey: Build module name array selectively based on kernel config options

There is a static array of pkey handler kernel module names
used in case the pkey_handler_request_modules() is invoked.
This static array is walked through and if the module is not
already loaded a module_request() is performed.

This patch reworks the code to instead of unconditionally
building up a list of module names into the array, only the
pkey handler modules available based on the current kernel
config options are inserted.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Harald Freudenberger 2024-10-25 12:34:31 +02:00 committed by Heiko Carstens
parent 1bcf8d9a0c
commit eb37a9aea6

View File

@ -304,7 +304,16 @@ void pkey_handler_request_modules(void)
{
#ifdef CONFIG_MODULES
static const char * const pkey_handler_modules[] = {
"pkey_cca", "pkey_ep11", "pkey_pckmo" };
#if IS_MODULE(CONFIG_PKEY_CCA)
"pkey_cca",
#endif
#if IS_MODULE(CONFIG_PKEY_EP11)
"pkey_ep11",
#endif
#if IS_MODULE(CONFIG_PKEY_PCKMO)
"pkey_pckmo",
#endif
};
int i;
for (i = 0; i < ARRAY_SIZE(pkey_handler_modules); i++) {