Vyacheslav Cherkashin [Tue, 10 May 2016 12:41:00 +0000 (15:41 +0300)]
[IMPROVE] remove atomic context from kprobe handler
Changes:
1. Kprobe redesign.
2. Current kprobe state saved in stack (thread context) or
in per_cpu_kpc_data (interrupt context).
for ARM:
In kprobe handler irq is turned on, if kprobe was fired in
non-irq context.
for x86:
Breakpoint is processed in several stages:
1. Save regs and change ip on exec_trampoline().
2. Call handlers in original context.
3. Restore regs and changed instruction processing.
Change-Id: I0b8d007eafddaabffd3a030a7a9aaa7ebf1642f3
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Tue, 17 May 2016 15:26:46 +0000 (18:26 +0300)]
[FIX] Loader: dentry get/put balance
Add putting dentry for already existed binaries in
loader_storage lists.
Change-Id: I6ca2c70dd8128108ef94ac440fd21fd4aff984e0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 12 May 2016 11:27:16 +0000 (14:27 +0300)]
[IMPROVE] take out swap_unregister_kprobe() from atomic context
Change-Id: I3f00340f2a45dc08f3909451c417d744b22be673
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 12 May 2016 12:41:38 +0000 (15:41 +0300)]
[FIX] double call swap_unregister_kretprobe()
Change-Id: Ie785baec540d7226fa6969e89c0cb16511a7dd61
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 29 Apr 2016 12:52:13 +0000 (15:52 +0300)]
[IMPROVE] call kprobe handlers at current context (for x86)
Move kprobe handler from atomic context to current
Change-Id: I8c3cc6bb964c6df1a2a83786f5bfca9c10b594a0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 26 Apr 2016 16:40:21 +0000 (19:40 +0300)]
[IMPROVE] remove preemption disabling from kprobe
Change-Id: Ie0ac12b32b4caa76fc2162b7dc467851260c9f0a
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 26 Apr 2016 12:44:44 +0000 (15:44 +0300)]
[IMPROVE] remove PER_CPU variables from kprobe
Now all intermediate data that is needed for kprobe instrumentation
implementation saved in stack (using swap_ktd). And thus, it is
possible to abandon PER_CPU variables usage.
Change-Id: Ibe9f600a4e01b729b9ac21030f818eec554348d1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Fri, 13 May 2016 09:44:58 +0000 (12:44 +0300)]
[FIX] Build for device
Add module.h in loader_pd.c and uihv_debugfs.c
Add returned value initialization
Change-Id: I0fa0250b0017b912a8b6a35f8b922ad216b9c693
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 27 Jul 2015 12:52:51 +0000 (15:52 +0300)]
[FEATURE] UI Viewer implementation
Change-Id: Icb4d7432c41518a6f3c35d54aa30d9b9d450a44d
Signed-off-by: Anastasia Lyupa <a.lyupa@samsung.com>
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 8 Feb 2016 17:50:37 +0000 (20:50 +0300)]
[REFACTOR] Loader separated from preload
Change-Id: I04159e8f3066ff8c5d0584661b91b6fd4219e7df
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Fri, 29 Apr 2016 05:31:14 +0000 (08:31 +0300)]
[FIX] Added missing include
Change-Id: I6c4ed9ec458d862f73a44e52d1db94fbe0adaa2b
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Tue, 19 Apr 2016 14:51:36 +0000 (17:51 +0300)]
[FIX] warning in ktd_exit()
Set proc pointer to NULL before free
Change-Id: I2fd81a84b55c9b8bdbfc7809e7ab5abfeb24aaf5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 19 Apr 2016 14:45:52 +0000 (17:45 +0300)]
[FIX] sspt_proc struct double put
Change-Id: Ie5cdf0e69292dddc4ec0a24004b65932b0151a71
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 15 Apr 2016 12:15:43 +0000 (15:15 +0300)]
[FIX] sspt_ip usage after removing
Change-Id: I5d897ad063a31ac02e15ae4ccb9b8aca54e1fae7
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 11 Apr 2016 17:22:54 +0000 (20:22 +0300)]
[IMPROVE] synchronize usage of img_file.ips.head
Change-Id: I121d367f77ef9b7bc2c5bd6f476aa286c45810e0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 11 Apr 2016 14:48:54 +0000 (17:48 +0300)]
[IMPROVE] synchronize usage of sspt_file.htable.heads
Change-Id: I4fc0715b3a0ac9a06e59ffec112b0b412a640eca
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 11 Apr 2016 14:06:02 +0000 (17:06 +0300)]
[IMPROVE] synchronize usage of sspt_proc.files.head
Change-Id: Id308856c9d300394e3946094a43b6d3c8102eb0d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 11 Apr 2016 12:19:17 +0000 (15:19 +0300)]
[FIX] race condition when use sspt_proc
Change-Id: I74f18ff7631c521dceebf137c19d5269c2e2339c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 11 Apr 2016 09:34:09 +0000 (12:34 +0300)]
[CLEAN] Remove unused code
Change-Id: Ie2ce4582acfa5cef8fc9321f9f4a8ae8ece38f4b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 8 Apr 2016 13:32:46 +0000 (16:32 +0300)]
[IMPROVE] Remove atomic context usage in uretprobe handlers
Change-Id: Idfe5937b84e2890aede70598e98380456a6be200
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 8 Apr 2016 12:14:46 +0000 (15:14 +0300)]
[IMPROVE] Remove atomic context usage in sspt_page_*()
Change-Id: I42ff9bbc1126e27d455e6902a1ef1d381887977e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 6 Apr 2016 12:46:57 +0000 (15:46 +0300)]
[IMPROVE] storing sspt_proc in group_leader's stack
Change-Id: I3ea8e4809efe461c24949ab543ba11e317847504
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 31 Mar 2016 19:22:07 +0000 (22:22 +0300)]
[IMPROVE] remove atomic context for img_proc.filse
Change-Id: I52f848ebbd0c62c5335793ab35254ca5250ce05d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 31 Mar 2016 18:48:36 +0000 (21:48 +0300)]
[IMPROVE] remove atomic context for sspt_proc.filter
Change-Id: I8884fabacf97760c1f4c955117896dbdcea77ebb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 31 Mar 2016 18:27:04 +0000 (21:27 +0300)]
[IMPROVE] remove atomic context for pfg_list
Change-Id: I8200310bfe892fc712a0d5679a35464b9de5fee5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 31 Mar 2016 13:34:29 +0000 (16:34 +0300)]
[REFACTOR] naming in img_*
Change-Id: I591760ac9b81337943cb8e5fa5b264f612242adb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 31 Mar 2016 13:14:25 +0000 (16:14 +0300)]
[REFACTOR] naming in sspt_*
Change-Id: I92206c9ee15895d9dc641d3548a6defc75bdf074
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 30 Mar 2016 11:12:03 +0000 (14:12 +0300)]
[FIX] nsp: sleeping function called from atomic context
Change-Id: I47cef6151729ed39456999424e47e7037153a67d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 24 Mar 2016 10:41:58 +0000 (13:41 +0300)]
[FIX] Preload: implement automatic ARM <-> THUMB mode switch
Previously it was implemented only for THUMB -> ARM case.
Now proper mode is determined automaticaly.
Change-Id: I573d4c5cd41ac85bc41e04795b1ffa7f30dbe9c5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 11 Feb 2016 17:28:55 +0000 (20:28 +0300)]
[FIX] set correct CPU mode
Change-Id: I202c34f31152126eedd8f53303444bbd98816c45
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 3 Feb 2016 09:05:11 +0000 (12:05 +0300)]
[FIX] synchronizing of unregister_uprobe()
Add atomic usage counter to uprobe struct and check it before remove uprobe.
Change-Id: Idc7804d38028413d68d4fbac41813ca3899e5443
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 3 Feb 2016 08:53:53 +0000 (11:53 +0300)]
[3RDPARTY] Add wait_on_atomic_t() and wake_up_atomic_t()
Code copied from linux kernel 3.11+
commit
cb65537ee1134d3cc55c1fa83952bc8eb1212833
Change-Id: Icb5630b3368e01581e36175401c6ba1aa0a3d169
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 29 Jan 2016 14:25:16 +0000 (17:25 +0300)]
[CLEAN] remove unused legacy code
Change-Id: Icf3569d9bcec1acfbe92e3cc245b9cdc69ab7714
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 28 Jan 2016 13:32:30 +0000 (16:32 +0300)]
[IMPROVE] split into uprobe core handlers (for x86)
split into atomic and non-atomic context
Change-Id: Ia7af60514ceb0d4fe11929910bbb150eda7c2d07
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 21 Jan 2016 11:35:45 +0000 (14:35 +0300)]
[IMPROVE] call uprobe handlers from non-atomic context (for x86)
Change-Id: If7a9ca564d4caeecd1fbac3f4b1e55407e303adb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 23 Dec 2015 09:18:26 +0000 (12:18 +0300)]
[IMPROVE] call uprobe handlers from non-atomic context (for ARM)
Change-Id: I4facd2d7548b1bc5d9cc8d68cf0f0c8e6d60e854
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Fri, 29 Jan 2016 13:14:35 +0000 (16:14 +0300)]
[FIX] add linker and loader binaries to ignored list
Change-Id: I5fd8d65c5d0661877408518694458182351bb694
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 29 Dec 2015 15:32:27 +0000 (18:32 +0300)]
[FIX] application bluetooth consumption estimation
Change-Id: I3ed5b6e933a8ea792eb72ea7c82640ff31b6c946
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Tue, 29 Dec 2015 07:46:06 +0000 (10:46 +0300)]
[FIX] application wifi consumption estimation
Obtain socket information within wifi send/recv functions
and search for application which has this socket.
Change-Id: I4a96f9bbe50d2800ac9800c77f266bf1f173dbb9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 21 Dec 2015 18:30:46 +0000 (21:30 +0300)]
[IMPROVE] remove atomic dependence from uprobe handlers
Remove field ss_addr from uprobe struct. To exit from handler
to specifyed address, change PC/IP (ARM/x86) register to one and
handler return value to 1.
Change-Id: If5c70942e8614d374d4d52b9e80d75d202b24ea0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Tue, 22 Dec 2015 10:51:41 +0000 (13:51 +0300)]
[FIX] SVACE issue #27673
Change-Id: If6c9d86e0c088a25015ce42e960e346541828d2e
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Wed, 16 Dec 2015 10:08:41 +0000 (13:08 +0300)]
[IMPROVE] redesigned build.sh
Change-Id: Iff540315e2e9d5554e2400877f5d05ea575189e9
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Dmitry Kovalenko [Tue, 22 Dec 2015 04:52:44 +0000 (07:52 +0300)]
[FIX] Wrong check in __get_vma_by_addr()
Change-Id: I8914104426a7328b45aa220c3bce6e6600256894
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Wed, 16 Dec 2015 15:03:39 +0000 (18:03 +0300)]
[FIX] unexpected undefined instruction after disarm kprobe
After disarm kprobe there is race condition in kernel within undefined
instruction handler (between undefined instruction firing and seaching for
hooks).
Now kprobe register undef hook on all instruction and skip 'false exeption'.
Change-Id: I972082ca5b94506e59306b9fe5834fccf883f83b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 15 Dec 2015 18:20:56 +0000 (21:20 +0300)]
[FIX] instrumentation BL and BLX for THUMB2
Change-Id: I7e43194c625ac725a6378ef29d20d7019e85440a
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Dec 2015 17:44:36 +0000 (20:44 +0300)]
[IMPROVE] B.W instrumentation for THUMB2
Change-Id: Ice2fc0048d3034e5ea0c762dbc08d3aca7fbe4b2
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 3 Dec 2015 13:09:07 +0000 (16:09 +0300)]
[IMPROVE] STRD/LDRD instrumentation for THUMB2
Change-Id: I386476d736e683c3a5ae9083338d9a9d52b7a4cc
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 1 Dec 2015 15:04:53 +0000 (18:04 +0300)]
[CLEAN] remove arch_tramp struct
This structure is excessive and the need for it is now missing
Change-Id: I350e81bd0909dceee5aa2ef9fa2bb99a12862cec
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Fri, 11 Dec 2015 08:10:25 +0000 (11:10 +0300)]
[REFACTOR] Preload: remove unused includes
Change-Id: I23ec7e9a759c9e6aa4891ae4abe983819fdd0b08
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 8 Dec 2015 17:27:25 +0000 (20:27 +0300)]
[IMRPOVE] Preload: load and execution in different files
Change-Id: I94a1fda7790d3dccd58d297565f372573520a5d2
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 30 Nov 2015 10:59:43 +0000 (13:59 +0300)]
[IMPROVE] Preload: split loading and probe execution
Previously both loading binary in target process memory and
an execution of handlers from the SWAP library were implemented
as a one instance.
Now they are splitted, cause some features requires loading
custom binaries into a process memory, but doesn't need SWAP
library handlers execution functionality.
Change-Id: I8408f1e2a144267bb2d4b0f33706b08558ffbd26
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 26 Nov 2015 09:42:51 +0000 (12:42 +0300)]
[STYLE] Preload: shorten names, remove unused code
struct process_data -> pd_t
enum preload_state_t -> ps_t
remove unused *_refs_*() functions
remove unused preload_pd_put_path()
remove useless #include from preload_threads
Change-Id: Id8e62d4fc3dbffb3a847038303597af84072fa27
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 26 Nov 2015 08:22:11 +0000 (11:22 +0300)]
[REFACTOR] Preload: use dentry instead of types
Previously in mmap handler were used types to identify
files that are being loading. It is not a good idea if
we're going to preload several libraries via this mechanism.
Change-Id: I97be0621750ee5afe60d8d93bcc25d101033fe32
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 23 Nov 2015 13:25:01 +0000 (16:25 +0300)]
[REFACTOR] Preload: separate states on functions
Change-Id: I57765d34f7f500a308ce9e310a38c37398ffef5c
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Hyeongsik Min [Thu, 10 Dec 2015 13:15:56 +0000 (22:15 +0900)]
[FIX] Prevent Issues
452538 RESOURCE_LEAK bin_list_read
489424 NULL_RETURNS sspt_file_add_ip
489426 NULL_RETURNS preload_us_entry
489427 RESOURCE_LEAK create_lig_inst_data
489428 RESOURCE_LEAK create_app_inst_data
489429 RESOURCE_LEAK create_app_inst_data
Change-Id: I66abedc11fb85ca25edecb689d0d3eb2a59d4535
Signed-off-by: Hyeongsik Min <hyeongsik.min@samsung.com>
Dmitry Kovalenko [Fri, 4 Dec 2015 10:59:54 +0000 (02:59 -0800)]
Merge "[FIX] deadlock in img_proc_del_ip()" into tizen_2.4_dev
Anatolii Nikulin [Thu, 26 Nov 2015 12:47:42 +0000 (15:47 +0300)]
[FIX] deadlock in img_proc_del_ip()
Now we use reference count for proc objects to avoid deadlock
Change-Id: I4c0b9359375fbddc85145bbe46cfe42f4929c188
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Tue, 24 Nov 2015 15:34:11 +0000 (18:34 +0300)]
[FIX] use different coefficients for cpu0 and cpuN
Change-Id: Ie13d9e1a1890337cdf89c2d30dde35ece7ef2512
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Yurchenko Darya [Wed, 25 Nov 2015 09:47:34 +0000 (12:47 +0300)]
[IMPROVE] added bluetooth consumption
Change-Id: I759f90891d4635fe366ae68a1fbae1e3c5a622c3
Signed-off-by: Yurchenko Darya <d.urchenko@partner.samsung.com>
Yurchenko Darya [Mon, 23 Nov 2015 17:10:02 +0000 (20:10 +0300)]
[IMPROVE] added wifi consumption
Change-Id: I8e465c6ca1c5c9743ec71c9e10eb1dca2d6b5ed2
Signed-off-by: Yurchenko Darya <d.urchenko@partner.samsung.com>
Vyacheslav Cherkashin [Wed, 25 Nov 2015 17:34:54 +0000 (20:34 +0300)]
[FIX] webprobe: double free
Change-Id: I6c14aef1e6c7ceb6643597d61d3eaca48c3db4e7
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Mon, 23 Nov 2015 12:26:28 +0000 (15:26 +0300)]
[FIX] Typo in preload_control
Part of the include string was deleted
Change-Id: I149f2ea7e6cd83ad491bb38b6ea53cceaed69cab
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 9 Nov 2015 12:12:29 +0000 (15:12 +0300)]
[IMPROVE] Preload: pass ignored via debugfs
Issue:
Binaries ignored for preloading execution were hardcoded.
This causes errors when binary names are changed.
Solution:
Now ignored binaries are passed via preload debugfs
Change-Id: I39820e9d980127396bda60ee08ffb78ed8194e83
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 16 Nov 2015 14:26:17 +0000 (17:26 +0300)]
[FIX] Kprobe: new task_data
Issue:
- Modules aren't built for kernels older than 3.1, cause
there is no jobctl in task_struct.
- Old task_data module mention remained in spec file
Solution:
- Make jobctl using version-dependent
- Remove remained task_data module from spec
Change-Id: Ie7ae6fc2dc38b221c3780846d1c1ca9fd163efaa
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Nov 2015 09:14:53 +0000 (12:14 +0300)]
[FIX] wrong files list in .spec
remove swap_task_data.ko
Change-Id: I73bf96e09533c5a6fee5081a45a83de1efc8b587
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Nov 2015 09:03:19 +0000 (12:03 +0300)]
Merge branch 'for_tizen_2.4' into tizen_2.4_dev
Conflicts:
preload/preload_control.c
Change-Id: Ic0455598c0e156f8dd8fbb937c0320a4e472ddb4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Fri, 13 Nov 2015 07:49:54 +0000 (10:49 +0300)]
[FIX] remove mutex and dput() functions from atomic context
Using mutex in __check_if_instrumented() called from probe handler
leads to BUG "sleeping function called from invalid context",
because probe handler calls from atomic context.
Also we cannot use dput() in atomic context.
Change-Id: I69052c0749f3734e7d4eabf07656a40e4a8f963e
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Fri, 6 Nov 2015 11:51:55 +0000 (14:51 +0300)]
[CLEAN] remove swap_task_data.ko
Change-Id: I6eb7f9327ef96cae66edafea7ef15ec4f6575c50
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Fri, 6 Nov 2015 07:08:08 +0000 (10:08 +0300)]
[FIX] correctly restore original instruction in THUMB mode
Change-Id: I274bfa576ab2be67dffb0dc103b12da2cb248d59
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Thu, 5 Nov 2015 17:01:12 +0000 (20:01 +0300)]
[IMPROVE] use ktd in preload
Remove dependent on task_data
Change-Id: Ib41f74a302a9bcc59e783374a2eaaf1142bc6627
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 5 Nov 2015 11:46:58 +0000 (14:46 +0300)]
[FIX] sending unmap message
move sending messages from the incorrect condition
Change-Id: If12c5157b3cac4d071d92267688aa4a4ab1d057d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Thu, 29 Oct 2015 08:59:22 +0000 (11:59 +0300)]
[IMPROVE] use list for saving target binary
Dynamically changed array is more difficult to implement
and may cause memory errors.
Using the list instead of an array is preferable.
Change-Id: I20b5ce6be161db9b83a89080ff8dc75e99970651
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
(cherry picked from commit
c10e49a445762009aaed62d834d5f96ea6236973)
Vyacheslav Cherkashin [Thu, 29 Oct 2015 13:02:39 +0000 (16:02 +0300)]
Revert "[IMPROVE] ARM: workaround for already running"
This reverts commit
3001e19e1ef5c4545623ec12a04fed64cba90ba2.
Conflicts:
us_manager/helper.c
us_manager/pf/pf_group.c
us_manager/pf/pf_group.h
Change-Id: I1b13b41c68fe61daabc7d7bc9f13c03ff797f270
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Fri, 30 Oct 2015 09:05:07 +0000 (12:05 +0300)]
[FIX] WSP: double free
Issue:
Freeing pointer to the memory that was already freed.
Solution:
Set pointer to NULL after free. kfree(NULL) is safe according
to standart.
Change-Id: I5fd0ceee1078a71d17a44aacb1319b116f5d5c9d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 30 Oct 2015 09:37:27 +0000 (12:37 +0300)]
[FIX] Kprobe: add include to swap_ktd
Issue:
swap ksyms is used in kprobe, but necessary include is lost
Solution:
Add inlcude
Change-Id: Ib3d4fb1a1e95063f724a1bc45e26c63a53d313d0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Anatolii Nikulin [Thu, 29 Oct 2015 08:59:22 +0000 (11:59 +0300)]
[IMPROVE] use list for saving target binary
Dynamically changed array is more difficult to implement
and may cause memory errors.
Using the list instead of an array is preferable.
Change-Id: I20b5ce6be161db9b83a89080ff8dc75e99970651
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Wed, 28 Oct 2015 15:11:02 +0000 (18:11 +0300)]
[FEATURE] already running
use taskctx_run() for installing uprobes to already running processes
Change-Id: I00ce9f057cb2b39175d4d757ccad8112c6cd657e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 22 Apr 2014 19:14:30 +0000 (23:14 +0400)]
[FEATURE] task context for KS
Create functionality for execution function in context either
thread context (only for US threads).
Send fake signal to the thread and catch signal handler.
It make possible to execute function in thread context.
Change-Id: I9eb48dad7dae4658f4452c2c74da7e156bb6d80c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Hyeongsik Min [Thu, 29 Oct 2015 04:48:05 +0000 (13:48 +0900)]
[FIX] Preload: fix slup corruption issue
target_binaries_slots is already updated in
__alloc_target_binaries_no_lock()
Change-Id: Icb8cf149359425ee93bd45c525e036d247b2b752
Signed-off-by: Hyeongsik Min <hyeongsik.min@samsung.com>
Hyeongsik Min [Thu, 29 Oct 2015 04:48:05 +0000 (13:48 +0900)]
[FIX] Preload: fix slup corruption issue
target_binaries_slots is already updated in
__alloc_target_binaries_no_lock()
Change-Id: Icb8cf149359425ee93bd45c525e036d247b2b752
Signed-off-by: Hyeongsik Min <hyeongsik.min@samsung.com>
Alexander Aksenov [Tue, 29 Sep 2015 14:39:11 +0000 (17:39 +0300)]
[IMPROVE] WSP: pass data via debugfs
Webapp path and ewebkit path were hardcoded, now
they are written in wsp debug by manager.
Change-Id: Ia16de26c1db89f791108a44639b9f79ae3dbdca1
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 28 Oct 2015 08:56:56 +0000 (11:56 +0300)]
[FIX] Replace swap-modules.spec
Change-Id: I64d4fba864c3c674af7b70618016b4690b58ba5d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 27 Oct 2015 09:49:14 +0000 (12:49 +0300)]
[FIX] Change .spec file
Change-Id: I220c9385891562161932304c8eec28a2eb3be4aa
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Wed, 7 Oct 2015 14:05:20 +0000 (17:05 +0300)]
[FEATURE] ktask_data implement
Change-Id: I3508a7875d6da6e8e422d6462eaa47bb1385daf1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 13 Oct 2015 15:06:33 +0000 (18:06 +0300)]
[IMPROVE] coordination of the use of the stack
Change-Id: Ib3b0b126ccb651b6cbaab99be0ccb50a9f79d100
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 8 Oct 2015 13:38:44 +0000 (16:38 +0300)]
[FEATURE] swap_td_raw implement
Change-Id: I96939a7710d3ddac969b26c50b0fd507f5b54b47
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Wed, 21 Oct 2015 13:06:59 +0000 (16:06 +0300)]
Merge branch 'tizen_2.4' into tizen_2.4_dev
Change-Id: I9ca9dd85e7c85433c9f4f121f2ef68952cc722ab
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Wed, 21 Oct 2015 07:46:38 +0000 (10:46 +0300)]
[FIX] check probe for uncreated process
Change-Id: I3129b03ab50d8034239cac40a13bf09f5d9718c1
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 18 Aug 2015 13:03:43 +0000 (16:03 +0300)]
[FIX] remove unnessary function uprobe_prepare_singlestep()
Change-Id: Ie9cac13905c4e4c040fa6880e316d3cb1617bc83
Anatolii Nikulin [Thu, 20 Aug 2015 12:05:49 +0000 (15:05 +0300)]
[REFACTOR] add support for manipulating probes depend on probe info
Change-Id: I966f8703051d3f8853fd05e3a68a5049b1a2fe07
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 28 Jul 2015 11:52:32 +0000 (14:52 +0300)]
[FIX] memleak with cdev_alloc()
Change-Id: I23b815dae1bb57b6da4c37bde02c32c63949012b
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Fri, 24 Jul 2015 08:08:51 +0000 (11:08 +0300)]
[REFACTOR] Change probe info implementation
Change-Id: I5731ba88680de367f045b6072edf34ccaf41272c
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Fri, 9 Oct 2015 11:57:46 +0000 (14:57 +0300)]
[FIX] probe_info struct size value setting during creation
Change-Id: If26e8fffa85b0b90386e5a5246b6c3e31a851966
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Thu, 8 Oct 2015 19:13:08 +0000 (22:13 +0300)]
[FIX] Us_manager: memory access on unregister
Previously put_user() lead to a deadlock in kernel
Change-Id: I8f1497225ea76e771003f9f16a18a1efa41235e4
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 1 Oct 2015 13:04:12 +0000 (16:04 +0300)]
[FIX] disarm uretprobe from child process
get_user can be used only if task->mm == current->mm
So for other case let call *_proc_vm_atomic()
Change-Id: I227da7e2ccfcb70fb3dd27b54f5ec4ad1056296e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Wed, 30 Sep 2015 07:50:42 +0000 (10:50 +0300)]
[FIX] remove unnessary spin_lock_irqsave/spin_unlock_irqrestore
Change-Id: If99a0ee36b5033d1e552441ff731da2870ff1ca8
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 29 Sep 2015 13:31:10 +0000 (16:31 +0300)]
[FIX] fix spin lockup
Do not use lock while disarming current proccess
Change-Id: I7d234c5f0d2f5ea28edf8dd17aba315d3271ed58
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 29 Sep 2015 13:23:05 +0000 (16:23 +0300)]
[FIX] error handling for copy from user
swap_msg_flush() should not call if strncpy_from_user() return error
Change-Id: I778abaca7078b4594a3bc1364ed3ef181c174648
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Sat, 26 Sep 2015 16:55:32 +0000 (19:55 +0300)]
[FIX] WSP: change path of web aux process
Change-Id: Ief160a9bc4ee5410e29a202e081cc86d24714ca1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 24 Sep 2015 18:47:57 +0000 (21:47 +0300)]
[FIX] use d_path between path_get()/path_put()
Change-Id: I608bca68742aacdba4456f772cb2e006fc65b72c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>