>> +    /* 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.