]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/pkey: Build module name array selectively based on kernel config options
authorHarald Freudenberger <freude@linux.ibm.com>
Fri, 25 Oct 2024 10:34:31 +0000 (12:34 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Tue, 29 Oct 2024 10:17:17 +0000 (11:17 +0100)
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>
drivers/s390/crypto/pkey_base.c

index fea24332283835731834fe7a552d478ba7ba4cb1..2fc48214336d2a0bbc0f543d461ceeb1ace8dbf2 100644 (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++) {