Commit 000518bc authored by Danila Chernetsov's avatar Danila Chernetsov Committed by John Johansen
Browse files

apparmor: fix missing error check for rhashtable_insert_fast



 rhashtable_insert_fast() could return err value when memory allocation is
 failed. but unpack_profile() do not check values and this always returns
 success value. This patch just adds error check code.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: e025be0f ("apparmor: support querying extended trusted helper extra data")

Signed-off-by: default avatarDanila Chernetsov <listdansp@mail.ru>
Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
parent 6d746795
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1035,8 +1035,13 @@ static struct aa_profile *unpack_profile(struct aa_ext *e, char **ns_name)
				goto fail;
			}

			rhashtable_insert_fast(profile->data, &data->head,
					       profile->data->p);
			if (rhashtable_insert_fast(profile->data, &data->head,
						   profile->data->p)) {
				kfree_sensitive(data->key);
				kfree_sensitive(data);
				info = "failed to insert data to table";
				goto fail;
			}
		}

		if (!aa_unpack_nameX(e, AA_STRUCTEND, NULL)) {