Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/s390/kernel/audit.c
49231 views
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
static unsigned dir_class[] = {
8
#include <asm-generic/audit_dir_write.h>
9
~0U
10
};
11
12
static unsigned read_class[] = {
13
#include <asm-generic/audit_read.h>
14
~0U
15
};
16
17
static unsigned write_class[] = {
18
#include <asm-generic/audit_write.h>
19
~0U
20
};
21
22
static unsigned chattr_class[] = {
23
#include <asm-generic/audit_change_attr.h>
24
~0U
25
};
26
27
static unsigned signal_class[] = {
28
#include <asm-generic/audit_signal.h>
29
~0U
30
};
31
32
int audit_classify_arch(int arch)
33
{
34
return 0;
35
}
36
37
int audit_classify_syscall(int abi, unsigned syscall)
38
{
39
switch(syscall) {
40
case __NR_open:
41
return AUDITSC_OPEN;
42
case __NR_openat:
43
return AUDITSC_OPENAT;
44
case __NR_socketcall:
45
return AUDITSC_SOCKETCALL;
46
case __NR_execve:
47
return AUDITSC_EXECVE;
48
case __NR_openat2:
49
return AUDITSC_OPENAT2;
50
default:
51
return AUDITSC_NATIVE;
52
}
53
}
54
55
static int __init audit_classes_init(void)
56
{
57
audit_register_class(AUDIT_CLASS_WRITE, write_class);
58
audit_register_class(AUDIT_CLASS_READ, read_class);
59
audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
60
audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
61
audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
62
return 0;
63
}
64
65
__initcall(audit_classes_init);
66
67