This source file includes following definitions.
- integrity_audit_setup
- integrity_audit_msg
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 #include <linux/fs.h>
  11 #include <linux/gfp.h>
  12 #include <linux/audit.h>
  13 #include "integrity.h"
  14 
  15 static int integrity_audit_info;
  16 
  17 
  18 static int __init integrity_audit_setup(char *str)
  19 {
  20         unsigned long audit;
  21 
  22         if (!kstrtoul(str, 0, &audit))
  23                 integrity_audit_info = audit ? 1 : 0;
  24         return 1;
  25 }
  26 __setup("integrity_audit=", integrity_audit_setup);
  27 
  28 void integrity_audit_msg(int audit_msgno, struct inode *inode,
  29                          const unsigned char *fname, const char *op,
  30                          const char *cause, int result, int audit_info)
  31 {
  32         struct audit_buffer *ab;
  33         char name[TASK_COMM_LEN];
  34 
  35         if (!integrity_audit_info && audit_info == 1)   
  36                 return;
  37 
  38         ab = audit_log_start(audit_context(), GFP_KERNEL, audit_msgno);
  39         audit_log_format(ab, "pid=%d uid=%u auid=%u ses=%u",
  40                          task_pid_nr(current),
  41                          from_kuid(&init_user_ns, current_cred()->uid),
  42                          from_kuid(&init_user_ns, audit_get_loginuid(current)),
  43                          audit_get_sessionid(current));
  44         audit_log_task_context(ab);
  45         audit_log_format(ab, " op=%s cause=%s comm=", op, cause);
  46         audit_log_untrustedstring(ab, get_task_comm(name, current));
  47         if (fname) {
  48                 audit_log_format(ab, " name=");
  49                 audit_log_untrustedstring(ab, fname);
  50         }
  51         if (inode) {
  52                 audit_log_format(ab, " dev=");
  53                 audit_log_untrustedstring(ab, inode->i_sb->s_id);
  54                 audit_log_format(ab, " ino=%lu", inode->i_ino);
  55         }
  56         audit_log_format(ab, " res=%d", !result);
  57         audit_log_end(ab);
  58 }