mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 17:11:46 +00:00
[PATCH] make set_loginuid obey audit_enabled
Hi, I was doing some testing and noticed that when the audit system was disabled, I was still getting messages about the loginuid being set. The following patch makes audit_set_loginuid look at in_syscall to determine if it should create an audit event. The loginuid will continue to be set as long as there is a context. Signed-off-by: Steve Grubb <sgrubb@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
9c937dcc71
commit
41757106b9
1 changed files with 15 additions and 10 deletions
|
@ -1290,18 +1290,23 @@ void auditsc_get_stamp(struct audit_context *ctx,
|
||||||
*/
|
*/
|
||||||
int audit_set_loginuid(struct task_struct *task, uid_t loginuid)
|
int audit_set_loginuid(struct task_struct *task, uid_t loginuid)
|
||||||
{
|
{
|
||||||
if (task->audit_context) {
|
struct audit_context *context = task->audit_context;
|
||||||
struct audit_buffer *ab;
|
|
||||||
|
|
||||||
ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_LOGIN);
|
if (context) {
|
||||||
if (ab) {
|
/* Only log if audit is enabled */
|
||||||
audit_log_format(ab, "login pid=%d uid=%u "
|
if (context->in_syscall) {
|
||||||
"old auid=%u new auid=%u",
|
struct audit_buffer *ab;
|
||||||
task->pid, task->uid,
|
|
||||||
task->audit_context->loginuid, loginuid);
|
ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_LOGIN);
|
||||||
audit_log_end(ab);
|
if (ab) {
|
||||||
|
audit_log_format(ab, "login pid=%d uid=%u "
|
||||||
|
"old auid=%u new auid=%u",
|
||||||
|
task->pid, task->uid,
|
||||||
|
context->loginuid, loginuid);
|
||||||
|
audit_log_end(ab);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
task->audit_context->loginuid = loginuid;
|
context->loginuid = loginuid;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue