vfs: Convert BUG_ON to WARN_ON_ONCE in open_last_lookups
authorBernd Schubert <bschubert@ddn.com>
Mon, 23 Oct 2023 18:47:18 +0000 (20:47 +0200)
committerChristian Brauner <brauner@kernel.org>
Tue, 24 Oct 2023 08:51:05 +0000 (10:51 +0200)
The calling code actually handles -ECHILD, so this BUG_ON
can be converted to WARN_ON_ONCE.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Link: https://lore.kernel.org/r/20231023184718.11143-1-bschubert@ddn.com
Cc: Christian Brauner <brauner@kernel.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Amir Goldstein <amir73il@gmail.com>
Cc: Dharmendra Singh <dsingh@ddn.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/namei.c

index 127c868a8992c66a206b8949def7ed8c445fd7f8..8571855c281de4c91190667779fd63de8a446949 100644 (file)
@@ -3516,7 +3516,8 @@ static const char *open_last_lookups(struct nameidata *nd,
                if (likely(dentry))
                        goto finish_lookup;
 
-               BUG_ON(nd->flags & LOOKUP_RCU);
+               if (WARN_ON_ONCE(nd->flags & LOOKUP_RCU))
+                       return ERR_PTR(-ECHILD);
        } else {
                /* create side of things */
                if (nd->flags & LOOKUP_RCU) {