s390/Kconfig: Select KASAN_VMALLOC if KASAN is enabled
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 2 Dec 2024 11:56:37 +0000 (12:56 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 10 Dec 2024 14:41:58 +0000 (15:41 +0100)
Reduce the number of to be considered config options and select
KASAN_VMALLOC if KASAN is enabled.

Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/Kconfig
arch/s390/boot/vmem.c
arch/s390/configs/kasan.config

index 0077969170e8b4ca4c99e87ec75f6ea94f3e8e00..e0b2647e069456655e7d23aeacdb0bfdff914938 100644 (file)
@@ -233,6 +233,7 @@ config S390
        select HAVE_VIRT_CPU_ACCOUNTING_IDLE
        select IOMMU_HELPER             if PCI
        select IOMMU_SUPPORT            if PCI
+       select KASAN_VMALLOC if KASAN
        select LOCK_MM_AND_FIND_VMA
        select MMU_GATHER_MERGE_VMAS
        select MMU_GATHER_NO_GATHER
index 145035f84a0e3e898ff708f815b5ac54ec541860..00a3c59ac2186f315db75cb7214e613957843b37 100644 (file)
@@ -63,7 +63,6 @@ static void kasan_populate_shadow(unsigned long kernel_start, unsigned long kern
        pud_t pud_z = __pud(__pa(kasan_early_shadow_pmd) | _REGION3_ENTRY);
        p4d_t p4d_z = __p4d(__pa(kasan_early_shadow_pud) | _REGION2_ENTRY);
        unsigned long memgap_start = 0;
-       unsigned long untracked_end;
        unsigned long start, end;
        int i;
 
@@ -93,15 +92,10 @@ static void kasan_populate_shadow(unsigned long kernel_start, unsigned long kern
        kasan_populate(kernel_start + TEXT_OFFSET, kernel_end, POPULATE_KASAN_MAP_SHADOW);
        kasan_populate(0, (unsigned long)__identity_va(0), POPULATE_KASAN_ZERO_SHADOW);
        kasan_populate(AMODE31_START, AMODE31_END, POPULATE_KASAN_ZERO_SHADOW);
-       if (IS_ENABLED(CONFIG_KASAN_VMALLOC)) {
-               untracked_end = VMALLOC_START;
-               /* shallowly populate kasan shadow for vmalloc and modules */
-               kasan_populate(VMALLOC_START, MODULES_END, POPULATE_KASAN_SHALLOW);
-       } else {
-               untracked_end = MODULES_VADDR;
-       }
+       /* shallowly populate kasan shadow for vmalloc and modules */
+       kasan_populate(VMALLOC_START, MODULES_END, POPULATE_KASAN_SHALLOW);
        /* populate kasan shadow for untracked memory */
-       kasan_populate((unsigned long)__identity_va(ident_map_size), untracked_end,
+       kasan_populate((unsigned long)__identity_va(ident_map_size), VMALLOC_START,
                       POPULATE_KASAN_ZERO_SHADOW);
        kasan_populate(kernel_end, _REGION1_SIZE, POPULATE_KASAN_ZERO_SHADOW);
 }
index 84c2b551e9927bb26b3a68a5cafa969be2c857b7..b4e600717411d54693a60e337c2a3d93cb1bc1ee 100644 (file)
@@ -1,4 +1,3 @@
 # Help: Enable KASan for debugging
 CONFIG_KASAN=y
 CONFIG_KASAN_INLINE=y
-CONFIG_KASAN_VMALLOC=y