aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64')
-rw-r--r--arch/x86_64/ia32/audit.c5
-rw-r--r--arch/x86_64/kernel/audit.c17
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/x86_64/ia32/audit.c b/arch/x86_64/ia32/audit.c
index 92d7d0c8d93f..8850fe40ea34 100644
--- a/arch/x86_64/ia32/audit.c
+++ b/arch/x86_64/ia32/audit.c
@@ -20,6 +20,11 @@ unsigned ia32_read_class[] = {
20~0U 20~0U
21}; 21};
22 22
23unsigned ia32_signal_class[] = {
24#include <asm-generic/audit_signal.h>
25~0U
26};
27
23int ia32_classify_syscall(unsigned syscall) 28int ia32_classify_syscall(unsigned syscall)
24{ 29{
25 switch(syscall) { 30 switch(syscall) {
diff --git a/arch/x86_64/kernel/audit.c b/arch/x86_64/kernel/audit.c
index 21f33387bef3..06d3e5a14d9d 100644
--- a/arch/x86_64/kernel/audit.c
+++ b/arch/x86_64/kernel/audit.c
@@ -23,6 +23,20 @@ static unsigned chattr_class[] = {
23~0U 23~0U
24}; 24};
25 25
26static unsigned signal_class[] = {
27#include <asm-generic/audit_signal.h>
28~0U
29};
30
31int audit_classify_arch(int arch)
32{
33#ifdef CONFIG_IA32_EMULATION
34 if (arch == AUDIT_ARCH_I386)
35 return 1;
36#endif
37 return 0;
38}
39
26int audit_classify_syscall(int abi, unsigned syscall) 40int audit_classify_syscall(int abi, unsigned syscall)
27{ 41{
28#ifdef CONFIG_IA32_EMULATION 42#ifdef CONFIG_IA32_EMULATION
@@ -49,15 +63,18 @@ static int __init audit_classes_init(void)
49 extern __u32 ia32_write_class[]; 63 extern __u32 ia32_write_class[];
50 extern __u32 ia32_read_class[]; 64 extern __u32 ia32_read_class[];
51 extern __u32 ia32_chattr_class[]; 65 extern __u32 ia32_chattr_class[];
66 extern __u32 ia32_signal_class[];
52 audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class); 67 audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class);
53 audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class); 68 audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class);
54 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class); 69 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class);
55 audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class); 70 audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class);
71 audit_register_class(AUDIT_CLASS_SIGNAL_32, ia32_signal_class);
56#endif 72#endif
57 audit_register_class(AUDIT_CLASS_WRITE, write_class); 73 audit_register_class(AUDIT_CLASS_WRITE, write_class);
58 audit_register_class(AUDIT_CLASS_READ, read_class); 74 audit_register_class(AUDIT_CLASS_READ, read_class);
59 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 75 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
60 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class); 76 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
77 audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
61 return 0; 78 return 0;
62} 79}
63 80