[REFACTOR] rename and move arch_init_module_dependencies()
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Wed, 3 Apr 2013 08:54:22 +0000 (12:54 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Wed, 3 Apr 2013 08:54:22 +0000 (12:54 +0400)
rename:
arch_init_module_dependencies() --> init_module_deps()
move:
from src/modules/kprobe/arch/dbi_kprobes.c
to src/modules/kprobe/dbi_kprobes.c

kprobe/arch/asm-arm/dbi_kprobes.c
kprobe/arch/asm-arm/dbi_kprobes.h
kprobe/arch/asm-mips/dbi_kprobes.c
kprobe/arch/asm-mips/dbi_kprobes.h
kprobe/arch/asm-x86/dbi_kprobes.c
kprobe/arch/asm-x86/dbi_kprobes.h
kprobe/arch/dbi_kprobes.c
kprobe/arch/dbi_kprobes.h
kprobe/dbi_kprobes.c

index ab30b0a..0296690 100644 (file)
@@ -627,13 +627,6 @@ void  __arch_prepare_kretprobe (struct kretprobe *rp, struct pt_regs *regs)
        }
 }
 
-
-int asm_init_module_dependencies(void)
-{
-       //No module dependencies
-       return 0;
-}
-
 void swap_register_undef_hook(struct undef_hook *hook)
 {
        __swap_register_undef_hook(hook);
@@ -655,16 +648,10 @@ static struct undef_hook undef_ho_k = {
     .fn                = kprobe_trap_handler
 };
 
-int __init arch_init_kprobes (void)
+int arch_init_kprobes(void)
 {
        int ret = 0;
 
-       if (arch_init_module_dependencies())
-       {
-               DBPRINTF ("Unable to init module dependencies\n");
-               return -1;
-       }
-
        // Register hooks (kprobe_handler)
        __swap_register_undef_hook = swap_ksyms("register_undef_hook");
        if (__swap_register_undef_hook == NULL) {
index d717e14..f5e7425 100644 (file)
@@ -501,6 +501,11 @@ struct undef_hook;
 void swap_register_undef_hook(struct undef_hook *hook);
 void swap_unregister_undef_hook(struct undef_hook *hook);
 
+static inline int arch_init_module_deps(void)
+{
+       return 0;
+}
+
 int arch_check_insn_arm(struct arch_specific_insn *ainsn);
 int prep_pc_dep_insn_execbuf(kprobe_opcode_t *insns, kprobe_opcode_t insn, int uregs);
 
index 8737ae5..6d461da 100644 (file)
@@ -722,7 +722,7 @@ DECLARE_MOD_CB_DEP(flush_icache_page, \
 DECLARE_MOD_CB_DEP(flush_cache_page, \
                void, struct vm_area_struct * vma, unsigned long page);
 
-int asm_init_module_dependencies()
+int arch_init_module_deps()
 {
        INIT_MOD_DEP_CB(flush_icache_range, r4k_flush_icache_range);
        INIT_MOD_DEP_CB(flush_icache_page, r4k_flush_icache_page);
index f6d352d..0dceb1e 100644 (file)
@@ -24,7 +24,7 @@
  * 2006-2007    Ekaterina Gorelkina <e.gorelkina@samsung.com>: initial implementation for ARM/MIPS
  * 2008-2009    Alexey Gerenkov <a.gerenkov@samsung.com> User-Space
  *              Probes initial implementation; Support x86/ARM/MIPS for both user-space and kernel space.
- * 2010         Ekaterina Gorelkina <e.gorelkina@samsung.com>: redesign module for separating core and arch parts 
+ * 2010         Ekaterina Gorelkina <e.gorelkina@samsung.com>: redesign module for separating core and arch parts
  *
  */
 
@@ -37,7 +37,7 @@ typedef unsigned long kprobe_opcode_t;
 
 #ifndef KPROBES_RET_PROBE_TRAMP
 #define UNDEF_INSTRUCTION              0x0000004d
-#endif 
+#endif
 
 #define MAX_INSN_SIZE                  1
 
@@ -122,5 +122,6 @@ typedef kprobe_opcode_t (*entry_point_t) (unsigned long, unsigned long, unsigned
 void gen_insn_execbuf_holder (void);
 
 void patch_suspended_task_ret_addr(struct task_struct *p, struct kretprobe *rp);
+int arch_init_module_deps(void);
 
 #endif /*  _SRC_ASM_MIPS_KPROBES_H */
index 6bb303f..0f249e1 100644 (file)
@@ -1309,7 +1309,7 @@ void __arch_prepare_kretprobe (struct kretprobe *rp, struct pt_regs *regs)
 }
 
 
-int asm_init_module_dependencies()
+int arch_init_module_deps()
 {
        INIT_MOD_DEP_VAR(module_alloc, module_alloc);
        INIT_MOD_DEP_VAR(module_free, module_free);
index c3b1741..30877a4 100644 (file)
@@ -207,6 +207,7 @@ struct arch_specific_insn {
 
 typedef kprobe_opcode_t (*entry_point_t) (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
 
+int arch_init_module_deps(void);
 
 
 #endif /* _SRC_ASM_X86_KPROBES_H */
index 9c29a09..25088f7 100644 (file)
 
 extern struct hlist_head kprobe_insn_pages;
 
-int arch_init_module_dependencies(void)
-{
-       int ret;
-
-       sched_addr = swap_ksyms("__switch_to");
-       fork_addr = swap_ksyms("do_fork");
-       exit_addr = swap_ksyms("do_exit");
-
-       if ((void *)sched_addr == NULL ||
-                               (void *)fork_addr == NULL ||
-                               (void *)exit_addr == NULL) {
-               return -ESRCH;
-       }
-
-       ret = init_module_dependencies();
-       if (ret) {
-               return ret;
-       }
-
-       return asm_init_module_dependencies();
-}
index 251ff75..422a85d 100644 (file)
@@ -87,7 +87,4 @@ void dbi_jprobe_return (void);
 int longjmp_break_handler (struct kprobe *p, struct pt_regs *regs);
 int trampoline_probe_handler (struct kprobe *p, struct pt_regs *regs);
 
-int arch_init_module_dependencies(void);
-int asm_init_module_dependencies(void);
-
 #endif                         /* _DBI_ARCH_KPROBES_H */
index 53068cd..31fadfa 100644 (file)
@@ -840,6 +840,26 @@ int patch_suspended_task(struct kretprobe *rp, struct task_struct *task)
        return 0;
 }
 
+static int init_module_deps(void)
+{
+       int ret;
+
+       sched_addr = swap_ksyms("__switch_to");
+       fork_addr = swap_ksyms("do_fork");
+       exit_addr = swap_ksyms("do_exit");
+
+       if (sched_addr == 0 || fork_addr == 0 || exit_addr == 0) {
+               return -ESRCH;
+       }
+
+       ret = init_module_dependencies();
+       if (ret) {
+               return ret;
+       }
+
+       return arch_init_module_deps();
+}
+
 static int __init init_kprobes(void)
 {
        int i, err = 0;
@@ -852,6 +872,11 @@ static int __init init_kprobes(void)
        }
        atomic_set(&kprobe_count, 0);
 
+       err = init_module_deps();
+       if (err) {
+               return err;
+       }
+
        err = arch_init_kprobes();
 
        DBPRINTF ("init_kprobes: arch_init_kprobes - %d", err);