>> + /* Kfence pool needs page-level mapping */
>> + if (early_kfence_pool) {
>> + __map_memblock(pgdp, early_kfence_pool,
>> + early_kfence_pool + KFENCE_POOL_SIZE,
>> + pgprot_tagged(PAGE_KERNEL),
>> + NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS);
>> + memblock_clear_nomap(early_kfence_pool, KFENCE_POOL_SIZE);
>> + /* kfence_pool really mapped now */
>> + kfence_set_pool(early_kfence_pool);
>> + }
>
> Why not wrap this under CONFIG_KFENCE ? early_kfence_pool can also go in
> there?
Because I didn't want to add CONFIG_KFENCE in function.. in the case of
w/o CONFIG_KFENCE, early_kfence_pool should be always NULL.
Please no. If the code is not used in non-KFENCE build, it should not be compiled. Same holds for the variables that only exist in KFENCE builds.