Vyacheslav Cherkashin [Mon, 10 Apr 2017 08:20:54 +0000 (11:20 +0300)]
Fix kernel crash after second instrumentation start
Change-Id: If6350f807192b6e4fc7612ccc5592dc720f9d99b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Fri, 14 Apr 2017 12:33:14 +0000 (15:33 +0300)]
Fix name conflict with kprobe (trampoline_handler)
Change-Id: I1daba9f3ff06ea7dcbf960c6f519d8251c747701
Dmitry Kovalenko [Tue, 7 Mar 2017 07:40:00 +0000 (10:40 +0300)]
Set static values to NULL after use
In case of built-in mode these variables should be reinitialized
otherwise it leads to double put_dentry
Change-Id: I0002c6186c9fcafa811bb8c48ccbc8d5137c7e4b
Alexander Aksenov [Thu, 13 Apr 2017 11:43:37 +0000 (14:43 +0300)]
ARM64: fix preload probes handling on ARM32
On ARM64 architecture when probes that changes program workflow
are installed on Thumb instructions and these probes are handled
by ARM32 functions, return jump was of Thumb's origin (as original
function) and this has led to application failure.
Change-Id: I5201ecd15b3f988c0e05fb9ec10923c98fefbf1b
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 13 Apr 2017 11:42:45 +0000 (14:42 +0300)]
Code style fix
Change-Id: Ib271fa4a2439c873938ce0469570e95ec4398462
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 2 Mar 2017 09:24:07 +0000 (12:24 +0300)]
Make shared get/put dentry functions in SWAP dependencies
Change-Id: I0d15391cad845cad349675f5cfbeadc1e85ffd2d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vitaliy Cherepanov [Thu, 9 Feb 2017 15:14:41 +0000 (18:14 +0300)]
Merge branch 'tizen_3.0' into tizen_3.0_dev
Change-Id: Iecc2b00e6e76ae08fae7d0ab2157e451b291d883
Vyacheslav Cherkashin [Fri, 27 Jan 2017 17:11:00 +0000 (20:11 +0300)]
ARM64: add support aarch64 mode to kmem_info_fill()
Change-Id: I521c3099861cf9fcd0b4b738dda06cceba421ef4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Jan 2017 15:32:29 +0000 (18:32 +0300)]
loader: port to ARM64
Change-Id: Idf1934fc60d18d7be150b51ae51f5943c8b2a61b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Jan 2017 15:28:23 +0000 (18:28 +0300)]
uprobe: increase memory size allocated for uretprobe.data (ARM64)
Change-Id: Ic42d46386bd9e255fc7c08efdb2cf72ebafa03a5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Jan 2017 15:09:34 +0000 (18:09 +0300)]
loader: fix incorrect regs struct copy
Change-Id: Iba47c80ab77651e792e678bc00c460d920f14a36
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Jan 2017 15:05:35 +0000 (18:05 +0300)]
loader: use r_state instead of r_debug in debugfs
Change-Id: Ib0f887d99225c66c2f799d47f0eeaf5e294ce29e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Jan 2017 12:42:48 +0000 (15:42 +0300)]
ARM64: implement functionality for set/get pc and lr
Change-Id: I76f17020adf2cd344e0129cbe0e39de5274b6c32
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 18 Jan 2017 09:32:57 +0000 (12:32 +0300)]
Implement funtions for kernel/user data access
for kernel space:
- swap_get_kpc
- swap_set_kpc
for user space:
- swap_get_upc
- swap_set_upc
- swap_get_uret_addr
- swap_set_uret_addr
Change-Id: I9014addba8b219803ba33c41c2a3c051b626c1a9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 1 Nov 2016 12:03:11 +0000 (15:03 +0300)]
ARM64: Port swap_msg_pack_args() to 64-bits
Change-Id: If990d2d7f0a61838b141d7f9db45f19b9630900e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 1 Nov 2016 11:34:32 +0000 (14:34 +0300)]
uprobe: reimplement uprobe and uretprobe for aarch64
Changes:
1. Identify which architecture is used we use most significant bit
for detect the aarch64 addresses.
+--+--+--+--+---+--+--+--+--+
|63|62|61|60|...| 3| 2| 1| 0| - address
+--+--+--+--+---+--+--+--+--+
| 0| x| x| x| | x| x| x| x| - aarch32
| 1| x| x| x| | x| x| x| x| - aarch64
+--+--+--+--+---+--+--+--+--+
2. Now we make trampoline during registering uprobe on process.
Change-Id: Ic56ac9415a636cc740b2a4d1755795453c977629
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 5 Sep 2016 11:47:21 +0000 (14:47 +0300)]
Change type to static
-struct ktask_data ktd = {
+static struct ktask_data ktd = {
Change-Id: I760f95898aa870378dad2e3e9f3d81181c6e0fb1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 29 Aug 2016 08:31:59 +0000 (11:31 +0300)]
Fix double removing element form proc_probes_list
Change-Id: I6a57f07eb2aeb41836dc69c2579ffa8ce1bfac9f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 31 Aug 2016 18:46:23 +0000 (21:46 +0300)]
Add swap_access_process_vm() for CONFIG_ARM64
Change-Id: I6b1474a024e076fbbe9d88197874c5c2342c9aaf
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 29 Aug 2016 13:05:19 +0000 (16:05 +0300)]
ARM64: add uretprobe messages support (for aarch32)
Change-Id: If343f326f6f5ab49fead997c13c05e2f9c61ccad
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 19 Aug 2016 12:48:16 +0000 (15:48 +0300)]
ARM64: Add kernel shared memory area addresses (for aarch32)
Change-Id: I9615b70a5f5043ba19f7ce3e01f15a9b57e403a9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 20 Jul 2016 11:15:51 +0000 (14:15 +0300)]
add compat support to swap_driver
Change-Id: Ie81615bbbb213a31dc6f113d699778cd0e981d6c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 12 Jul 2016 11:49:36 +0000 (14:49 +0300)]
ARM64: implement uretprobe for aarch32 mode
Change-Id: I7719016204699bc0378175772d6750b9766bde96
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 9 Aug 2016 20:04:16 +0000 (23:04 +0300)]
ARM64: implement uprobe for aarch32 mode
Change-Id: I518e8c528ee2eb455e7d6ffba4942a111928a79e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 11 Jul 2016 13:55:08 +0000 (16:55 +0300)]
ARM: use trampoline in binary code instead asm
Make for preparing to port on ARM64 because aarch64-compiler
can not compile ARM code.
Change-Id: I38b1ad059e89f7090d46232c8ec64e513fc6e261
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 8 Jul 2016 18:02:13 +0000 (21:02 +0300)]
ARM: prepare decoding ARM instruction for use in ARM64
Change-Id: Ie1244c5336270b02e31785eef828d6e1f98c59d5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 8 Jul 2016 15:08:23 +0000 (18:08 +0300)]
uprobe: move 'insn' field from arch dependents
Change-Id: I5cfd885683ed9ae8269a8f33a54d9d629118ea2d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 8 Jul 2016 14:46:36 +0000 (17:46 +0300)]
ARM: replace values types
unsigned short -> u16
unsigned long -> u32
long -> s32
Change-Id: I19d5ffab2178862d83727cfa35849c26d1f4dc36
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 8 Jul 2016 07:47:21 +0000 (10:47 +0300)]
ARM: separate instructions decoding
move ARM instruction decoding (kprobe -> probes)
move THUMB instruction deconding (uprobe -> probes)
Change-Id: Ief70952068b9a607d675ea797b186605e5b8950b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 1 Jul 2016 18:48:20 +0000 (21:48 +0300)]
ARM64: implement uretprobe
Change-Id: I9775576f8901eac71e62356ee0ae56942f1e5406
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 3 Mar 2014 11:22:30 +0000 (15:22 +0400)]
ARM64: implement uprobe
Change-Id: I350fac0dc590be63a2cbeef6fa8c6a8bb7d1086f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Fri, 1 Jul 2016 14:36:06 +0000 (17:36 +0300)]
Add dentry_get()/dentry_put()
Change-Id: Ida2003a217d7de0cdf9c001e211f51185e8ec930
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 1 Jul 2016 12:40:03 +0000 (15:40 +0300)]
ARM64: create jumper
Change-Id: I5eab4cd515d0a64cd8991d779811644f98a14c65
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 13 Oct 2016 17:15:40 +0000 (20:15 +0300)]
ks_feature: fix memory corruption
Change function arguments order.
Change-Id: I8ec95c4b359f2452a20ea88b17cefaaf88656f05
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 13 Oct 2016 17:07:48 +0000 (20:07 +0300)]
ks_feature: fix memory allocation size
Correct memory allocation size for kretprobe pointers array.
Change-Id: Ic5fa0582936a59730cacd2f7fa889927971fbd49
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 13 Feb 2014 18:46:01 +0000 (22:46 +0400)]
ARM64: implement kretprobe
Change-Id: I1616fce545b816d7a537ca2a3b0a55fb9f482cbc
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 12 Feb 2014 11:19:50 +0000 (15:19 +0400)]
ARM64: implement kprobe
implementation is taken from Linaro kernel
Change-Id: I47a33512920956fbb2e9653c1d27c0bc6c81035a
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 20 Feb 2014 13:21:49 +0000 (17:21 +0400)]
ARM64: implement brk hook
Create interface for using software breakpoint
Change-Id: Ic080dc6f79746c9cadacd336facdef49557aaa01
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 7 Feb 2014 11:25:29 +0000 (15:25 +0400)]
ARM64 initial version
use dummy for arch dependent functions
Change-Id: Ib63a5efc58ec36f362c688213196e46416d41e6b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Mon, 30 Jan 2017 09:34:14 +0000 (12:34 +0300)]
Merge branch 'tizen_3.0' into tizen
Change-Id: I714519a0c9104399631c309cbff5ddcd5687fac6
Vitaliy Cherepanov [Wed, 25 Jan 2017 15:32:07 +0000 (18:32 +0300)]
Fix sspt page and img ip lists synchronization.
Change-Id: I54adf48a0acd57578306ba609a9d38239938ff5c
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vyacheslav Cherkashin [Fri, 11 Nov 2016 17:53:46 +0000 (20:53 +0300)]
loader: Replace outdated interface
Change functions:
swap_get_arg() --> swap_get_uarg()
swap_set_arg() --> swap_put_uarg()
Change-Id: Ia667b2d56fdfd730a4c864482aced52f7d5579f4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 11 Nov 2016 17:43:57 +0000 (20:43 +0300)]
loader: Remove unused code
Change-Id: Ic71e40a93e64ac98e27c46af1a6266265061fd9f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 7 Feb 2014 10:29:13 +0000 (14:29 +0400)]
energy: remove arch dependency code
using swap_get_sarg() instead of get_arg0()
Change-Id: I164aaf9e47035e90e2119b16e848d6ae8b023630
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Thu, 18 Aug 2016 12:35:10 +0000 (15:35 +0300)]
Energy: Support new function names in new kernel
sock_aio_read/write -> sock_read/write_iter
Change-Id: I868d148ed380417a5a93e35b8928093b236ab192
Dmitry Kovalenko [Thu, 22 Dec 2016 12:21:42 +0000 (15:21 +0300)]
loader: fix error: 'LOADER_CALLER' defined but not used
Change-Id: If342b77f0dccf76c0cc8f4c4e6ac4767ad0bdf50
Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
Dmitry Kovalenko [Wed, 14 Dec 2016 04:29:04 +0000 (07:29 +0300)]
Fix SVACE issue: Null pointer dereference
Change-Id: I879fa8a0f64db4e98b7464b3b8278055c7ed2efa
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Tue, 6 Dec 2016 15:16:18 +0000 (18:16 +0300)]
Add setup buffer via debugfs
Change-Id: I01c749ff0e920530e5bc1579acfd901177aa9f82
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 6 Dec 2016 15:04:58 +0000 (18:04 +0300)]
Add get/set callbacks for debugfs
Change-Id: I9446ebe3aefa9e21655c96a7d163348e605d8c74
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Wed, 7 Dec 2016 14:08:33 +0000 (17:08 +0300)]
Fix pte_offset_map() result checking
Svace issue
Change-Id: Ia9ae564c86555ef5434eccdbb3dd51c60a8676f0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 25 Nov 2016 16:02:42 +0000 (19:02 +0300)]
Uprobe: fix NULL dereference on x86
When uprobe_handler_part2() is called, it dereferences
pre_handler callback without any check, but
uprobe_handler_part2() is called itself from
uprobe_handler_atomic() when pre_handler is NULL.
Change-Id: Ia4cdbdc20c50aa3d891c790eea3545da06506f47
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 1 Dec 2016 10:49:22 +0000 (13:49 +0300)]
Fix BUG() with spm_processor_id()
Use raw_smp_processor_id() instead. If CONFIG_DEBUG_PREEMPT is enabled,
spm_processor_id() is defined as debug_smp_processor_id() which should
be called only in atomic context.
Change-Id: I039f2c0b50bb319a5473a2823db68984bedfe2fe
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Thu, 1 Dec 2016 12:12:10 +0000 (15:12 +0300)]
Fix race condition while we unregister uprobes
When we stop profiling, da_manager and profiling application may
unregister the same probe simultaneously.
Change-Id: I81d4e02fa97f27215ebf321e6c58896ec761ce2a
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Wed, 30 Nov 2016 14:56:21 +0000 (17:56 +0300)]
Fix releasing pf_group
release pf_group reference when we disable web profiling
Change-Id: Ibe37acd7c0e479c72749a4d875bf94f1798d2a34
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Wed, 30 Nov 2016 14:20:10 +0000 (17:20 +0300)]
Rework Web startup profiling
1) change function names
2) rework resources API,
3) remove unused code
4) fix code style
Change-Id: I3aadd3185c49d4247668000494b6f45341a2ef98
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Alexander Aksenov [Wed, 30 Nov 2016 10:04:17 +0000 (13:04 +0300)]
Fix aggrigated uprobes handling
Issue:
When aggrigated uprobe is executed, it never correctly returns
from trampoline_uprobe_handler's retprobe_instance list iteration
if it was called inside anther profiled function.
Solution:
It happened, because break condition was never satisfied: first
time because orig_ret_addr == tramp_addr, all other times because
p, which is pointer to the first uprobe, is not equal to up, which
is other probes related uprobe.
So, this fix removes p and up comparsion as a mistake.
Change-Id: I9979b1fc113c7c0f204a8d20e69dd4bce30127cd
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Fri, 25 Nov 2016 12:02:15 +0000 (15:02 +0300)]
webprobe: fix web messages sending
Fix parameters getting and strings packing.
Change-Id: I26d2f2df86cf17da7246a8e02faa362120745eec
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 24 Nov 2016 09:04:07 +0000 (12:04 +0300)]
writer: reduce atomic context usage in swap_msg
Usage pool buffer in swap_msg. If pool buffer is empty,
per_cpu buffer will be used which lead atomic context.
Change-Id: Ica59721ed12ae74bda1bc486b6dfe1928e0c1f1f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 24 Nov 2016 08:53:24 +0000 (11:53 +0300)]
writer: replace printk() by pr_*()
Change-Id: I3ba7a526ef156eb9c5ced9392eea0705655cf816
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 23 Nov 2016 16:13:05 +0000 (19:13 +0300)]
Remove race condition from __swap_unregister_uprobe()
Add rcu_read_lock() for RCU-lists traversal.
Change-Id: Ifd35cb42222bef7f00b64da3db23a65dcf2e3c93
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Wed, 9 Nov 2016 11:34:17 +0000 (14:34 +0300)]
GOT patcher: add profiling by apps comm
Change-Id: If435b367bbea2e2fe9bc4486e4b4f3c6ce7dc183
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 9 Nov 2016 09:36:18 +0000 (12:36 +0300)]
GOT patcher: make common code general
Change-Id: I3d9f62333b0201d22f7f79608104923b0a1dcd8b
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 8 Nov 2016 11:06:43 +0000 (14:06 +0300)]
Fix svace issues
Change-Id: I209f787729b3da74d1427f322ea9532c268e32af
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Gihun Chang [Fri, 4 Nov 2016 01:32:01 +0000 (10:32 +0900)]
Add an exclude condition for arm-wayland projects on public OBS.
Change-Id: Ied8f8da527a962854add3ece0ab7630d40ad41ed
Dmitry Kovalenko [Tue, 4 Oct 2016 15:03:51 +0000 (18:03 +0300)]
Use unified kernel-devel name & paths
Change-Id: I5fcb4c868b62cfa3153e555a9cb281cc042146f2
Alexander Aksenov [Thu, 26 Jun 2014 10:31:24 +0000 (14:31 +0400)]
uprobe: uretprobes cleanup
Add uretprobes cleanup when swap_register_uprobe() fails
Change-Id: I89d2528d01835b5f6c2d3dd2d2f9bc0148c25d8b
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 27 Oct 2016 11:05:04 +0000 (14:05 +0300)]
us_manager: fix "comm" filter
Check task->comm instead task->group_leader->comm, because
page_fault might will be call from child task which comm field
is defferent from main task.
Change-Id: Idaea3116c90c683cfcdd1344ad069dc0d49c64b7
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Wed, 30 Mar 2016 11:45:04 +0000 (14:45 +0300)]
GOT patcher: implement initial version
Change-Id: I8f8cb66f19a56afa6509cc619c1ed2aae5df756f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Anatolii Nikulin [Tue, 25 Oct 2016 12:59:07 +0000 (15:59 +0300)]
Rework webprobe module
Implement webprobe probes like probes in NSP module
Change-Id: I467f1cb84be43ca21da257b4b601dbe382190ad5
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Tue, 27 Sep 2016 08:07:19 +0000 (11:07 +0300)]
Rework WEBPROBE
So webkit replaced by libchromium, we change code in order to
extract data from libchromium objects
Change-Id: I2873728e048c742229d970cfc41ac70627d0f0b9
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Thu, 6 Oct 2016 08:13:17 +0000 (11:13 +0300)]
enable multiprobe on same address
Now we can set several probes on same address
Change-Id: Iff80e76474521a13a6bff7f2596b6fda02899986
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vitaliy Cherepanov [Fri, 29 Apr 2016 10:01:45 +0000 (13:01 +0300)]
[FIX] wsp unregister
Change-Id: I05af37021f2fa911aa9b8c85dc1482947ca5ad9c
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov [Fri, 4 Mar 2016 13:03:44 +0000 (16:03 +0300)]
Implement protocol version 4.2
Depends on manager: Implement protocol version 4.2
add sockets info to MSG_PROCESS_STATUS_INFO
Change-Id: I92fe298dd54188793f3da9d9dff7da206eae776e
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vyacheslav Cherkashin [Fri, 1 Jul 2016 14:44:38 +0000 (17:44 +0300)]
fix modules loading for kernel 3.18
Change-Id: I9849292e39df00f2e44357606b420c5656021917
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Fri, 15 Jul 2016 12:48:59 +0000 (15:48 +0300)]
rework UIHV init/deinit
Depends on manager: fix UIHV start/stop
Add enable/disable command for UIHV
Change-Id: I8a1474ce3aa86f8c158a7ae7595e8946aa996cb7
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Dmitry Kovalenko [Mon, 18 Jul 2016 09:58:02 +0000 (12:58 +0300)]
Add emulator-circle build target
Change-Id: I8dadc3fb4e4d66e45a6fbacd97c232dd2804a622
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Anatolii Nikulin [Wed, 29 Jun 2016 13:52:18 +0000 (16:52 +0300)]
[FIX] change nsp functions
Change-Id: I0daf666880368ed290285d3fdc7e90e78bc5639f
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Thu, 30 Jun 2016 06:15:02 +0000 (09:15 +0300)]
[CLEAN] noisy printk
Change-Id: If4c4873bb70d3758e64d75e3ca1ec26e62546a6a
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Mon, 27 Jun 2016 14:52:45 +0000 (17:52 +0300)]
[CLEAN] Remove unused code
Change-Id: Ic474cdc2838b427c418bb0c41eb8304aa1509160
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Thu, 23 Jun 2016 15:45:36 +0000 (18:45 +0300)]
[FIX] build for r720
Change-Id: I0b4c694dd4aaa3c5988f4d838ceb0454687490ed
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Thu, 23 Jun 2016 11:57:50 +0000 (14:57 +0300)]
[FIX] arm probes on do_page_fault
It's a workaround. We don't receive do_page_fault() on all pages,
so we check all mapped pages on every do_page_fault()
Change-Id: Ib5e4c704afb90fa5a179592aaac4345d002fffb9
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vyacheslav Cherkashin [Mon, 20 Jun 2016 18:11:01 +0000 (21:11 +0300)]
[FIX] rcu_nmi_enter/exit() inconsistentence (for x86)
Add rcu_nmi_enter() call to exceptions_handler(), because we change
US context to KS context as a result rcu_nmi_exit() will be called
on exiting exception and rcu_nmi_enter() and rcu_nmi_exit() calls
must be consistent.
Change-Id: Idbf5a7d6be1284ba841c4b43b565aaf18197ab28
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Dmitry Kovalenko [Wed, 18 May 2016 11:22:01 +0000 (14:22 +0300)]
Merge branch 'tizen_2.4_dev' into tizen
Change-Id: I2ca10946582bb778756f4e6a2fd265966839e805
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>
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>
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>