Branch data Line data Source code
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 : 0 : int audit_classify_arch(int arch)
32 : : {
33 : 0 : return 0;
34 : : }
35 : :
36 : 0 : int audit_classify_syscall(int abi, unsigned syscall)
37 : : {
38 [ # # # # : 0 : switch(syscall) {
# ]
39 : : #ifdef __NR_open
40 : : case __NR_open:
41 : : return 2;
42 : : #endif
43 : : #ifdef __NR_openat
44 : : case __NR_openat:
45 : 0 : return 3;
46 : : #endif
47 : : #ifdef __NR_socketcall
48 : : case __NR_socketcall:
49 : 0 : return 4;
50 : : #endif
51 : : case __NR_execve:
52 : 0 : return 5;
53 : : default:
54 : 0 : return 0;
55 : : }
56 : : }
57 : :
58 : 0 : static int __init audit_classes_init(void)
59 : : {
60 : 0 : audit_register_class(AUDIT_CLASS_WRITE, write_class);
61 : 0 : audit_register_class(AUDIT_CLASS_READ, read_class);
62 : 0 : audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
63 : 0 : audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
64 : 0 : audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
65 : 0 : return 0;
66 : : }
67 : :
68 : : __initcall(audit_classes_init);
|