Commit 2504db20 authored by John Johansen's avatar John Johansen
Browse files

apparmor: fix overlapping attachment computation



When finding the profile via patterned attachments, the longest left
match is being set to the static compile time value and not using the
runtime computed value.

Fix this by setting the candidate value to the greater of the
precomputed value or runtime computed value.

Fixes: 21f60661 ("apparmor: improve overlapping domain attachment resolution")
Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
parent 3bbb7b2e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -466,7 +466,7 @@ static struct aa_label *find_attach(const struct linux_binprm *bprm,
				 * xattrs, or a longer match
				 */
				candidate = profile;
				candidate_len = profile->xmatch_len;
				candidate_len = max(count, profile->xmatch_len);
				candidate_xattrs = ret;
				conflict = false;
			}
+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ struct aa_profile {

	const char *attach;
	struct aa_dfa *xmatch;
	int xmatch_len;
	unsigned int xmatch_len;
	enum audit_mode audit;
	long mode;
	u32 path_flags;