aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2008-01-08 10:06:53 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2008-02-01 14:06:51 -0500
commit4746ec5b01ed07205a91e4f7ed9de9d70f371407 (patch)
tree7a3a836b6178ccab24801e90b69c1159b2c23099 /include/linux
parentc2a7780efe37d01bdb3facc85a94663e6d67d4a8 (diff)
[AUDIT] add session id to audit messages
In order to correlate audit records to an individual login add a session id. This is incremented every time a user logs in and is included in almost all messages which currently output the auid. The field is labeled ses= or oses= Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/audit.h2
-rw-r--r--include/linux/init_task.h3
-rw-r--r--include/linux/sched.h1
3 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/audit.h b/include/linux/audit.h
index d7c6a12f4d1c..52f1b12505a9 100644
--- a/include/linux/audit.h
+++ b/include/linux/audit.h
@@ -410,6 +410,7 @@ extern void auditsc_get_stamp(struct audit_context *ctx,
410 struct timespec *t, unsigned int *serial); 410 struct timespec *t, unsigned int *serial);
411extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid); 411extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid);
412#define audit_get_loginuid(t) ((t)->loginuid) 412#define audit_get_loginuid(t) ((t)->loginuid)
413#define audit_get_sessionid(t) ((t)->sessionid)
413extern void audit_log_task_context(struct audit_buffer *ab); 414extern void audit_log_task_context(struct audit_buffer *ab);
414extern int __audit_ipc_obj(struct kern_ipc_perm *ipcp); 415extern int __audit_ipc_obj(struct kern_ipc_perm *ipcp);
415extern int __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode); 416extern int __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode);
@@ -489,6 +490,7 @@ extern int audit_signals;
489#define audit_core_dumps(i) do { ; } while (0) 490#define audit_core_dumps(i) do { ; } while (0)
490#define auditsc_get_stamp(c,t,s) do { BUG(); } while (0) 491#define auditsc_get_stamp(c,t,s) do { BUG(); } while (0)
491#define audit_get_loginuid(t) (-1) 492#define audit_get_loginuid(t) (-1)
493#define audit_get_sessionid(t) (-1)
492#define audit_log_task_context(b) do { ; } while (0) 494#define audit_log_task_context(b) do { ; } while (0)
493#define audit_ipc_obj(i) ({ 0; }) 495#define audit_ipc_obj(i) ({ 0; })
494#define audit_ipc_set_perm(q,u,g,m) ({ 0; }) 496#define audit_ipc_set_perm(q,u,g,m) ({ 0; })
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index ea3e9efd7396..f42663eaf655 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -116,7 +116,8 @@ extern struct group_info init_groups;
116 116
117#ifdef CONFIG_AUDITSYSCALL 117#ifdef CONFIG_AUDITSYSCALL
118#define INIT_IDS \ 118#define INIT_IDS \
119 .loginuid = -1, 119 .loginuid = -1, \
120 .sessionid = -1,
120#else 121#else
121#define INIT_IDS 122#define INIT_IDS
122#endif 123#endif
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5e2730389089..af6947e69b40 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1141,6 +1141,7 @@ struct task_struct {
1141 struct audit_context *audit_context; 1141 struct audit_context *audit_context;
1142#ifdef CONFIG_AUDITSYSCALL 1142#ifdef CONFIG_AUDITSYSCALL
1143 uid_t loginuid; 1143 uid_t loginuid;
1144 unsigned int sessionid;
1144#endif 1145#endif
1145 seccomp_t seccomp; 1146 seccomp_t seccomp;
1146 1147