mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
audit: don't deref the syscall args when checking the openat2 open_how::flags
As reported by Jeff, dereferencing the openat2 syscall argument in
audit_match_perm() to obtain the open_how::flags can result in an
oops/page-fault. This patch fixes this by using the open_how struct
that we store in the audit_context with audit_openat2_how().
Independent of this patch, Richard Guy Briggs posted a similar patch
to the audit mailing list roughly 40 minutes after this patch was
posted.
Cc: stable@vger.kernel.org
Fixes: 1c30e3af8a
("audit: add support for the openat2 syscall")
Reported-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
f26d043313
commit
7a82f89de9
@ -185,7 +185,7 @@ static int audit_match_perm(struct audit_context *ctx, int mask)
|
||||
case AUDITSC_EXECVE:
|
||||
return mask & AUDIT_PERM_EXEC;
|
||||
case AUDITSC_OPENAT2:
|
||||
return mask & ACC_MODE((u32)((struct open_how *)ctx->argv[2])->flags);
|
||||
return mask & ACC_MODE((u32)ctx->openat2.flags);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user