[PATCH 3/4] Move ifdef CONFIG_AUDITSYSCALL to header

Chris Wright chrisw at osdl.org
Wed May 11 08:04:10 UTC 2005


Remove code conditionally dependent on CONFIG_AUDITSYSCALL from audit.c.
Move these dependencies to audit.h with the rest.

Signed-off-by: Chris Wright <chrisw at osdl.org>
---

 include/linux/audit.h |    4 +++-
 kernel/audit.c        |   12 ++----------
 kernel/auditsc.c      |    7 +++----
 3 files changed, 8 insertions(+), 15 deletions(-)

include/linux/audit.h: baa80760824c482fc72e921ef8ed201cf97147df
--- k/include/linux/audit.h
+++ l/include/linux/audit.h
@@ -192,7 +192,7 @@ extern void audit_inode(const char *name
 				/* Private API (for audit.c only) */
 extern int  audit_receive_filter(int type, int pid, int uid, int seq,
 				 void *data, uid_t loginuid);
-extern void audit_get_stamp(struct audit_context *ctx,
+extern int audit_get_stamp(struct audit_context *ctx,
 			    struct timespec *t, unsigned int *serial);
 extern int  audit_set_loginuid(struct task_struct *task, uid_t loginuid);
 extern uid_t audit_get_loginuid(struct audit_context *ctx);
@@ -206,6 +206,8 @@ extern void audit_signal_info(int sig, s
 #define audit_getname(n) do { ; } while (0)
 #define audit_putname(n) do { ; } while (0)
 #define audit_inode(n,i) do { ; } while (0)
+#define audit_receive_filter(t,p,u,s,d,l) ({ -EOPNOTSUPP; })
+#define audit_get_stamp(c,t,s) ({ 0; })
 #define audit_get_loginuid(c) ({ -1; })
 #define audit_ipc_perms(q,u,g,m) ({ 0; })
 #define audit_signal_info(s,t) do { ; } while (0)
kernel/audit.c: dc4aba21f30a8fa6f07a111ee40009412f0a24fd
--- k/kernel/audit.c
+++ l/kernel/audit.c
@@ -416,12 +416,8 @@ static int audit_receive_msg(struct sk_b
 			return -EINVAL;
 		/* fallthrough */
 	case AUDIT_LIST:
-#ifdef CONFIG_AUDITSYSCALL
 		err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid,
 					   uid, seq, data, loginuid);
-#else
-		err = -EOPNOTSUPP;
-#endif
 		break;
 	case AUDIT_SIGNAL_INFO:
 		sig_data.uid = audit_sig_uid;
@@ -636,15 +632,11 @@ struct audit_buffer *audit_log_start(str
 		return NULL;
 	}
 
-#ifdef CONFIG_AUDITSYSCALL
-	if (ab->ctx)
-		audit_get_stamp(ab->ctx, &t, &serial);
-	else
-#endif
-	{
+	if (!audit_get_stamp(ab->ctx, &t, &serial)) {
 		t = CURRENT_TIME;
 		serial = 0;
 	}
+
 	audit_log_format(ab, "audit(%lu.%03lu:%u): ",
 			 t.tv_sec, t.tv_nsec/1000000, serial);
 	return ab;
kernel/auditsc.c: f1bf66510cd3e9817d44ab70cbf44e6192321840
--- k/kernel/auditsc.c
+++ l/kernel/auditsc.c
@@ -992,7 +992,7 @@ void audit_inode(const char *name, const
 	context->names[idx].rdev = inode->i_rdev;
 }
 
-void audit_get_stamp(struct audit_context *ctx,
+int audit_get_stamp(struct audit_context *ctx,
 		     struct timespec *t, unsigned int *serial)
 {
 	if (ctx) {
@@ -1000,10 +1000,9 @@ void audit_get_stamp(struct audit_contex
 		t->tv_nsec = ctx->ctime.tv_nsec;
 		*serial    = ctx->serial;
 		ctx->auditable = 1;
-	} else {
-		*t      = CURRENT_TIME;
-		*serial = 0;
+		return 1;
 	}
+	return 0;
 }
 
 extern int audit_set_type(struct audit_buffer *ab, int type);




More information about the Linux-audit mailing list