The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/lib/audit.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 39ebaa05c50a39ca1bb953fe3634c99f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.