Vyacheslav Cherkashin [Tue, 4 Jun 2013 14:16:40 +0000 (18:16 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/driver/us_proc_inst.c
Vyacheslav Cherkashin [Tue, 4 Jun 2013 13:40:35 +0000 (17:40 +0400)]
Merge branch 'kernel' of 106.109.8.71:/srv/git/dbi into kernel
Vyacheslav Cherkashin [Tue, 4 Jun 2013 13:33:50 +0000 (17:33 +0400)]
[REFACTOR] move US management code
form swap_driver to us_manager
Alexander Aksenov [Tue, 4 Jun 2013 10:33:05 +0000 (14:33 +0400)]
Merge branch 'kernel' of 106.109.8.71:/srv/git/dbi into kernel
Alexander Aksenov [Tue, 4 Jun 2013 10:32:03 +0000 (14:32 +0400)]
[REFACTOR] Report refactor
Dmitry Kovalenko [Tue, 4 Jun 2013 07:13:01 +0000 (11:13 +0400)]
[FIX] Fix b6f7698 not correct kthread determination
Dmitry Kovalenko [Mon, 3 Jun 2013 13:25:25 +0000 (17:25 +0400)]
[FIX] kernel thread determination
Vyacheslav Cherkashin [Mon, 3 Jun 2013 09:24:52 +0000 (13:24 +0400)]
[REFACTOR] create usm_/un/register_probe()
Vyacheslav Cherkashin [Mon, 3 Jun 2013 07:36:23 +0000 (11:36 +0400)]
[REFACTOR] move /un/register_usprobe()
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt.h
Vyacheslav Cherkashin [Mon, 3 Jun 2013 07:04:29 +0000 (11:04 +0400)]
[CLEAN] remove install_otg_ip()
Vyacheslav Cherkashin [Fri, 31 May 2013 11:06:58 +0000 (15:06 +0400)]
[FIX] remove BUG message
is occurs at the beginning and end of US instrumentation
Vyacheslav Cherkashin [Wed, 29 May 2013 12:29:22 +0000 (16:29 +0400)]
[FIX] remove memory leak in ksm_register_probe()
Vyacheslav Cherkashin [Wed, 29 May 2013 12:23:47 +0000 (16:23 +0400)]
[COPYRIGHT] for ks_manager
files:
src/modules/ks_manager/ks_manager.c
src/modules/ks_manager/ks_manager.h
Vyacheslav Cherkashin [Wed, 29 May 2013 11:06:08 +0000 (15:06 +0400)]
[REFACTOR] move declaration sched_addr
Vyacheslav Cherkashin [Wed, 29 May 2013 10:57:15 +0000 (14:57 +0400)]
[REFACTOR] remove variable fork_addr
Vyacheslav Cherkashin [Wed, 29 May 2013 10:50:55 +0000 (14:50 +0400)]
Merge branch 'kernel' of 106.109.8.71:/srv/git/dbi into kernel
Vyacheslav Cherkashin [Wed, 29 May 2013 09:56:10 +0000 (13:56 +0400)]
[REFACTOR] move declaration *exit*_addr
variables:
exit_addr
do_group_exit_addr
sys_exit_group_addr
sys_exit_addr
Vyacheslav Cherkashin [Wed, 29 May 2013 09:40:43 +0000 (13:40 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/kprobe/arch/dbi_kprobes.c
Vyacheslav Cherkashin [Wed, 29 May 2013 09:14:16 +0000 (13:14 +0400)]
[FIX] exports duplicate symbol do_mmap_pgoff
fix commit
43e66f99cdf66
Vyacheslav Cherkashin [Wed, 29 May 2013 08:53:23 +0000 (12:53 +0400)]
[REFACTOR] create API for ks_manager module
ks_manager now performs tasks probes_manager
Vyacheslav Cherkashin [Wed, 29 May 2013 07:41:37 +0000 (11:41 +0400)]
[CLEAN] remove install_kern_otg_probe()
Alexander Aksenov [Tue, 28 May 2013 14:46:36 +0000 (18:46 +0400)]
[FEATURE] SWAP Buffer implemented
Vyacheslav Cherkashin [Mon, 27 May 2013 05:40:15 +0000 (09:40 +0400)]
[FEATURE] add instrumentation US for x86
Vyacheslav Cherkashin [Fri, 24 May 2013 16:05:01 +0000 (20:05 +0400)]
[REFACTOR] rename *pach* --> *path*
Vyacheslav Cherkashin [Fri, 24 May 2013 15:45:32 +0000 (19:45 +0400)]
[REFACTOR] rename dbi_arch_uprobe_return()
dbi_arch_uprobe_return() --> arch_ujprobe_return()
Vyacheslav Cherkashin [Fri, 24 May 2013 15:35:25 +0000 (19:35 +0400)]
[REFACTOR] rename dbi_uprobe_return()
dbi_uprobe_return() --> swap_ujprobe_return()
Vyacheslav Cherkashin [Fri, 24 May 2013 07:56:06 +0000 (11:56 +0400)]
[FEATURE] add instrumentation KS for x86
Vyacheslav Cherkashin [Thu, 23 May 2013 09:33:39 +0000 (13:33 +0400)]
[FIX] Unknown symbol do_mmap_pgoff
for kernel version >= 3.4.0
Vyacheslav Cherkashin [Wed, 22 May 2013 12:04:15 +0000 (16:04 +0400)]
[REFACTOR] move trampoline_probe_handler()
from src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
to src/modules/kprobe/dbi_kprobes.c
Dmitry Kovalenko [Wed, 22 May 2013 10:05:32 +0000 (14:05 +0400)]
[FIX] not set retprobe for sys_exit
Related to
f8fa40b9f377164f117eeec47832b5b3351b4ec5, where retprobe for
do_exit is not set.
These function do not return by design
Vyacheslav Cherkashin [Tue, 21 May 2013 09:34:31 +0000 (13:34 +0400)]
[REFACTOR] move default handlers for KS
from src/modules/driver/probes_manager.c
to src/modules/driver/ks_def_handler.c
Vyacheslav Cherkashin [Mon, 20 May 2013 17:08:48 +0000 (21:08 +0400)]
[REFACTOR] move default handlers for US
from src/modules/driver/us_proc_inst.c
to src/modules/driver/us_def_handler.c
Vyacheslav Cherkashin [Mon, 20 May 2013 12:50:00 +0000 (16:50 +0400)]
[REFACTOR] move and rename uninstall_us_proc_probes()
rename:
uninstall_us_proc_probes() --> sspt_proc_uninstall()
move:
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_proc.c
Vyacheslav Cherkashin [Mon, 20 May 2013 11:46:43 +0000 (15:46 +0400)]
[REFACTOR] move and rename unregister_us_file_probes()
rename:
unregister_us_file_probes() --> sspt_file_uninstall()
move:
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_file.c
Vyacheslav Cherkashin [Mon, 20 May 2013 09:48:46 +0000 (13:48 +0400)]
[REFACTOR] move calling create_sm_us()
Vyacheslav Cherkashin [Mon, 20 May 2013 09:09:44 +0000 (13:09 +0400)]
[CLEAN] remove find_task_by_path()
Vyacheslav Cherkashin [Thu, 16 May 2013 09:56:04 +0000 (13:56 +0400)]
[FEATURE] add instrumentation child threads
Anastasia Lyupa [Thu, 16 May 2013 16:41:17 +0000 (20:41 +0400)]
[FIX] src/modules/driver/Makefile.am
Add mkdir -p $(prefix)/bin to src/modules/driver/Makefile.am
When install only modules, install/target/bin/ wasn't created.
Vyacheslav Cherkashin [Wed, 15 May 2013 14:25:55 +0000 (18:25 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/driver/Kbuild
src/modules/driver/filters/filter_by_pach.h
src/modules/driver/java_inst.c
src/modules/driver/sspt/sspt.h
src/modules/driver/sspt/sspt_proc.c
src/modules/driver/sspt/sspt_proc.h
src/modules/driver/us_proc_inst.c
Vyacheslav Cherkashin [Wed, 15 May 2013 13:52:05 +0000 (17:52 +0400)]
[REFACTOR] rename sspt_procs* --> sspt_proc*
Vyacheslav Cherkashin [Wed, 15 May 2013 13:28:30 +0000 (17:28 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/driver/sspt/sspt_procs.c
Vyacheslav Cherkashin [Wed, 15 May 2013 13:15:21 +0000 (17:15 +0400)]
[FIX] probes set, when process is not running
Vyacheslav Cherkashin [Wed, 15 May 2013 12:46:44 +0000 (16:46 +0400)]
[FEATURE] add filter_by_pach
Vyacheslav Cherkashin [Tue, 14 May 2013 13:11:15 +0000 (17:11 +0400)]
[REFACTOR] remove app and libonly mode (in driver)
filtration tasks, using check_task()
Vyacheslav Cherkashin [Tue, 14 May 2013 12:39:10 +0000 (16:39 +0400)]
[FEATURE] add API for task filter
Dmitry Kovalenko [Tue, 14 May 2013 15:55:02 +0000 (19:55 +0400)]
[FIX] Add string saving exception handling (in PackArguments)
Andreev S.V [Tue, 14 May 2013 10:20:32 +0000 (14:20 +0400)]
[FIX] Fixed libonly wrong work - Ticket #519
Vyacheslav Cherkashin [Mon, 13 May 2013 09:50:06 +0000 (13:50 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
src/modules/kprobe/arch/asm-arm/dbi_kprobes_thumb.h
Vyacheslav Cherkashin [Wed, 8 May 2013 17:17:05 +0000 (21:17 +0400)]
[COPYRIGHT] remove commit
29e0e20a8e8
Vyacheslav Cherkashin [Wed, 8 May 2013 15:47:00 +0000 (19:47 +0400)]
Merge commit '
c3b2c00db03530f8b928b959e085d5b9f6ce3264' into kernel
Conflicts:
src/modules/kprobe/dbi_uprobes.c
Vyacheslav Cherkashin [Wed, 8 May 2013 13:34:55 +0000 (17:34 +0400)]
[REFACTOR] move and redesign install_proc_probes()
refactoring:
install_proc_probes() --> sspt_procs_install()
move: from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_procs.c
install_page_probes() --> sspt_procs_install_page()
move: from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_procs.c
mm_read_lock() and mm_read_unlock()
move: from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_procs.c
set_mapping_file() --> sspt_file_set_mapping()
move: from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_file.c
Vyacheslav Cherkashin [Tue, 7 May 2013 13:35:05 +0000 (17:35 +0400)]
[REFACTOR] move and rename install_file_probes()
move:
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_file.c
rename:
install_file_probes() --> sspt_file_install()
Vyacheslav Cherkashin [Tue, 7 May 2013 13:26:22 +0000 (17:26 +0400)]
[REFACTOR] new interface at install_file_probes()
-void install_file_probes(struct task_struct *task, struct mm_struct *mm,
struct sspt_file *file)
+void install_file_probes(struct sspt_file *file)
Vyacheslav Cherkashin [Tue, 7 May 2013 13:20:28 +0000 (17:20 +0400)]
[REFACTOR] new interface at sspt_register_page()
-int sspt_register_page(struct sspt_page *page, struct sspt_file *file,
struct task_struct *task)
+int sspt_register_page(struct sspt_page *page, struct sspt_file *file)
Vyacheslav Cherkashin [Tue, 7 May 2013 13:13:40 +0000 (17:13 +0400)]
[REFACTOR] new interface at sspt_register_usprobe()
-int sspt_register_usprobe(struct task_struct *task, struct us_ip *ip)
+int sspt_register_usprobe(struct us_ip *ip)
Vyacheslav Cherkashin [Tue, 7 May 2013 12:49:31 +0000 (16:49 +0400)]
[REFACTOR] move and rename check_install_pages_in_file()
move:
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_file.c
rename:
check_install_pages_in_file() --> sspt_file_check_install_pages()
Vyacheslav Cherkashin [Tue, 7 May 2013 11:21:32 +0000 (15:21 +0400)]
[REFACTOR] rename find_proc_by_task()
find_proc_by_task() --> check_dentry()
Dmitry Kovalenko [Tue, 7 May 2013 09:19:43 +0000 (13:19 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Dmitry Kovalenko [Tue, 7 May 2013 09:14:17 +0000 (13:14 +0400)]
[FEATURE] Add Thumb branches instrumentation
FYI Functions with bl or blx as first instructions do not have
explicit returns. Swap will not collect returns from this kind of functions.
Vyacheslav Cherkashin [Tue, 7 May 2013 09:00:31 +0000 (13:00 +0400)]
[REFACTOR] redesign /un/register_usprobe()
-int register_usprobe(struct task_struct *task, struct us_ip *ip);
+int register_usprobe(struct us_ip *ip);
-int unregister_usprobe(struct task_struct *task, struct us_ip *ip);
+int unregister_usprobe(struct us_ip *ip);
Vyacheslav Cherkashin [Tue, 7 May 2013 08:43:18 +0000 (12:43 +0400)]
[REFACTOR] create field 'task' in 'srtuct sspt_procs'
Vyacheslav Cherkashin [Tue, 7 May 2013 06:51:48 +0000 (10:51 +0400)]
[REFACTOR] move and rename /un/register_us_page_probe()
move:
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_page.c
rename:
register_us_page_probe() --> sspt_register_page()
unregister_us_page_probe() --> sspt_unregister_page()
Vyacheslav Cherkashin [Mon, 6 May 2013 11:57:05 +0000 (15:57 +0400)]
[REFACTOR] apps and libonly in one list
Vyacheslav Cherkashin [Mon, 6 May 2013 11:14:31 +0000 (15:14 +0400)]
[REFACTOR] remove argument 'atomic'
from:
install_proc_probes()
install_page_probes()
Vyacheslav Cherkashin [Mon, 6 May 2013 11:00:55 +0000 (15:00 +0400)]
[REFACTOR] rename /un/register_usprobe_my()
/un/register_usprobe_my() --> sspt_/un/register_usprobe()
Vyacheslav Cherkashin [Mon, 6 May 2013 10:49:22 +0000 (14:49 +0400)]
[REFACTOR] remove argument 'atomic' in US API
Vyacheslav Cherkashin [Mon, 6 May 2013 10:27:43 +0000 (14:27 +0400)]
[REFACTOR] move and rename get_proc_probes_by_task*()
get_proc_probes_by_task() --> sspt_procs_get_by_task()
get_proc_probes_by_task_or_new() --> sspt_procs_get_by_task_or_new()
move:
from src/modules/driver/us_proc_inst.c
to src/modules/driver/sspt/sspt_procs.c
Vyacheslav Cherkashin [Mon, 6 May 2013 09:25:48 +0000 (13:25 +0400)]
[REFACTOR] create helper and us_slot_manager
Vyacheslav Cherkashin [Mon, 6 May 2013 07:00:26 +0000 (11:00 +0400)]
[REFACTOR] create empty swap_us_manager module
Vyacheslav Cherkashin [Mon, 6 May 2013 06:25:20 +0000 (10:25 +0400)]
[REFACTOR] remove overhead calculation
for do_page_fault()
Vyacheslav Cherkashin [Mon, 6 May 2013 04:30:30 +0000 (08:30 +0400)]
[REFACTOR] remove copy_process_ret_pre_code()
move functional from copy_process_ret_pre_code() to ret_handler_cp()
Kudrjavtsev Nickita [Tue, 30 Apr 2013 16:35:25 +0000 (20:35 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Anastasia Lyupa [Tue, 30 Apr 2013 14:34:24 +0000 (18:34 +0400)]
[FIX] x86: failed to read stack in dbi_disarm_urp_inst
dbi_disarm_urp_inst:
- kprobe_opcode_t -> unsigned long for all address variables involved;
asm-x86: __arch_prepare_kretprobe:
- ri->sp = ®s->EREG(sp); -> ri->sp = regs->EREG(sp);
It let read stack and found trampoline in dbi_disarm_urp_inst.
There are still problems with _start and uClibc probes both on
arm and x86.
Vyacheslav Cherkashin [Tue, 30 Apr 2013 12:29:04 +0000 (16:29 +0400)]
Merge branch 'dev' into kernel
Conflicts:
src/modules/driver/us_proc_inst.c
Vyacheslav Cherkashin [Tue, 30 Apr 2013 11:01:57 +0000 (15:01 +0400)]
Merge commit '
47da1aa59eb36b55cda9138bec39942a14f051c4' into kernel
Conflicts:
src/modules/kprobe/arch/dbi_kprobes.c
src/modules/kprobe/dbi_kprobes.h
Vyacheslav Cherkashin [Tue, 30 Apr 2013 10:54:11 +0000 (14:54 +0400)]
Merge commit '
e27784e31bd662313ac83c1632a70b51e5d86563' into kernel
Conflicts:
src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
src/modules/kprobe/arch/asm-arm/dbi_kprobes.h
src/modules/kprobe/arch/dbi_kprobes.h
Vyacheslav Cherkashin [Tue, 30 Apr 2013 07:31:06 +0000 (11:31 +0400)]
[FIX] simultaneous working do_page_fault() and US instrumentation
Vyacheslav Cherkashin [Mon, 29 Apr 2013 17:19:43 +0000 (21:19 +0400)]
[REFACTOR] redesign add_probe();
Vyacheslav Cherkashin [Mon, 29 Apr 2013 15:50:26 +0000 (19:50 +0400)]
[REFACTOR] replace unmap_jprobe on unmap_kprobe
and redesign jdo_munmap() --> unmap_pre_handler()
Vyacheslav Cherkashin [Mon, 29 Apr 2013 15:20:03 +0000 (19:20 +0400)]
[REFACTOR] replace jmm_release on mr_kprobe
and redesign jmm_release() --> mr_pre_handler()
Vyacheslav Cherkashin [Thu, 25 Apr 2013 11:57:23 +0000 (15:57 +0400)]
[REFACTOR] remove remove_probe_from_list()
it is not used
Vyacheslav Cherkashin [Thu, 25 Apr 2013 11:55:34 +0000 (15:55 +0400)]
[REFACTOR] redesign install_kern_otg_probe()
Vyacheslav Cherkashin [Thu, 25 Apr 2013 09:16:13 +0000 (13:16 +0400)]
[FIX] move called unregister_helper_ks_probes()
fix commit
f5182378f9f321dea54a70418071f0d340beffba
Vyacheslav Cherkashin [Wed, 24 Apr 2013 15:51:33 +0000 (19:51 +0400)]
[REFACTOR] move probes_manager_/init/down()
from src/modules/driver/probes_manager.c
to src/modules/driver/module.c
Vyacheslav Cherkashin [Wed, 24 Apr 2013 15:01:08 +0000 (19:01 +0400)]
[REFACTOR] remve 'spinlock_t ec_probe_spinlock'
it is not used
Kudrjavtsev Nickita [Wed, 24 Apr 2013 11:44:27 +0000 (15:44 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Anastasia Lyupa [Tue, 23 Apr 2013 13:42:14 +0000 (17:42 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Anastasia Lyupa [Tue, 23 Apr 2013 13:33:04 +0000 (17:33 +0400)]
[FIX] us probes: port SWAP to x86, kernel 3.8.2
Apply follow_page_mask and new get_user_pages_uprobe only for
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0) rather than
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0).
On x86 it doesn't work with KERNEL_VERSION(3, 8, 2).
Test on test/resources/src/pthread/pthread.c
Anastasia Lyupa [Tue, 23 Apr 2013 13:26:37 +0000 (17:26 +0400)]
[FIX] Correct addr in do_page_fault_j_pre_code
do_page_fault:
x86 -> do_page_fault(struct pt_regs *regs, unsigned long error_code)
unsigned long address = read_cr2();
arm -> do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
Vyacheslav Cherkashin [Tue, 23 Apr 2013 12:12:52 +0000 (16:12 +0400)]
[REFACTOR] create empty swap_ks_manager module
Vyacheslav Cherkashin [Tue, 23 Apr 2013 09:07:28 +0000 (13:07 +0400)]
[REFACTOR] remove remove_probe()
it is not used
Vyacheslav Cherkashin [Mon, 22 Apr 2013 17:28:40 +0000 (21:28 +0400)]
[REFACTOR] redesign add_probe_to_list() and add_probe()
Vyacheslav Cherkashin [Mon, 22 Apr 2013 16:56:53 +0000 (20:56 +0400)]
[REFACTOR] create and using create/free/_kern_probe()
Vyacheslav Cherkashin [Mon, 22 Apr 2013 16:42:07 +0000 (20:42 +0400)]
[REFACTOR] move definition 'struct hlist_head kernel_probes'
from src/modules/driver/storage.c
to src/modules/driver/probes_manager.c
Vyacheslav Cherkashin [Mon, 22 Apr 2013 16:28:28 +0000 (20:28 +0400)]
[REFACTOR] redesign and move find_probe()
move:
from src/modules/driver/storage.c
to src/modules/driver/probes_manager.c
Vyacheslav Cherkashin [Mon, 22 Apr 2013 16:19:37 +0000 (20:19 +0400)]
[REFACTOR] redesign and move remove_probe_from_list()
from src/modules/driver/storage.c
to src/modules/driver/probes_manager.c
Nikita Kalyazin [Tue, 23 Apr 2013 08:32:27 +0000 (12:32 +0400)]
[FIX] not set retprobes for sys_exit_group and do_group_exit
Related to
f8fa40b9f377164f117eeec47832b5b3351b4ec5, where retprobe for
do_exit is not set.
These functions do not return by design (contain NOTREACHED comment),
so we do not need to set retprobes for them.
Nikita Kalyazin [Tue, 23 Apr 2013 06:58:05 +0000 (10:58 +0400)]
[FIX] x86: pending retprobes unregistering
This is the fix to
f8fa40b9f377164f117eeec47832b5b3351b4ec5 for x86.
What's been done here:
- kprobe_opcode_t -> unsigned long for all address variables involved;
- sp is set to ®s->sp, not regs->sp (which is upmost value on
stack).
Tested on:
- i386 Qemu, Buildroot rootfs, Linux kernel 3.8.2;
- ARM Qemu, Buildroot rootfs, Linux kernel 3.8.2;
- U1HD, GT-I8800_c210v30_cluster_20121002_1.
Vyacheslav Cherkashin [Mon, 22 Apr 2013 16:13:18 +0000 (20:13 +0400)]
[REFACTOR] move add_probe_to_list()
from src/modules/driver/storage.c
to src/modules/driver/probes_manager.c
Vyacheslav Cherkashin [Mon, 22 Apr 2013 11:05:20 +0000 (15:05 +0400)]
[REFACTOR] redesign and rename detach_selected_probes()
detach_selected_probes() --> unset_kernel_probes()