]> git.baikalelectronics.ru Git - kernel.git/commitdiff
s390/boot: cleanup adjust_to_uv_max() function
authorAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 26 May 2022 05:57:36 +0000 (07:57 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 28 Jul 2022 16:05:23 +0000 (18:05 +0200)
Uncouple input and output arguments by making the latter
the function return value.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/boot/startup.c
arch/s390/boot/uv.c
arch/s390/boot/uv.h

index 863e6bcaa5a188f1971b04ebeda51ff5f0bb8829..bc48fe82d949a4dc60ebb2dda2f73d2b308d36e1 100644 (file)
@@ -152,6 +152,7 @@ static void setup_kernel_memory_layout(void)
        unsigned long vmemmap_start;
        unsigned long rte_size;
        unsigned long pages;
+       unsigned long vmax;
 
        pages = ident_map_size / PAGE_SIZE;
        /* vmemmap contains a multiple of PAGES_PER_SECTION struct pages */
@@ -163,10 +164,10 @@ static void setup_kernel_memory_layout(void)
            vmalloc_size > _REGION2_SIZE ||
            vmemmap_start + vmemmap_size + vmalloc_size + MODULES_LEN >
                    _REGION2_SIZE) {
-               MODULES_END = _REGION1_SIZE;
+               vmax = _REGION1_SIZE;
                rte_size = _REGION2_SIZE;
        } else {
-               MODULES_END = _REGION2_SIZE;
+               vmax = _REGION2_SIZE;
                rte_size = _REGION3_SIZE;
        }
        /*
@@ -174,11 +175,12 @@ static void setup_kernel_memory_layout(void)
         * secure storage limit, so that any vmalloc allocation
         * we do could be used to back secure guest storage.
         */
-       adjust_to_uv_max(&MODULES_END);
+       vmax = adjust_to_uv_max(vmax);
 #ifdef CONFIG_KASAN
        /* force vmalloc and modules below kasan shadow */
-       MODULES_END = min(MODULES_END, KASAN_SHADOW_START);
+       vmax = min(vmax, KASAN_SHADOW_START);
 #endif
+       MODULES_END = vmax;
        MODULES_VADDR = MODULES_END - MODULES_LEN;
        VMALLOC_END = MODULES_VADDR;
 
index e6be155ab2e52a4dc82dfd5d702349eb85a7248c..d13ce34ab9f19cb3292cd8fd1fb8a742a6d381dd 100644 (file)
@@ -51,10 +51,11 @@ void uv_query_info(void)
 }
 
 #if IS_ENABLED(CONFIG_KVM)
-void adjust_to_uv_max(unsigned long *vmax)
+unsigned long adjust_to_uv_max(unsigned long limit)
 {
        if (is_prot_virt_host() && uv_info.max_sec_stor_addr)
-               *vmax = min_t(unsigned long, *vmax, uv_info.max_sec_stor_addr);
+               limit = min_t(unsigned long, limit, uv_info.max_sec_stor_addr);
+       return limit;
 }
 
 static int is_prot_virt_host_capable(void)
index 690ce019af5ae12026e82fd7438b15903c01ceb1..0f3070856f8dca909ee500b1b04100bc4fedf31e 100644 (file)
@@ -3,10 +3,13 @@
 #define BOOT_UV_H
 
 #if IS_ENABLED(CONFIG_KVM)
-void adjust_to_uv_max(unsigned long *vmax);
+unsigned long adjust_to_uv_max(unsigned long limit);
 void sanitize_prot_virt_host(void);
 #else
-static inline void adjust_to_uv_max(unsigned long *vmax) {}
+static inline unsigned long adjust_to_uv_max(unsigned long limit)
+{
+       return limit;
+}
 static inline void sanitize_prot_virt_host(void) {}
 #endif