[REFACTOR] slots manager 61/20461/1
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Wed, 7 May 2014 13:47:19 +0000 (17:47 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Wed, 7 May 2014 13:47:19 +0000 (17:47 +0400)
to fix names conflict when building in kernel

Change-Id: I2f66053243fc5a47be7276a02175852aa034f041
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
kprobe/Kbuild
kprobe/arch/asm-arm/dbi_kprobes.c
kprobe/arch/asm-x86/dbi_kprobes.c
kprobe/dbi_kprobes.c
kprobe/swap_slots.c [moved from kprobe/dbi_insn_slots.c with 94% similarity]
kprobe/swap_slots.h [moved from kprobe/dbi_insn_slots.h with 90% similarity]
uprobe/arch/asm-arm/swap_uprobes.c
uprobe/arch/asm-x86/swap_uprobes.c
uprobe/swap_uprobes.c
us_manager/us_slot_manager.c

index d086f97..a9994fb 100644 (file)
@@ -1,5 +1,8 @@
 EXTRA_CFLAGS := $(extra_cflags)
 
 obj-m := swap_kprobe.o
-swap_kprobe-y := dbi_kprobes_deps.o dbi_insn_slots.o arch/asm/dbi_kprobes.o dbi_kprobes.o
+swap_kprobe-y := dbi_kprobes.o \
+                 dbi_kprobes_deps.o \
+                 arch/asm/dbi_kprobes.o \
+                 swap_slots.o
 swap_kprobe-$(CONFIG_ARM) += arch/asm/trampoline_arm.o
index 3ae5e25..313bd06 100644 (file)
@@ -37,7 +37,7 @@
 #include <kprobe/dbi_kprobes.h>
 
 #include <kprobe/dbi_kdebug.h>
-#include <kprobe/dbi_insn_slots.h>
+#include <kprobe/swap_slots.h>
 #include <kprobe/dbi_kprobes_deps.h>
 #include <ksyms/ksyms.h>
 
@@ -300,13 +300,13 @@ int arch_prepare_kprobe(struct kprobe *p, struct slot_manager *sm)
        unsigned long *tramp;
        int ret;
 
-       tramp = alloc_insn_slot(sm);
+       tramp = swap_slot_alloc(sm);
        if (tramp == NULL)
                return -ENOMEM;
 
        ret = arch_make_trampoline_arm(addr, insn, tramp);
        if (ret) {
-               free_insn_slot(sm, tramp);
+               swap_slot_free(sm, tramp);
                return ret;
        }
 
index 8fdf17d..a7c65ea 100644 (file)
@@ -52,7 +52,7 @@
 #include <kprobe/dbi_kprobes.h>
 
 #include <kprobe/dbi_kdebug.h>
-#include <kprobe/dbi_insn_slots.h>
+#include <kprobe/swap_slots.h>
 #include <kprobe/dbi_kprobes_deps.h>
 #define SUPRESS_BUG_MESSAGES
 
@@ -230,7 +230,7 @@ static int is_IF_modifier (kprobe_opcode_t opcode)
 int arch_prepare_kprobe(struct kprobe *p, struct slot_manager *sm)
 {
        /* insn: must be on special executable page on i386. */
-       p->ainsn.insn = alloc_insn_slot(sm);
+       p->ainsn.insn = swap_slot_alloc(sm);
        if (p->ainsn.insn == NULL)
                return -ENOMEM;
 
index 9374f05..c20150b 100644 (file)
@@ -51,7 +51,7 @@
 
 #include "dbi_kdebug.h"
 #include "dbi_kprobes_deps.h"
-#include "dbi_insn_slots.h"
+#include "swap_slots.h"
 #include <ksyms/ksyms.h>
 
 #include <linux/version.h>
@@ -490,7 +490,7 @@ EXPORT_SYMBOL_GPL(register_aggr_kprobe);
 static void remove_kprobe(struct kprobe *p)
 {
        /* TODO: check boostable for x86 and MIPS */
-       free_insn_slot(&sm, p->ainsn.insn);
+       swap_slot_free(&sm, p->ainsn.insn);
 }
 
 int dbi_register_kprobe(struct kprobe *p)
similarity index 94%
rename from kprobe/dbi_insn_slots.c
rename to kprobe/swap_slots.c
index 5723935..e1d7e4a 100644 (file)
@@ -21,7 +21,7 @@
 
 /*
  *  Dynamic Binary Instrumentation Module based on KProbes
- *  modules/kprobe/dbi_insn_slots.c
+ *  modules/kprobe/swap_slots.c
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * 2012-2013    Vyacheslav Cherkashin <v.cherkashin@samsung.com> new memory allocator for slots
  */
 
-#include "dbi_insn_slots.h"
+
 #include <linux/module.h>
 #include <linux/rculist.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
-#include <kprobe/dbi_kprobes_deps.h>
+
+#include "swap_slots.h"
+#include "dbi_kprobes_deps.h"
+
 
 struct chunk {
        unsigned long *data;
@@ -164,7 +167,7 @@ static void free_fixed_alloc(struct slot_manager *sm, struct fixed_alloc *fa)
 }
 
 
-void *alloc_insn_slot(struct slot_manager *sm)
+void *swap_slot_alloc(struct slot_manager *sm)
 {
        void *free_slot;
        struct fixed_alloc *fa;
@@ -185,9 +188,9 @@ void *alloc_insn_slot(struct slot_manager *sm)
 
        return chunk_allocate(&fa->chunk, sm->slot_size);
 }
-EXPORT_SYMBOL_GPL(alloc_insn_slot);
+EXPORT_SYMBOL_GPL(swap_slot_alloc);
 
-void free_insn_slot(struct slot_manager *sm, void *slot)
+void swap_slot_free(struct slot_manager *sm, void *slot)
 {
        struct fixed_alloc *fa;
        DECLARE_NODE_PTR_FOR_HLIST(pos);
@@ -209,6 +212,6 @@ void free_insn_slot(struct slot_manager *sm, void *slot)
                return;
        }
 
-       panic("free_insn_slot: slot=%p is not data base\n", slot);
+       panic("%s: slot=%p is not data base\n", __func__, slot);
 }
-EXPORT_SYMBOL_GPL(free_insn_slot);
+EXPORT_SYMBOL_GPL(swap_slot_free);
similarity index 90%
rename from kprobe/dbi_insn_slots.h
rename to kprobe/swap_slots.h
index db5ad62..3e48059 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _DBI_INSNS_SLOTS_H
-#define _DBI_INSNS_SLOTS_H
+#ifndef _SWAP_SLOTS_H
+#define _SWAP_SLOTS_H
 
 /*
  *  Kernel Probes (KProbes)
@@ -24,7 +24,7 @@
 
 /*
  *  Dynamic Binary Instrumentation Module based on KProbes
- *  modules/kprobe/dbi_insn_slots.h
+ *  modules/kprobe/swap_slots.h
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -58,7 +58,7 @@ struct slot_manager {
        void *data;
 };
 
-void *alloc_insn_slot(struct slot_manager *sm);
-void free_insn_slot(struct slot_manager *sm, void *slot);
+void *swap_slot_alloc(struct slot_manager *sm);
+void swap_slot_free(struct slot_manager *sm, void *slot);
 
-#endif /* _DBI_INSNS_SLOTS_H */
+#endif /* _SWAP_SLOTS_H */
index 728409f..dfb1288 100644 (file)
@@ -30,7 +30,7 @@
 #include <asm/traps.h>
 #include <uprobe/swap_uprobes.h>
 #include <uprobe/arch/asm/swap_uprobes.h>
-#include <kprobe/dbi_insn_slots.h>
+#include <kprobe/swap_slots.h>
 #include <kprobe/dbi_kprobes_deps.h>
 #include "trampoline_thumb.h"
 
@@ -559,9 +559,9 @@ int arch_prepare_uprobe(struct uprobe *up)
                return -EFAULT;
        }
 
-       up->atramp.utramp = alloc_insn_slot(up->sm);
+       up->atramp.utramp = swap_slot_alloc(up->sm);
        if (up->atramp.utramp == NULL) {
-               printk("Error: alloc_insn_slot failed (%08lx)\n", vaddr);
+               printk("Error: swap_slot_alloc failed (%08lx)\n", vaddr);
                return -ENOMEM;
        }
 
index e398dfc..b542d9a 100644 (file)
@@ -28,7 +28,7 @@
 #include <kprobe/arch/asm/dbi_kprobes.h>
 #include <uprobe/swap_uprobes.h>
 #include <uprobe/arch/asm/swap_uprobes.h>
-#include <kprobe/dbi_insn_slots.h>
+#include <kprobe/swap_slots.h>
 
 struct uprobe_ctlblk {
         unsigned long flags;
@@ -293,7 +293,7 @@ static int make_trampoline(struct uprobe *up)
        struct task_struct *task = up->task;
        void *tramp;
 
-       tramp = alloc_insn_slot(up->sm);
+       tramp = swap_slot_alloc(up->sm);
        if (tramp == 0) {
                printk("trampoline out of memory\n");
                return -ENOMEM;
@@ -302,7 +302,7 @@ static int make_trampoline(struct uprobe *up)
        if (!write_proc_vm_atomic(task, (unsigned long)tramp,
                                  up->atramp.tramp,
                                  sizeof(up->atramp.tramp))) {
-               free_insn_slot(up->sm, tramp);
+               swap_slot_free(up->sm, tramp);
                panic("failed to write memory %p!\n", tramp);
                return -EINVAL;
        }
index 42185d0..21d4a28 100644 (file)
@@ -33,7 +33,7 @@
 #include <linux/hash.h>
 #include <linux/mempolicy.h>
 #include <linux/module.h>
-#include <kprobe/dbi_insn_slots.h>
+#include <kprobe/swap_slots.h>
 #include <kprobe/dbi_kprobes_deps.h>
 
 enum {
@@ -325,7 +325,7 @@ static void remove_uprobe(struct uprobe *up)
 {
        struct kprobe *p = up2kp(up);
 
-       free_insn_slot(up->sm, p->ainsn.insn);
+       swap_slot_free(up->sm, p->ainsn.insn);
 }
 
 static struct hlist_head *uretprobe_inst_table_head(void *hash_key)
index e7b94c6..0b2e2b7 100644 (file)
@@ -29,7 +29,7 @@
 #include <linux/mm.h>
 #include <linux/mman.h>
 #include <linux/list.h>
-#include <kprobe/dbi_insn_slots.h>
+#include <kprobe/swap_slots.h>
 #include <kprobe/arch/asm/dbi_kprobes.h>
 #include "us_manager_common.h"