Subject: Re: linux-next: build failure in Linus' tree

From: Linus Torvalds <[email-masked]>
Date: Thu, 13 Jan 2011 17:24:17 -0800

On Thu, Jan 13, 2011 at 3:43 PM, Stephen Rothwell <[email-masked]> wrote:
>
> While building Linus' tree, today's linux-next build (x86_64
> allmodconfig) failed like this:

Ok, I applied the attached, which makes it all build. I don't actually
have a ecryptfs filesystem to test with, though.

Bad Al. Bad, bad Al.

                        Linus
commit 6254b32b5791e47ba1c679d023f26985fa34755a
Author: Linus Torvalds <[email-masked]>
Date:   Thu Jan 13 17:19:38 2011 -0800

    ecryptfs: fix broken build
    
    Stephen Rothwell reports that the vfs merge broke the build of ecryptfs.
    The breakage comes from commit 66cb76666d69 ("sanitize ecryptfs
    ->mount()") which was obviously not even build tested. Tssk, tssk, Al.
    
    This is the minimal build fixup for the situation, although I don't have
    a filesystem to actually test it with.
    
    Reported-by: Stephen Rothwell <[email-masked]>
    Cc: Al Viro <[email-masked]>
    Signed-off-by: Linus Torvalds <[email-masked]>
---
 fs/ecryptfs/main.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
index 9ed4769..d3b28ab 100644
--- a/fs/ecryptfs/main.c
+++ b/fs/ecryptfs/main.c
@@ -141,13 +141,12 @@ int ecryptfs_init_persistent_file(struct dentry *ecryptfs_dentry)
 	return rc;
 }
 
-static inode *ecryptfs_get_inode(struct inode *lower_inode,
+static struct inode *ecryptfs_get_inode(struct inode *lower_inode,
 		       struct super_block *sb)
 {
 	struct inode *inode;
 	int rc = 0;
 
-	lower_inode = lower_dentry->d_inode;
 	if (lower_inode->i_sb != ecryptfs_superblock_to_lower(sb)) {
 		rc = -EXDEV;
 		goto out;
@@ -202,7 +201,7 @@ int ecryptfs_interpose(struct dentry *lower_dentry, struct dentry *dentry,
 {
 	struct inode *lower_inode = lower_dentry->d_inode;
 	struct inode *inode = ecryptfs_get_inode(lower_inode, sb);
-	if (IS_ERR(inode)
+	if (IS_ERR(inode))
 		return PTR_ERR(inode);
 	if (flags & ECRYPTFS_INTERPOSE_FLAG_D_ADD)
 		d_add(dentry, inode);