@@ -186,27 +186,43 @@ static inline unsigned int ima_hash_key(u8 *digest)
186186 return (digest [0 ] | digest [1 ] << 8 ) % IMA_MEASURE_HTABLE_SIZE ;
187187}
188188
189- #define __ima_hooks (hook ) \
190- hook(NONE) \
191- hook(FILE_CHECK) \
192- hook(MMAP_CHECK) \
193- hook(BPRM_CHECK) \
194- hook(CREDS_CHECK) \
195- hook(POST_SETATTR) \
196- hook(MODULE_CHECK) \
197- hook(FIRMWARE_CHECK) \
198- hook(KEXEC_KERNEL_CHECK) \
199- hook(KEXEC_INITRAMFS_CHECK) \
200- hook(POLICY_CHECK) \
201- hook(KEXEC_CMDLINE) \
202- hook(KEY_CHECK) \
203- hook(MAX_CHECK)
204- #define __ima_hook_enumify (ENUM ) ENUM,
189+ #define __ima_hooks (hook ) \
190+ hook(NONE, none) \
191+ hook(FILE_CHECK, file) \
192+ hook(MMAP_CHECK, mmap) \
193+ hook(BPRM_CHECK, bprm) \
194+ hook(CREDS_CHECK, creds) \
195+ hook(POST_SETATTR, post_setattr) \
196+ hook(MODULE_CHECK, module) \
197+ hook(FIRMWARE_CHECK, firmware) \
198+ hook(KEXEC_KERNEL_CHECK, kexec_kernel) \
199+ hook(KEXEC_INITRAMFS_CHECK, kexec_initramfs) \
200+ hook(POLICY_CHECK, policy) \
201+ hook(KEXEC_CMDLINE, kexec_cmdline) \
202+ hook(KEY_CHECK, key) \
203+ hook(MAX_CHECK, none)
204+
205+ #define __ima_hook_enumify (ENUM , str ) ENUM,
206+ #define __ima_stringify (arg ) (#arg)
207+ #define __ima_hook_measuring_stringify (ENUM , str ) \
208+ (__ima_stringify(measuring_ ##str)),
205209
206210enum ima_hooks {
207211 __ima_hooks (__ima_hook_enumify )
208212};
209213
214+ static const char * const ima_hooks_measure_str [] = {
215+ __ima_hooks (__ima_hook_measuring_stringify )
216+ };
217+
218+ static inline const char * func_measure_str (enum ima_hooks func )
219+ {
220+ if (func >= MAX_CHECK )
221+ return ima_hooks_measure_str [NONE ];
222+
223+ return ima_hooks_measure_str [func ];
224+ }
225+
210226extern const char * const func_tokens [];
211227
212228struct modsig ;
0 commit comments