summary refs log tree commit diff
path: root/security
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2016-06-10 23:34:26 +0200
committerJohn Johansen <john.johansen@canonical.com>2016-07-12 08:43:10 -0700
commitf4ee2def2d70692ccff0d55353df4ee594fd0017 (patch)
tree2fbd3f9b7e6d393bb2957a0d3889e33619268fb3 /security
parent58acf9d911c8831156634a44d0b022d683e1e50c (diff)
downloadlinux-f4ee2def2d70692ccff0d55353df4ee594fd0017.tar.gz
apparmor: do not expose kernel stack
Do not copy uninitalized fields th.td_hilen, th.td_data.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security')
-rw-r--r--security/apparmor/match.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/security/apparmor/match.c b/security/apparmor/match.c
index 32b72eb3d988..3f900fcca8fb 100644
--- a/security/apparmor/match.c
+++ b/security/apparmor/match.c
@@ -63,7 +63,9 @@ static struct table_header *unpack_table(char *blob, size_t bsize)
 
 	table = kvzalloc(tsize);
 	if (table) {
-		*table = th;
+		table->td_id = th.td_id;
+		table->td_flags = th.td_flags;
+		table->td_lolen = th.td_lolen;
 		if (th.td_flags == YYTD_DATA8)
 			UNPACK_ARRAY(table->td_data, blob, th.td_lolen,
 				     u8, byte_to_byte);