aboutsummaryrefslogtreecommitdiffstats
path: root/fs/autofs4/waitq.c
diff options
context:
space:
mode:
authorIan Kent <raven@themaw.net>2008-07-24 00:30:22 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-24 13:47:32 -0400
commiteb3b176796b0e53fd26fce86847231542eb0d198 (patch)
tree85bd1a2e79e92d1ff52714aa19888ef7e4f80638 /fs/autofs4/waitq.c
parent296f7bf78bc5c7a4d772aea580ce800d14040d1a (diff)
autofs4: detect invalid direct mount requests
autofs v5 direct and offset mounts within an autofs filesystem are triggered by existing autofs triger mounts so the mount point dentry must be positive. If the mount point dentry is negative then the trigger doesn't exist so we can return fail immediately. Signed-off-by: Ian Kent <raven@themaw.net> Cc: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/autofs4/waitq.c')
-rw-r--r--fs/autofs4/waitq.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
index 3458dbc8fff..bcb6c526546 100644
--- a/fs/autofs4/waitq.c
+++ b/fs/autofs4/waitq.c
@@ -328,6 +328,10 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct dentry *dentry,
328 if (sbi->catatonic) 328 if (sbi->catatonic)
329 return -ENOENT; 329 return -ENOENT;
330 330
331 if (!dentry->d_inode &&
332 (sbi->type & (AUTOFS_TYPE_DIRECT | AUTOFS_TYPE_OFFSET)))
333 return -ENOENT;
334
331 name = kmalloc(NAME_MAX + 1, GFP_KERNEL); 335 name = kmalloc(NAME_MAX + 1, GFP_KERNEL);
332 if (!name) 336 if (!name)
333 return -ENOMEM; 337 return -ENOMEM;