Fedin Pavel [Wed, 27 Jun 2012 16:10:51 +0000 (20:10 +0400)]
u_intXX_t -> uintXX_t
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
Nikita Kalyazin [Wed, 19 Oct 2011 07:44:33 +0000 (11:44 +0400)]
kprobes: retprobe instance hlist operation was moved into spinlock (similar to
2b5e0bbc4c7cccc18bd47af48f9eb9beb5fa123a)
Nikita Kalyazin [Wed, 19 Oct 2011 07:17:49 +0000 (11:17 +0400)]
kprobes: retprobe instance hlist operation was moved into spinlock
Anatoly Sinyavin [Fri, 14 Oct 2011 08:07:26 +0000 (12:07 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Conflicts:
src/symbol/CProcLib.cpp
Anatoly Sinyavin [Fri, 14 Oct 2011 07:59:14 +0000 (11:59 +0400)]
Fix tiny bugs for Beagle/SELP.
Andreev S.V [Tue, 11 Oct 2011 11:25:40 +0000 (15:25 +0400)]
FIXED copy_to_user_pages according to kernels (i.e. standard)
Nikita Kalyazin [Tue, 4 Oct 2011 13:40:33 +0000 (17:40 +0400)]
Fixed insns slot access problem (#118)
Added flush_icache_range() after copying insns slot. Need to check whether flush_cache_all() call for Tegra nearby is necessary.
Alexander Shirshikov [Tue, 4 Oct 2011 11:23:18 +0000 (15:23 +0400)]
copy_to_user_page fix
Dmitry Kovalenko [Tue, 4 Oct 2011 11:22:23 +0000 (15:22 +0400)]
Removed mistakenly committed temporary files
Dmitry Kovalenko [Tue, 4 Oct 2011 10:48:56 +0000 (14:48 +0400)]
Removed mistakenly committed temporary files
Alexander Shirshikov [Mon, 3 Oct 2011 06:50:26 +0000 (10:50 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Conflicts:
src/gui/Makefile.am
src/llvm/CAbstrFunction.h
src/llvm/CAbstrFunctionTrans.cpp
src/llvm/CAbstrFunctionTrans.h
src/llvm/CBundleListFunction.h
src/llvm/CFunction2LLVM.cpp
src/llvm/CFunction2LLVM.h
src/llvm/CFunctionCFG2LLVM.cpp
src/llvm/CFunctionCFG2LLVM.h
src/llvm/CInstrumenter.h
src/llvm/CStaticData.h
src/llvm/CUnit2LLVM.cpp
src/llvm/CUnit2LLVM.h
src/llvm/C_LLVM_Emitter.cpp
src/llvm/C_LLVM_Emitter.h
src/llvm/_build_it.sh
src/llvm/aux.h
src/llvm/bfe.y
src/llvm/common.h
src/python/EventsManagement/RawEvents.py
Alexander Shirshikov [Mon, 3 Oct 2011 06:28:33 +0000 (10:28 +0400)]
LLVM and POCO integrated
Nikita Kalyazin [Wed, 28 Sep 2011 10:16:47 +0000 (14:16 +0400)]
Absence of a library from inperfa.ini file is a warning now (#120)
Nikita Kalyazin [Mon, 26 Sep 2011 05:30:38 +0000 (09:30 +0400)]
Fixed a bug of kernel panic when collecting __switch_to (#118)
Nikita Kalyazin [Thu, 22 Sep 2011 06:50:26 +0000 (10:50 +0400)]
Fixed bug of segfaulting Thumb apps (retprobe)
This is the same as
b74f1859918bc25c2a1cd4ebcfad8b49ec6b831a, but for retprobes.
Dmitry Kovalenko [Wed, 21 Sep 2011 11:56:08 +0000 (15:56 +0400)]
Fix deinst_usr_space_proc (return value)
Nikita Kalyazin [Tue, 20 Sep 2011 13:13:06 +0000 (17:13 +0400)]
Fixed return value of find_lib_path()
Nikita Kalyazin [Tue, 20 Sep 2011 11:10:10 +0000 (15:10 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Nikita Kalyazin [Tue, 20 Sep 2011 11:09:58 +0000 (15:09 +0400)]
kprobes fix (deferred probes in multitreaded application)
Reimplelented retprobe instance management mechanism. Probably, x86 and MIPS require porting these changes.
Dmitry Kovalenko [Fri, 16 Sep 2011 05:17:33 +0000 (09:17 +0400)]
Fixed continuous buffer (Ticket #112)
Nikita Kalyazin [Wed, 7 Sep 2011 05:18:45 +0000 (09:18 +0400)]
Fixed bug of segfaulting Thumb apps
Inserted undefined instruction was not actually undefined in some cases.
ffffdeff is true one.
Nikita Kalyazin [Mon, 5 Sep 2011 06:49:43 +0000 (10:49 +0400)]
Removed messing debug output (introduced in
625f1537f3d0f93d3eeb5e155a33956ba1894dd6)
Nikita Kalyazin [Mon, 5 Sep 2011 05:14:02 +0000 (09:14 +0400)]
It is not needed to set PID while instrumenting Android GUI apps (only set .apk file as target_app_fname)
Almost the same mechanism as in
68d9da6e84230f015451aa2051cbb10f6a4d0507 (SLP) is used.
Nikita Kalyazin [Wed, 31 Aug 2011 12:51:11 +0000 (16:51 +0400)]
Nikita Kalyazin [Tue, 30 Aug 2011 07:39:24 +0000 (11:39 +0400)]
Fix and refactoring for
be6800a0431c286ffafffb02145c006e03085fee (SLP app startup)
Sergey Grekhov [Tue, 23 Aug 2011 06:02:03 +0000 (10:02 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Sergey Grekhov [Tue, 23 Aug 2011 05:59:02 +0000 (09:59 +0400)]
Special revision on MEC: collecting only memory leaks. Currently under macro MEMORY_LEAKS_ONLY.
TBD: add config option only_memory_leaks for memchecker.
Nikita Kalyazin [Tue, 23 Aug 2011 05:28:09 +0000 (09:28 +0400)]
Updated kernel version dependent define (copy_to_user_page), concerns
2.6.32 kernel
Sergey Grekhov [Mon, 22 Aug 2011 08:53:34 +0000 (12:53 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Nikita Kalyazin [Mon, 22 Aug 2011 06:23:16 +0000 (10:23 +0400)]
SLP applications startup can be instrumented
4c3f981a88451d8e1e6f99788868c67e3777e038-related.
Nikita Kalyazin [Thu, 18 Aug 2011 10:55:01 +0000 (14:55 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Sergey Grekhov [Thu, 18 Aug 2011 06:04:21 +0000 (10:04 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Conflicts:
src/dalvik_probes/Makefile.am
Leonid Astakhov [Thu, 18 Aug 2011 05:25:12 +0000 (09:25 +0400)]
Merge remote branch 'origin/dev' into dev
Nikita Kalyazin [Thu, 18 Aug 2011 04:32:24 +0000 (08:32 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Nikita Kalyazin [Tue, 16 Aug 2011 12:47:17 +0000 (16:47 +0400)]
Changed ioctl callback accordingly to kernel version greater than 2.6.36
Nikita Kalyazin [Tue, 16 Aug 2011 12:45:28 +0000 (16:45 +0400)]
Updated preprocessor directive for copy_to_user_page() wrapper (=2.6.32 -> >=2.6.32)
Nikita Kalyazin [Thu, 11 Aug 2011 10:23:35 +0000 (14:23 +0400)]
Nikita Kalyazin [Wed, 10 Aug 2011 12:32:14 +0000 (16:32 +0400)]
Added SLP specific applications instrumentation support
SLP graphical applications (such as Calculator) are launched by special
daemon that loads these applications just like a libraries via dlopen().
The commit contains a special mechanism to instrument them.
SLP specific applications instrumentation support is enabled by
slp_app="yes" in the conf file.
Currently only running applications can be instrumented.
Nikita Kalyazin [Mon, 18 Jul 2011 13:37:34 +0000 (17:37 +0400)]
Merge branch 'thumb_r9' into dev
Nikita Kalyazin [Tue, 12 Jul 2011 09:07:02 +0000 (13:07 +0400)]
Thumb trampoline: r9 register is not spoiled from now on
Return address is odd now in order to signalize that pop instruction
must go into Thumb mode.
Gonzha Dmitriy Evgenevich [Tue, 12 Jul 2011 12:04:27 +0000 (16:04 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Nikita Kalyazin [Fri, 8 Jul 2011 09:23:41 +0000 (13:23 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Leonid Astakhov [Fri, 8 Jul 2011 08:02:34 +0000 (12:02 +0400)]
Handlers for Dalvik VM are moved to another module
Gonzha Dmitriy Evgenevich [Thu, 7 Jul 2011 11:06:40 +0000 (15:06 +0400)]
Android FroYo comportability
Added Android FroYo comportability for boards other than Tegra
using ifdef for hardcoded Tegra on Android FroYo wrapper.
In future it would be better to add automaic wrapper layer for such
calls.
Dmitry Kovalenko [Tue, 5 Jul 2011 04:55:30 +0000 (08:55 +0400)]
Dmitry Kovalenko [Mon, 4 Jul 2011 04:10:46 +0000 (08:10 +0400)]
Fixed ticket #13 (Error with buffer size changing)
Nikita Kalyazin [Tue, 28 Jun 2011 05:31:05 +0000 (09:31 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Nikita Kalyazin [Tue, 28 Jun 2011 05:30:26 +0000 (09:30 +0400)]
Fixed library only instrumentation
When do_execve() occurs we have to deinstrument old address space because after this VMA mappings may be changed. Hence, added handler for do_execve() (only for user space instrumentation) where all the deinstrumentation is carrying out.
Nikita Kalyazin [Tue, 28 Jun 2011 05:12:22 +0000 (09:12 +0400)]
Added additional condition (vma->vm_pgoff) to recognize text section in Android
Nikita Kalyazin [Tue, 28 Jun 2011 05:05:00 +0000 (09:05 +0400)]
Removed unnecessary VMA flags setup for Android
Nikita Kalyazin [Tue, 28 Jun 2011 05:01:10 +0000 (09:01 +0400)]
Removed messing debug message
Leonid Astakhov [Mon, 27 Jun 2011 11:04:57 +0000 (15:04 +0400)]
flush_cache_all removed due to performance slump
Leonid Astakhov [Thu, 23 Jun 2011 04:58:12 +0000 (08:58 +0400)]
DEX Profile transfer
Dmitry Kovalenko [Tue, 21 Jun 2011 12:20:43 +0000 (16:20 +0400)]
Fixed ticket #80 (Wrong specific user space handler is called)
Nikita Kalyazin [Fri, 17 Jun 2011 05:33:59 +0000 (09:33 +0400)]
Replaced GFP_KERNEL with GFP_ATOMIC in get_insn_slot()
Nikita Kalyazin [Wed, 15 Jun 2011 06:19:36 +0000 (10:19 +0400)]
Replaced GFP_KERNEL with GFP_ATOMIC in code that may run in exception context
Dmitry Kovalenko [Fri, 10 Jun 2011 07:19:26 +0000 (11:19 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev