summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Johansen <john.johansen@canonical.com>2018-02-09 04:57:39 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-19 08:55:11 +0200
commit9d8a3dc99219cfffbb7e6cf97b97034b024f80c4 (patch)
treecb2011369c40b3000e5f9aed2e8cbabe8747fe5c
parent93d36bc6569875951bdaad3cb92db54e8e4ac911 (diff)
downloadlinux-stable-9d8a3dc99219cfffbb7e6cf97b97034b024f80c4.tar.gz
linux-stable-9d8a3dc99219cfffbb7e6cf97b97034b024f80c4.zip
apparmor: fix resource audit messages when auditing peer
commit b5beb07ad32ab533027aa988d96a44965ec116f7 upstream. Resource auditing is using the peer field which is not available when the rlim data struct is used, because it is a different element of the same union. Accessing peer during resource auditing could cause garbage log entries or even oops the kernel. Move the rlim data block into the same struct as the peer field so they can be used together. CC: <stable@vger.kernel.org> Fixes: 86b92cb782b3 ("apparmor: move resource checks to using labels") Signed-off-by: John Johansen <john.johansen@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--security/apparmor/include/audit.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/security/apparmor/include/audit.h b/security/apparmor/include/audit.h
index 4ac095118717..2ebc00a579fd 100644
--- a/security/apparmor/include/audit.h
+++ b/security/apparmor/include/audit.h
@@ -126,6 +126,10 @@ struct apparmor_audit_data {
const char *target;
kuid_t ouid;
} fs;
+ struct {
+ int rlim;
+ unsigned long max;
+ } rlim;
int signal;
};
};
@@ -135,10 +139,6 @@ struct apparmor_audit_data {
long pos;
} iface;
struct {
- int rlim;
- unsigned long max;
- } rlim;
- struct {
const char *src_name;
const char *type;
const char *trans;