ecryptfs: properly mark init functions
PATCH 1/1 ecryptfs: properly mark init functions
Some ecryptfs init functions are not prefixed by __init and thus not freed after initialization. This patch saved about 1kB in ecryptfs module.
--- crypto.c | 2 +- kthread.c | 2 +- messaging.c | 2 +- miscdev.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
fs/ecryptfs/crypto.c +1 -1
@@ -1793,7 +1793,7 @@ struct kmem_cache *ecryptfs_key_tfm_cache;static struct list_head key_tfm_list;struct mutex key_tfm_list_mutex; -int ecryptfs_init_crypto (void ) +int __init ecryptfs_init_crypto (void ) {mutex_init (&key_tfm_list_mutex);INIT_LIST_HEAD (&key_tfm_list);
fs/ecryptfs/kthread.c +1 -1
@@ -86,7 +86,7 @@ out:return 0 ; } -int ecryptfs_init_kthread (void ) +int __init ecryptfs_init_kthread (void ) {int rc =0 ;
fs/ecryptfs/messaging.c +1 -1
@@ -473,7 +473,7 @@ sleep:return rc; } -int ecryptfs_init_messaging (void ) +int __init ecryptfs_init_messaging (void ) {int i;int rc =0 ;
fs/ecryptfs/miscdev.c +1 -1
@@ -500,7 +500,7 @@ static struct miscdevice ecryptfs_miscdev = {* * Returns zero on success; non-zero otherwise */ -int ecryptfs_init_ecryptfs_miscdev (void ) +int __init ecryptfs_init_ecryptfs_miscdev (void ) {int rc;
Quoted 7 lines · Jerome Marchand
Some ecryptfs init functions are not prefixed by
__initand thus not freed after initialization. This patch saved about 1kB in ecryptfs module.Signed-off-by Jerome Marchand <[email protected]>---
Thanks Jerome - We could also get away with marking ecryptfs_init_kmem_caches() and do_sysfs_registration() with __init, right?
Tyler
Quoted 58 lines
crypto.c | 2 +- kthread.c | 2 +- messaging.c | 2 +- miscdev.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)fs/ecryptfs/crypto.c +1
-1@@ -1793,7 +1793,7 @@ struct kmem_cache *ecryptfs_key_tfm_cache;static struct list_head key_tfm_list;struct mutex key_tfm_list_mutex; -int ecryptfs_init_crypto (void ) +int __init ecryptfs_init_crypto (void ) {mutex_init (&key_tfm_list_mutex);INIT_LIST_HEAD (&key_tfm_list);fs/ecryptfs/kthread.c +1
-1@@ -86,7 +86,7 @@ out:return 0 ; } -int ecryptfs_init_kthread (void ) +int __init ecryptfs_init_kthread (void ) {int rc =0 ;fs/ecryptfs/messaging.c +1
-1@@ -473,7 +473,7 @@ sleep:return rc; } -int ecryptfs_init_messaging (void ) +int __init ecryptfs_init_messaging (void ) {int i;int rc =0 ;fs/ecryptfs/miscdev.c +1
-1@@ -500,7 +500,7 @@ static struct miscdevice ecryptfs_miscdev = {* * Returns zero on success; non-zero otherwise */ -int ecryptfs_init_ecryptfs_miscdev (void ) +int __init ecryptfs_init_ecryptfs_miscdev (void ) {int rc;
Quoted 6 lines · Tyler Hicks
Quoted 5 lines · Jerome Marchand
Some ecryptfs init functions are not prefixed by
__initand thus not freed after initialization. This patch saved about 1kB in ecryptfs module.
Quoted 9 lines
Quoted 2 lines
Signed-off-by Jerome Marchand <[email protected]>---
Thanks Jerome - We could also get away with marking
ecryptfs_init_kmem_caches()anddo_sysfs_registration()with__init, right?Tyler
I guess we could. But it doesn't really matter, these are static functions which are called from only one place, so they're inlined anyway. I don't know what the convention is in such case.
Jérôme
Quoted 14 lines · Jerome Marchand
Quoted 13 lines · Tyler Hicks
Quoted 7 lines · Jerome Marchand
Some ecryptfs init functions are not prefixed by
__initand thus not freed after initialization. This patch saved about 1kB in ecryptfs module.Signed-off-by Jerome Marchand <[email protected]>---
Thanks Jerome - We could also get away with marking
ecryptfs_init_kmem_caches()anddo_sysfs_registration()with__init, right?
Quoted 7 lines
Quoted 2 lines
Tyler
I guess we could. But it doesn't really matter, these are static functions which are called from only one place, so they're inlined anyway. I don't know what the convention is in such case.
Good point - this has been applied togit://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6.git#next
Thanks,
Tyler