Browse Source

[PATCH] syscall class hookup for all normal targets

Take default arch/*/kernel/audit.c to lib/, have those with special
needs (== biarch) define AUDIT_ARCH in their Kconfig.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 18 years ago
parent
commit
e65e1fc2d2
8 changed files with 24 additions and 1 deletions
  1. 0 1
      arch/i386/kernel/Makefile
  2. 4 0
      arch/ia64/Kconfig
  3. 4 0
      arch/powerpc/Kconfig
  4. 4 0
      arch/s390/Kconfig
  5. 4 0
      arch/x86_64/Kconfig
  6. 5 0
      lib/Kconfig
  7. 1 0
      lib/Makefile
  8. 2 0
      lib/audit.c

+ 0 - 1
arch/i386/kernel/Makefile

@@ -39,7 +39,6 @@ obj-$(CONFIG_VM86)		+= vm86.o
 obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
 obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
 obj-$(CONFIG_HPET_TIMER) 	+= hpet.o
 obj-$(CONFIG_HPET_TIMER) 	+= hpet.o
 obj-$(CONFIG_K8_NB)		+= k8.o
 obj-$(CONFIG_K8_NB)		+= k8.o
-obj-$(CONFIG_AUDIT)		+= audit.o
 
 
 EXTRA_AFLAGS   := -traditional
 EXTRA_AFLAGS   := -traditional
 
 

+ 4 - 0
arch/ia64/Kconfig

@@ -75,6 +75,10 @@ config DMA_IS_NORMAL
 	depends on IA64_SGI_SN2
 	depends on IA64_SGI_SN2
 	default y
 	default y
 
 
+config AUDIT_ARCH
+	bool
+	default y
+
 choice
 choice
 	prompt "System type"
 	prompt "System type"
 	default IA64_GENERIC
 	default IA64_GENERIC

+ 4 - 0
arch/powerpc/Kconfig

@@ -95,6 +95,10 @@ config GENERIC_TBSYNC
 	default y if PPC32 && SMP
 	default y if PPC32 && SMP
 	default n
 	default n
 
 
+config AUDIT_ARCH
+	bool
+	default y
+
 config DEFAULT_UIMAGE
 config DEFAULT_UIMAGE
 	bool
 	bool
 	help
 	help

+ 4 - 0
arch/s390/Kconfig

@@ -118,6 +118,10 @@ config SYSVIPC_COMPAT
 	depends on COMPAT && SYSVIPC
 	depends on COMPAT && SYSVIPC
 	default y
 	default y
 
 
+config AUDIT_ARCH
+	bool
+	default y
+
 comment "Code generation options"
 comment "Code generation options"
 
 
 choice
 choice

+ 4 - 0
arch/x86_64/Kconfig

@@ -85,6 +85,10 @@ config DMI
 	bool
 	bool
 	default y
 	default y
 
 
+config AUDIT_ARCH
+	bool
+	default y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 
 

+ 5 - 0
lib/Kconfig

@@ -38,6 +38,11 @@ config LIBCRC32C
 	  require M here.  See Castagnoli93.
 	  require M here.  See Castagnoli93.
 	  Module will be libcrc32c.
 	  Module will be libcrc32c.
 
 
+config AUDIT_GENERIC
+	bool
+	depends on AUDIT && !AUDIT_ARCH
+	default y
+
 #
 #
 # compression support is select'ed if needed
 # compression support is select'ed if needed
 #
 #

+ 1 - 0
lib/Makefile

@@ -49,6 +49,7 @@ obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
 obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o
 obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o
 obj-$(CONFIG_TEXTSEARCH_FSM) += ts_fsm.o
 obj-$(CONFIG_TEXTSEARCH_FSM) += ts_fsm.o
 obj-$(CONFIG_SMP) += percpu_counter.o
 obj-$(CONFIG_SMP) += percpu_counter.o
+obj-$(CONFIG_AUDIT_GENERIC) += audit.o
 
 
 obj-$(CONFIG_SWIOTLB) += swiotlb.o
 obj-$(CONFIG_SWIOTLB) += swiotlb.o
 
 

+ 2 - 0
arch/i386/kernel/audit.c → lib/audit.c

@@ -30,8 +30,10 @@ int audit_classify_syscall(int abi, unsigned syscall)
 		return 2;
 		return 2;
 	case __NR_openat:
 	case __NR_openat:
 		return 3;
 		return 3;
+#ifdef __NR_socketcall
 	case __NR_socketcall:
 	case __NR_socketcall:
 		return 4;
 		return 4;
+#endif
 	case __NR_execve:
 	case __NR_execve:
 		return 5;
 		return 5;
 	default:
 	default: