b24413180f560 lib/audit.c (Greg Kroah-Hartman 2017-11-01 15:07:57 +0100 1) // SPDX-License-Identifier: GPL-2.0
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 2) #include <linux/init.h>
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 3) #include <linux/types.h>
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 4) #include <linux/audit.h>
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 5) #include <asm/unistd.h>
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 6)
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 7) static unsigned dir_class[] = {
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 8) #include <asm-generic/audit_dir_write.h>
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 9) ~0U
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 10) };
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 11)
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 12) static unsigned read_class[] = {
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 13) #include <asm-generic/audit_read.h>
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 14) ~0U
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 15) };
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 16)
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 17) static unsigned write_class[] = {
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 18) #include <asm-generic/audit_write.h>
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 19) ~0U
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 20) };
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 21)
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 22) static unsigned chattr_class[] = {
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 23) #include <asm-generic/audit_change_attr.h>
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 24) ~0U
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 25) };
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 26)
7f13da40e36c8 lib/audit.c (Amy Griffis 2007-03-29 18:00:37 -0400 27) static unsigned signal_class[] = {
7f13da40e36c8 lib/audit.c (Amy Griffis 2007-03-29 18:00:37 -0400 28) #include <asm-generic/audit_signal.h>
7f13da40e36c8 lib/audit.c (Amy Griffis 2007-03-29 18:00:37 -0400 29) ~0U
7f13da40e36c8 lib/audit.c (Amy Griffis 2007-03-29 18:00:37 -0400 30) };
7f13da40e36c8 lib/audit.c (Amy Griffis 2007-03-29 18:00:37 -0400 31)
e54dc2431d740 lib/audit.c (Amy Griffis 2007-03-29 18:01:04 -0400 32) int audit_classify_arch(int arch)
e54dc2431d740 lib/audit.c (Amy Griffis 2007-03-29 18:01:04 -0400 33) {
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 34) if (audit_is_compat(arch))
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 35) return 1;
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 36) else
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 37) return 0;
e54dc2431d740 lib/audit.c (Amy Griffis 2007-03-29 18:01:04 -0400 38) }
e54dc2431d740 lib/audit.c (Amy Griffis 2007-03-29 18:01:04 -0400 39)
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 40) int audit_classify_syscall(int abi, unsigned syscall)
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 41) {
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 42) if (audit_is_compat(abi))
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 43) return audit_classify_compat_syscall(abi, syscall);
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 44)
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 45) switch(syscall) {
aaeb012fe4700 lib/audit.c (Chris Metcalf 2011-05-02 16:52:19 -0400 46) #ifdef __NR_open
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 47) case __NR_open:
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 48) return 2;
aaeb012fe4700 lib/audit.c (Chris Metcalf 2011-05-02 16:52:19 -0400 49) #endif
a83fbf6359924 lib/audit.c (Al Viro 2006-09-23 00:10:18 +0100 50) #ifdef __NR_openat
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 51) case __NR_openat:
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 52) return 3;
a83fbf6359924 lib/audit.c (Al Viro 2006-09-23 00:10:18 +0100 53) #endif
e65e1fc2d24b0 lib/audit.c (Al Viro 2006-09-12 03:04:40 -0400 54) #ifdef __NR_socketcall
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 55) case __NR_socketcall:
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 56) return 4;
51f39a1f0cea1 lib/audit.c (David Drysdale 2014-12-12 16:57:29 -0800 57) #endif
51f39a1f0cea1 lib/audit.c (David Drysdale 2014-12-12 16:57:29 -0800 58) #ifdef __NR_execveat
51f39a1f0cea1 lib/audit.c (David Drysdale 2014-12-12 16:57:29 -0800 59) case __NR_execveat:
e65e1fc2d24b0 lib/audit.c (Al Viro 2006-09-12 03:04:40 -0400 60) #endif
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 61) case __NR_execve:
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 62) return 5;
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 63) default:
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 64) return 0;
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 65) }
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 66) }
55669bfa141b4 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:26:40 -0400 67)
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 68) static int __init audit_classes_init(void)
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 69) {
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 70) #ifdef CONFIG_AUDIT_COMPAT_GENERIC
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 71) audit_register_class(AUDIT_CLASS_WRITE_32, compat_write_class);
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 72) audit_register_class(AUDIT_CLASS_READ_32, compat_read_class);
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 73) audit_register_class(AUDIT_CLASS_DIR_WRITE_32, compat_dir_class);
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 74) audit_register_class(AUDIT_CLASS_CHATTR_32, compat_chattr_class);
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 75) audit_register_class(AUDIT_CLASS_SIGNAL_32, compat_signal_class);
4b58841149dca lib/audit.c (AKASHI Takahiro 2014-03-15 14:48:00 +0900 76) #endif
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 77) audit_register_class(AUDIT_CLASS_WRITE, write_class);
dc104fb3231f1 arch/i386/kernel/audit.c (Al Viro 2006-08-31 19:05:56 -0400 78) audit_register_class(AUDIT_CLASS_READ, read_class);
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 79) audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 80) audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
7f13da40e36c8 lib/audit.c (Amy Griffis 2007-03-29 18:00:37 -0400 81) audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 82) return 0;
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 83) }
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 84)
b915543b46a2a arch/i386/kernel/audit.c (Al Viro 2006-07-01 03:56:16 -0400 85) __initcall(audit_classes_init);