Commit cba71769 authored by Christian Brauner's avatar Christian Brauner Committed by Jinjie Ruan
Browse files

fs: remove audit dummy context check

mainline inclusion
from mainline-v6.12-rc1
commit d459c52ab378cdcd53c57ddcbfd5af648b20a150
category: performance
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB1S01

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d459c52ab378cdcd53c57ddcbfd5af648b20a150



--------------------------------

Now that we audit later during lookup_open() we can remove the audit
dummy context check. This simplifies things a lot.

Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
parent 5c2d4f65
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
@@ -3522,16 +3522,6 @@ static struct dentry *lookup_fast_for_open(struct nameidata *nd, int open_flag)
		/* Don't bother on an O_EXCL create */
		if (open_flag & O_EXCL)
			return NULL;

		/*
		 * FIXME: If auditing is enabled, then we'll have to unlazy to
		 * use the dentry. For now, don't do this, since it shifts
		 * contention from parent's i_rwsem to its d_lockref spinlock.
		 * Reconsider this once dentry refcounting handles heavy
		 * contention better.
		 */
		if ((nd->flags & LOOKUP_RCU) && !audit_dummy_context())
			return NULL;
	}

	if (trailing_slashes(nd))
@@ -3584,7 +3574,7 @@ static const char *open_last_lookups(struct nameidata *nd,
			bool unlazied;

			/* can stay in rcuwalk if not auditing */
			if (dentry && audit_dummy_context())
			if (dentry)
				goto finish_lookup;
			unlazied = dentry ? try_to_unlazy_next(nd, dentry) :
					    try_to_unlazy(nd);