kernel/swap-modules.git
8 years ago[FIX] interrupt checking from exception (for x86) 23/75623/3
Vyacheslav Cherkashin [Mon, 20 Jun 2016 15:23:04 +0000 (18:23 +0300)]
[FIX] interrupt checking from exception (for x86)

In LINUX_VERSION_CODE >= 4.0.0 exception handlers wrapped with ist_enter()
and ist_exit() where preempt_count is incremented and decremented, so we
cannot determine interruptable state.

Solution: mask HARDIRQ_OFFSET bit.

Change-Id: If961547e3221ec27157ebc0c993f2a7a3c0e8605
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] incorrect searching module_free() symbol 83/75583/2
Vyacheslav Cherkashin [Mon, 20 Jun 2016 12:47:50 +0000 (15:47 +0300)]
[FIX] incorrect searching module_free() symbol

Change-Id: I5e7fa85966ca9a2ac078ef3a3cbc219e6c451d1f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] modules loading for kernel 4.4 71/75271/4
Anatolii Nikulin [Fri, 17 Jun 2016 07:57:30 +0000 (10:57 +0300)]
[FIX] modules loading for kernel 4.4

Change-Id: I97bd9063f19ccead6579440f8f263190c34fa578
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
8 years ago[FIX] build for TV emulator 06/76006/1
Dmitry Kovalenko [Wed, 22 Jun 2016 09:26:23 +0000 (12:26 +0300)]
[FIX] build for TV emulator

Change-Id: I2f52d6b6a6d7f933bbed650d02f8e832a9e99c72
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
8 years ago[IMPROVE] add kprobe tests 67/74067/2
Vyacheslav Cherkashin [Fri, 10 Jun 2016 14:09:58 +0000 (17:09 +0300)]
[IMPROVE] add kprobe tests

Change-Id: Iabb57b18b81452a58cc07b64169e897e24ff0636
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] kretprobe disarming on x86 platform 66/74066/2
Vyacheslav Cherkashin [Fri, 10 Jun 2016 13:26:54 +0000 (16:26 +0300)]
[FIX] kretprobe disarming on x86 platform

Now swap_kernel_sp() is to be used in kprobe handlers instead
of kernel_stack_pointer() to get the stack pointer.

Change-Id: Ida8c02ab82f3754d7a0d9b32bbfbc0dfe8e347e1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[REFACTOR] divide kprobe tests module 65/74065/2
Vyacheslav Cherkashin [Thu, 9 Jun 2016 12:50:26 +0000 (15:50 +0300)]
[REFACTOR] divide kprobe tests module

Change-Id: I34dabc4072e385a1a504fe2dbb3a55ceb29a1c37
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] __switch_to for ARM 29/73329/3
Vyacheslav Cherkashin [Mon, 6 Jun 2016 19:01:35 +0000 (22:01 +0300)]
[FIX] __switch_to for ARM

Change-Id: I6e0a18d2f73d80260e02eeb5d5817ff0f953c827
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] __switch_to for x86 28/73328/3
Vyacheslav Cherkashin [Fri, 3 Jun 2016 15:57:22 +0000 (18:57 +0300)]
[FIX] __switch_to for x86

In order not to miss calls __switch_to() we use special flags (which
are stored in the stack). These flags we set when enter __switch_to and
reset when return from __switch_to. If flags have been set we use
PER_CPU (exclusive for __switch_to) to store temporary values.

To identify __switch_to kretprobe we set SWITCH_TO_RP flag to next
executing process. And reset this flag in trampoline_probe_handler().

Change-Id: Id86e40853755bf9acdde642df8a7db337440e1db
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] call kprobe from IRQ context (x86) 27/73327/2
Vyacheslav Cherkashin [Thu, 2 Jun 2016 08:48:43 +0000 (11:48 +0300)]
[FIX] call kprobe from IRQ context (x86)

If kprobe is called from IRQ context, we call handler in current
context and use PER_CPU to store temporary values.

Otherwise, we jump to exec_trampoline to call handler in process
context and use stack (swap_ktd) to store temporary values.

Change-Id: If377dbb02a47e9ae03f44d426f74b7ce8a40bb6f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] use version independant path for emulator-kernel 76/73376/1
SeokYeon Hwang [Wed, 8 Jun 2016 02:25:28 +0000 (11:25 +0900)]
[FIX] use version independant path for emulator-kernel

Change-Id: I750453fae3063716665f90472f45a7b9d733517a
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
8 years ago[IMPROVE] kernel with version > 4.0.0 support 50/72450/3
Anatolii Nikulin [Wed, 1 Jun 2016 05:43:12 +0000 (08:43 +0300)]
[IMPROVE] kernel with version > 4.0.0 support

Change-Id: I185a64e561b85dca01f327ac0db52f5d4e8752b5
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
8 years ago[FIX] NULL pointer dereference 45/72045/1
Vyacheslav Cherkashin [Wed, 25 May 2016 19:35:59 +0000 (22:35 +0300)]
[FIX] NULL pointer dereference

Change-Id: I679432eb9ecfbef7c2368ca9420f09c54c52ebcd
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] Svace issues 68/71468/1
Anatolii Nikulin [Wed, 25 May 2016 11:35:25 +0000 (14:35 +0300)]
[FIX] Svace issues

|-------------------------------------------------------|
| WGID  | Type                      | File              |
|-------------------------------------------------------|
| 27672 | STATIC_OVERFLOW.SCANF     | wsp/wsp_debugfs.c |
|-------------------------------------------------------|

Change-Id: I97ce0a3755bdbc20c67c7a9a1a813c25e7547e65
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
8 years agoMerge branch 'tizen_2.4_dev' into tizen 69/70169/1
Dmitry Kovalenko [Wed, 18 May 2016 11:22:01 +0000 (14:22 +0300)]
Merge branch 'tizen_2.4_dev' into tizen

Change-Id: I2ca10946582bb778756f4e6a2fd265966839e805

8 years ago[FIX] Skip fixup do_page_fault for x86 11/70011/2 tizen_2.4_dev
Vyacheslav Cherkashin [Mon, 16 May 2016 11:46:20 +0000 (14:46 +0300)]
[FIX] Skip fixup do_page_fault for x86

Change-Id: I199e8a4c685804bbae602f1680cca310233a2255
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[IMPROVE] add kprobe tests 41/69641/3
Vyacheslav Cherkashin [Mon, 16 May 2016 08:28:35 +0000 (11:28 +0300)]
[IMPROVE] add kprobe tests

Change-Id: I8f89454a43ca725bfbad01163c224321c5937c3b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[CLEAN] remove kjumper 40/69640/3
Vyacheslav Cherkashin [Fri, 13 May 2016 07:59:32 +0000 (10:59 +0300)]
[CLEAN] remove kjumper

Change-Id: I9ec339052737f62c38d08587b98cf355e8a7764c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[IMPROVE] remove atomic context from kprobe handler 23/69323/4
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>
8 years ago[FIX] Loader: dentry get/put balance 06/70006/3
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>
8 years ago[IMPROVE] take out swap_unregister_kprobe() from atomic context 22/69322/2
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>
8 years ago[FIX] double call swap_unregister_kretprobe() 21/69321/2
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>
8 years ago[IMPROVE] call kprobe handlers at current context (for x86) 20/69320/2
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>
8 years agoMerge branch 'tizen_2.4_dev' into tizen 62/70162/1
Dmitry Kovalenko [Tue, 17 May 2016 14:58:39 +0000 (17:58 +0300)]
Merge branch 'tizen_2.4_dev' into tizen

Change-Id: Ia6a12395c6f82ee2131de1edf9d3e8990238f0f5

8 years ago[IMPROVE] remove preemption disabling from kprobe 19/69319/2
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>
8 years ago[IMPROVE] remove PER_CPU variables from kprobe 18/69318/2
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>
8 years ago[IMPROVE] Add target-circle support 98/69598/2
Dmitry Kovalenko [Mon, 16 May 2016 05:20:58 +0000 (08:20 +0300)]
[IMPROVE] Add target-circle support

Change-Id: I7d3f91c74a6359871df7334f4ef481de2b24df60

8 years ago[FIX] Removed arm-wayland target from spec 97/69597/1
Dmitry Kovalenko [Mon, 16 May 2016 05:17:57 +0000 (08:17 +0300)]
[FIX] Removed arm-wayland target from spec

Change-Id: I1435b47bb3ad7fdfd0d5d3fc0b0f3f474d424bda

8 years ago[STYLE] Indent size changed in spec 4 -> 2 96/69596/1
Dmitry Kovalenko [Mon, 16 May 2016 05:15:33 +0000 (08:15 +0300)]
[STYLE] Indent size changed in spec 4 -> 2

Change-Id: Ib64e1226a1fbb4072a90fbeb9a044b33409f3cf2

8 years ago[FIX] Build for device 75/69475/1
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>
8 years ago[FIX] Build for Tizen TV. Spec changed 04/69004/2
Dmitry Kovalenko [Wed, 11 May 2016 05:23:41 +0000 (08:23 +0300)]
[FIX] Build for Tizen TV. Spec changed

Change-Id: Id75db8ed2a70940d5ff7dcb2f803f64112314123
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
8 years ago[FEATURE] UI Viewer implementation 68/45268/18
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>
8 years ago[REFACTOR] Loader separated from preload 65/59065/4
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>
8 years ago[FIX] Added missing include 91/67891/1
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>
8 years ago[STYLE] Change "usuported repo" error generation 53/67153/1
Dmitry Kovalenko [Mon, 25 Apr 2016 10:20:12 +0000 (13:20 +0300)]
[STYLE] Change "usuported repo" error generation

Change-Id: I8c48f85429ae9259e46ed2fe52da6dfa5a0eaaf5

8 years ago[FIX] Build for wearable emulator and TM1 01/67101/1
Dmitry Kovalenko [Mon, 25 Apr 2016 07:42:52 +0000 (10:42 +0300)]
[FIX] Build for wearable emulator and TM1

Change-Id: I8ec4e222b3fc340787696d908d7246588aa948a2

8 years ago[FIX] warning in ktd_exit() 95/66595/2
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>
8 years ago[FIX] Build for arm-wayland and emulator32 03/67003/1
Dmitry Kovalenko [Fri, 22 Apr 2016 12:08:15 +0000 (15:08 +0300)]
[FIX] Build for arm-wayland and emulator32

Change-Id: Ie0d3f24e04412078002240572c9c3ffcae42c86d
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
8 years ago[FIX] sspt_proc struct double put 94/66594/1
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>
8 years ago[FIX] Preload: implement automatic ARM <-> THUMB mode switch 07/66407/1
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>
8 years ago[FIX] sspt_ip usage after removing 61/66161/3
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>
8 years ago[IMPROVE] synchronize usage of img_file.ips.head 24/65724/3
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>
8 years ago[IMPROVE] synchronize usage of sspt_file.htable.heads 23/65723/3
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>
8 years ago[IMPROVE] synchronize usage of sspt_proc.files.head 22/65722/3
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>
8 years ago[FIX] race condition when use sspt_proc 21/65721/2
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>
8 years ago[CLEAN] Remove unused code 20/65720/2
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>
8 years ago[IMPROVE] Remove atomic context usage in uretprobe handlers 53/65353/4
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>
8 years ago[IMPROVE] Remove atomic context usage in sspt_page_*() 52/65352/3
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>
8 years ago[IMPROVE] storing sspt_proc in group_leader's stack 51/65351/2
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>
8 years ago[IMPROVE] remove atomic context for img_proc.filse 68/64468/3
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>
8 years ago[IMPROVE] remove atomic context for sspt_proc.filter 67/64467/3
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>
8 years ago[IMPROVE] remove atomic context for pfg_list 66/64466/3
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>
8 years ago[REFACTOR] naming in img_* 65/64465/3
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>
8 years ago[REFACTOR] naming in sspt_* 64/64464/2
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>
8 years ago[IMPROVE] Modern kernels (> 3.16) support 93/64893/4
Alexander Aksenov [Wed, 28 Oct 2015 18:43:12 +0000 (21:43 +0300)]
[IMPROVE] Modern kernels (> 3.16) support

Issue:
Great amount of changes in kernel interface, differences
between arch-dependent symbols and definitions.

Solutions:
- Add necessary includes and definitions for
getnstimeofday() (changed interface and declaration location);
- Replace f_dentry with f_path.dentry (f_dentry definition was
removed);
- Replace instruction_pointer() definition with regs->pc for ARM64
(it is casted to unsinged long, so, is treated as simple number);
- Replace hlist_add_after() by version-dependent definition
(now it is hlist_add_behind() in kernel);
- Replace dereference of task->real_start_time with definition
(on recent kernels its type was changed);
- Redefined __get_cpu_var() for modern kernels
(it was removed from kernel);
- Make kernel version-dependent .map/.unmap methods for
pipe_buf_operations;
- Add necessary include for using splice.h;
- Replace strict_strtoul() with kstrtoul() (strict_strtoul()
was removed);

Change-Id: Id4d5ca4f809b6e13f18614bc0266d6f54d4c47fd
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
8 years ago[FIX] nsp: sleeping function called from atomic context 89/64189/1 SRR_20160331
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>
8 years ago[FIX] Preload: implement automatic ARM <-> THUMB mode switch 37/63537/1
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>
8 years ago[FIX] set correct CPU mode 36/63536/1
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>
8 years ago[FIX] set correct CPU mode 45/59245/2
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>
8 years agoMerge branch 'tizen_2.4_dev' into tizen 02/59202/2
Vyacheslav Cherkashin [Wed, 10 Feb 2016 12:21:15 +0000 (15:21 +0300)]
Merge branch 'tizen_2.4_dev' into tizen

Conflicts:
preload/preload_storage.c

Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Change-Id: I28203dee54e9222aa10bab2d4256fcd784d55169

8 years ago[FIX] inserting preload module 56/59056/1
Vyacheslav Cherkashin [Tue, 9 Feb 2016 11:39:11 +0000 (14:39 +0300)]
[FIX] inserting preload module

Change libsmack.so path.

Change-Id: Ide85c64d0b3fbfa410be842d625f1f2beb5d34e6
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[FIX] synchronizing of unregister_uprobe() 64/58964/1
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>
8 years ago[3RDPARTY] Add wait_on_atomic_t() and wake_up_atomic_t() 63/58963/1
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>
8 years ago[CLEAN] remove unused legacy code 62/58962/1
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>
8 years ago[IMPROVE] split into uprobe core handlers (for x86) 61/58961/1
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>
8 years ago[IMPROVE] call uprobe handlers from non-atomic context (for x86) 69/57669/4
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>
8 years ago[IMPROVE] call uprobe handlers from non-atomic context (for ARM) 61/55361/3
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>
8 years ago[FIX] add linker and loader binaries to ignored list 54/58354/1
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>
8 years ago[FIX] application bluetooth consumption estimation 28/55828/2
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 85/55785/3
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 86/55186/4
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 00/55200/2
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 94/54594/3
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() 18/55118/1
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 08/54708/2
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 05/54505/2
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 55/54455/3
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 20/53420/3
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 19/53419/2
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 92/54092/7
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 91/54091/7
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 90/54090/5
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 89/54089/2
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 88/54088/2
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 87/54087/1
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 76/53976/1
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 tizen_2.4_uihv
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() 57/52757/3
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 99/52599/3
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 65/42965/5
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 67/41867/17
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 91/52691/1
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 69/52469/1
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>
8 years ago[FIX] build for tizen_3.0 13/52313/2 submit/tizen/20151123.110932
Vyacheslav Cherkashin [Fri, 20 Nov 2015 17:52:23 +0000 (20:52 +0300)]
[FIX] build for tizen_3.0

support:
- target TM1

Change-Id: I22dd46165f19d672c24cdd55e4d1bb445e91737d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
8 years ago[IMPROVE] Preload: pass ignored via debugfs 63/51863/7
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>
8 years ago[FIX] Kprobe: new task_data 62/51862/3
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>
8 years ago[FIX] wrong files list in .spec 22/52022/1
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>
8 years agoMerge branch 'for_tizen_2.4' into tizen_2.4_dev 20/52020/1
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>
8 years ago[FIX] remove mutex and dput() functions from atomic context 31/51731/3
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>
8 years ago[CLEAN] remove swap_task_data.ko 19/51319/3
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>