mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
Merge branch 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit
Pull audit updates from Paul Moore:
"The audit changes for v4.11 are relatively small compared to what we
did for v4.10, both in terms of size and impact.
- two patches from Steve tweak the formatting for some of the audit
records to make them more consistent with other audit records.
- three patches from Richard record the name of a module on module
load, fix the logging of sockaddr information when using
socketcall() on 32-bit systems, and add the ability to reset
audit's lost record counter.
- my lone patch just fixes an annoying style nit that I was reminded
about by one of Richard's patches.
All these patches pass our test suite"
* 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit:
audit: remove unnecessary curly braces from switch/case statements
audit: log module name on init_module
audit: log 32-bit socketcalls
audit: add feature audit_lost reset
audit: Make AUDIT_ANOM_ABEND event normalized
audit: Make AUDIT_KERNEL event conform to the specification
This commit is contained in:
commit
b8989bccd6
7 changed files with 96 additions and 20 deletions
|
|
@ -1221,7 +1221,7 @@ static void show_special(struct audit_context *context, int *call_panic)
|
|||
context->ipc.perm_mode);
|
||||
}
|
||||
break; }
|
||||
case AUDIT_MQ_OPEN: {
|
||||
case AUDIT_MQ_OPEN:
|
||||
audit_log_format(ab,
|
||||
"oflag=0x%x mode=%#ho mq_flags=0x%lx mq_maxmsg=%ld "
|
||||
"mq_msgsize=%ld mq_curmsgs=%ld",
|
||||
|
|
@ -1230,8 +1230,8 @@ static void show_special(struct audit_context *context, int *call_panic)
|
|||
context->mq_open.attr.mq_maxmsg,
|
||||
context->mq_open.attr.mq_msgsize,
|
||||
context->mq_open.attr.mq_curmsgs);
|
||||
break; }
|
||||
case AUDIT_MQ_SENDRECV: {
|
||||
break;
|
||||
case AUDIT_MQ_SENDRECV:
|
||||
audit_log_format(ab,
|
||||
"mqdes=%d msg_len=%zd msg_prio=%u "
|
||||
"abs_timeout_sec=%ld abs_timeout_nsec=%ld",
|
||||
|
|
@ -1240,12 +1240,12 @@ static void show_special(struct audit_context *context, int *call_panic)
|
|||
context->mq_sendrecv.msg_prio,
|
||||
context->mq_sendrecv.abs_timeout.tv_sec,
|
||||
context->mq_sendrecv.abs_timeout.tv_nsec);
|
||||
break; }
|
||||
case AUDIT_MQ_NOTIFY: {
|
||||
break;
|
||||
case AUDIT_MQ_NOTIFY:
|
||||
audit_log_format(ab, "mqdes=%d sigev_signo=%d",
|
||||
context->mq_notify.mqdes,
|
||||
context->mq_notify.sigev_signo);
|
||||
break; }
|
||||
break;
|
||||
case AUDIT_MQ_GETSETATTR: {
|
||||
struct mq_attr *attr = &context->mq_getsetattr.mqstat;
|
||||
audit_log_format(ab,
|
||||
|
|
@ -1255,19 +1255,24 @@ static void show_special(struct audit_context *context, int *call_panic)
|
|||
attr->mq_flags, attr->mq_maxmsg,
|
||||
attr->mq_msgsize, attr->mq_curmsgs);
|
||||
break; }
|
||||
case AUDIT_CAPSET: {
|
||||
case AUDIT_CAPSET:
|
||||
audit_log_format(ab, "pid=%d", context->capset.pid);
|
||||
audit_log_cap(ab, "cap_pi", &context->capset.cap.inheritable);
|
||||
audit_log_cap(ab, "cap_pp", &context->capset.cap.permitted);
|
||||
audit_log_cap(ab, "cap_pe", &context->capset.cap.effective);
|
||||
break; }
|
||||
case AUDIT_MMAP: {
|
||||
break;
|
||||
case AUDIT_MMAP:
|
||||
audit_log_format(ab, "fd=%d flags=0x%x", context->mmap.fd,
|
||||
context->mmap.flags);
|
||||
break; }
|
||||
case AUDIT_EXECVE: {
|
||||
break;
|
||||
case AUDIT_EXECVE:
|
||||
audit_log_execve_info(context, &ab);
|
||||
break; }
|
||||
break;
|
||||
case AUDIT_KERN_MODULE:
|
||||
audit_log_format(ab, "name=");
|
||||
audit_log_untrustedstring(ab, context->module.name);
|
||||
kfree(context->module.name);
|
||||
break;
|
||||
}
|
||||
audit_log_end(ab);
|
||||
}
|
||||
|
|
@ -2368,6 +2373,15 @@ void __audit_mmap_fd(int fd, int flags)
|
|||
context->type = AUDIT_MMAP;
|
||||
}
|
||||
|
||||
void __audit_log_kern_module(char *name)
|
||||
{
|
||||
struct audit_context *context = current->audit_context;
|
||||
|
||||
context->module.name = kmalloc(strlen(name) + 1, GFP_KERNEL);
|
||||
strcpy(context->module.name, name);
|
||||
context->type = AUDIT_KERN_MODULE;
|
||||
}
|
||||
|
||||
static void audit_log_task(struct audit_buffer *ab)
|
||||
{
|
||||
kuid_t auid, uid;
|
||||
|
|
@ -2411,7 +2425,7 @@ void audit_core_dumps(long signr)
|
|||
if (unlikely(!ab))
|
||||
return;
|
||||
audit_log_task(ab);
|
||||
audit_log_format(ab, " sig=%ld", signr);
|
||||
audit_log_format(ab, " sig=%ld res=1", signr);
|
||||
audit_log_end(ab);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue