xref: /openbmc/linux/arch/alpha/kernel/audit.c (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1a9302e84S蔡正龙 #include <linux/init.h>
2a9302e84S蔡正龙 #include <linux/types.h>
3a9302e84S蔡正龙 #include <linux/audit.h>
4a9302e84S蔡正龙 #include <asm/unistd.h>
5a9302e84S蔡正龙 
6a9302e84S蔡正龙 static unsigned dir_class[] = {
7a9302e84S蔡正龙 #include <asm-generic/audit_dir_write.h>
8a9302e84S蔡正龙 ~0U
9a9302e84S蔡正龙 };
10a9302e84S蔡正龙 
11a9302e84S蔡正龙 static unsigned read_class[] = {
12a9302e84S蔡正龙 #include <asm-generic/audit_read.h>
13a9302e84S蔡正龙 ~0U
14a9302e84S蔡正龙 };
15a9302e84S蔡正龙 
16a9302e84S蔡正龙 static unsigned write_class[] = {
17a9302e84S蔡正龙 #include <asm-generic/audit_write.h>
18a9302e84S蔡正龙 ~0U
19a9302e84S蔡正龙 };
20a9302e84S蔡正龙 
21a9302e84S蔡正龙 static unsigned chattr_class[] = {
22a9302e84S蔡正龙 #include <asm-generic/audit_change_attr.h>
23a9302e84S蔡正龙 ~0U
24a9302e84S蔡正龙 };
25a9302e84S蔡正龙 
26a9302e84S蔡正龙 static unsigned signal_class[] = {
27a9302e84S蔡正龙 #include <asm-generic/audit_signal.h>
28a9302e84S蔡正龙 ~0U
29a9302e84S蔡正龙 };
30a9302e84S蔡正龙 
audit_classify_arch(int arch)31a9302e84S蔡正龙 int audit_classify_arch(int arch)
32a9302e84S蔡正龙 {
33a9302e84S蔡正龙 	return 0;
34a9302e84S蔡正龙 }
35a9302e84S蔡正龙 
audit_classify_syscall(int abi,unsigned syscall)36a9302e84S蔡正龙 int audit_classify_syscall(int abi, unsigned syscall)
37a9302e84S蔡正龙 {
38a9302e84S蔡正龙 	switch(syscall) {
39a9302e84S蔡正龙 	case __NR_open:
4042f355efSRichard Guy Briggs 		return AUDITSC_OPEN;
41a9302e84S蔡正龙 	case __NR_openat:
4242f355efSRichard Guy Briggs 		return AUDITSC_OPENAT;
43a9302e84S蔡正龙 	case __NR_execve:
4442f355efSRichard Guy Briggs 		return AUDITSC_EXECVE;
45*1c30e3afSRichard Guy Briggs 	case __NR_openat2:
46*1c30e3afSRichard Guy Briggs 		return AUDITSC_OPENAT2;
47a9302e84S蔡正龙 	default:
4842f355efSRichard Guy Briggs 		return AUDITSC_NATIVE;
49a9302e84S蔡正龙 	}
50a9302e84S蔡正龙 }
51a9302e84S蔡正龙 
audit_classes_init(void)52a9302e84S蔡正龙 static int __init audit_classes_init(void)
53a9302e84S蔡正龙 {
54a9302e84S蔡正龙 	audit_register_class(AUDIT_CLASS_WRITE, write_class);
55a9302e84S蔡正龙 	audit_register_class(AUDIT_CLASS_READ, read_class);
56a9302e84S蔡正龙 	audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
57a9302e84S蔡正龙 	audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
58a9302e84S蔡正龙 	audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
59a9302e84S蔡正龙 	return 0;
60a9302e84S蔡正龙 }
61a9302e84S蔡正龙 
62a9302e84S蔡正龙 __initcall(audit_classes_init);
63