diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-08-31 19:02:42 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2006-09-11 13:32:25 -0400 |
commit | c08037997d4ae3e9a679fbdb46ed47c957916e14 (patch) | |
tree | 952bc446670f19efb3a008f4846905d50ef235fd /arch/s390 | |
parent | 5974501e2d44546748e67c635cec20ba66619a3d (diff) | |
download | op-kernel-dev-c08037997d4ae3e9a679fbdb46ed47c957916e14.zip op-kernel-dev-c08037997d4ae3e9a679fbdb46ed47c957916e14.tar.gz |
[PATCH] syscall classes hookup for ppc and s390
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/Makefile | 4 | ||||
-rw-r--r-- | arch/s390/kernel/audit.c | 29 | ||||
-rw-r--r-- | arch/s390/kernel/compat_audit.c | 12 |
3 files changed, 44 insertions, 1 deletions
diff --git a/arch/s390/kernel/Makefile b/arch/s390/kernel/Makefile index 86601a9..9a33ed6 100644 --- a/arch/s390/kernel/Makefile +++ b/arch/s390/kernel/Makefile @@ -16,9 +16,11 @@ extra-y += head.o init_task.o vmlinux.lds obj-$(CONFIG_MODULES) += s390_ksyms.o module.o obj-$(CONFIG_SMP) += smp.o +obj-$(CONFIG_AUDIT) += audit.o +compat-obj-$(CONFIG_AUDIT) += compat_audit.o obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \ compat_wrapper.o compat_exec_domain.o \ - binfmt_elf32.o + binfmt_elf32.o $(compat-obj-y) obj-$(CONFIG_VIRT_TIMER) += vtime.o obj-$(CONFIG_STACKTRACE) += stacktrace.o diff --git a/arch/s390/kernel/audit.c b/arch/s390/kernel/audit.c new file mode 100644 index 0000000..c26cd6c --- /dev/null +++ b/arch/s390/kernel/audit.c @@ -0,0 +1,29 @@ +#include <linux/init.h> +#include <linux/types.h> +#include <linux/audit.h> +#include <asm/unistd.h> + +static unsigned dir_class[] = { +#include <asm-generic/audit_dir_write.h> +~0U +}; + +static unsigned chattr_class[] = { +#include <asm-generic/audit_change_attr.h> +~0U +}; + +static int __init audit_classes_init(void) +{ +#ifdef CONFIG_COMPAT + extern __u32 s390_dir_class[]; + extern __u32 s390_chattr_class[]; + audit_register_class(AUDIT_CLASS_DIR_WRITE_32, s390_dir_class); + audit_register_class(AUDIT_CLASS_CHATTR_32, s390_chattr_class); +#endif + audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); + audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); + return 0; +} + +__initcall(audit_classes_init); diff --git a/arch/s390/kernel/compat_audit.c b/arch/s390/kernel/compat_audit.c new file mode 100644 index 0000000..1a7d34f --- /dev/null +++ b/arch/s390/kernel/compat_audit.c @@ -0,0 +1,12 @@ +#undef __s390x__ +#include <asm/unistd.h> + +unsigned s390_dir_class[] = { +#include <asm-generic/audit_dir_write.h> +~0U +}; + +unsigned s390_chattr_class[] = { +#include <asm-generic/audit_change_attr.h> +~0U +}; |