diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-08-31 19:26:40 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2006-09-11 13:32:30 -0400 |
commit | 55669bfa141b488be865341ed12e188967d11308 (patch) | |
tree | efeec37a93f46c48937eb849c083da9a42ed3709 /arch/s390/kernel | |
parent | dc104fb3231f11e95b5a0f09ae3ab27a8fd5b2e8 (diff) |
[PATCH] audit: AUDIT_PERM support
add support for AUDIT_PERM predicate
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/audit.c | 21 | ||||
-rw-r--r-- | arch/s390/kernel/compat_audit.c | 16 |
2 files changed, 37 insertions, 0 deletions
diff --git a/arch/s390/kernel/audit.c b/arch/s390/kernel/audit.c index cde57039334c..0741d9193390 100644 --- a/arch/s390/kernel/audit.c +++ b/arch/s390/kernel/audit.c | |||
@@ -23,6 +23,27 @@ static unsigned chattr_class[] = { | |||
23 | ~0U | 23 | ~0U |
24 | }; | 24 | }; |
25 | 25 | ||
26 | int audit_classify_syscall(int abi, unsigned syscall) | ||
27 | { | ||
28 | #ifdef CONFIG_COMPAT | ||
29 | extern int s390_classify_syscall(unsigned); | ||
30 | if (abi == AUDIT_ARCH_S390) | ||
31 | return s390_classify_syscall(syscall); | ||
32 | #endif | ||
33 | switch(syscall) { | ||
34 | case __NR_open: | ||
35 | return 2; | ||
36 | case __NR_openat: | ||
37 | return 3; | ||
38 | case __NR_socketcall: | ||
39 | return 4; | ||
40 | case __NR_execve: | ||
41 | return 5; | ||
42 | default: | ||
43 | return 0; | ||
44 | } | ||
45 | } | ||
46 | |||
26 | static int __init audit_classes_init(void) | 47 | static int __init audit_classes_init(void) |
27 | { | 48 | { |
28 | #ifdef CONFIG_COMPAT | 49 | #ifdef CONFIG_COMPAT |
diff --git a/arch/s390/kernel/compat_audit.c b/arch/s390/kernel/compat_audit.c index d9e5f3540d48..16d9436bfa91 100644 --- a/arch/s390/kernel/compat_audit.c +++ b/arch/s390/kernel/compat_audit.c | |||
@@ -20,3 +20,19 @@ unsigned s390_read_class[] = { | |||
20 | #include <asm-generic/audit_read.h> | 20 | #include <asm-generic/audit_read.h> |
21 | ~0U | 21 | ~0U |
22 | }; | 22 | }; |
23 | |||
24 | int s390_classify_syscall(unsigned syscall) | ||
25 | { | ||
26 | switch(syscall) { | ||
27 | case __NR_open: | ||
28 | return 2; | ||
29 | case __NR_openat: | ||
30 | return 3; | ||
31 | case __NR_socketcall: | ||
32 | return 4; | ||
33 | case __NR_execve: | ||
34 | return 5; | ||
35 | default: | ||
36 | return 1; | ||
37 | } | ||
38 | } | ||