@@ -1231,7 +1231,7 @@ asmlinkage void __init setup_vm(uintptr_t dtb_pa)
1231
1231
}
1232
1232
1233
1233
static void __meminit create_linear_mapping_range (phys_addr_t start , phys_addr_t end ,
1234
- uintptr_t fixed_map_size )
1234
+ uintptr_t fixed_map_size , const pgprot_t * pgprot )
1235
1235
{
1236
1236
phys_addr_t pa ;
1237
1237
uintptr_t va , map_size ;
@@ -1242,7 +1242,7 @@ static void __meminit create_linear_mapping_range(phys_addr_t start, phys_addr_t
1242
1242
best_map_size (pa , va , end - pa );
1243
1243
1244
1244
create_pgd_mapping (swapper_pg_dir , va , pa , map_size ,
1245
- pgprot_from_va (va ));
1245
+ pgprot ? * pgprot : pgprot_from_va (va ));
1246
1246
}
1247
1247
}
1248
1248
@@ -1286,22 +1286,19 @@ static void __init create_linear_mapping_page_table(void)
1286
1286
if (end >= __pa (PAGE_OFFSET ) + memory_limit )
1287
1287
end = __pa (PAGE_OFFSET ) + memory_limit ;
1288
1288
1289
- create_linear_mapping_range (start , end , 0 );
1289
+ create_linear_mapping_range (start , end , 0 , NULL );
1290
1290
}
1291
1291
1292
1292
#ifdef CONFIG_STRICT_KERNEL_RWX
1293
- create_linear_mapping_range (ktext_start , ktext_start + ktext_size , 0 );
1294
- create_linear_mapping_range (krodata_start ,
1295
- krodata_start + krodata_size , 0 );
1293
+ create_linear_mapping_range (ktext_start , ktext_start + ktext_size , 0 , NULL );
1294
+ create_linear_mapping_range (krodata_start , krodata_start + krodata_size , 0 , NULL );
1296
1295
1297
1296
memblock_clear_nomap (ktext_start , ktext_size );
1298
1297
memblock_clear_nomap (krodata_start , krodata_size );
1299
1298
#endif
1300
1299
1301
1300
#ifdef CONFIG_KFENCE
1302
- create_linear_mapping_range (kfence_pool ,
1303
- kfence_pool + KFENCE_POOL_SIZE ,
1304
- PAGE_SIZE );
1301
+ create_linear_mapping_range (kfence_pool , kfence_pool + KFENCE_POOL_SIZE , PAGE_SIZE , NULL );
1305
1302
1306
1303
memblock_clear_nomap (kfence_pool , KFENCE_POOL_SIZE );
1307
1304
#endif
0 commit comments