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(a)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);