platform/kernel/swap-modules.git
8 years ago[FIX] application bluetooth consumption estimation
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>
8 years ago[FIX] application wifi consumption estimation
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>
8 years ago[IMPROVE] remove atomic dependence from uprobe handlers
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>
8 years ago[FIX] SVACE issue #27673
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>
8 years ago[IMPROVE] redesigned build.sh
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>
8 years ago[FIX] Wrong check in __get_vma_by_addr()
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>
8 years ago[FIX] unexpected undefined instruction after disarm kprobe
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>
8 years ago[FIX] instrumentation BL and BLX for THUMB2
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>
8 years ago[IMPROVE] B.W instrumentation for THUMB2
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>
8 years ago[IMPROVE] STRD/LDRD instrumentation for THUMB2
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>
8 years ago[CLEAN] remove arch_tramp struct
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>
8 years ago[REFACTOR] Preload: remove unused includes
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>
8 years ago[IMRPOVE] Preload: load and execution in different files
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>
8 years ago[IMPROVE] Preload: split loading and probe execution
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>
8 years ago[STYLE] Preload: shorten names, remove unused code
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>
8 years ago[REFACTOR] Preload: use dentry instead of types
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>
8 years ago[REFACTOR] Preload: separate states on functions
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>
8 years ago[FIX] Prevent Issues
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>
8 years agoMerge "[FIX] deadlock in img_proc_del_ip()" into tizen_2.4_dev
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

8 years ago[FIX] deadlock in img_proc_del_ip()
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>
8 years ago[FIX] use different coefficients for cpu0 and cpuN
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>
8 years ago[IMPROVE] added bluetooth consumption
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>
8 years ago[IMPROVE] added wifi consumption
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>
8 years ago[FIX] webprobe: double free
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>
8 years ago[FIX] Typo in preload_control
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>
9 years ago[IMPROVE] Preload: pass ignored via debugfs
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>
9 years ago[FIX] Kprobe: new task_data
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>
9 years ago[FIX] wrong files list in .spec
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>
9 years agoMerge branch 'for_tizen_2.4' into tizen_2.4_dev
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>
9 years ago[FIX] remove mutex and dput() functions from atomic context
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>
9 years ago[CLEAN] remove swap_task_data.ko
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>
9 years ago[FIX] correctly restore original instruction in THUMB mode
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>
9 years ago[IMPROVE] use ktd in preload
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>
9 years ago[FIX] sending unmap message
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>
9 years ago[IMPROVE] use list for saving target binary
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)

9 years agoRevert "[IMPROVE] ARM: workaround for already running"
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>
9 years ago[FIX] WSP: double free
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>
9 years ago[FIX] Kprobe: add include to swap_ktd
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>
9 years ago[IMPROVE] use list for saving target binary
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>
9 years ago[FEATURE] already running
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>
9 years ago[FEATURE] task context for KS
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>
9 years ago[FIX] Preload: fix slup corruption issue
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>
9 years ago[FIX] Preload: fix slup corruption issue
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>
9 years ago[IMPROVE] WSP: pass data via debugfs
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>
9 years ago[FIX] Replace swap-modules.spec
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>
9 years ago[FIX] Change .spec file
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>
9 years ago[FEATURE] ktask_data implement
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>
9 years ago[IMPROVE] coordination of the use of the stack
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>
9 years ago[FEATURE] swap_td_raw implement
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>
9 years agoMerge branch 'tizen_2.4' into tizen_2.4_dev
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>
9 years ago[FIX] check probe for uncreated process
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>
9 years ago[FIX] remove unnessary function uprobe_prepare_singlestep()
Anatolii Nikulin [Tue, 18 Aug 2015 13:03:43 +0000 (16:03 +0300)]
[FIX] remove unnessary function uprobe_prepare_singlestep()

Change-Id: Ie9cac13905c4e4c040fa6880e316d3cb1617bc83

9 years ago[REFACTOR] add support for manipulating probes depend on probe info
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>
9 years ago[FIX] memleak with cdev_alloc()
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>
9 years ago[REFACTOR] Change probe info implementation
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>
9 years ago[FIX] probe_info struct size value setting during creation
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>
9 years ago[FIX] Us_manager: memory access on unregister
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>
9 years ago[FIX] disarm uretprobe from child process
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>
9 years ago[FIX] remove unnessary spin_lock_irqsave/spin_unlock_irqrestore
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>
9 years ago[FIX] fix spin lockup
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>
9 years ago[FIX] error handling for copy from user
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>
9 years ago[FIX] WSP: change path of web aux process
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>
9 years ago[FIX] use d_path between path_get()/path_put()
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>
9 years ago[FIX] add proc_probes_list usage synchronization
Vyacheslav Cherkashin [Thu, 24 Sep 2015 18:45:25 +0000 (21:45 +0300)]
[FIX] add proc_probes_list usage synchronization

Change-Id: I0422bbc212db8f63d7ee61ec703b5fc104af0b24
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[IMPROVE] call uprobe handler from specific context (for ARM)
Vyacheslav Cherkashin [Thu, 24 Sep 2015 18:35:09 +0000 (21:35 +0300)]
[IMPROVE] call uprobe handler from specific context (for ARM)

Uprobe handler will be called from context specified by atomic_ctx.

Change-Id: I325e6f1c96c8e009c39bfe9ba926683db7cb0ffa
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[FIX] check return of set_kjump_cb() for error
Vyacheslav Cherkashin [Thu, 24 Sep 2015 18:17:04 +0000 (21:17 +0300)]
[FIX] check return of set_kjump_cb() for error

Correctly process set_kjump_cb() errors.

Change-Id: I8d486e2e62f61cdd94d4aebe0eadaa9a20eabc78
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[REFACTOR] remove unnecessary warning
Vyacheslav Cherkashin [Thu, 24 Sep 2015 18:10:47 +0000 (21:10 +0300)]
[REFACTOR] remove unnecessary warning

this waning is redundand

Change-Id: Ia86d62c4ffa9dc7e4e97cc8f8f680fdc28364bf2
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[FIX] kprobe and kretprobe disarming synchronization
Vyacheslav Cherkashin [Thu, 24 Sep 2015 18:01:00 +0000 (21:01 +0300)]
[FIX] kprobe and kretprobe disarming synchronization

Guarantee that other CPUs not handle breakpoints right now.

Change-Id: Ida84022387285ab71938f5f679d47a8a45a62d01
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[FIX] uprobe: memory access to US for x86
Vyacheslav Cherkashin [Thu, 24 Sep 2015 15:33:49 +0000 (18:33 +0300)]
[FIX] uprobe: memory access to US for x86

Change-Id: Ib24db9b392855a82ace15dfe282119c1047e4470
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[FIX] task_data: sync register/unregister probes
Vyacheslav Cherkashin [Thu, 24 Sep 2015 09:59:39 +0000 (12:59 +0300)]
[FIX] task_data: sync register/unregister probes

Change-Id: I2056a4895f21c3a319e6ce3b4710f5ae5bd47845
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[FIX] do not call dlopen in libpthread and libsmack
Anatolii Nikulin [Thu, 17 Sep 2015 20:43:22 +0000 (23:43 +0300)]
[FIX] do not call dlopen in libpthread and libsmack

Change-Id: I4e739c2c9224e7e65dd2d7af4d4429868e941efb
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
9 years agoRevert "[STYLE] Fix mr_pre_handler"
Vyacheslav Cherkashin [Wed, 23 Sep 2015 14:09:15 +0000 (17:09 +0300)]
Revert "[STYLE] Fix mr_pre_handler"

This reverts commit f9b31b54d415a5c6eb930fce04695dbdefbfce9b.

Change-Id: I8a4ffeaa7fa0e06cfbaf68b29c3e91d3f880c9b9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
9 years ago[STYLE] Fix __do_usm_stop
Dmitry Kovalenko [Mon, 14 Sep 2015 14:27:45 +0000 (17:27 +0300)]
[STYLE] Fix __do_usm_stop

Change-Id: I4f080d3b239b2107dba1cf9bf426cdb1767a808c

9 years ago[STYLE] Fix mr_pre_handler
Dmitry Kovalenko [Mon, 14 Sep 2015 14:27:09 +0000 (17:27 +0300)]
[STYLE] Fix mr_pre_handler

Change-Id: I13ea53ea42082d1cfc9e4201b6731b6672bb2b32

9 years ago[STYLE] Fix preload_threads_get_drop
Dmitry Kovalenko [Mon, 14 Sep 2015 12:31:40 +0000 (15:31 +0300)]
[STYLE] Fix preload_threads_get_drop

Change-Id: If63f4874ff48ebe1f57221667a194d70c1a6bf15

9 years ago[FIX] kernel panic on second DA start
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>
9 years ago[FIX] Task_data: helper probe reg/unreg
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>
9 years ago[FIX] Preload: sync in atomic
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>
9 years ago[FIX] Preload: memory allocation in atomic
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>
9 years ago[FIX] Preload: context fix
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>
9 years ago[FIX] US Manager: kmalloc GFP flag
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>
9 years ago[FIX] Define breakpoint instruction size for ARM/Thumb modes
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>
9 years ago[FIX] Acquire/release reference to the task in sspt_proc
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>
9 years ago[FIX] Synchronize completion of US profiling
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>
9 years ago[FIX] Take mmap_sem on urp disarming in mm_release
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>
9 years ago[FIX] Move urp disarming from atomic context on mm_release
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>
9 years ago[IMPROVE] Do not call cb_clean_child on non instrumented process
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>
9 years ago[FIX] Remove masking oops_in_progress
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>
9 years ago[FIX] preload library
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>
9 years ago[FIX] mmap allocation atribute
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>
9 years ago[FIX] Preload: dentry balance counter
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>
9 years ago[FIX] Add chunk_init result checking
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>
9 years ago[FIX] Add default case in swap_put_uarg switch(...) {}
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>
9 years ago[FIX] Use GFP_ATOMIC flag for pl_struct allocation
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>
9 years ago[FIX] sspt_filter handling
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>
9 years ago[FIX] stop message handling in us_manager
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>
9 years ago[FIX] Use stop_machine to disarm kretprobe_instance
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>
9 years ago[FIX] Move call_mm_release invocation out of atomic context
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>
9 years ago[FIX] Allocate uretprobe_instance with correct gfp flag
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>
9 years ago[FIX] Workaround to skip page faults from Preload
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>