summaryrefslogtreecommitdiffstats
path: root/fs/autofs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-08-28 20:39:14 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2023-08-28 20:39:14 +0200
commit2e0afa7e78c45a889954a7923642f013d6329d3a (patch)
treec2b368bb895458ecdfe4fd2d61cba426534569bf /fs/autofs
parentMerge tag 'v6.6-vfs.fchmodat2' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentautofs: use wake_up() instead of wake_up_interruptible(() (diff)
downloadlinux-2e0afa7e78c45a889954a7923642f013d6329d3a.tar.xz
linux-2e0afa7e78c45a889954a7923642f013d6329d3a.zip
Merge tag 'v6.6-vfs.autofs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull autofs fixes from Christian Brauner: "This fixes a memory leak in autofs reported by syzkaller and a missing conversion from uninterruptible to interruptible wake up when autofs is in catatonic mode" * tag 'v6.6-vfs.autofs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: autofs: use wake_up() instead of wake_up_interruptible(() autofs: fix memory leak of waitqueues in autofs_catatonic_mode
Diffstat (limited to 'fs/autofs')
-rw-r--r--fs/autofs/waitq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/autofs/waitq.c b/fs/autofs/waitq.c
index 54c1f8b8b075..33dd4660d82f 100644
--- a/fs/autofs/waitq.c
+++ b/fs/autofs/waitq.c
@@ -32,8 +32,9 @@ void autofs_catatonic_mode(struct autofs_sb_info *sbi)
wq->status = -ENOENT; /* Magic is gone - report failure */
kfree(wq->name.name - wq->offset);
wq->name.name = NULL;
- wq->wait_ctr--;
- wake_up_interruptible(&wq->queue);
+ wake_up(&wq->queue);
+ if (!--wq->wait_ctr)
+ kfree(wq);
wq = nwq;
}
fput(sbi->pipe); /* Close the pipe */