1*b915543bSAl Viro #include <linux/init.h> 2*b915543bSAl Viro #include <linux/types.h> 3*b915543bSAl Viro #include <linux/audit.h> 4*b915543bSAl Viro #include <asm/unistd.h> 5*b915543bSAl Viro 6*b915543bSAl Viro static unsigned dir_class[] = { 7*b915543bSAl Viro #include <asm-generic/audit_dir_write.h> 8*b915543bSAl Viro ~0U 9*b915543bSAl Viro }; 10*b915543bSAl Viro 11*b915543bSAl Viro static unsigned chattr_class[] = { 12*b915543bSAl Viro #include <asm-generic/audit_change_attr.h> 13*b915543bSAl Viro ~0U 14*b915543bSAl Viro }; 15*b915543bSAl Viro 16*b915543bSAl Viro static int __init audit_classes_init(void) 17*b915543bSAl Viro { 18*b915543bSAl Viro #ifdef CONFIG_IA32_SUPPORT 19*b915543bSAl Viro extern __u32 ia32_dir_class[]; 20*b915543bSAl Viro extern __u32 ia32_chattr_class[]; 21*b915543bSAl Viro audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); 22*b915543bSAl Viro audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); 23*b915543bSAl Viro #endif 24*b915543bSAl Viro audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 25*b915543bSAl Viro audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 26*b915543bSAl Viro return 0; 27*b915543bSAl Viro } 28*b915543bSAl Viro 29*b915543bSAl Viro __initcall(audit_classes_init); 30