[PATCH] audit: more syscall classes added

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro dc104fb3 c0803799

+139
+12
arch/i386/kernel/audit.c
··· 8 8 ~0U 9 9 }; 10 10 11 + static unsigned read_class[] = { 12 + #include <asm-generic/audit_read.h> 13 + ~0U 14 + }; 15 + 16 + static unsigned write_class[] = { 17 + #include <asm-generic/audit_write.h> 18 + ~0U 19 + }; 20 + 11 21 static unsigned chattr_class[] = { 12 22 #include <asm-generic/audit_change_attr.h> 13 23 ~0U ··· 25 15 26 16 static int __init audit_classes_init(void) 27 17 { 18 + audit_register_class(AUDIT_CLASS_WRITE, write_class); 19 + audit_register_class(AUDIT_CLASS_READ, read_class); 28 20 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 29 21 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 30 22 return 0;
+10
arch/ia64/ia32/audit.c
··· 9 9 #include <asm-generic/audit_change_attr.h> 10 10 ~0U 11 11 }; 12 + 13 + unsigned ia32_write_class[] = { 14 + #include <asm-generic/audit_write.h> 15 + ~0U 16 + }; 17 + 18 + unsigned ia32_read_class[] = { 19 + #include <asm-generic/audit_read.h> 20 + ~0U 21 + };
+16
arch/ia64/kernel/audit.c
··· 8 8 ~0U 9 9 }; 10 10 11 + static unsigned read_class[] = { 12 + #include <asm-generic/audit_read.h> 13 + ~0U 14 + }; 15 + 16 + static unsigned write_class[] = { 17 + #include <asm-generic/audit_write.h> 18 + ~0U 19 + }; 20 + 11 21 static unsigned chattr_class[] = { 12 22 #include <asm-generic/audit_change_attr.h> 13 23 ~0U ··· 27 17 { 28 18 #ifdef CONFIG_IA32_SUPPORT 29 19 extern __u32 ia32_dir_class[]; 20 + extern __u32 ia32_write_class[]; 21 + extern __u32 ia32_read_class[]; 30 22 extern __u32 ia32_chattr_class[]; 23 + audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class); 24 + audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class); 31 25 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); 32 26 audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); 33 27 #endif 28 + audit_register_class(AUDIT_CLASS_WRITE, write_class); 29 + audit_register_class(AUDIT_CLASS_READ, read_class); 34 30 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 35 31 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 36 32 return 0;
+16
arch/powerpc/kernel/audit.c
··· 8 8 ~0U 9 9 }; 10 10 11 + static unsigned read_class[] = { 12 + #include <asm-generic/audit_read.h> 13 + ~0U 14 + }; 15 + 16 + static unsigned write_class[] = { 17 + #include <asm-generic/audit_write.h> 18 + ~0U 19 + }; 20 + 11 21 static unsigned chattr_class[] = { 12 22 #include <asm-generic/audit_change_attr.h> 13 23 ~0U ··· 27 17 { 28 18 #ifdef CONFIG_PPC64 29 19 extern __u32 ppc32_dir_class[]; 20 + extern __u32 ppc32_write_class[]; 21 + extern __u32 ppc32_read_class[]; 30 22 extern __u32 ppc32_chattr_class[]; 23 + audit_register_class(AUDIT_CLASS_WRITE_32, ppc32_write_class); 24 + audit_register_class(AUDIT_CLASS_READ_32, ppc32_read_class); 31 25 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ppc32_dir_class); 32 26 audit_register_class(AUDIT_CLASS_CHATTR_32, ppc32_chattr_class); 33 27 #endif 28 + audit_register_class(AUDIT_CLASS_WRITE, write_class); 29 + audit_register_class(AUDIT_CLASS_READ, read_class); 34 30 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 35 31 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 36 32 return 0;
+10
arch/powerpc/kernel/compat_audit.c
··· 10 10 #include <asm-generic/audit_change_attr.h> 11 11 ~0U 12 12 }; 13 + 14 + unsigned ppc32_write_class[] = { 15 + #include <asm-generic/audit_write.h> 16 + ~0U 17 + }; 18 + 19 + unsigned ppc32_read_class[] = { 20 + #include <asm-generic/audit_read.h> 21 + ~0U 22 + };
+16
arch/s390/kernel/audit.c
··· 8 8 ~0U 9 9 }; 10 10 11 + static unsigned read_class[] = { 12 + #include <asm-generic/audit_read.h> 13 + ~0U 14 + }; 15 + 16 + static unsigned write_class[] = { 17 + #include <asm-generic/audit_write.h> 18 + ~0U 19 + }; 20 + 11 21 static unsigned chattr_class[] = { 12 22 #include <asm-generic/audit_change_attr.h> 13 23 ~0U ··· 27 17 { 28 18 #ifdef CONFIG_COMPAT 29 19 extern __u32 s390_dir_class[]; 20 + extern __u32 s390_write_class[]; 21 + extern __u32 s390_read_class[]; 30 22 extern __u32 s390_chattr_class[]; 23 + audit_register_class(AUDIT_CLASS_WRITE_32, s390_write_class); 24 + audit_register_class(AUDIT_CLASS_READ_32, s390_read_class); 31 25 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, s390_dir_class); 32 26 audit_register_class(AUDIT_CLASS_CHATTR_32, s390_chattr_class); 33 27 #endif 28 + audit_register_class(AUDIT_CLASS_WRITE, write_class); 29 + audit_register_class(AUDIT_CLASS_READ, read_class); 34 30 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 35 31 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 36 32 return 0;
+10
arch/s390/kernel/compat_audit.c
··· 10 10 #include <asm-generic/audit_change_attr.h> 11 11 ~0U 12 12 }; 13 + 14 + unsigned s390_write_class[] = { 15 + #include <asm-generic/audit_write.h> 16 + ~0U 17 + }; 18 + 19 + unsigned s390_read_class[] = { 20 + #include <asm-generic/audit_read.h> 21 + ~0U 22 + };
+10
arch/x86_64/ia32/audit.c
··· 9 9 #include <asm-generic/audit_change_attr.h> 10 10 ~0U 11 11 }; 12 + 13 + unsigned ia32_write_class[] = { 14 + #include <asm-generic/audit_write.h> 15 + ~0U 16 + }; 17 + 18 + unsigned ia32_read_class[] = { 19 + #include <asm-generic/audit_read.h> 20 + ~0U 21 + };
+16
arch/x86_64/kernel/audit.c
··· 8 8 ~0U 9 9 }; 10 10 11 + static unsigned read_class[] = { 12 + #include <asm-generic/audit_read.h> 13 + ~0U 14 + }; 15 + 16 + static unsigned write_class[] = { 17 + #include <asm-generic/audit_write.h> 18 + ~0U 19 + }; 20 + 11 21 static unsigned chattr_class[] = { 12 22 #include <asm-generic/audit_change_attr.h> 13 23 ~0U ··· 27 17 { 28 18 #ifdef CONFIG_IA32_EMULATION 29 19 extern __u32 ia32_dir_class[]; 20 + extern __u32 ia32_write_class[]; 21 + extern __u32 ia32_read_class[]; 30 22 extern __u32 ia32_chattr_class[]; 23 + audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class); 24 + audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class); 31 25 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); 32 26 audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); 33 27 #endif 28 + audit_register_class(AUDIT_CLASS_WRITE, write_class); 29 + audit_register_class(AUDIT_CLASS_READ, read_class); 34 30 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 35 31 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 36 32 return 0;
+8
include/asm-generic/audit_read.h
··· 1 + __NR_readlink, 2 + __NR_quotactl, 3 + __NR_listxattr, 4 + __NR_llistxattr, 5 + __NR_flistxattr, 6 + __NR_getxattr, 7 + __NR_lgetxattr, 8 + __NR_fgetxattr,
+11
include/asm-generic/audit_write.h
··· 1 + #include <asm-generic/audit_dir_write.h> 2 + __NR_acct, 3 + __NR_swapon, 4 + __NR_quotactl, 5 + __NR_truncate, 6 + #ifdef __NR_truncate64 7 + __NR_truncate64, 8 + #endif 9 + #ifdef __NR_bind 10 + __NR_bind, /* bind can affect fs object only in one way... */ 11 + #endif
+4
include/linux/audit.h
··· 132 132 #define AUDIT_CLASS_DIR_WRITE_32 1 133 133 #define AUDIT_CLASS_CHATTR 2 134 134 #define AUDIT_CLASS_CHATTR_32 3 135 + #define AUDIT_CLASS_READ 4 136 + #define AUDIT_CLASS_READ_32 5 137 + #define AUDIT_CLASS_WRITE 6 138 + #define AUDIT_CLASS_WRITE_32 7 135 139 136 140 /* This bitmask is used to validate user input. It represents all bits that 137 141 * are currently used in an audit field constant understood by the kernel.