Re: [PATCH v2] audit: Avoid excessive dput/dget in audit_context setup and reset paths

Al Viro <[email protected]>
Newsgroups org.kernel.vger.audit,org.kernel.vger.linux-kernel
Message-ID <20260205235351.GU3183987@ZenIV>
On Wed, Feb 04, 2026 at 11:45:17PM -0500, Waiman Long wrote:

> @@ -70,6 +74,8 @@ void chroot_fs_refs(const struct path *old_root, const
> struct>
>                                 count++;
>                                 path_get(new_root);
>                         }
> +                       count += fs->pwd_xrefs;
> +                       fs->pwd_xrefs = 0;
>                         write_sequnlock(&fs->seq);

Nope - you only need that for threads that have ->pwd equal to old_root.
Incidentally, I'd forgotten about that sucker - it kills the idea of
fdget-like tricks dead, more's the pity.  Third-party modification of
task->fs->pwd (under task->lock and task->fs->seq), possible even with
task->fs->users == 1.

FWIW, I'm going through the fs_struct uses at the moment; will post
whatever I get when I go down (or earlier, in the unlikely case it doesn't
spill to tomorrow morning), will keep posting incremental followups
until the documentation is done.  I'm sick and tired of half-finished
docs - let's see if I can push through that one this way ;-/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.