summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-21 09:14:16 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-21 09:45:15 +0200
commit2cc1f498623311cb7d1608115b68793bfc505638 (patch)
tree9b9f7b86fd99be831d16c44a61cde1307eb6ee93
parent5452d1be676cb0fb9dc417f7b48a917c9d020420 (diff)
Revert "configfs: fix a race in configfs_lookup()"
This reverts commit c709c7ca020a52ef6530733a9a5f014bd6b71937 which is commit c42dd069be8dfc9b2239a5c89e73bbd08ab35de0 upstream. It was backported incorrectly, and will come back later in a way that actually works. Cc: Sishuai Gong <sishuai@purdue.edu> Cc: Christoph Hellwig <hch@lst.de> Cc: Kyle Zeng <zengyhkyle@gmail.com> Reported-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/27f978f3-11ca-6054-5160-ab66d4c918bc@roeck-us.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/configfs/dir.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index 0b7e9ab517d5..12388ed4faa5 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -479,7 +479,6 @@ static struct dentry * configfs_lookup(struct inode *dir,
if (!configfs_dirent_is_ready(parent_sd))
goto out;
- spin_lock(&configfs_dirent_lock);
list_for_each_entry(sd, &parent_sd->s_children, s_sibling) {
if (sd->s_type & CONFIGFS_NOT_PINNED) {
const unsigned char * name = configfs_get_name(sd);
@@ -492,7 +491,6 @@ static struct dentry * configfs_lookup(struct inode *dir,
break;
}
}
- spin_unlock(&configfs_dirent_lock);
if (!found) {
/*