diff options
Diffstat (limited to 'fs/autofs4/inode.c')
-rw-r--r-- | fs/autofs4/inode.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c index 5769a2f9ad60..692364e8ffc3 100644 --- a/fs/autofs4/inode.c +++ b/fs/autofs4/inode.c | |||
@@ -218,8 +218,7 @@ static match_table_t tokens = { | |||
218 | }; | 218 | }; |
219 | 219 | ||
220 | static int parse_options(char *options, int *pipefd, uid_t *uid, gid_t *gid, | 220 | static int parse_options(char *options, int *pipefd, uid_t *uid, gid_t *gid, |
221 | pid_t *pgrp, unsigned int *type, | 221 | pid_t *pgrp, unsigned int *type, int *minproto, int *maxproto) |
222 | int *minproto, int *maxproto) | ||
223 | { | 222 | { |
224 | char *p; | 223 | char *p; |
225 | substring_t args[MAX_OPT_ARGS]; | 224 | substring_t args[MAX_OPT_ARGS]; |
@@ -314,7 +313,7 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent) | |||
314 | struct autofs_info *ino; | 313 | struct autofs_info *ino; |
315 | 314 | ||
316 | sbi = kmalloc(sizeof(*sbi), GFP_KERNEL); | 315 | sbi = kmalloc(sizeof(*sbi), GFP_KERNEL); |
317 | if ( !sbi ) | 316 | if (!sbi) |
318 | goto fail_unlock; | 317 | goto fail_unlock; |
319 | DPRINTK("starting up, sbi = %p",sbi); | 318 | DPRINTK("starting up, sbi = %p",sbi); |
320 | 319 | ||
@@ -363,10 +362,9 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent) | |||
363 | root->d_fsdata = ino; | 362 | root->d_fsdata = ino; |
364 | 363 | ||
365 | /* Can this call block? */ | 364 | /* Can this call block? */ |
366 | if (parse_options(data, &pipefd, | 365 | if (parse_options(data, &pipefd, &root_inode->i_uid, &root_inode->i_gid, |
367 | &root_inode->i_uid, &root_inode->i_gid, | 366 | &sbi->oz_pgrp, &sbi->type, &sbi->min_proto, |
368 | &sbi->oz_pgrp, &sbi->type, | 367 | &sbi->max_proto)) { |
369 | &sbi->min_proto, &sbi->max_proto)) { | ||
370 | printk("autofs: called with bogus options\n"); | 368 | printk("autofs: called with bogus options\n"); |
371 | goto fail_dput; | 369 | goto fail_dput; |
372 | } | 370 | } |
@@ -396,11 +394,11 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent) | |||
396 | DPRINTK("pipe fd = %d, pgrp = %u", pipefd, sbi->oz_pgrp); | 394 | DPRINTK("pipe fd = %d, pgrp = %u", pipefd, sbi->oz_pgrp); |
397 | pipe = fget(pipefd); | 395 | pipe = fget(pipefd); |
398 | 396 | ||
399 | if ( !pipe ) { | 397 | if (!pipe) { |
400 | printk("autofs: could not open pipe file descriptor\n"); | 398 | printk("autofs: could not open pipe file descriptor\n"); |
401 | goto fail_dput; | 399 | goto fail_dput; |
402 | } | 400 | } |
403 | if ( !pipe->f_op || !pipe->f_op->write ) | 401 | if (!pipe->f_op || !pipe->f_op->write) |
404 | goto fail_fput; | 402 | goto fail_fput; |
405 | sbi->pipe = pipe; | 403 | sbi->pipe = pipe; |
406 | sbi->pipefd = pipefd; | 404 | sbi->pipefd = pipefd; |