diff options
Diffstat (limited to 'fs/autofs')
| -rw-r--r-- | fs/autofs/expire.c | 3 | ||||
| -rw-r--r-- | fs/autofs/inode.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/fs/autofs/expire.c b/fs/autofs/expire.c index d441244b79df..28d9c2b1b3bb 100644 --- a/fs/autofs/expire.c +++ b/fs/autofs/expire.c | |||
| @@ -596,7 +596,6 @@ int autofs_expire_run(struct super_block *sb, | |||
| 596 | pkt.len = dentry->d_name.len; | 596 | pkt.len = dentry->d_name.len; |
| 597 | memcpy(pkt.name, dentry->d_name.name, pkt.len); | 597 | memcpy(pkt.name, dentry->d_name.name, pkt.len); |
| 598 | pkt.name[pkt.len] = '\0'; | 598 | pkt.name[pkt.len] = '\0'; |
| 599 | dput(dentry); | ||
| 600 | 599 | ||
| 601 | if (copy_to_user(pkt_p, &pkt, sizeof(struct autofs_packet_expire))) | 600 | if (copy_to_user(pkt_p, &pkt, sizeof(struct autofs_packet_expire))) |
| 602 | ret = -EFAULT; | 601 | ret = -EFAULT; |
| @@ -609,6 +608,8 @@ int autofs_expire_run(struct super_block *sb, | |||
| 609 | complete_all(&ino->expire_complete); | 608 | complete_all(&ino->expire_complete); |
| 610 | spin_unlock(&sbi->fs_lock); | 609 | spin_unlock(&sbi->fs_lock); |
| 611 | 610 | ||
| 611 | dput(dentry); | ||
| 612 | |||
| 612 | return ret; | 613 | return ret; |
| 613 | } | 614 | } |
| 614 | 615 | ||
diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c index 0e8ea2d9a2bb..078992eee299 100644 --- a/fs/autofs/inode.c +++ b/fs/autofs/inode.c | |||
| @@ -266,8 +266,10 @@ int autofs_fill_super(struct super_block *s, void *data, int silent) | |||
| 266 | } | 266 | } |
| 267 | root_inode = autofs_get_inode(s, S_IFDIR | 0755); | 267 | root_inode = autofs_get_inode(s, S_IFDIR | 0755); |
| 268 | root = d_make_root(root_inode); | 268 | root = d_make_root(root_inode); |
| 269 | if (!root) | 269 | if (!root) { |
| 270 | ret = -ENOMEM; | ||
| 270 | goto fail_ino; | 271 | goto fail_ino; |
| 272 | } | ||
| 271 | pipe = NULL; | 273 | pipe = NULL; |
| 272 | 274 | ||
| 273 | root->d_fsdata = ino; | 275 | root->d_fsdata = ino; |
