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/powerpc | |
| 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/powerpc')
| -rw-r--r-- | arch/powerpc/kernel/audit.c | 21 | ||||
| -rw-r--r-- | arch/powerpc/kernel/compat_audit.c | 16 |
2 files changed, 37 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/audit.c b/arch/powerpc/kernel/audit.c index 24a65e3724e1..7fe5e6300e9a 100644 --- a/arch/powerpc/kernel/audit.c +++ b/arch/powerpc/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_PPC64 | ||
| 29 | extern int ppc32_classify_syscall(unsigned); | ||
| 30 | if (abi == AUDIT_ARCH_PPC) | ||
| 31 | return ppc32_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_PPC64 | 49 | #ifdef CONFIG_PPC64 |
diff --git a/arch/powerpc/kernel/compat_audit.c b/arch/powerpc/kernel/compat_audit.c index ddc0a64896a2..640d4bb29321 100644 --- a/arch/powerpc/kernel/compat_audit.c +++ b/arch/powerpc/kernel/compat_audit.c | |||
| @@ -20,3 +20,19 @@ unsigned ppc32_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 ppc32_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 | } | ||
