Commit c4b9570c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull audit update from Paul Moore:
 "A single audit patch that fixes a problem when collecting pathnames
  for audit PATH records that was caused by some faulty pathname
  matching logic"

* tag 'audit-pr-20250121' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
  audit: fix suffixed '/' filename matching
parents 690ffcd8 e92eebb0
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -1319,13 +1319,20 @@ int audit_compare_dname_path(const struct qstr *dname, const char *path, int par
	if (pathlen < dlen)
		return 1;

	parentlen = parentlen == AUDIT_NAME_FULL ? parent_len(path) : parentlen;
	if (pathlen - parentlen != dlen)
		return 1;
	if (parentlen == AUDIT_NAME_FULL)
		parentlen = parent_len(path);

	p = path + parentlen;

	return strncmp(p, dname->name, dlen);
	/* handle trailing slashes */
	pathlen -= parentlen;
	while (p[pathlen - 1] == '/')
		pathlen--;

	if (pathlen != dlen)
		return 1;

	return memcmp(p, dname->name, dlen);
}

int audit_filter(int msgtype, unsigned int listtype)