Vyacheslav Cherkashin [Tue, 11 Sep 2012 12:30:15 +0000 (16:30 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vyacheslav Cherkashin [Tue, 11 Sep 2012 12:26:02 +0000 (16:26 +0400)]
Ticket #426
created new allocator for slots
Vasiliy Ulyanov [Mon, 10 Sep 2012 05:11:51 +0000 (09:11 +0400)]
Vyacheslav Cherkashin [Fri, 7 Sep 2012 07:49:18 +0000 (11:49 +0400)]
add function copy_to_user_page
fix commit
ebdc6de11d57f4a9f946976d3c2ab88048377718
Vyacheslav Cherkashin [Thu, 6 Sep 2012 14:02:57 +0000 (18:02 +0400)]
add support kernel 3.4
refactoring support for kernel > 2.6.38
Yury Morozov [Wed, 5 Sep 2012 14:03:41 +0000 (18:03 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
zorro [Thu, 30 Aug 2012 14:54:00 +0000 (18:54 +0400)]
Added functions, beginning with MOVW instruction, instrumentation
zorro [Thu, 30 Aug 2012 14:50:41 +0000 (18:50 +0400)]
Added functions, beginning with MOVW, instrumentation
Vyacheslav Cherkashin [Wed, 29 Aug 2012 12:39:34 +0000 (16:39 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vyacheslav Cherkashin [Wed, 29 Aug 2012 10:37:30 +0000 (14:37 +0400)]
fix miss events (recursion handling disabled)
recursing?!
Vyacheslav Cherkashin [Tue, 28 Aug 2012 10:15:47 +0000 (14:15 +0400)]
fix function 'mm_release_probe_pre_code'
Vyacheslav Cherkashin [Tue, 28 Aug 2012 05:11:42 +0000 (09:11 +0400)]
fix function 'get_insn_slot'
Vyacheslav Cherkashin [Wed, 22 Aug 2012 08:52:54 +0000 (12:52 +0400)]
remove uprobes, when the task is removed (called jprobe on function 'mm_release')
Vyacheslav Cherkashin [Tue, 21 Aug 2012 12:32:07 +0000 (16:32 +0400)]
fix function void recover_child
Andreev S.V [Tue, 28 Aug 2012 16:57:41 +0000 (20:57 +0400)]
Added feature of instrumentation of dynamic loaded libraries functions (plugins).
Description (usage):
1. swap.ini file must contain pathes where dynamic loaded libraries (plugins) located
(for multiple pathes it must be separated by : (colon) sign)
This is needed for proper library parsing.
2. For each unique dynamic loaded library (plugin) swap.ini file must contain
full path to library and library name, like (e.g) this:
setv lib_dl_name "/usr/lib/libslp_devman_plugin.so" "libslp_devman_plugin.so"
This is needed for proper instrumentation work.
3. To set probe on function of dynamic loaded library (plugin) use usual syntax, e.g.:
setp lib x "OEM_sys_get_devman_plugin_interface" "libslp_devman_plugin.so"
NOTE: in code left ability (via setp lib_dl token) to define separate path for each probe -
this may be very useful when we have the same function and library names. This is
for future development.
Vyacheslav Cherkashin [Thu, 16 Aug 2012 14:56:17 +0000 (18:56 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vyacheslav Cherkashin [Thu, 16 Aug 2012 14:56:05 +0000 (18:56 +0400)]
Tickets: 151, 198, 200, 347. implemented unpatching tasks
Vitaliy Cherepanov [Thu, 16 Aug 2012 07:55:37 +0000 (11:55 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Conflicts:
src/modules/driver/us_proc_inst.c
Vitaliy Cherepanov [Thu, 16 Aug 2012 07:49:22 +0000 (11:49 +0400)]
merge
Vyacheslav Cherkashin [Wed, 15 Aug 2012 10:42:55 +0000 (14:42 +0400)]
uprobs: fixed check flags CLONE_VM in function copy_process_ret_pre_code(for 'fork')
Vyacheslav Cherkashin [Mon, 13 Aug 2012 07:52:00 +0000 (11:52 +0400)]
fix: error build function IS_ERR_OR_NULL no tegra_selp
Vyacheslav Cherkashin [Fri, 10 Aug 2012 12:54:38 +0000 (16:54 +0400)]
uprobs: fixed instrumentation 'fork'
Vyacheslav Cherkashin [Wed, 8 Aug 2012 12:27:04 +0000 (16:27 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vyacheslav Cherkashin [Wed, 8 Aug 2012 12:26:54 +0000 (16:26 +0400)]
mini refactoring kprobes
Andreev S.V [Mon, 6 Aug 2012 13:23:03 +0000 (17:23 +0400)]
Initial implementation of sampling approach (Ticket #393) - time-based approach implemented. In comments - dreams of event-based approach.
Vyacheslav Cherkashin [Tue, 31 Jul 2012 10:10:30 +0000 (14:10 +0400)]
kprobes: implementation instruction B(ARM) in uprobes
Dmitry Kovalenko [Mon, 30 Jul 2012 05:14:44 +0000 (09:14 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Dmitry Kovalenko [Mon, 30 Jul 2012 05:14:37 +0000 (09:14 +0400)]
Fixed handling of unsupported instruction instrumentation (#363)
Vasiliy Ulyanov [Fri, 27 Jul 2012 07:41:47 +0000 (11:41 +0400)]
Fixed 'EC_ARCH_*' defines for x86
Andreev S.V [Thu, 26 Jul 2012 12:59:12 +0000 (16:59 +0400)]
Returned magically disapeared line of code
Andreev S.V [Thu, 26 Jul 2012 11:47:43 +0000 (15:47 +0400)]
New multiple handler API implementation introduced
Yury Morozov [Thu, 26 Jul 2012 08:35:09 +0000 (12:35 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Yury Morozov [Thu, 26 Jul 2012 08:31:20 +0000 (12:31 +0400)]
Dlsym(dynamically loaded libraries) function handling was added.
insmod dlsymmed_handlers.ko to make all dyn lib funcs to be inserted to trace.
Vyacheslav Cherkashin [Mon, 23 Jul 2012 13:36:38 +0000 (17:36 +0400)]
#define regs_return_value: check ARCH
Vasiliy Ulyanov [Mon, 16 Jul 2012 06:05:22 +0000 (10:05 +0400)]
do_page_fault instrumentation workaround for x86 platform
Fedin Pavel [Thu, 12 Jul 2012 15:34:41 +0000 (19:34 +0400)]
Added major number release
Vasiliy Ulyanov [Thu, 12 Jul 2012 05:54:43 +0000 (09:54 +0400)]
MEC: fixed ret_addr obtaining (needs testing!!!)
Dmitry Kovalenko [Tue, 10 Jul 2012 06:58:55 +0000 (10:58 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Dmitry Kovalenko [Tue, 10 Jul 2012 06:58:51 +0000 (10:58 +0400)]
Fixed struct kprobe (arm/thumb_safe now under CONFIG_ARM define)
Dmitry Kovalenko [Tue, 10 Jul 2012 06:51:20 +0000 (10:51 +0400)]
Fixed ARM/THUMB instructions safe checking (#372)
Vasiliy Ulyanov [Mon, 9 Jul 2012 08:47:31 +0000 (12:47 +0400)]
1. POCOMON ported to x86 tizen emulator
2. Made several minor fixes
Nikita Kalyazin [Fri, 6 Jul 2012 12:46:07 +0000 (16:46 +0400)]
Revert "Fixed libonly instrumentation (#264)"
This reverts commit
f8292b787f894df3b47fc7ee80b486f7dd5dac53.
The trace is not collected from Browser application (App&Lib inst) if
the application is launched after start tracing.
Vasiliy Ulyanov [Fri, 6 Jul 2012 11:15:39 +0000 (15:15 +0400)]
Merge branch 'x86-testing' into dev
Vasiliy Ulyanov [Fri, 6 Jul 2012 09:32:53 +0000 (13:32 +0400)]
1. Fixed user-space instrumentation for x86
2. Added/fixed frame pointer backtracing suport for ARM and x86
3. Added 'mec_use_fp' parameter for MEC
Dmitry Kovalenko [Thu, 5 Jul 2012 11:55:57 +0000 (15:55 +0400)]
Fixed libonly instrumentation (#264)
Vasiliy Ulyanov [Wed, 4 Jul 2012 15:34:00 +0000 (19:34 +0400)]
Added ARM-related fixes
Vasiliy Ulyanov [Wed, 4 Jul 2012 06:11:03 +0000 (10:11 +0400)]
1. Added arch secific routines for obtaining values from registers
and stack
2. get_ret_addr() fix (needs testing on ARM)
3. MEC ported to x86 platform
4. POCOMON minor fixes
Nikita Kalyazin [Tue, 3 Jul 2012 16:12:21 +0000 (20:12 +0400)]
Fix of browser instrumentation problem (#363)
The fix is raw and needs for some cleanup.
- Added do_fork handler (separate from do_exit's one);
- Added arch_disarm_uprobe() call when deferred uprobe unregistering
(this matters when a process forks while another one is inside the
insrumented function).
TODO:
- Consider all the auxiliary handlers (do_exec, do_exit, do_fork);
- Consider deferred probes management (disarming).
Vasiliy Ulyanov [Fri, 29 Jun 2012 12:34:45 +0000 (16:34 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Fri, 29 Jun 2012 12:34:27 +0000 (16:34 +0400)]
Tizen x86 emulator fix (__switch_to/do_exit issue)
Dmitry Kovalenko [Fri, 29 Jun 2012 06:23:14 +0000 (10:23 +0400)]
Added processing of null pointers in PackArguments (String argument)
Vasiliy Ulyanov [Thu, 28 Jun 2012 10:29:35 +0000 (14:29 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Thu, 28 Jun 2012 10:29:24 +0000 (14:29 +0400)]
Initial version for x86 tizen emulator
Nikita Kalyazin [Wed, 27 Jun 2012 17:08:56 +0000 (21:08 +0400)]
Nikita Kalyazin [Wed, 27 Jun 2012 16:11:00 +0000 (20:11 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Fedin Pavel [Wed, 27 Jun 2012 16:10:51 +0000 (20:10 +0400)]
u_intXX_t -> uintXX_t
Andreev S.V [Wed, 27 Jun 2012 15:14:58 +0000 (19:14 +0400)]
Ticket #317 FIXED via implementation of thumb hook
Vasiliy Ulyanov [Fri, 22 Jun 2012 10:53:36 +0000 (14:53 +0400)]
MEC:
1. Fixed mec_add_object wrong behaviour (in case when the same
object already exists)
2. Added temporary workaround in get_ret_addr (the old version
causes kernel panics on new PQ Proxima firmware)
Vasiliy Ulyanov [Mon, 18 Jun 2012 10:03:54 +0000 (14:03 +0400)]
Undo wrong changes (us_proc_inst.c)
Fedin Pavel [Wed, 13 Jun 2012 06:46:45 +0000 (10:46 +0400)]
Use major device number from the device node file if it exists
Vasiliy Ulyanov [Wed, 6 Jun 2012 13:11:59 +0000 (17:11 +0400)]
POCOMON: working version for f1
Vasiliy Ulyanov [Wed, 6 Jun 2012 08:02:33 +0000 (12:02 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Wed, 6 Jun 2012 08:01:43 +0000 (12:01 +0400)]
MEC: fixed synchronization issues in probe handlers
Andreev S.V [Tue, 29 May 2012 13:49:31 +0000 (17:49 +0400)]
Added hash implementation for uprobes
Nikita Kalyazin [Fri, 25 May 2012 06:48:38 +0000 (10:48 +0400)]
Java instrumentation first approach implemented (#285)
This is the port of Java instrumentation method invented in Suwon (Feb,
2012).
Currently only certain GS2 ICS's libdvm.so version is supported (hard-coded
addresses of the libdvm library are instrumented and the data is taken
from hard-coded offsets).
Was not included in GUI, only in ICL language (setv java_inst
TRUE|FALSE).
Currently ALL the interpreted Java method calls are saved into trace (Filtering is another big task to implement).
RawEvents's output format is <class_name>:<method_name> with no
arguments (arguments extraction is yet another big task).
Nikita Kalyazin [Fri, 25 May 2012 06:44:45 +0000 (10:44 +0400)]
Deleted duplicated expressions
Andreev S.V [Tue, 22 May 2012 09:56:01 +0000 (13:56 +0400)]
FIXED deinitialization procedure. Dead code eliminated also.
Andreev S.V [Mon, 21 May 2012 11:24:43 +0000 (15:24 +0400)]
Added important comments
Andreev S.V [Mon, 21 May 2012 09:12:42 +0000 (13:12 +0400)]
Fixed Ticket #329 (redesign of kprobe functionality with goal of do_undefinstr() functionality implementation).
Vasiliy Ulyanov [Fri, 18 May 2012 08:15:47 +0000 (12:15 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Fri, 18 May 2012 07:27:51 +0000 (11:27 +0400)]
Merge branch 'pocomoncm' into dev
Conflicts:
configure.ac
src/tools/Makefile.am
Andreev S.V [Wed, 16 May 2012 11:08:46 +0000 (15:08 +0400)]
Unification
Yuri Kozyaev [Sat, 12 May 2012 05:29:46 +0000 (09:29 +0400)]
Ticket #245: If no probes are set and pack_event_info is used, no events will be saved into database.
Nikita Kalyazin [Thu, 10 May 2012 09:27:58 +0000 (13:27 +0400)]
Nikita Kalyazin [Sat, 5 May 2012 13:13:53 +0000 (17:13 +0400)]
Fixed copy trampoline related overhead problem (#299)
Trampolines are copied only during probes registering, not during each probes firing. Each probe now contains 2 pointers (to arm and thumb trampolines). Both are copied. Which of them to use is chosen during probe firing (kprobe_handler()).
The problem was introduced at
dc59136461aadcde9a2f260a51a319f07ae31db6
Nikita Kalyazin [Mon, 23 Apr 2012 06:40:44 +0000 (10:40 +0400)]
Kernel on-the-go probes feature implemented (#313)
Related to
76986670c32162d5d12c741a08bcec4fe935941a (#252).
Interface:
int install_kern_otg_probe(unsigned long addr,
unsigned long pre_handler,
unsigned long jp_handler,
unsigned long rp_handler);
Vasiliy Ulyanov [Tue, 17 Apr 2012 12:44:57 +0000 (16:44 +0400)]
Fixed ticket #306: Custom handlers without CONFIG_KALLSYMS_ALL
Vasiliy Ulyanov [Fri, 13 Apr 2012 09:48:18 +0000 (13:48 +0400)]
Fixed ticket #304: The possibility of dumping stack for kernel probes
Vasiliy Ulyanov [Tue, 10 Apr 2012 11:39:48 +0000 (15:39 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Tue, 10 Apr 2012 11:37:23 +0000 (15:37 +0400)]
New MEC implementation (memory_leaks_only mode)
Andreev S.V [Tue, 10 Apr 2012 11:07:00 +0000 (15:07 +0400)]
Improved performance of get_kprobe() via dead code elimination
Andreev S.V [Mon, 9 Apr 2012 07:28:31 +0000 (11:28 +0400)]
FIXED Ticket #292 (BUG() messages)
Nikita Kalyazin [Tue, 3 Apr 2012 05:27:53 +0000 (09:27 +0400)]
Fixed #286 (aka huge overhead in pq)
Actually the problem was in significant changes of get_user_pages(). We have to do some work to refactor this code and set all the kernel version defines properly.
Nikita Kalyazin [Thu, 22 Mar 2012 10:54:32 +0000 (14:54 +0400)]
Nikita Kalyazin [Thu, 22 Mar 2012 10:25:40 +0000 (14:25 +0400)]
Nikita Kalyazin [Thu, 22 Mar 2012 08:06:39 +0000 (12:06 +0400)]
Added PQ Proxima (SLP) support
Andreev S.V [Tue, 20 Mar 2012 13:46:43 +0000 (17:46 +0400)]
Final movin' INPERFA->SWAP (Ticket #134)
Nikita Kalyazin [Fri, 16 Mar 2012 10:50:52 +0000 (14:50 +0400)]
Merge branch 'swap_rename' into dev
Andreev S.V [Wed, 1 Feb 2012 12:07:27 +0000 (16:07 +0400)]
Renamed InPerfa->SWAP, Ticket #134
Dmitry Kovalenko [Tue, 31 Jan 2012 12:52:38 +0000 (16:52 +0400)]
Added return value to default retprobe handler
Dmitry Kovalenko [Tue, 31 Jan 2012 12:01:42 +0000 (16:01 +0400)]
"On the go" probes implementation.
OTG probes can be installed from handlers of other probes.
Currently implemented only user space instrumentation.
Probe installing is produced by call of "install_otg_ip" function.
install_otg_ip(function_addr, pre_handler, jp_handler, rp_handler)
pre_handler, jp_handler, rp_handler can be NULL that means deffault handlers.
Vasiliy Ulyanov [Thu, 26 Jan 2012 09:05:00 +0000 (13:05 +0400)]
Added functions to retrieve user-mode stack dump from uprobes (ticket #260)
Alexander Shirshikov [Fri, 13 Jan 2012 06:01:20 +0000 (10:01 +0400)]
No probes check and return removed (pack_event_info)
Vasiliy Ulyanov [Wed, 21 Dec 2011 13:20:41 +0000 (17:20 +0400)]
Saved and total events counters are zeroed after start tracing (Ticket #129)
Andreev S.V [Fri, 2 Dec 2011 07:28:58 +0000 (11:28 +0400)]
Names of functions have been changed in order to avoid collision with kernel function. Uneeded EXPORT_* removed.
Dmitry Kovalenko [Mon, 28 Nov 2011 12:50:46 +0000 (16:50 +0400)]
Fixed problem with handling of forked threads.
Now we don't uninstall probes if fork creates thread.
This commit continues idea introduced at
d597e93b5a314
Dmitry Kovalenko [Fri, 25 Nov 2011 05:43:00 +0000 (09:43 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Dmitry Kovalenko [Fri, 25 Nov 2011 05:24:24 +0000 (09:24 +0400)]
Solved problems with instrumentation functions in process between
fork and exec.
Lib only instrumentation and multithreaded application
instrumentation are fixed and now work well. (Fixed #140, #74)
Gonzha Dmitriy Evgenevich [Mon, 21 Nov 2011 09:15:13 +0000 (13:15 +0400)]
Architecture-dependent x86 part updated
Accordind to current changes introduced in
d46e3a57e37101ec8a9367fbcd6f28c188631a9f
2b5e0bbc4c7cccc18bd47af48f9eb9beb5fa123a
for comportability with current architecture-independent part
Dmitry Kovalenko [Mon, 14 Nov 2011 12:53:11 +0000 (16:53 +0400)]
UProbes are set on group_leader instead of first found tid
Fixed: Kernel panic: pbzip2, libc, libpthread instrumentation #140
- During instrumentation of multi-threaded program, situation with instrumentation of finished thread may happen