From 00cba97648d462eaf9097d2c14d5de1a3d46d553 Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Fri, 10 Aug 2007 13:00:56 -0700 Subject: [PATCH] --- yaml --- r: 63852 b: refs/heads/master c: a75de1b3799f8933d6d2b64bdf31194368ec98ab h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ecryptfs/main.c | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 89012d47de1c..77e87ebcb925 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b9a0620779d3714abd63dfc28284f5fa2c1fc091 +refs/heads/master: a75de1b3799f8933d6d2b64bdf31194368ec98ab diff --git a/trunk/fs/ecryptfs/main.c b/trunk/fs/ecryptfs/main.c index e557a6766927..a98497264fe8 100644 --- a/trunk/fs/ecryptfs/main.c +++ b/trunk/fs/ecryptfs/main.c @@ -813,6 +813,15 @@ static int do_sysfs_registration(void) return rc; } +static void do_sysfs_unregistration(void) +{ + sysfs_remove_file(&ecryptfs_subsys.kobj, + &sysfs_attr_version.attr); + sysfs_remove_file(&ecryptfs_subsys.kobj, + &sysfs_attr_version_str.attr); + subsystem_unregister(&ecryptfs_subsys); +} + static int __init ecryptfs_init(void) { int rc; @@ -851,6 +860,9 @@ static int __init ecryptfs_init(void) if (rc) { ecryptfs_printk(KERN_ERR, "Failure occured while attempting to " "initialize the eCryptfs netlink socket\n"); + do_sysfs_unregistration(); + unregister_filesystem(&ecryptfs_fs_type); + ecryptfs_free_kmem_caches(); } out: return rc; @@ -858,11 +870,7 @@ static int __init ecryptfs_init(void) static void __exit ecryptfs_exit(void) { - sysfs_remove_file(&ecryptfs_subsys.kobj, - &sysfs_attr_version.attr); - sysfs_remove_file(&ecryptfs_subsys.kobj, - &sysfs_attr_version_str.attr); - subsystem_unregister(&ecryptfs_subsys); + do_sysfs_unregistration(); ecryptfs_release_messaging(ecryptfs_transport); unregister_filesystem(&ecryptfs_fs_type); ecryptfs_free_kmem_caches();