[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251217111629.GV1712166@ZenIV>
Date: Wed, 17 Dec 2025 11:16:29 +0000
From: Al Viro <viro@...iv.linux.org.uk>
To: Mateusz Guzik <mjguzik@...il.com>
Cc: brauner@...nel.org, jack@...e.cz, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org, clm@...a.com
Subject: Re: [RFC PATCH] fs: touch up symlink clean up in lookup
On Wed, Dec 17, 2025 at 12:01:05PM +0100, Mateusz Guzik wrote:
This is obviously broken.
> +static void links_cleanup_ref(struct nameidata *nd)
> +{
> + VFS_BUG_ON(nd->flags & LOOKUP_RCU);
> +
> + if (likely(!nd->depth))
> + return;
> +
> + links_issue_delayed_calls(nd);
> +
> + path_put(&nd->path);
^^^^^^^^^^^^^^^^^^^
> + for (int i = 0; i < nd->depth; i++)
> + path_put(&nd->stack[i].link);
> + if (nd->state & ND_ROOT_GRABBED) {
> + path_put(&nd->root);
^^^^^^^^^^^^^^^^^^^
> + nd->state &= ~ND_ROOT_GRABBED;
> + }
has nothing whatsoever to with links *AND* should not be
skipped even with no symlinks in the vicinity.
NAK.
Powered by blists - more mailing lists