kernel/swap-modules.git
11 years ago[FIX] Unknown symbol do_mmap_pgoff
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

11 years ago[REFACTOR] move trampoline_probe_handler()
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

11 years ago[REFACTOR] move default handlers for KS
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

11 years ago[REFACTOR] move default handlers for US
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

11 years ago[REFACTOR] move and rename uninstall_us_proc_probes()
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

11 years ago[REFACTOR] move and rename unregister_us_file_probes()
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

11 years ago[REFACTOR] move calling create_sm_us()
Vyacheslav Cherkashin [Mon, 20 May 2013 09:48:46 +0000 (13:48 +0400)]
[REFACTOR] move calling create_sm_us()

11 years ago[CLEAN] remove find_task_by_path()
Vyacheslav Cherkashin [Mon, 20 May 2013 09:09:44 +0000 (13:09 +0400)]
[CLEAN] remove find_task_by_path()

11 years ago[FEATURE] add instrumentation child threads
Vyacheslav Cherkashin [Thu, 16 May 2013 09:56:04 +0000 (13:56 +0400)]
[FEATURE] add instrumentation child threads

11 years agoMerge branch 'dev' into kernel
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

11 years ago[REFACTOR] rename sspt_procs* --> sspt_proc*
Vyacheslav Cherkashin [Wed, 15 May 2013 13:52:05 +0000 (17:52 +0400)]
[REFACTOR] rename sspt_procs* --> sspt_proc*

11 years agoMerge branch 'dev' into kernel
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

11 years ago[FIX] probes set, when process is not running
Vyacheslav Cherkashin [Wed, 15 May 2013 13:15:21 +0000 (17:15 +0400)]
[FIX] probes set, when process is not running

11 years ago[FEATURE] add filter_by_pach
Vyacheslav Cherkashin [Wed, 15 May 2013 12:46:44 +0000 (16:46 +0400)]
[FEATURE] add filter_by_pach

11 years ago[REFACTOR] remove app and libonly mode (in driver)
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()

11 years ago[FEATURE] add API for task filter
Vyacheslav Cherkashin [Tue, 14 May 2013 12:39:10 +0000 (16:39 +0400)]
[FEATURE] add API for task filter

11 years ago[FIX] Add string saving exception handling (in PackArguments)
Dmitry Kovalenko [Tue, 14 May 2013 15:55:02 +0000 (19:55 +0400)]
[FIX] Add string saving exception handling (in PackArguments)

11 years ago[FIX] Fixed libonly wrong work - Ticket #519
Andreev S.V [Tue, 14 May 2013 10:20:32 +0000 (14:20 +0400)]
[FIX] Fixed libonly wrong work - Ticket #519

11 years agoMerge branch 'dev' into kernel
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

11 years ago[COPYRIGHT] remove commit 29e0e20a8e8
Vyacheslav Cherkashin [Wed, 8 May 2013 17:17:05 +0000 (21:17 +0400)]
[COPYRIGHT] remove commit 29e0e20a8e8

11 years agoMerge commit 'c3b2c00db03530f8b928b959e085d5b9f6ce3264' into kernel
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

11 years ago[REFACTOR] move and redesign install_proc_probes()
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

11 years ago[REFACTOR] move and rename install_file_probes()
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()

11 years ago[REFACTOR] new interface at install_file_probes()
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)

11 years ago[REFACTOR] new interface at sspt_register_page()
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)

11 years ago[REFACTOR] new interface at sspt_register_usprobe()
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)

11 years ago[REFACTOR] move and rename check_install_pages_in_file()
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()

11 years ago[REFACTOR] rename find_proc_by_task()
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()

11 years agoMerge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
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

11 years ago[FEATURE] Add Thumb branches instrumentation
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.

11 years ago[REFACTOR] redesign /un/register_usprobe()
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);

11 years ago[REFACTOR] create field 'task' in 'srtuct sspt_procs'
Vyacheslav Cherkashin [Tue, 7 May 2013 08:43:18 +0000 (12:43 +0400)]
[REFACTOR] create  field 'task' in 'srtuct sspt_procs'

11 years ago[REFACTOR] move and rename /un/register_us_page_probe()
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()

11 years ago[REFACTOR] apps and libonly in one list
Vyacheslav Cherkashin [Mon, 6 May 2013 11:57:05 +0000 (15:57 +0400)]
[REFACTOR] apps and libonly in one list

11 years ago[REFACTOR] remove argument 'atomic'
Vyacheslav Cherkashin [Mon, 6 May 2013 11:14:31 +0000 (15:14 +0400)]
[REFACTOR] remove argument 'atomic'

from:
install_proc_probes()
install_page_probes()

11 years ago[REFACTOR] rename /un/register_usprobe_my()
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()

11 years ago[REFACTOR] remove argument 'atomic' in US API
Vyacheslav Cherkashin [Mon, 6 May 2013 10:49:22 +0000 (14:49 +0400)]
[REFACTOR] remove argument 'atomic' in US API

11 years ago[REFACTOR] move and rename get_proc_probes_by_task*()
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

11 years ago[REFACTOR] create helper and us_slot_manager
Vyacheslav Cherkashin [Mon, 6 May 2013 09:25:48 +0000 (13:25 +0400)]
[REFACTOR] create helper and us_slot_manager

11 years ago[REFACTOR] create empty swap_us_manager module
Vyacheslav Cherkashin [Mon, 6 May 2013 07:00:26 +0000 (11:00 +0400)]
[REFACTOR] create empty swap_us_manager module

11 years ago[REFACTOR] remove overhead calculation
Vyacheslav Cherkashin [Mon, 6 May 2013 06:25:20 +0000 (10:25 +0400)]
[REFACTOR] remove overhead calculation

for do_page_fault()

11 years ago[REFACTOR] remove copy_process_ret_pre_code()
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()

11 years agoMerge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
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

11 years ago[FIX] x86: failed to read stack in dbi_disarm_urp_inst
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 = &regs->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.

11 years agoMerge branch 'dev' into kernel
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

11 years agoMerge commit '47da1aa59eb36b55cda9138bec39942a14f051c4' into kernel
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

11 years agoMerge commit 'e27784e31bd662313ac83c1632a70b51e5d86563' into kernel
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

11 years ago[FIX] simultaneous working do_page_fault() and US instrumentation
Vyacheslav Cherkashin [Tue, 30 Apr 2013 07:31:06 +0000 (11:31 +0400)]
[FIX] simultaneous working do_page_fault() and US instrumentation

11 years ago[REFACTOR] redesign add_probe();
Vyacheslav Cherkashin [Mon, 29 Apr 2013 17:19:43 +0000 (21:19 +0400)]
[REFACTOR] redesign add_probe();

11 years ago[REFACTOR] replace unmap_jprobe on unmap_kprobe
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()

11 years ago[REFACTOR] replace jmm_release on mr_kprobe
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()

11 years ago[REFACTOR] remove remove_probe_from_list()
Vyacheslav Cherkashin [Thu, 25 Apr 2013 11:57:23 +0000 (15:57 +0400)]
[REFACTOR] remove remove_probe_from_list()

it is not used

11 years ago[REFACTOR] redesign install_kern_otg_probe()
Vyacheslav Cherkashin [Thu, 25 Apr 2013 11:55:34 +0000 (15:55 +0400)]
[REFACTOR] redesign install_kern_otg_probe()

11 years ago[FIX] move called unregister_helper_ks_probes()
Vyacheslav Cherkashin [Thu, 25 Apr 2013 09:16:13 +0000 (13:16 +0400)]
[FIX] move called unregister_helper_ks_probes()

fix commit f5182378f9f321dea54a70418071f0d340beffba

11 years ago[REFACTOR] move probes_manager_/init/down()
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

11 years ago[REFACTOR] remve 'spinlock_t ec_probe_spinlock'
Vyacheslav Cherkashin [Wed, 24 Apr 2013 15:01:08 +0000 (19:01 +0400)]
[REFACTOR] remve 'spinlock_t ec_probe_spinlock'

it is not used

11 years agoMerge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
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

11 years agoMerge 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

11 years ago[FIX] us probes: port SWAP to x86, kernel 3.8.2
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

11 years ago[FIX] Correct addr in do_page_fault_j_pre_code
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)

11 years ago[REFACTOR] create empty swap_ks_manager module
Vyacheslav Cherkashin [Tue, 23 Apr 2013 12:12:52 +0000 (16:12 +0400)]
[REFACTOR] create empty swap_ks_manager module

11 years ago[REFACTOR] remove remove_probe()
Vyacheslav Cherkashin [Tue, 23 Apr 2013 09:07:28 +0000 (13:07 +0400)]
[REFACTOR] remove remove_probe()

it is not used

11 years ago[REFACTOR] redesign add_probe_to_list() and add_probe()
Vyacheslav Cherkashin [Mon, 22 Apr 2013 17:28:40 +0000 (21:28 +0400)]
[REFACTOR] redesign add_probe_to_list() and add_probe()

11 years ago[REFACTOR] create and using create/free/_kern_probe()
Vyacheslav Cherkashin [Mon, 22 Apr 2013 16:56:53 +0000 (20:56 +0400)]
[REFACTOR] create and using create/free/_kern_probe()

11 years ago[REFACTOR] move definition 'struct hlist_head kernel_probes'
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

11 years ago[REFACTOR] redesign and move find_probe()
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

11 years ago[REFACTOR] redesign and move remove_probe_from_list()
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

11 years ago[FIX] not set retprobes for sys_exit_group and do_group_exit
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.

11 years ago[FIX] x86: pending retprobes unregistering
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 &regs->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.

11 years ago[REFACTOR] move add_probe_to_list()
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

11 years ago[REFACTOR] redesign and rename detach_selected_probes()
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()

11 years ago[REFACTOR] redesign and rename attach_selected_probes()
Vyacheslav Cherkashin [Mon, 22 Apr 2013 10:53:17 +0000 (14:53 +0400)]
[REFACTOR] redesign and rename attach_selected_probes()

attach_selected_probes() --> set_kernel_probes()

11 years ago[REFACTOR] remove 'struct hlist_head otg_kernel_probes'
Vyacheslav Cherkashin [Mon, 22 Apr 2013 09:26:59 +0000 (13:26 +0400)]
[REFACTOR] remove 'struct hlist_head otg_kernel_probes'

it is not used

11 years ago[FIX] misspelling in e27784e31bd662313ac83c1632a70b51e5d86563
Nikita Kalyazin [Mon, 22 Apr 2013 08:08:58 +0000 (12:08 +0400)]
[FIX] misspelling in e27784e31bd662313ac83c1632a70b51e5d86563

11 years ago[FIX] __switch_to instrumentation on x86
Nikita Kalyazin [Fri, 19 Apr 2013 11:28:21 +0000 (15:28 +0400)]
[FIX] __switch_to instrumentation on x86

What's been done here:
 - patch next task: value on top of next's stack is patched;
 - for that we need for regs structure (containing sp register);
 - it requires changing API of the following functions:
   - patch_suspended_task(): added regs argument;
   - set_task_trampoline(): task -> patch address;
   - arch_get_patch_addr() added (takes task and regs and returns
 address to patch).

Known issues:
 - x86 __switch_to instrumentation won't work at multi-core systems
   (because there is no code, that removes retprobes on user stop;
   because there is no regs argument passed to
   dbi_unregister_kretprobe());
 - I've left both old arch_get_task_pc()/arch_set_task_pc() and new
   arch_get_patch_addr() APIs.  They do rougly same things.

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.

11 years agoMerge branch 'dev' into kernel
Vyacheslav Cherkashin [Fri, 12 Apr 2013 07:49:41 +0000 (11:49 +0400)]
Merge branch 'dev' into kernel

Conflicts:
src/modules/driver/probes_manager.c
src/modules/kprobe/arch/asm-arm/dbi_kprobes.c
src/modules/kprobe/dbi_insn_slots.c
src/modules/kprobe/dbi_kprobes.c
src/modules/kprobe/dbi_uprobes.c

11 years ago[REFACTOR] create /un/init_helper()
Vyacheslav Cherkashin [Thu, 11 Apr 2013 12:54:04 +0000 (16:54 +0400)]
[REFACTOR] create /un/init_helper()

11 years ago[REFACTOR] create /un/register_helper_ks_probes()
Vyacheslav Cherkashin [Thu, 11 Apr 2013 11:55:41 +0000 (15:55 +0400)]
[REFACTOR] create /un/register_helper_ks_probes()

11 years ago[REFACTOR] redesign /un/register_kernel_probe()
Vyacheslav Cherkashin [Thu, 11 Apr 2013 08:51:47 +0000 (12:51 +0400)]
[REFACTOR] redesign /un/register_kernel_probe()

11 years ago[REFACTOR] remove unused code
Vyacheslav Cherkashin [Thu, 11 Apr 2013 07:17:27 +0000 (11:17 +0400)]
[REFACTOR] remove unused code

global variables:
probes_flags,
us_proc_probes

functions:
install_kernel_probe(),
uninstall_kernel_probe()

11 years ago[REFACTOR] improve method of setting the auxiliary kprobe on do_page_fault()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 17:11:48 +0000 (21:11 +0400)]
[REFACTOR] improve method of setting the auxiliary kprobe on do_page_fault()

11 years ago[REFACTOR] remove installed probe on do_exit()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 16:05:48 +0000 (20:05 +0400)]
[REFACTOR] remove installed probe on do_exit()

11 years ago[REFACTOR] improve method of setting the auxiliary kprobe on do_munmap()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 15:39:28 +0000 (19:39 +0400)]
[REFACTOR] improve method of setting the auxiliary kprobe on do_munmap()

11 years ago[REFACTOR] improve method of setting the auxiliary kprobe on mm_release()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 15:08:19 +0000 (19:08 +0400)]
[REFACTOR] improve method of setting the auxiliary kprobe on mm_release()

11 years ago[REFACTOR] improve method of setting the auxiliary kprobe on copy_process()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 13:59:41 +0000 (17:59 +0400)]
[REFACTOR] improve method of setting the auxiliary kprobe on copy_process()

11 years ago[FIX] correct disarm for children task
Vyacheslav Cherkashin [Wed, 10 Apr 2013 13:02:19 +0000 (17:02 +0400)]
[FIX] correct disarm for children task

11 years ago[REFACTOR] remove don't used definition ARCH_REG_VAL
Vyacheslav Cherkashin [Wed, 10 Apr 2013 09:39:00 +0000 (13:39 +0400)]
[REFACTOR] remove don't used definition ARCH_REG_VAL

11 years ago[REFACTOR] redesign arch_prepare_kretprobe()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 09:15:34 +0000 (13:15 +0400)]
[REFACTOR] redesign arch_prepare_kretprobe()

-void arch_prepare_kretprobe(struct kretprobe *rp, struct pt_regs *regs)
+void arch_prepare_kretprobe(struct kretprobe_instance *ri, struct pt_regs *regs)

11 years ago[REFACTOR] rename arch_prepare_uretprobe_hl()
Vyacheslav Cherkashin [Wed, 10 Apr 2013 08:30:12 +0000 (12:30 +0400)]
[REFACTOR] rename arch_prepare_uretprobe_hl()

arch_prepare_uretprobe_hl() --> arch_prepare_uretprobe()

11 years ago[REFACTOR] remove field 'disarm' from 'srtuct kretprobe'
Vyacheslav Cherkashin [Tue, 9 Apr 2013 10:12:55 +0000 (14:12 +0400)]
[REFACTOR] remove field 'disarm' from 'srtuct kretprobe'

11 years ago[IMPROVE] add entry_handler() in kretprobe
Vyacheslav Cherkashin [Tue, 9 Apr 2013 10:10:45 +0000 (14:10 +0400)]
[IMPROVE] add entry_handler() in kretprobe

11 years ago[REFACTOR] remove not used functions
Vyacheslav Cherkashin [Tue, 9 Apr 2013 09:06:23 +0000 (13:06 +0400)]
[REFACTOR] remove not used functions

from:
src/modules/driver/us_proc_inst.h
src/modules/driver/us_proc_inst.c

11 years ago[CLEAN] remove java instrumentation
Vyacheslav Cherkashin [Tue, 9 Apr 2013 08:53:48 +0000 (12:53 +0400)]
[CLEAN] remove java instrumentation

11 years ago[CLEAN] remove ANDROID_APP
Vyacheslav Cherkashin [Tue, 9 Apr 2013 08:39:05 +0000 (12:39 +0400)]
[CLEAN] remove ANDROID_APP

11 years ago[CLEAN] remove SLP_APP
Vyacheslav Cherkashin [Tue, 9 Apr 2013 08:33:04 +0000 (12:33 +0400)]
[CLEAN] remove SLP_APP

11 years ago[FIX] Continue repairing in case of linux-kernel=2.6
Anastasia Lyupa [Tue, 9 Apr 2013 12:46:51 +0000 (16:46 +0400)]
[FIX] Continue repairing in case of linux-kernel=2.6

Replace follow_page_uprobe() by follow_page() in __get_user_pages_uprobe().

11 years ago[FIX] linux<=2.6 compiling failed
Anastasia Lyupa [Tue, 9 Apr 2013 12:31:21 +0000 (16:31 +0400)]
[FIX] linux<=2.6 compiling failed

Start reparing. Move follow_page_uprobe() under linux-version>=3.8.

11 years agoMerge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Anastasia Lyupa [Tue, 9 Apr 2013 11:40:46 +0000 (15:40 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev

Conflicts:
src/modules/driver/us_proc_inst.c

Resolve a conflict in install_file_probes()
with 832ea7b4775fe7d70de3fd9e97e0865a94db0fe7

11 years ago[IMPROVE] create slot_manager
Vyacheslav Cherkashin [Tue, 9 Apr 2013 07:48:02 +0000 (11:48 +0400)]
[IMPROVE] create slot_manager

11 years ago[FIX] Port SWAP to current Linux Kernel Mainline (3.9-rc5)
Anastasia Lyupa [Mon, 8 Apr 2013 15:56:47 +0000 (19:56 +0400)]
[FIX] Port SWAP to current Linux Kernel Mainline (3.9-rc5)

1. hlist_* API changed -> removed one argument;
2. file struct f_vfsmnt field removed -> replaced it with f_path.mnt;
3. do_mmap_pgoff() prototype changed -> added one argument;
4. __get_user_pages changed significantly -> stolen last version
   and put to __get_user_pages_uprobe;
5. follow_page() mechanism changed -> added follow_page_mask()