diff options
author | Ian Kent <raven@themaw.net> | 2008-07-23 21:30:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 10:47:32 -0700 |
commit | eb3b176796b0e53fd26fce86847231542eb0d198 (patch) | |
tree | 85bd1a2e79e92d1ff52714aa19888ef7e4f80638 /fs/autofs4 | |
parent | 296f7bf78bc5c7a4d772aea580ce800d14040d1a (diff) | |
download | op-kernel-dev-eb3b176796b0e53fd26fce86847231542eb0d198.zip op-kernel-dev-eb3b176796b0e53fd26fce86847231542eb0d198.tar.gz |
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')
-rw-r--r-- | fs/autofs4/waitq.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c index 3458dbc8..bcb6c52 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, if (sbi->catatonic) return -ENOENT; + if (!dentry->d_inode && + (sbi->type & (AUTOFS_TYPE_DIRECT | AUTOFS_TYPE_OFFSET))) + return -ENOENT; + name = kmalloc(NAME_MAX + 1, GFP_KERNEL); if (!name) return -ENOMEM; |