diff options
Diffstat (limited to 'fs/ecryptfs/inode.c')
-rw-r--r-- | fs/ecryptfs/inode.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index fc850b55db67..cdb9d6c4532d 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
@@ -675,18 +675,16 @@ out: | |||
675 | return rc ? ERR_PTR(rc) : buf; | 675 | return rc ? ERR_PTR(rc) : buf; |
676 | } | 676 | } |
677 | 677 | ||
678 | static void *ecryptfs_follow_link(struct dentry *dentry, struct nameidata *nd) | 678 | static const char *ecryptfs_follow_link(struct dentry *dentry, void **cookie, struct nameidata *nd) |
679 | { | 679 | { |
680 | size_t len; | 680 | size_t len; |
681 | char *buf = ecryptfs_readlink_lower(dentry, &len); | 681 | char *buf = ecryptfs_readlink_lower(dentry, &len); |
682 | if (IS_ERR(buf)) | 682 | if (IS_ERR(buf)) |
683 | goto out; | 683 | return buf; |
684 | fsstack_copy_attr_atime(d_inode(dentry), | 684 | fsstack_copy_attr_atime(d_inode(dentry), |
685 | d_inode(ecryptfs_dentry_to_lower(dentry))); | 685 | d_inode(ecryptfs_dentry_to_lower(dentry))); |
686 | buf[len] = '\0'; | 686 | buf[len] = '\0'; |
687 | out: | 687 | return *cookie = buf; |
688 | nd_set_link(nd, buf); | ||
689 | return NULL; | ||
690 | } | 688 | } |
691 | 689 | ||
692 | /** | 690 | /** |