Skip to contentSkip to conversation

ecryptfs: properly mark init functions

PATCH In review Jerome Marchand 2 participants 4 messages Aug 17, 2010 – Aug 20, 2010 Ecrypt file system

lore
Share & tools
lore
#0 lore raw

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
index a2e3b56..13ff48b 100644
@@ -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
index d8c3a37..0851ab6 100644
@@ -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
index bcb68c0..ab22480 100644
@@ -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
index 3745f61..00208c3 100644
@@ -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;
 
#1 lore raw
Quoted 7 lines · Jerome Marchand

Some ecryptfs init functions are not prefixed by __init and thus not freed after initialization. This patch saved about 1kB in ecryptfs module.

---

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
index a2e3b56..13ff48b 100644
@@ -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
index d8c3a37..0851ab6 100644
@@ -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
index bcb68c0..ab22480 100644
@@ -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
index 3745f61..00208c3 100644
@@ -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;
 
#2 lore raw
Quoted 6 lines · Tyler Hicks
Quoted 5 lines · Jerome Marchand

Some ecryptfs init functions are not prefixed by __init and thus not freed after initialization. This patch saved about 1kB in ecryptfs module.

Quoted 9 lines
Quoted 2 lines

---

Thanks Jerome - We could also get away with marking ecryptfs_init_kmem_caches() and do_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

#3 lore raw
Quoted 14 lines · Jerome Marchand
Quoted 13 lines · Tyler Hicks
Quoted 7 lines · Jerome Marchand

Some ecryptfs init functions are not prefixed by __init and thus not freed after initialization. This patch saved about 1kB in ecryptfs module.

---

Thanks Jerome - We could also get away with marking ecryptfs_init_kmem_caches() and do_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 to
git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6.git#next

Thanks,
Tyler