diff options
Diffstat (limited to 'fs/ecryptfs/main.c')
-rw-r--r-- | fs/ecryptfs/main.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index 760983d0f25e..36268db29ea1 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c | |||
@@ -633,11 +633,16 @@ out: | |||
633 | * @sb: The ecryptfs super block | 633 | * @sb: The ecryptfs super block |
634 | * | 634 | * |
635 | * Used to bring the superblock down and free the private data. | 635 | * Used to bring the superblock down and free the private data. |
636 | * Private data is free'd in ecryptfs_put_super() | ||
637 | */ | 636 | */ |
638 | static void ecryptfs_kill_block_super(struct super_block *sb) | 637 | static void ecryptfs_kill_block_super(struct super_block *sb) |
639 | { | 638 | { |
640 | generic_shutdown_super(sb); | 639 | struct ecryptfs_sb_info *sb_info = ecryptfs_superblock_to_private(sb); |
640 | kill_anon_super(sb); | ||
641 | if (!sb_info) | ||
642 | return; | ||
643 | ecryptfs_destroy_mount_crypt_stat(&sb_info->mount_crypt_stat); | ||
644 | bdi_destroy(&sb_info->bdi); | ||
645 | kmem_cache_free(ecryptfs_sb_info_cache, sb_info); | ||
641 | } | 646 | } |
642 | 647 | ||
643 | static struct file_system_type ecryptfs_fs_type = { | 648 | static struct file_system_type ecryptfs_fs_type = { |