root/arch/sparc/kernel/audit.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. audit_classify_arch
  2. audit_classify_syscall
  3. audit_classes_init

   1 // SPDX-License-Identifier: GPL-2.0
   2 #include <linux/init.h>
   3 #include <linux/types.h>
   4 #include <linux/audit.h>
   5 #include <asm/unistd.h>
   6 
   7 #include "kernel.h"
   8 
   9 static unsigned int dir_class[] = {
  10 #include <asm-generic/audit_dir_write.h>
  11 ~0U
  12 };
  13 
  14 static unsigned int read_class[] = {
  15 #include <asm-generic/audit_read.h>
  16 ~0U
  17 };
  18 
  19 static unsigned int write_class[] = {
  20 #include <asm-generic/audit_write.h>
  21 ~0U
  22 };
  23 
  24 static unsigned int chattr_class[] = {
  25 #include <asm-generic/audit_change_attr.h>
  26 ~0U
  27 };
  28 
  29 static unsigned int signal_class[] = {
  30 #include <asm-generic/audit_signal.h>
  31 ~0U
  32 };
  33 
  34 int audit_classify_arch(int arch)
  35 {
  36 #ifdef CONFIG_COMPAT
  37         if (arch == AUDIT_ARCH_SPARC)
  38                 return 1;
  39 #endif
  40         return 0;
  41 }
  42 
  43 int audit_classify_syscall(int abi, unsigned int syscall)
  44 {
  45 #ifdef CONFIG_COMPAT
  46         if (abi == AUDIT_ARCH_SPARC)
  47                 return sparc32_classify_syscall(syscall);
  48 #endif
  49         switch(syscall) {
  50         case __NR_open:
  51                 return 2;
  52         case __NR_openat:
  53                 return 3;
  54         case __NR_socketcall:
  55                 return 4;
  56         case __NR_execve:
  57                 return 5;
  58         default:
  59                 return 0;
  60         }
  61 }
  62 
  63 static int __init audit_classes_init(void)
  64 {
  65 #ifdef CONFIG_COMPAT
  66         audit_register_class(AUDIT_CLASS_WRITE_32, sparc32_write_class);
  67         audit_register_class(AUDIT_CLASS_READ_32, sparc32_read_class);
  68         audit_register_class(AUDIT_CLASS_DIR_WRITE_32, sparc32_dir_class);
  69         audit_register_class(AUDIT_CLASS_CHATTR_32, sparc32_chattr_class);
  70         audit_register_class(AUDIT_CLASS_SIGNAL_32, sparc32_signal_class);
  71 #endif
  72         audit_register_class(AUDIT_CLASS_WRITE, write_class);
  73         audit_register_class(AUDIT_CLASS_READ, read_class);
  74         audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
  75         audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
  76         audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
  77         return 0;
  78 }
  79 
  80 __initcall(audit_classes_init);

/* [<][>][^][v][top][bottom][index][help] */