Dmitry Kovalenko [Mon, 14 Sep 2015 14:27:09 +0000 (17:27 +0300)]
[STYLE] Fix mr_pre_handler
Change-Id: I13ea53ea42082d1cfc9e4201b6731b6672bb2b32
Dmitry Kovalenko [Mon, 14 Sep 2015 12:31:40 +0000 (15:31 +0300)]
[STYLE] Fix preload_threads_get_drop
Change-Id: If63f4874ff48ebe1f57221667a194d70c1a6bf15
Vitaliy Cherepanov [Mon, 21 Sep 2015 17:59:01 +0000 (20:59 +0300)]
[FIX] kernel panic on second DA start
Change-Id: Iee25a61f60450256c1908446e1a9ca3318639b4e
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Alexander Aksenov [Wed, 9 Sep 2015 09:09:21 +0000 (12:09 +0300)]
[FIX] Task_data: helper probe reg/unreg
Remove probe's register/unregister away from stop_machine()
Change-Id: Ieb76276bed0546f9e1bd6067aa5bc3171d7d9241
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 8 Sep 2015 16:10:02 +0000 (19:10 +0300)]
[FIX] Preload: sync in atomic
Mutex replaced with spinlock, cause they are used in
handlers (executed in atomic context)
Change-Id: I736f0ae284cc75f8197b8dabc2f837313c8b5553
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 8 Sep 2015 11:29:16 +0000 (14:29 +0300)]
[FIX] Preload: memory allocation in atomic
kmalloc(..., GFP_KERNEL) -> kmalloc(..., GFP_ATOMIC)
cause executed in handlers
Change-Id: If89c5807d96fee9137fb8b0919b7ed4428772ab6
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 8 Sep 2015 11:28:16 +0000 (14:28 +0300)]
[FIX] Preload: context fix
Removed redundant access_ok(), copy_from_user() replaced
with read_proc_vm_atomic().
It is done to prevent sleeping in atomic context.
Change-Id: Ib260e0f89b5a0a034c8e591361d4ab1d2ffa4b95
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 8 Sep 2015 10:28:58 +0000 (13:28 +0300)]
[FIX] US Manager: kmalloc GFP flag
In pfg_create()
create_img_proc()
create_img_file()
create_img_ip()
kmalloc(..., GFP_KERNEL) -> kmalloc(..., GFP_ATOMIC)
cause called only spinlocks.
Change-Id: I0a8b4a5c132b9c76e54515ec75f80c807b2128ad
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Anatolii Nikulin [Wed, 2 Sep 2015 08:48:27 +0000 (11:48 +0300)]
[FIX] Define breakpoint instruction size for ARM/Thumb modes
Change-Id: If3fe4f15c4b6c60efe4dd12767498785c2637cf9
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Wed, 2 Sep 2015 07:19:14 +0000 (10:19 +0300)]
[FIX] Acquire/release reference to the task in sspt_proc
It prevents invalid pointer dereference if the task has already
been terminated.
Change-Id: I8525d16d81a177d13c5a88f507e070214db81fc7
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 2 Sep 2015 07:01:00 +0000 (10:01 +0300)]
[FIX] Synchronize completion of US profiling
Wait until all the instrumented tasks are cleaned-up
Change-Id: I39a287ab028e6ff99acdb7937d552f69e8e10a88
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 1 Sep 2015 15:52:45 +0000 (18:52 +0300)]
[FIX] Take mmap_sem on urp disarming in mm_release
Change-Id: I565d7f3d611f4173fd751014bd7519ccf7fc6218
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Sun, 30 Aug 2015 13:21:52 +0000 (16:21 +0300)]
[FIX] Move urp disarming from atomic context on mm_release
Change-Id: Ia8ff37235b5dfe4d43f8d1578459bb4df444468b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Sun, 30 Aug 2015 13:14:14 +0000 (16:14 +0300)]
[IMPROVE] Do not call cb_clean_child on non instrumented process
Change-Id: I86767ac7dbb62e537e82ffa0062d1472c792887d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 28 Aug 2015 13:30:47 +0000 (16:30 +0300)]
[FIX] Remove masking oops_in_progress
Change-Id: Ida57330dde3e3601a7992cff63e7b8cd55735855
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 28 Aug 2015 11:14:15 +0000 (14:14 +0300)]
[FIX] preload library
when libdl will be mapped
Change-Id: I2156e3ba5b64e0ad4761aca95616f093d9815ef2
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 28 Aug 2015 11:10:13 +0000 (14:10 +0300)]
[FIX] mmap allocation atribute
PROT_WRITE atribute is needed for writing into allocated memory
Change-Id: I6beb96bae7c331024b99fb2675bcde4430e1f9f0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 27 Jul 2015 16:26:40 +0000 (19:26 +0300)]
[FIX] Preload: dentry balance counter
Use atomic_t instead of int to avoid race conditions
Change-Id: Ie32d46a8c822ef8ef6110832c0fcc14ea1594e9c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 17:36:17 +0000 (20:36 +0300)]
[FIX] Add chunk_init result checking
Change-Id: Id5534256ac7d492151e51c41d623338032d4fbfb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 17:18:25 +0000 (20:18 +0300)]
[FIX] Add default case in swap_put_uarg switch(...) {}
Change-Id: I4f2b1e8467b5681654642fba5bc1b0b89cf1c748
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 12:36:01 +0000 (15:36 +0300)]
[FIX] Use GFP_ATOMIC flag for pl_struct allocation
GFP_KERNEL causes problems since the structure is allocated
in atomic context.
Change-Id: Ie98b644587385f7d7898fbf6ae68cdbc2256d2e4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 12:31:38 +0000 (15:31 +0300)]
[FIX] sspt_filter handling
- Add rwlock to avoid race conditions (i.e. img copied to sspt
multiple times)
- Use GFP_ATOMIC for sspt_filter allocation (done in atomic context)
Change-Id: I0809a8eb16555e2882d900cab8c544a32bdc16b1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vasiliy Ulyanov [Wed, 26 Aug 2015 12:11:50 +0000 (15:11 +0300)]
[FIX] stop message handling in us_manager
stop_machine is now used only to acquire references to all the
instrumented tasks. In such way we assure that they are not going
to be dropped during SWAP cleanup code execution.
Also a special callback STOP_CB_TD was added for task_data since it
may need to cleanup in stop_machine.
Change-Id: I4ea67092e1f0a006c908392e41ae511b9fff5b6d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vasiliy Ulyanov [Wed, 26 Aug 2015 11:32:29 +0000 (14:32 +0300)]
[FIX] Use stop_machine to disarm kretprobe_instance
Change-Id: Id1fb5f1ad1a13dc76b465bb08d42f55a4886b713
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 11:19:55 +0000 (14:19 +0300)]
[FIX] Move call_mm_release invocation out of atomic context
Change-Id: I2f3016c08a6e8c027681beb9c629e27b4f688b4f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 10:55:30 +0000 (13:55 +0300)]
[FIX] Allocate uretprobe_instance with correct gfp flag
Need to be GFP_ATOMIC
Change-Id: I0b98334c699ac0e509eea479cab6c8c28c9a1b96
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vasiliy Ulyanov [Wed, 26 Aug 2015 09:15:21 +0000 (12:15 +0300)]
[FIX] Workaround to skip page faults from Preload
Attempts to read userspace stuff from probe handlers (e.g. like we
do in Preload) may lead to crashes.
Change-Id: I00009bb9dc19ba003740d078b9a36dee2f75c3f5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vasiliy Ulyanov [Wed, 26 Aug 2015 08:48:46 +0000 (11:48 +0300)]
[IMPROVE] Implement kretprobe skipping
If entry_handler returns a non-zero value we will not install
probe on the return address.
Change-Id: Iee2ef0ffadb85d7661b4d46ae30d88cef2d7bc0f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 26 Aug 2015 08:07:44 +0000 (11:07 +0300)]
[FIX] Check for atomic context in swap_handle_mm_fault
Now we return an error instead of generating page fault in
atomic context.
Change-Id: I1d4654142c4f22da500c2d3981509f631cb95fd5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 24 Aug 2015 16:00:20 +0000 (19:00 +0300)]
[FIX] Flush kretprobe instances after last put_task
Remove rp_inst from kretprobe_inst_table when task has died
Change-Id: I97e8b7209e22f70c5c8ff3afc55704aa3ddfa87e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Sat, 22 Aug 2015 18:51:10 +0000 (21:51 +0300)]
[FIX] Add reference counting to sspt_proc
To avoid usage after deletion bugs.
Change-Id: Ie2fae9eac15d3d6cd94613c10fa2b5a878045325
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Sat, 22 Aug 2015 16:39:37 +0000 (19:39 +0300)]
[FIX] Skip fixup do_page_fault for ARM
Change-Id: Iaf68e2554881e3cbd952a6267fb4e2f130211d2c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Sat, 22 Aug 2015 11:44:19 +0000 (14:44 +0300)]
[FIX] Preload: use get_user to obtain current linker state
Change-Id: I90bd7d09c6106a3324fa810d5cdc344a122a49c7
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 20 Aug 2015 21:37:24 +0000 (00:37 +0300)]
[FIX] Call call_mm_release using kjump
Needed to move the call out of atomic context.
Change-Id: I3688814f09fa5be082fc3e5a203241b1c1eb77e0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 20 Aug 2015 21:29:35 +0000 (00:29 +0300)]
[FIX] Avoid non-boot CPUs disabling on stop
On some targets disabling non-boot CPUs may lead to errors in
kernel (i.e. crashes).
Change-Id: I09de281b9f47e40e136a9e30b77db36d95278d52
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 20 Aug 2015 16:44:27 +0000 (19:44 +0300)]
[FIX] Add spinlock for proc_list in pf_group
Change-Id: Iaaafc4dd4665dbc1e06c280cdc6e7036122f8678
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 19 Aug 2015 09:09:34 +0000 (12:09 +0300)]
[FIX] Use GFP_ATOMIC flag in retprobe_copy
Change-Id: I6e728b57b4e185b9312d2833e84a1abe5e86bffc
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 18 Aug 2015 09:32:24 +0000 (12:32 +0300)]
[FIX] probes disarming in fork'ed process
Disarming is now moved out of atomic context.
Change-Id: I723b11e25dc377a7caea5efb54ed42b34db68868
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 10 Aug 2015 17:10:02 +0000 (20:10 +0300)]
[FIX] uprobe trampoline copying (ARM only)
Copying to userspace needs to be done in non atomic context.
Change-Id: Id2baca9a667bd3c7d53f0b3fb8f391522aca5315
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 27 Jul 2015 14:44:20 +0000 (17:44 +0300)]
[FIX] preload: move swap_do_mmap out of atomic context
For page mapping we should acquire memory lock. It is not possible atomic context.
move swap_do_mmap to safe place when mm->mmap_sem is locked.
Change-Id: I02847628d800a162f3395a6d73c9cd07240344e0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Thu, 27 Aug 2015 06:55:50 +0000 (09:55 +0300)]
[FIX] prevent issues
fix 4 issues from prevent:
NULL_RETURNS
CONSTANT_EXPRESSION_RESULT
NO_EFFECT
Change-Id: I1385346d039a354a862e516e3b48c841502bf630
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 25 Aug 2015 12:52:36 +0000 (15:52 +0300)]
[FIX] prevent issues
fix 42 issues from prevent:
NULL_RETURNS
UNINIT
REVERSE_INULL
RESOURCE_LEAK
MISSING_BREAK
DEADCODE
DC.SECURE_CODING_SPRINTF
FORWARD_NULL
DC.SECURE_CODING_STRCPY
OVERFLOW_BEFORE_WIDEN
BAD_SIZEOF
Change-Id: I1e7bc4b6e73e8262ee6fa23238d86a62510cb4e5
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Alexander Aksenov [Thu, 6 Aug 2015 13:31:57 +0000 (16:31 +0300)]
[FIX] Preload: probes in newly created threads
Previously the second exit from pthread_create (exit in new thread)
was not handled correctly and this lead to messages missing.
Fixed "process data not found" case - now it doesn't lead to drop.
Change-Id: I9c6470758b759ae430b23e0aedb93fc525cea395
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Tue, 4 Aug 2015 08:21:50 +0000 (11:21 +0300)]
[FIX] build for ARM
Change-Id: I550b3492b4f3ab404a2a64b35bdbb6751bbaaba1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vitaliy Cherepanov [Fri, 31 Jul 2015 09:22:52 +0000 (12:22 +0300)]
[LICENSE] change to GPL-2.0+
Change-Id: Ie7acc73cb741192e1a5d6decaa2a66f44bd91062
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vyacheslav Cherkashin [Fri, 24 Jul 2015 14:03:25 +0000 (17:03 +0300)]
[FIX] memory leak in wsp
Change-Id: Ia5d3a3e4b1831b4aa12d9a665f2adcf70a489d48
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 27 Jul 2015 10:46:20 +0000 (13:46 +0300)]
[FIX] memory leak in nsp
Change-Id: I34d5b3f7f92739bb92acd6706991cbe28549d4f7
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vasiliy Ulyanov [Fri, 24 Jul 2015 17:45:54 +0000 (20:45 +0300)]
[FIX] Erroneous files struct put
There is no need to make a put_files_struct in case when
get_files_struct returns NULL.
Change-Id: Ia87af58150e96f07f3a5f7e2bd2ee3a9a185d210
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vyacheslav Cherkashin [Thu, 23 Jul 2015 12:17:43 +0000 (15:17 +0300)]
[FIX] remove modules striping from build.sh
Change-Id: I4565984dbc4d3cba11cc312ea32a92a8028f7907
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 23 Jul 2015 10:11:43 +0000 (13:11 +0300)]
[FIX] wrong unregister
pin_register() was used in nsp_data_uninst() for p_do_app.
change it to pin_unregister()
Change-Id: I56cd3819a7388907b2743e51320d8637bcb23f85
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 22 Jul 2015 15:29:59 +0000 (18:29 +0300)]
[FIX] usage of kfree'd memory
pfg_item_free(item) tries to access item->pfg so
put_pf_group(item->pfg) should be executed after pfg_item_free.
Change-Id: I28c0059a6c99c284a4e6ef6b0f2fc4a76860166a
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 22 Jul 2015 15:28:33 +0000 (18:28 +0300)]
[FIX] Use proper structure in FILE_PROBE_INITIALIZER
Wrong structure used during initialization leads to allocation
of less memory than will actually be used.
Change file_private by flock_private.
Change-Id: I2d9951ff11066c13f838c8d7c04b176bbed6d7b5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 21 Jul 2015 18:31:31 +0000 (21:31 +0300)]
[FIX] types of wsi function addresses
inspserver_addr, willexecute_addr, didexecute_addr should have
u64 type intead of unsigned long
Change-Id: I0e5692056835b41f59650a77e9ab76796f80a2b4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vitaliy Cherepanov [Tue, 21 Jul 2015 14:45:09 +0000 (17:45 +0300)]
[FIX] Preload: use caller address from userspace
This is a workaround for Tizen OpenGL probes. We cannot obtain the
expected caller address (i.e. the address in the target binary) from
kernel handlers because GL functions are actually called through
third-party libraries. To handle this situation we now pass the proper
address from userspace handlers.
Change-Id: Ibaa2190aed0c1587fa121feb13536b8ff267e680
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vasiliy Ulyanov [Tue, 21 Jul 2015 11:54:46 +0000 (14:54 +0300)]
[FIX] Preload: use task data for storing slots
Probe slots need to be organized like a per-thread stack in order
to perform function entry/exit checks properly. The former single-list
implementation does not work as expected.
Change-Id: I16152ffb91ab0c5670c750e7cea6b566f59f9724
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vasiliy Ulyanov [Mon, 20 Jul 2015 10:12:30 +0000 (13:12 +0300)]
[FIX] Init/uninit task_data at start/stop
task_data uses kernel probes to track all tasks, hence
it is not correct to initialize it at module load time.
Change-Id: Ibb23d055cc9d0ae2703db8b09fb4d27e6d91e2c8
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vyacheslav Cherkashin [Mon, 20 Jul 2015 11:49:43 +0000 (14:49 +0300)]
[FIX] call vmalloc with zero argument
Change-Id: I02e8cbd9b5ccebeced90d8067a1b3f7cd8cd3083
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Sat, 18 Jul 2015 21:07:20 +0000 (00:07 +0300)]
[FIX] slot_table items insertion/deletion
- Probe instances are added to the table only once (x86).
- Fixed an issue when a freed probe instance was not removed
from the table.
- Added rw locking to avoid possible race conditions.
Change-Id: I72eae168b991e041a6a2f751dd7e45c379690052
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vyacheslav Cherkashin [Sat, 18 Jul 2015 20:42:41 +0000 (23:42 +0300)]
[FIX] replace kmalloc/kfree with vmalloc/vfree
Large memory chunks are better alloccated with vmalloc.
Change-Id: I51828e04269012f06c4198612a8299093af655bd
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vyacheslav Cherkashin [Sun, 12 Jul 2015 13:54:24 +0000 (16:54 +0300)]
[FIX] Save current uprobe state in stack (x86)
We cannot use per cpu vars here because when we make a singlestep
in userspace there is a chance our task is preempted and resumed
on another cpu. In that case we will not be able to restore its
normal execution.
Change-Id: I591ef52b52db8db0e741d81461903806ed00ef8e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vyacheslav Cherkashin [Thu, 16 Jul 2015 16:43:19 +0000 (19:43 +0300)]
[FIX] simultaneously work nsp and function profiling
Currently it is impossible to probe one function more then once.
Because of it we cann't use nsp and main() function profiling
simultaneously.
Add main() function profiling message in nsp handler.
Change-Id: Ibb9708c511f4f8497a4eac04b417dd4abd207559
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 16 Jul 2015 15:48:29 +0000 (18:48 +0300)]
[FIX] uprobe build for x86
Change-Id: I9f2da3ebc36849135c8af003261e89515a8fe1e4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Thu, 16 Jul 2015 10:16:47 +0000 (13:16 +0300)]
[REFACTOR] Fixed printk messages
Change-Id: I42652f739f16de717d5805d17d78812c009aa764
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Wed, 15 Jul 2015 12:29:09 +0000 (15:29 +0300)]
[FIX] remove uprobe from hash table on error
Change-Id: I8f860004eb9b8c23c11a5e47899cfdb916529a64
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 14 Jul 2015 10:12:33 +0000 (13:12 +0300)]
[FIX] deadlock during __switch_to() instrumentation
during __switch_to() handler execution we have 'rq->lock' locked by
__schedule(). So we can not call schedule_work() (which also uses 'rq->lock')
Change-Id: If8f0b0302d27ef21c80be7433e7ad3b5b0400668
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vasiliy Ulyanov [Mon, 13 Jul 2015 15:31:25 +0000 (18:31 +0300)]
[FIX] Preload: remove global irq flags
With spin_lock_irqsave/spin_unlock_irqrestore flags
should be local to the current stack frame.
Change-Id: I6244ed720232f3163ff23a8237e61c292f67808d
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vasiliy Ulyanov [Mon, 13 Jul 2015 15:17:55 +0000 (18:17 +0300)]
[FIX] Preload: memleak when dropping handlers/linker info
Change-Id: Ib2b661c008a5939d1ad9f2499bec1a478ee7dc03
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vasiliy Ulyanov [Mon, 13 Jul 2015 14:40:21 +0000 (17:40 +0300)]
[FIX] Preload: move dentry lookup out of uprobe handler
It was causing a lot of 'scheduling while in atomic' BUGs (and a
deadlock at the end) which were masked by oops_in_progress (set in
kprobe_trap_handler).
Change-Id: I2f0c5f5f3ca58ba07c785ca2b3f73e3e2d04c32c
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Vasiliy Ulyanov [Sun, 12 Jul 2015 13:35:52 +0000 (16:35 +0300)]
[FIX] Preload: thumb -> arm mode switch
We need to switch to arm if a probe is hit in thumb mode.
Currently all the preloaded userspace handlers are arm-only.
Change-Id: Ic7d3fc0d2b72b783d0f69efebd4fe8b9a0f8e712
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Dmitry Kovalenko [Sat, 11 Jul 2015 18:39:10 +0000 (21:39 +0300)]
[IMPROVE] Add interface for syscalls patching
Change-Id: I95035afda4f70432b3e192f2ee6730ae2bc90efe
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Dmitry Kovalenko [Sun, 12 Jul 2015 13:44:30 +0000 (06:44 -0700)]
Revert "[FIX] workaround of hangs on multicores"
This reverts commit
3418b805b202610c534960112fac4edd6e6acaa0.
Change-Id: I3eccb15a59fc5794324a010e98079b0f310418b8
Vyacheslav Cherkashin [Thu, 9 Jul 2015 23:46:59 +0000 (02:46 +0300)]
[FIX] workaround of hangs on multicores
Change-Id: I97ac2f2bcd1878786aecf066f1a2da02853979c6
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 9 Jul 2015 20:30:26 +0000 (23:30 +0300)]
[FIX] remove panic() from uprobe
Change-Id: I472ca5e1c71862578bc4a301ab1a94ec87780d00
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 9 Jul 2015 20:23:16 +0000 (23:23 +0300)]
[FIX] remove panic() from uprobe (ARM)
Change-Id: I2f7fca26e77bc790355c4bafb741e12e20159b45
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 9 Jul 2015 20:17:49 +0000 (23:17 +0300)]
[FIX] remove panic() from uprobe (x86)
Change-Id: I144c348d337038bc3a1020784e4850f3eccdacbe
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 9 Jul 2015 19:21:02 +0000 (22:21 +0300)]
[FIX] move trampoline alloc (for x86)
Change-Id: I4914bc07606e002ba83df5c4444659a1df38ebb8
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 7 Jul 2015 08:33:26 +0000 (11:33 +0300)]
[FIX] nsp stages determination
Change-Id: I4816a30ca56f22264cac626cdfd2a1e89b49a76b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Yurchenko Darya [Wed, 8 Jul 2015 10:53:31 +0000 (13:53 +0300)]
[FIX] LCD init
Change-Id: I110b7ea7ec04fbec66884f479cf66f47cbf3ceca
Signed-off-by: Yurchenko Darya <d.urchenko@partner.samsung.com>
Alexander Aksenov [Thu, 2 Jul 2015 11:36:06 +0000 (14:36 +0300)]
[FIX] Preload: total heap allocation data
Change-Id: I174e04ea81f9713aca94dde70376244fce88463d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Mon, 6 Jul 2015 08:50:47 +0000 (11:50 +0300)]
[FIX] Build for 3.10 kernel
Change-Id: I0e9b736ceb37f1e55c04e49a44fc57a0420b3388
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Fri, 3 Jul 2015 17:23:09 +0000 (20:23 +0300)]
[FIX] correct to call mod_us_app_inst() at the second start
Change-Id: I876fb4136345286b241a0d0a749271f9c80b77dd
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 3 Jul 2015 16:04:09 +0000 (19:04 +0300)]
[FIX] NULL pointer dereference
Change-Id: I6c50088c58b982fdc8ef258f6a38167125e4f605
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 3 Jul 2015 13:43:22 +0000 (16:43 +0300)]
[FIX] filtering profiling tasks in debugfs
Change-Id: I675efa37edfa26e9add811ecbc47d172d31c5bbb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 3 Jul 2015 12:32:55 +0000 (15:32 +0300)]
[FIX] filtering sampling messeges
Change-Id: I8eebb9c69929aaf29c24b194c96f7ba8e5a9f99e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Fri, 3 Jul 2015 10:28:49 +0000 (13:28 +0300)]
[FIX] build with old toolchain
Change-Id: I6f4ec362441992aa573867531b6e73171a388e8b
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Thu, 2 Jul 2015 11:19:49 +0000 (14:19 +0300)]
[FIX] invalid condition
Change-Id: I9069efa8dca80e9e55efc4dc343d1ef902d98c77
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 2 Jul 2015 09:30:12 +0000 (12:30 +0300)]
[FIX] installation of a few pfg on one process
Change-Id: I2ea723b41e97510944155257a6280f2447dcc20c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anastasia Lyupa [Wed, 1 Jul 2015 11:19:09 +0000 (14:19 +0300)]
[FIX] packing web function entry message
Change-Id: Ibfe88f637a5c584efb6c26b9002135276caf1ac2
Signed-off-by: Anastasia Lyupa <a.lyupa@samsung.com>
Alexander Aksenov [Mon, 29 Jun 2015 16:04:11 +0000 (19:04 +0300)]
[FIX] Writer: discarded events counting
Change-Id: I3d4553da9cd50ebd8300a917d37d94e29bf2fcc2
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 30 Jun 2015 11:03:41 +0000 (14:03 +0300)]
[FIX] Energy: debugfs init order
Change-Id: I4bd20279239f9787a70d3c13534f0fd301cf705c
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 27 Feb 2015 12:00:37 +0000 (15:00 +0300)]
[IMPROVE] Preload: breakpoint probe msgs saving
Change-Id: I4a8e3e7942a65ad3a128f616e15ae0370ee95b18
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Mon, 29 Jun 2015 07:56:47 +0000 (10:56 +0300)]
[FIX] check handlers_info on NULL
Change-Id: I62089130e9bf3b15cd094df3f43a3412736ef6bc
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 24 Jun 2015 11:52:53 +0000 (14:52 +0300)]
[FIX] check ld_info pointer on NULL
Change-Id: Iaa79730bd50af2fe29c2aa702d2027afab1eb6fb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 24 Jun 2015 11:15:10 +0000 (14:15 +0300)]
[FIX] check task_struct pointer on error
Change-Id: I292abae597e10aa4ad61cbaaba7d43bdfc93da99
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anastasia Lyupa [Fri, 19 Jun 2015 08:04:39 +0000 (01:04 -0700)]
Revert "[FIX] startup profiling for basic app"
This reverts commit
bf40b56a94d22ec4c285a8a748714886aed5ed53.
Because launchpad_preloading_preinitializing_daemon was removed.
Change-Id: Ia2bca789b507ce29bd28354757172c13f06db66e
Vyacheslav Cherkashin [Fri, 19 Jun 2015 06:14:53 +0000 (09:14 +0300)]
[FIX] safe uprobes install
Change-Id: I69d3464aa79dce36fc482d9799a0d49e98dee073
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 19 Jun 2015 06:02:12 +0000 (09:02 +0300)]
[IMPROVE] check size before memcpy
in kjump and jump
Change-Id: I23683343bc1244f142eccd20bc20ab2037e6a9c9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 19 Jun 2015 05:43:14 +0000 (08:43 +0300)]
[FIX] NULL pointer dereference
when wrong probe type
Change-Id: I581a7e56a6dc5a1692d6607ef7aeea277c374234
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 19 Jun 2015 05:32:02 +0000 (08:32 +0300)]
[FIX] check_task_on_filters()
unlocking on return 1
Change-Id: I6bcef8e7af49360a100a058c9a9767285446fd70
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anastasia Lyupa [Wed, 17 Jun 2015 13:54:27 +0000 (16:54 +0300)]
[FIX] startup profiling for basic app
when app is launched by launchpad_preloading_preinitializing_daemon,
not launchpad-process-pool
Change-Id: I01fcb65538593a658eea901a88a8ddef064b8221
Signed-off-by: Anastasia Lyupa <a.lyupa@samsung.com>