1b915543bSAl Viro #include <linux/init.h> 2b915543bSAl Viro #include <linux/types.h> 3b915543bSAl Viro #include <linux/audit.h> 4b915543bSAl Viro #include <asm/unistd.h> 5b915543bSAl Viro 6b915543bSAl Viro static unsigned dir_class[] = { 7b915543bSAl Viro #include <asm-generic/audit_dir_write.h> 8b915543bSAl Viro ~0U 9b915543bSAl Viro }; 10b915543bSAl Viro 11*dc104fb3SAl Viro static unsigned read_class[] = { 12*dc104fb3SAl Viro #include <asm-generic/audit_read.h> 13*dc104fb3SAl Viro ~0U 14*dc104fb3SAl Viro }; 15*dc104fb3SAl Viro 16*dc104fb3SAl Viro static unsigned write_class[] = { 17*dc104fb3SAl Viro #include <asm-generic/audit_write.h> 18*dc104fb3SAl Viro ~0U 19*dc104fb3SAl Viro }; 20*dc104fb3SAl Viro 21b915543bSAl Viro static unsigned chattr_class[] = { 22b915543bSAl Viro #include <asm-generic/audit_change_attr.h> 23b915543bSAl Viro ~0U 24b915543bSAl Viro }; 25b915543bSAl Viro 26b915543bSAl Viro static int __init audit_classes_init(void) 27b915543bSAl Viro { 28b915543bSAl Viro #ifdef CONFIG_IA32_SUPPORT 29b915543bSAl Viro extern __u32 ia32_dir_class[]; 30*dc104fb3SAl Viro extern __u32 ia32_write_class[]; 31*dc104fb3SAl Viro extern __u32 ia32_read_class[]; 32b915543bSAl Viro extern __u32 ia32_chattr_class[]; 33*dc104fb3SAl Viro audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class); 34*dc104fb3SAl Viro audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class); 35b915543bSAl Viro audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); 36b915543bSAl Viro audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); 37b915543bSAl Viro #endif 38*dc104fb3SAl Viro audit_register_class(AUDIT_CLASS_WRITE, write_class); 39*dc104fb3SAl Viro audit_register_class(AUDIT_CLASS_READ, read_class); 40b915543bSAl Viro audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 41b915543bSAl Viro audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 42b915543bSAl Viro return 0; 43b915543bSAl Viro } 44b915543bSAl Viro 45b915543bSAl Viro __initcall(audit_classes_init); 46