From e1c51364f496ace9550dc23dd25af2318b440684 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Sun, 15 Jun 2008 22:05:16 -0400 Subject: [PATCH] Move module init and cleanup into separate functions. Signed-off-by: Anders Kaseorg --- kmodsrc/helper.c | 8 +++++++- kmodsrc/helper.h | 1 + kmodsrc/primary.c | 6 +++++- kmodsrc/primary.h | 1 + 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/kmodsrc/helper.c b/kmodsrc/helper.c index bd114dc..e4853d5 100644 --- a/kmodsrc/helper.c +++ b/kmodsrc/helper.c @@ -32,12 +32,18 @@ extern struct ksplice_size ksplice_sizes; int init_module(void) { - int ret = 0; struct module_pack *pack = &KSPLICE_UNIQ(pack); pack->helper_relocs = &ksplice_relocs; pack->helper_sizes = &ksplice_sizes; + return init_ksplice_module(pack); +} + +int init_ksplice_module(struct module_pack *pack) +{ + int ret = 0; + if (process_ksplice_relocs(pack, &ksplice_init_relocs) != 0) return -1; safe = 1; diff --git a/kmodsrc/helper.h b/kmodsrc/helper.h index 9b8a85a..6f6a4af 100644 --- a/kmodsrc/helper.h +++ b/kmodsrc/helper.h @@ -2,6 +2,7 @@ #include int init_module(void); +int init_ksplice_module(struct module_pack *pack); void cleanup_module(void); int activate_helper(struct module_pack *pack); int search_for_match(struct module_pack *pack, struct ksplice_size *s, diff --git a/kmodsrc/primary.c b/kmodsrc/primary.c index ef64e45..8f78e16 100644 --- a/kmodsrc/primary.c +++ b/kmodsrc/primary.c @@ -76,7 +76,11 @@ int init_module(void) void cleanup_module(void) { - struct module_pack *pack = &KSPLICE_UNIQ(pack); + cleanup_ksplice_module(&KSPLICE_UNIQ(pack)); +} + +void cleanup_ksplice_module(struct module_pack *pack) +{ remove_proc_entry(pack->name, &proc_root); } diff --git a/kmodsrc/primary.h b/kmodsrc/primary.h index f4a5e57..01e4e55 100644 --- a/kmodsrc/primary.h +++ b/kmodsrc/primary.h @@ -1,5 +1,6 @@ int init_module(void); void cleanup_module(void); +void cleanup_ksplice_module(struct module_pack *pack); int activate_primary(struct module_pack *pack); int resolve_patch_symbols(struct module_pack *pack); int procfile_read(char *buffer, char **buffer_location, off_t offset, -- 2.11.4.GIT