Hi Paul, With `CONFIG_INTEGRITY=y` but not `CONFIG_IMA=y` or `CONFIG_EVM=y` it does not compile :
``` ld: vmlinux.o: in function `integrity_late_init': security/integrity/initcalls.c:32:(.init.text+0x47f85): undefined reference to `init_ima' ld: security/integrity/initcalls.c:36:(.init.text+0x47f96): undefined reference to `init_evm' make[2]: *** [scripts/Makefile.vmlinux:91: vmlinux.unstripped] Error 1 make[1]: *** [Makefile:1236: vmlinux] Error 2 make: *** [Makefile:248: __sub-make] Error 2 ``` > security/integrity/Makefile | 2 +- > security/integrity/evm/evm_main.c | 6 ++--- > security/integrity/iint.c | 4 +-- > security/integrity/ima/ima_main.c | 6 ++--- > security/integrity/initcalls.c | 41 +++++++++++++++++++++++++++++++ > security/integrity/initcalls.h | 13 ++++++++++ > 6 files changed, 63 insertions(+), 9 deletions(-) > create mode 100644 security/integrity/initcalls.c > create mode 100644 security/integrity/initcalls.h > > diff --git a/security/integrity/Makefile b/security/integrity/Makefile > index 92b63039c654..6ea330ea88b1 100644 > --- a/security/integrity/Makefile > +++ b/security/integrity/Makefile > @@ -5,7 +5,7 @@ > > obj-$(CONFIG_INTEGRITY) += integrity.o > > -integrity-y := iint.o > +integrity-y := iint.o initcalls.o > integrity-$(CONFIG_INTEGRITY_AUDIT) += integrity_audit.o > integrity-$(CONFIG_INTEGRITY_SIGNATURE) += digsig.o > integrity-$(CONFIG_INTEGRITY_ASYMMETRIC_KEYS) += digsig_asymmetric.o --- > diff --git a/security/integrity/initcalls.h b/security/integrity/initcalls.h > new file mode 100644 > index 000000000000..5511c62f8166 > --- /dev/null > +++ b/security/integrity/initcalls.h > @@ -0,0 +1,13 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > + > +#ifndef PLATFORM_CERTS_INITCALLS_H > +#define PLATFORM_CERTS_INITCALLS_H > + > +int integrity_fs_init(void); > + > +int init_ima(void); > +int init_evm(void); > + > +int integrity_late_init(void); > + > +#endif > -- > 2.50.1 > Nicolas