Vyacheslav Cherkashin [Fri, 5 Apr 2013 12:25:47 +0000 (16:25 +0400)]
[REFACTOR] redesign arch_set_orig_ret_addr()
Vyacheslav Cherkashin [Fri, 5 Apr 2013 12:00:10 +0000 (16:00 +0400)]
[REFACTOR] redesign trampoline_probe_handler()
Vyacheslav Cherkashin [Thu, 4 Apr 2013 08:05:02 +0000 (12:05 +0400)]
[REFACTOR] code style fix for 'asm-arm/dbi_kprobes.c'
src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
Vyacheslav Cherkashin [Thu, 4 Apr 2013 07:33:48 +0000 (11:33 +0400)]
[REFACTOR] remove 'OVERHEAD_DEBUG'
Vyacheslav Cherkashin [Thu, 4 Apr 2013 07:11:50 +0000 (11:11 +0400)]
[REFACTOR] remove arch/dbi_kprobes.*
files:
src/modules/kprobe/arch/dbi_kprobes.h
src/modules/kprobe/arch/dbi_kprobes.c
Vyacheslav Cherkashin [Thu, 4 Apr 2013 07:08:06 +0000 (11:08 +0400)]
[REFACTOR] move declaration arch_prepare_kretprobe()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:55:18 +0000 (10:55 +0400)]
[REFACTOR] move declaration arch_prepare_kprobe()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:47:20 +0000 (10:47 +0400)]
[REFACTOR] rename __arch_prepare_kretprobe()
__arch_prepare_kretprobe() --> arch_prepare_kretprobe()
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:43:55 +0000 (10:43 +0400)]
[REFACTOR] remove arch_prepare_kretprobe()
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:34:30 +0000 (10:34 +0400)]
[REFACTOR] move declaration kretprobe_trampoline()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:26:26 +0000 (10:26 +0400)]
[REFACTORE] move declaration arch_/init/exit/_kprobes()
arch_init_kprobes()
arch_exit_kprobes()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:24:26 +0000 (10:24 +0400)]
[REFACTORE] rename dbi_arch_exit_kprobes()
dbi_arch_exit_kprobes() --> arch_exit_kprobes()
Vyacheslav Cherkashin [Thu, 4 Apr 2013 06:02:52 +0000 (10:02 +0400)]
[REFACTOR] move declaration *_kprobe()
save_previous_kprobe()
restore_previous_kprobe()
set_current_kprobe()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Thu, 4 Apr 2013 05:50:51 +0000 (09:50 +0400)]
[REFACTOR] move declaration arch_/dis/arm_kprobe()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Wed, 3 Apr 2013 14:23:23 +0000 (18:23 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
and fix src/modules/driver/us_proc_inst.c:1236
-ip->jprobe.kp.addr);
+ip->jprobe.up.kp.addr);
Vyacheslav Cherkashin [Wed, 3 Apr 2013 13:31:28 +0000 (17:31 +0400)]
[REFACTOR] move declaration *_handler()
setjmp_pre_handler()
longjmp_break_handler()
trampoline_probe_handler()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Wed, 3 Apr 2013 13:26:15 +0000 (17:26 +0400)]
[REFACTOR] move declaration patch_suspended_task()
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/dbi_kprobes.h
Vyacheslav Cherkashin [Wed, 3 Apr 2013 13:16:44 +0000 (17:16 +0400)]
[REFACTOR] move 'struct prev_kprobe'
from src/modules/kprobe/arch/dbi_kprobes.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
Vyacheslav Cherkashin [Wed, 3 Apr 2013 11:28:34 +0000 (15:28 +0400)]
[REFACTOR] remove dbi_fp_backtrace()
Vyacheslav Cherkashin [Wed, 3 Apr 2013 10:12:11 +0000 (14:12 +0400)]
[REFACTOR] remove define REENTER
Vyacheslav Cherkashin [Wed, 3 Apr 2013 08:54:22 +0000 (12:54 +0400)]
[REFACTOR] rename and move arch_init_module_dependencies()
rename:
arch_init_module_dependencies() --> init_module_deps()
move:
from src/modules/kprobe/arch/dbi_kprobes.c
to src/modules/kprobe/dbi_kprobes.c
Vyacheslav Cherkashin [Wed, 3 Apr 2013 07:39:02 +0000 (11:39 +0400)]
[REFACTOR] rename and move arch_remove_kprobe()
rename:
arch_remove_kprobe() --> remove_kprobe()
move:
from src/modules/kprobe/arch/dbi_kprobes.c
to src/modules/kprobe/dbi_kprobes.c
Vyacheslav Cherkashin [Wed, 3 Apr 2013 07:29:51 +0000 (11:29 +0400)]
[REFACTOR] remove field 'rp2' from 'struct kretprobe_instance'
Vyacheslav Cherkashin [Wed, 3 Apr 2013 07:07:45 +0000 (11:07 +0400)]
[REFACTOR] code style fix for 'dbi_kprobes.c'
src/modules/kprobe/dbi_kprobes.c
Vyacheslav Cherkashin [Tue, 2 Apr 2013 14:34:59 +0000 (18:34 +0400)]
[REFACTOR] move declaration get_ukprobe_by_insn_slot()
from src/modules/kprobe/dbi_kprobes.h
to src/modules/uprobe/swap_uprobes.h
Vyacheslav Cherkashin [Tue, 2 Apr 2013 13:07:39 +0000 (17:07 +0400)]
[REFACTOR] redesign uprobe_handler()
Vyacheslav Cherkashin [Tue, 2 Apr 2013 12:50:25 +0000 (16:50 +0400)]
[REFACTOR] create restore_opcode_for_thumb()
Dmitry Kovalenko [Tue, 2 Apr 2013 12:50:11 +0000 (16:50 +0400)]
[IMPROVE] Remove page_present() test on setting probe during start phase
Dmitry Kovalenko [Tue, 2 Apr 2013 12:44:31 +0000 (16:44 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Vyacheslav Cherkashin [Tue, 2 Apr 2013 09:51:42 +0000 (13:51 +0400)]
[REFACTOR] remove field 'tgid' from 'struct kprobe'
Vyacheslav Cherkashin [Tue, 2 Apr 2013 09:18:41 +0000 (13:18 +0400)]
[REFACTOR] redesign get_kprobe_by_insn_slot()
-struct kprobe *get_kprobe_by_insn_slot(kprobe_opcode_t *addr, pid_t tgid, struct pt_regs *regs);
+struct kprobe *get_ukprobe_by_insn_slot(void *addr, pid_t tgid, struct pt_regs *regs);
Vyacheslav Cherkashin [Tue, 2 Apr 2013 08:42:08 +0000 (12:42 +0400)]
[REFACTOR] redesign check_validity_insn()
-static int check_validity_insn(struct uprobe *up, struct pt_regs *regs)
+static int check_validity_insn(struct kprobe *p, struct pt_regs *regs)
Vyacheslav Cherkashin [Tue, 2 Apr 2013 07:47:45 +0000 (11:47 +0400)]
[REFACTOR] redesign get_uprobe()
-struct uprobe *get_uprobe(kprobe_opcode_t *addr, pid_t tgid)
+struct kprobe *get_ukprobe(void *addr, pid_t tgid)
Kudrjavtsev Nickita [Mon, 1 Apr 2013 18:44:45 +0000 (22:44 +0400)]
[FIX] fix strlen error in kernel space.
When lib path is zeroed daemon was crushed.
Vyacheslav Cherkashin [Mon, 1 Apr 2013 11:40:34 +0000 (15:40 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/daemon/swap_daemon_stop.sh
Vyacheslav Cherkashin [Mon, 1 Apr 2013 10:11:21 +0000 (14:11 +0400)]
[REFACTOR] remove field 'disarm' from 'srtuct uretprobe'
Vyacheslav Cherkashin [Mon, 1 Apr 2013 09:09:58 +0000 (13:09 +0400)]
[REFACTOR] new interface arch_prepare_uprobe()
-int arch_prepare_uprobe(struct kprobe *p, struct task_struct *task, int atomic);
+int arch_prepare_uprobe(struct uprobe *up, int atomic);
Vyacheslav Cherkashin [Mon, 1 Apr 2013 09:01:35 +0000 (13:01 +0400)]
[REFACTOR] new interface remove_uprobe()
-static void remove_uprobe(struct kprobe *p, struct task_struct *task)
+static void remove_uprobe(struct uprobe *up)
Vyacheslav Cherkashin [Mon, 1 Apr 2013 08:55:10 +0000 (12:55 +0400)]
[REFACTOR] new interface disarm_uprobe()
-void disarm_uprobe(struct kprobe *p, struct task_struct *task);
+void disarm_uprobe(struct uprobe *p);
Vyacheslav Cherkashin [Mon, 1 Apr 2013 08:35:27 +0000 (12:35 +0400)]
[REFACTOR] new interface check_validity_insn()
-static int check_validity_insn(struct kprobe *p, struct pt_regs *regs, struct task_struct *task)
+static int check_validity_insn(struct uprobe *up, struct pt_regs *regs)
Vyacheslav Cherkashin [Mon, 1 Apr 2013 08:24:38 +0000 (12:24 +0400)]
[REFACTOR] new interface arm_uprobe()
-static void arm_uprobe(struct kprobe *p, struct task_struct *task)
+static void arm_uprobe(struct uprobe *p)
Vyacheslav Cherkashin [Mon, 1 Apr 2013 08:08:32 +0000 (12:08 +0400)]
[REFACTOR] new interface get_uprobe()
-struct kprobe *get_uprobe(kprobe_opcode_t *addr, pid_t tgid)
+struct uprobe *get_uprobe(kprobe_opcode_t *addr, pid_t tgid)
Vyacheslav Cherkashin [Fri, 29 Mar 2013 17:13:18 +0000 (21:13 +0400)]
[REFACTOR] remove 'US_NOT_RP2' flag
Vyacheslav Cherkashin [Fri, 29 Mar 2013 17:01:51 +0000 (21:01 +0400)]
[REFACTOR] new interface dbi_/un/register_uprobe()
old API:
int dbi_register_uprobe(struct kprobe *p, struct task_struct *task, int atomic);
void dbi_unregister_uprobe(struct kprobe *p, struct task_struct *task, int atomic);
new API:
int dbi_register_uprobe(struct uprobe *p, int atomic);
void dbi_unregister_uprobe(struct uprobe *p, int atomic);
Vyacheslav Cherkashin [Fri, 29 Mar 2013 16:41:37 +0000 (20:41 +0400)]
[REFACTOR] new interface dbi_/un/register_uretprobe()
Vyacheslav Cherkashin [Fri, 29 Mar 2013 15:48:41 +0000 (19:48 +0400)]
[REFACTOR] new interface dbi_/un/register_ujprobe()
-int dbi_/un/register_ujprobe(struct task_struct *task, struct jprobe *jp, int atomic);
+int dbi_/un/register_ujprobe(struct ujprobe *jp, int atomic);
as well as create 'struct uprobe' and 'struct ujprobe'
Vyacheslav Cherkashin [Fri, 29 Mar 2013 14:17:54 +0000 (18:17 +0400)]
[REFACTOR] rename files: dbi_kprobes_arm.* --> trampoline_arm.*
Vyacheslav Cherkashin [Fri, 29 Mar 2013 13:04:12 +0000 (17:04 +0400)]
[REFACTOR] move trampoline for thumb in uprobe module
from src/modules/kprobe/arch/asm-arm/dbi_kprobes_thumb.*
to src/modules/uprobe/arch/asm-arm/trampoline_thumb.*
Vyacheslav Cherkashin [Fri, 29 Mar 2013 12:22:11 +0000 (16:22 +0400)]
[REFACTOR] move export function in source file
gen_insn_execbuf() and pc_dep_insn_execbuf():
from src/modules/kprobe/arch/asm-arm/dbi_kprobes_arm.h
to src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
Vyacheslav Cherkashin [Fri, 29 Mar 2013 11:59:39 +0000 (15:59 +0400)]
[REFACTOR] move function prototype in header
Vyacheslav Cherkashin [Fri, 29 Mar 2013 10:59:34 +0000 (14:59 +0400)]
[REFACTOR] rename kretprobe* --> uretprobe*
Vyacheslav Cherkashin [Fri, 29 Mar 2013 07:40:14 +0000 (11:40 +0400)]
[REFACTOR] move trampoline_uprobe_handler()
from src/modules/uprobe/arch/asm-arm/swap_uprobes.c
to src/modules/uprobe/swap_uprobes.c
Vyacheslav Cherkashin [Thu, 28 Mar 2013 13:20:12 +0000 (17:20 +0400)]
[REFACTOR] create uretprobe
Vyacheslav Cherkashin [Thu, 28 Mar 2013 11:38:57 +0000 (15:38 +0400)]
[REFACTOR] create and use recycle_urp_inst()
Vyacheslav Cherkashin [Thu, 28 Mar 2013 11:34:32 +0000 (15:34 +0400)]
[REFACTOR] create and use free_urp_inst()
Vyacheslav Cherkashin [Thu, 28 Mar 2013 11:25:22 +0000 (15:25 +0400)]
[REFACTOR] create and use get_used_urp_inst()
Vyacheslav Cherkashin [Thu, 28 Mar 2013 11:24:09 +0000 (15:24 +0400)]
[REFACTOR] create and use get_free_urp_inst()
Vyacheslav Cherkashin [Thu, 28 Mar 2013 10:02:30 +0000 (14:02 +0400)]
[REFACTOR] create uretprobe_inst_table[]
Vyacheslav Cherkashin [Thu, 28 Mar 2013 09:07:22 +0000 (13:07 +0400)]
[REFACTOR] remove get_user_pages_atomic()
Vyacheslav Cherkashin [Thu, 28 Mar 2013 08:28:03 +0000 (12:28 +0400)]
[REFACTOR] rename and move arch_remove_uprobe()
rename:
arch_remove_uprobe() --> remove_uprobe()
move:
from src/modules/kprobe/arch/dbi_kprobes.c
to src/modules/uprobe/swap_uprobes.c
Vyacheslav Cherkashin [Thu, 28 Mar 2013 07:40:16 +0000 (11:40 +0400)]
[REFACTOR] rename and move arch_disarm_uprobe()
rename:
arch_disarm_uprobe() --> disarm_uprobe()
move:
from src/modules/kprobe/arch/dbi_kprobes.c
to src/modules/uprobe/swap_uprobes.c
Vyacheslav Cherkashin [Wed, 27 Mar 2013 15:02:06 +0000 (19:02 +0400)]
[REFACTOR] create aggregate for uprobes
Vyacheslav Cherkashin [Wed, 27 Mar 2013 12:45:54 +0000 (16:45 +0400)]
[REFACTOR] remove kretprobe_trampoline_holder()
Vyacheslav Cherkashin [Wed, 27 Mar 2013 12:31:20 +0000 (16:31 +0400)]
[REFACTOR] remove arch_disarm_kretprobe()
Vyacheslav Cherkashin [Wed, 27 Mar 2013 12:28:15 +0000 (16:28 +0400)]
[REFACTOR] remove arch_arm_kretprobe()
Vyacheslav Cherkashin [Wed, 27 Mar 2013 11:36:27 +0000 (15:36 +0400)]
[REFACTOR] remove arch_arm_uretprobe()
Vyacheslav Cherkashin [Wed, 27 Mar 2013 11:34:00 +0000 (15:34 +0400)]
[REFACTOR] remove arch_disarm_uretprobe()
Vyacheslav Cherkashin [Wed, 27 Mar 2013 11:30:28 +0000 (15:30 +0400)]
[REFACTOR] remove arch_prepare_uretprobe()
Vyacheslav Cherkashin [Wed, 27 Mar 2013 10:24:11 +0000 (14:24 +0400)]
[REFACTOR] remove unnecessary code
Vyacheslav Cherkashin [Wed, 27 Mar 2013 10:07:15 +0000 (14:07 +0400)]
[REFACTOR] rename and move arch_arm_uprobe()
rename:
arch_arm_uprobe() --> arm_uprobe()
move:
from src/modules/kprobe/arch/dbi_kprobes.c
to src/modules/uprobe/swap_uprobes.c
Vyacheslav Cherkashin [Wed, 27 Mar 2013 09:58:51 +0000 (13:58 +0400)]
[REFACTOR] move dbi_arch_uprobe_return()
from src/modules/kprobe/arch/asm-arm/*
to src/modules/uprobe/arch/asm-arm/*
Kudrjavtsev Nickita [Tue, 26 Mar 2013 14:22:59 +0000 (18:22 +0400)]
[STYLE] delete comments from driver
Vyacheslav Cherkashin [Tue, 26 Mar 2013 09:20:50 +0000 (13:20 +0400)]
[REFACTOR] move arch dependent part
Vyacheslav Cherkashin [Mon, 25 Mar 2013 07:43:55 +0000 (11:43 +0400)]
[FIX] work uretprobe without ujprobe
Vyacheslav Cherkashin [Mon, 25 Mar 2013 07:21:21 +0000 (11:21 +0400)]
[FIX] remove BUG() message when called exception
Dmitry Kovalenko [Mon, 25 Mar 2013 05:54:20 +0000 (09:54 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Kudrjavtsev Nickita [Fri, 22 Mar 2013 15:33:16 +0000 (19:33 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Kudrjavtsev Nickita [Fri, 22 Mar 2013 15:31:56 +0000 (19:31 +0400)]
[FIX]fixing problem of failed second running on redwood_slp
Anastasia Lyupa [Fri, 22 Mar 2013 10:50:39 +0000 (14:50 +0400)]
[FIX] Flag VM_EXECUTABLE is not used in linux kernel since 3.7. I replace it by condition current->mm->exe_file == vma->vm_file in send_plt().
Dmitry Kovalenko [Fri, 22 Mar 2013 06:57:03 +0000 (10:57 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Dmitry Kovalenko [Fri, 22 Mar 2013 06:56:57 +0000 (10:56 +0400)]
[FEATURE] Put event at trace when insn can't be instrumented
Anastasia Lyupa [Thu, 21 Mar 2013 15:42:10 +0000 (19:42 +0400)]
[FIX] zero_pfn() redefinition if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0).
Vyacheslav Cherkashin [Thu, 21 Mar 2013 11:59:28 +0000 (15:59 +0400)]
[REFACTOR] redesign arch_prepare_uretprobe_hl()
Vyacheslav Cherkashin [Thu, 21 Mar 2013 11:37:12 +0000 (15:37 +0400)]
[REFACTOR] remove current_kprobe from swap_uprobe module
Vyacheslav Cherkashin [Tue, 19 Mar 2013 17:58:20 +0000 (21:58 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
and 'Set flag of current mode' in:
src/modules/uprobe/arch/asm-arm/swap_uprobes.c
Vyacheslav Cherkashin [Tue, 19 Mar 2013 17:32:04 +0000 (21:32 +0400)]
[REFACTOR] create trampoline_uprobe_handler()
Dmitry Kovalenko [Tue, 19 Mar 2013 15:59:23 +0000 (19:59 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Dmitry Kovalenko [Tue, 19 Mar 2013 15:49:27 +0000 (19:49 +0400)]
[FIX] Correct deletion retprobes in thumb mode
New retprobe deletion method introduced by
f8fa40b9 doesn't handle thumb
Dmitry Kovalenko [Tue, 19 Mar 2013 13:50:54 +0000 (17:50 +0400)]
[FIX] Add filter duplicated probes insertion
Vasiliy Ulyanov [Tue, 19 Mar 2013 09:09:32 +0000 (13:09 +0400)]
[FIX] SWAP buffer memory copy optimization
while loop replaced with memcpy
Kudrjavtsev Nickita [Mon, 18 Mar 2013 15:29:02 +0000 (19:29 +0400)]
[FIX] fixing problem from Barinov when __switch_to was't collected
Vyacheslav Cherkashin [Mon, 18 Mar 2013 09:13:20 +0000 (13:13 +0400)]
[REFACTOR] create pre_handler_uretprobe()
Vyacheslav Cherkashin [Mon, 18 Mar 2013 08:01:19 +0000 (12:01 +0400)]
[REFACTOR] create uprobe_table[]
Vyacheslav Cherkashin [Mon, 18 Mar 2013 04:59:22 +0000 (08:59 +0400)]
[REFACTOR] rename (un)register_uprobe()
__register_uprobe() --> dbi_register_uprobe()
unregister_uprobe() --> dbi_unregister_uprobe()
Vyacheslav Cherkashin [Fri, 15 Mar 2013 13:59:14 +0000 (17:59 +0400)]
[REFACTOR] create longjmp_break_uhandler()
Vyacheslav Cherkashin [Fri, 15 Mar 2013 12:59:16 +0000 (16:59 +0400)]
[REFACTOR] kprobe_handler()
Vyacheslav Cherkashin [Wed, 13 Mar 2013 08:21:30 +0000 (12:21 +0400)]
[REFACTOR] decompose setjmp_pre_handler()
on setjmp_pre_handler() and setjmp_upre_handler()
Vyacheslav Cherkashin [Tue, 12 Mar 2013 16:52:17 +0000 (20:52 +0400)]
[REFACTOR] remove not the caller code
Vyacheslav Cherkashin [Tue, 12 Mar 2013 15:20:04 +0000 (19:20 +0400)]
[REFACTOR] move uprobe_insn_slot_table[]
from src/modules/kprobe/dbi_insn_slots.c
to src/modules/uprobe/swap_uprobes.c
Vyacheslav Cherkashin [Tue, 12 Mar 2013 12:29:11 +0000 (16:29 +0400)]
[REFACTOR] create uprobe_handler()
move code from kprobe_handler() to uprobe_handler()