aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-07 23:48:25 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-07 23:48:25 -0400
commit0fb02e718f5fd88b175387bc2a9313b27609f0da (patch)
tree645cc7209882f80325c7bfa78bc8c59b2aa7dd12
parent828f4257d1d33aed0f9ef82982dcb8ace8b7fe86 (diff)
parent196a5085592c62ffa4eb739d7ce49c040c2953a1 (diff)
Merge tag 'audit-pr-20170907' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit
Pull audit updates from Paul Moore: "A small pull request for audit this time, only four patches and only two with any real code changes. Those two changes are the removal of a pointless SELinux AVC initialization audit event and a fix to improve the audit timestamp overhead. The other two patches are comment cleanup and administrative updates, nothing very exciting. Everything passes our tests" * tag 'audit-pr-20170907' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit: audit: update the function comments selinux: remove AVC init audit log message audit: update the audit info in MAINTAINERS audit: Reduce overhead using a coarse clock
-rw-r--r--MAINTAINERS7
-rw-r--r--kernel/audit.c4
-rw-r--r--kernel/auditsc.c20
-rw-r--r--security/selinux/avc.c2
4 files changed, 16 insertions, 17 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 8dc0e39997d2..259d32d8c84b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2413,9 +2413,10 @@ AUDIT SUBSYSTEM
2413M: Paul Moore <paul@paul-moore.com> 2413M: Paul Moore <paul@paul-moore.com>
2414M: Eric Paris <eparis@redhat.com> 2414M: Eric Paris <eparis@redhat.com>
2415L: linux-audit@redhat.com (moderated for non-subscribers) 2415L: linux-audit@redhat.com (moderated for non-subscribers)
2416W: http://people.redhat.com/sgrubb/audit/ 2416W: https://github.com/linux-audit
2417T: git git://git.infradead.org/users/pcmoore/audit 2417W: https://people.redhat.com/sgrubb/audit
2418S: Maintained 2418T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
2419S: Supported
2419F: include/linux/audit.h 2420F: include/linux/audit.h
2420F: include/uapi/linux/audit.h 2421F: include/uapi/linux/audit.h
2421F: kernel/audit* 2422F: kernel/audit*
diff --git a/kernel/audit.c b/kernel/audit.c
index 6dd556931739..be1c28fd4d57 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1662,7 +1662,7 @@ static inline void audit_get_stamp(struct audit_context *ctx,
1662 struct timespec64 *t, unsigned int *serial) 1662 struct timespec64 *t, unsigned int *serial)
1663{ 1663{
1664 if (!ctx || !auditsc_get_stamp(ctx, t, serial)) { 1664 if (!ctx || !auditsc_get_stamp(ctx, t, serial)) {
1665 ktime_get_real_ts64(t); 1665 *t = current_kernel_time64();
1666 *serial = audit_serial(); 1666 *serial = audit_serial();
1667 } 1667 }
1668} 1668}
@@ -1833,7 +1833,7 @@ void audit_log_format(struct audit_buffer *ab, const char *fmt, ...)
1833} 1833}
1834 1834
1835/** 1835/**
1836 * audit_log_hex - convert a buffer to hex and append it to the audit skb 1836 * audit_log_n_hex - convert a buffer to hex and append it to the audit skb
1837 * @ab: the audit_buffer 1837 * @ab: the audit_buffer
1838 * @buf: buffer to convert to hex 1838 * @buf: buffer to convert to hex
1839 * @len: length of @buf to be converted 1839 * @len: length of @buf to be converted
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 3260ba2312a9..aac1a41f82bd 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -1462,7 +1462,7 @@ static void audit_log_exit(struct audit_context *context, struct task_struct *ts
1462} 1462}
1463 1463
1464/** 1464/**
1465 * audit_free - free a per-task audit context 1465 * __audit_free - free a per-task audit context
1466 * @tsk: task whose audit context block to free 1466 * @tsk: task whose audit context block to free
1467 * 1467 *
1468 * Called from copy_process and do_exit 1468 * Called from copy_process and do_exit
@@ -1489,7 +1489,7 @@ void __audit_free(struct task_struct *tsk)
1489} 1489}
1490 1490
1491/** 1491/**
1492 * audit_syscall_entry - fill in an audit record at syscall entry 1492 * __audit_syscall_entry - fill in an audit record at syscall entry
1493 * @major: major syscall type (function) 1493 * @major: major syscall type (function)
1494 * @a1: additional syscall register 1 1494 * @a1: additional syscall register 1
1495 * @a2: additional syscall register 2 1495 * @a2: additional syscall register 2
@@ -1536,14 +1536,14 @@ void __audit_syscall_entry(int major, unsigned long a1, unsigned long a2,
1536 return; 1536 return;
1537 1537
1538 context->serial = 0; 1538 context->serial = 0;
1539 ktime_get_real_ts64(&context->ctime); 1539 context->ctime = current_kernel_time64();
1540 context->in_syscall = 1; 1540 context->in_syscall = 1;
1541 context->current_state = state; 1541 context->current_state = state;
1542 context->ppid = 0; 1542 context->ppid = 0;
1543} 1543}
1544 1544
1545/** 1545/**
1546 * audit_syscall_exit - deallocate audit context after a system call 1546 * __audit_syscall_exit - deallocate audit context after a system call
1547 * @success: success value of the syscall 1547 * @success: success value of the syscall
1548 * @return_code: return value of the syscall 1548 * @return_code: return value of the syscall
1549 * 1549 *
@@ -1705,7 +1705,7 @@ static struct audit_names *audit_alloc_name(struct audit_context *context,
1705} 1705}
1706 1706
1707/** 1707/**
1708 * audit_reusename - fill out filename with info from existing entry 1708 * __audit_reusename - fill out filename with info from existing entry
1709 * @uptr: userland ptr to pathname 1709 * @uptr: userland ptr to pathname
1710 * 1710 *
1711 * Search the audit_names list for the current audit context. If there is an 1711 * Search the audit_names list for the current audit context. If there is an
@@ -1730,7 +1730,7 @@ __audit_reusename(const __user char *uptr)
1730} 1730}
1731 1731
1732/** 1732/**
1733 * audit_getname - add a name to the list 1733 * __audit_getname - add a name to the list
1734 * @name: name to add 1734 * @name: name to add
1735 * 1735 *
1736 * Add a name to the list of audit names for this context. 1736 * Add a name to the list of audit names for this context.
@@ -2135,7 +2135,7 @@ void __audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat)
2135} 2135}
2136 2136
2137/** 2137/**
2138 * audit_ipc_obj - record audit data for ipc object 2138 * __audit_ipc_obj - record audit data for ipc object
2139 * @ipcp: ipc permissions 2139 * @ipcp: ipc permissions
2140 * 2140 *
2141 */ 2141 */
@@ -2151,7 +2151,7 @@ void __audit_ipc_obj(struct kern_ipc_perm *ipcp)
2151} 2151}
2152 2152
2153/** 2153/**
2154 * audit_ipc_set_perm - record audit data for new ipc permissions 2154 * __audit_ipc_set_perm - record audit data for new ipc permissions
2155 * @qbytes: msgq bytes 2155 * @qbytes: msgq bytes
2156 * @uid: msgq user id 2156 * @uid: msgq user id
2157 * @gid: msgq group id 2157 * @gid: msgq group id
@@ -2180,7 +2180,7 @@ void __audit_bprm(struct linux_binprm *bprm)
2180 2180
2181 2181
2182/** 2182/**
2183 * audit_socketcall - record audit data for sys_socketcall 2183 * __audit_socketcall - record audit data for sys_socketcall
2184 * @nargs: number of args, which should not be more than AUDITSC_ARGS. 2184 * @nargs: number of args, which should not be more than AUDITSC_ARGS.
2185 * @args: args array 2185 * @args: args array
2186 * 2186 *
@@ -2211,7 +2211,7 @@ void __audit_fd_pair(int fd1, int fd2)
2211} 2211}
2212 2212
2213/** 2213/**
2214 * audit_sockaddr - record audit data for sys_bind, sys_connect, sys_sendto 2214 * __audit_sockaddr - record audit data for sys_bind, sys_connect, sys_sendto
2215 * @len: data length in user space 2215 * @len: data length in user space
2216 * @a: data address in kernel space 2216 * @a: data address in kernel space
2217 * 2217 *
diff --git a/security/selinux/avc.c b/security/selinux/avc.c
index e60c79de13e1..4b4293194aee 100644
--- a/security/selinux/avc.c
+++ b/security/selinux/avc.c
@@ -197,8 +197,6 @@ void __init avc_init(void)
197 avc_xperms_data_cachep = kmem_cache_create("avc_xperms_data", 197 avc_xperms_data_cachep = kmem_cache_create("avc_xperms_data",
198 sizeof(struct extended_perms_data), 198 sizeof(struct extended_perms_data),
199 0, SLAB_PANIC, NULL); 199 0, SLAB_PANIC, NULL);
200
201 audit_log(current->audit_context, GFP_KERNEL, AUDIT_KERNEL, "AVC INITIALIZED\n");
202} 200}
203 201
204int avc_get_hash_stats(char *page) 202int avc_get_hash_stats(char *page)