eCryptfs: Do not allocate hash tfm in NORECLAIM context
[cascardo/linux.git] / fs / ecryptfs / super.c
index 77a486d..85411ce 100644 (file)
@@ -55,7 +55,10 @@ static struct inode *ecryptfs_alloc_inode(struct super_block *sb)
        inode_info = kmem_cache_alloc(ecryptfs_inode_info_cache, GFP_KERNEL);
        if (unlikely(!inode_info))
                goto out;
-       ecryptfs_init_crypt_stat(&inode_info->crypt_stat);
+       if (ecryptfs_init_crypt_stat(&inode_info->crypt_stat)) {
+               kmem_cache_free(ecryptfs_inode_info_cache, inode_info);
+               goto out;
+       }
        mutex_init(&inode_info->lower_file_mutex);
        atomic_set(&inode_info->lower_file_count, 0);
        inode_info->lower_file = NULL;