Vyacheslav Cherkashin [Tue, 15 Aug 2017 16:48:01 +0000 (19:48 +0300)]
Fix deadlock in hh_mm_release()
Has not been called up_write() on error happens
Change-Id: I49bae67eb4e0f3574509413c1fae1ce2709ef445
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Aug 2017 11:51:33 +0000 (14:51 +0300)]
Add CONFIG_SWAP_KERNEL_IMMUTABLE support
Add some includes to other files, because they were indirectly
included from removed
Change-Id: I9c78d60d6f42d91a154050515bad8118a06ecb68
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 15 Aug 2017 15:56:04 +0000 (18:56 +0300)]
ARM64: Fix type cast
Change-Id: I7f5c71f8c18d25390e3ac4983041c025e870e065
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 15 Aug 2017 15:53:51 +0000 (18:53 +0300)]
Separate define RETPROBE_STACK_DEPTH
to:
- KRETPROBE_STACK_DEPTH
- URETPROBE_STACK_DEPTH
Change-Id: I3f636de1c40866862082c119c679b096fa9720e4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 15 Aug 2017 12:13:17 +0000 (15:13 +0300)]
ks_feature: disable file_ops on CONFIG_SWAP_HOOK_SYSCALL defined
Because file_ops is not ported to hook interface
Change-Id: Ifc1a2a97c221ed0e37742cfa84b7bbb9fddf20fb
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Aug 2017 11:52:39 +0000 (14:52 +0300)]
Fix build for 64-bit
Change-Id: I22a3c46e28ed07e36463a61a384cbe795c9724f4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Wed, 31 Aug 2016 10:03:48 +0000 (13:03 +0300)]
Add CONFIG_SWAP_HOOK_ENERGY support
Change-Id: If461329d50f914cbe0bffd93c53852e759ea30f7
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Aug 2017 07:31:55 +0000 (10:31 +0300)]
Add CONFIG_SWAP_HOOK_SIGNAL support
Change-Id: I344982157eafad3e01c9e015a68b2883cd7586f4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 11 Aug 2017 15:38:43 +0000 (18:38 +0300)]
loader: remove swap_kprobe dependence
use usm_hook instead of swap_kprobe
Change-Id: Id3b9b9b9dbd7c7f4ae1d82c087b578ba17ed2e3f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 11 Aug 2017 15:09:52 +0000 (18:09 +0300)]
us_manager: implement usm_hook
Change-Id: Ibae838eb1cd44890bf0fcd05a78fd5f06d200608
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Tue, 23 Aug 2016 14:37:40 +0000 (17:37 +0300)]
Add CONFIG_SWAP_HOOK_SWITCH_TO suport
Change-Id: I7161aa4106bdfe6e0a8849d43e81ba6fbe290834
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vitaliy Cherepanov [Thu, 25 Aug 2016 12:53:52 +0000 (15:53 +0300)]
Add CONFIG_SWAP_HOOK_SYSCALL support
Change-Id: I77cbb7cf011e61d9a8e53a18aa254872f9f54549
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vyacheslav Cherkashin [Mon, 29 Aug 2016 08:18:04 +0000 (11:18 +0300)]
Add CONFIG_SWAP_HOOK_USAUX support
Change-Id: I286ba174ab18143babf833cee7aa2ae7bbfcc2d8
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 9 Aug 2017 14:49:01 +0000 (17:49 +0300)]
Add CONFIG_SWAP_HOOK_TASKDATA support
Change-Id: I5aa764fe699dbf4da4661a8025ba76d6980cf506
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 25 Jul 2017 06:35:04 +0000 (09:35 +0300)]
driver: add synchronize for msg_handler
Change-Id: Id06134af184fe576a349a9e35e8348830701bc54
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 19 Jul 2017 16:20:37 +0000 (19:20 +0300)]
preload: fix invalid id pointer
Change-Id: I88cde60599369ebbc307157b9f8541f0141f9d40
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 12 Jul 2017 13:00:52 +0000 (16:00 +0300)]
parser: fix incorrect access to app list
Change-Id: I0f2192f39181cd9413a32fc1c36d81dcb1497894
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Thu, 25 May 2017 15:17:24 +0000 (18:17 +0300)]
Add per-process pthread init probes installation
Library can be loaded very early, when pthread was not inited.
Due to pthread library usage in our service probe lib, this causes
assert in library constructor. To prevent this pthread init probe
is installed, and so we can identify when it is inited.
This mechanism was previously made for got patcher, now this is
preload implementation.
This commit is related to swap-manager's commit
Pass pthread's init data to preload module
Change-Id: I83954951e6797eaf583c44f3a348d8d37a277cbf
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 25 May 2017 12:59:52 +0000 (15:59 +0300)]
Add loader iface to get pd by task
pd struct was avaliable only by sspt_proc, so there was lots of
the same code everywhere the pd was got.
Change-Id: I38bf65c26253e919b5a85b4c3ffbf9dbbe17a585
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 24 Jan 2017 12:54:25 +0000 (15:54 +0300)]
Add different handler libs handling
This commit is related with same name commits in swap-probe
and swap-manager.
Change-Id: I51cd784003b92984aecdfdc215d22a08b68ee337
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 17 Jan 2017 13:35:40 +0000 (16:35 +0300)]
Preload: Add orig field pointer passing to kernel
This field can be filled only in kernel when using preload
mechanism. This commit implements only its passing to write
message handler.
This commit is related with swap-probe commit with the
same name.
Change-Id: Iaca284920862e144ebfc15282e08f3b98dcddae5
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 18 May 2017 18:23:22 +0000 (21:23 +0300)]
Add copy slot address for aggrigated uprobes
Slot is allocated only for the first probe from aggtigated
chain, and previously it was not shared between probes (even
the head one), this has led to invalid ip chainging on x86
Change-Id: I985fd2eb6f0d88afd778237b7690010e514f6305
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Wed, 3 May 2017 18:33:39 +0000 (21:33 +0300)]
Fix probes unregistering before parser module unloading
Change-Id: I1aa3552d17d5daeba133b6b8d864964a6d8904db
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
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>