On Fri, Jun 5, 2020 at 10:03 AM Mimi Zohar <zohar@xxxxxxxxxxxxx> wrote: > > The main changes are extending the TPM 2.0 PCR banks with bank > specific file hashes, calculating the "boot_aggregate" based on other > TPM PCR banks, using the default IMA hash algorithm, instead of SHA1, > as the basis for the cache hash table key, and preventing the mprotect > syscall to circumvent an IMA mmap appraise policy rule. I'm not sure why I didn't notice this during my test builds, but this results in a new warning: WARNING: modpost: vmlinux.o(.text+0x496264): Section mismatch in reference from the function ima_calc_boot_aggregate() to the function .init.text:ima_pcrread() The function ima_calc_boot_aggregate() references the function __init ima_pcrread(). This is often because ima_calc_boot_aggregate lacks a __init annotation or the annotation of ima_pcrread is wrong. and I think the warning is real - and the problem is real, not just a missing annotation. It looks like ima_calc_boot_aggregate() may be called not only at init time (ima_eventdigest_init() is referenced from "struct ima_template_field supported_fields[]", for example) So calling an __init function would be very wrong, because it might be gone by that time. Hmm? Linus