hello,
       I read a part of source codes in ima.h. I can't understand it.
      #define MEM_MINOR     1

#define KMEM_MINOR   2

#ifdef CONFIG_IMA_KMEM_BYPASS_PROTECTION

static inline void check_kmem_bypass(struct inode *inode)

{

         if ((imajor(inode) == MEM_MAJOR)

             && S_ISCHR(inode->i_mode) && (iminor(inode) == KMEM_MINOR))

                   invalidate_pcr("/dev/kmem write violation");

}

#else

static inline void check_kmem_bypass(struct inode *inode)

{

         return;

}

#endif

why  the "invalidate pcr" function is called  after passing the judgement of if confiditional statment ? I hope you can explain it for me. Thank you.