Vyacheslav Cherkashin [Mon, 16 Oct 2017 17:59:19 +0000 (20:59 +0300)]
KI: add kernel patch for CONFIG_SWAP_HOOK_ENERGY support
Change-Id: I76bbe5195da7720fc75cc984716058d39c9b47e9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 16 Oct 2017 17:58:18 +0000 (20:58 +0300)]
KI: add kernel patch for CONFIG_SWAP_HOOK_SWITCH_TO support
Change-Id: Id47af2199f79dcba96f2a65a3d26d5e7490f9e90
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 16 Oct 2017 17:57:28 +0000 (20:57 +0300)]
KI: add kernel patch for CONFIG_SWAP_HOOK_USAUX support
Change-Id: I5e1d849fee82b89eb16cbb9bb5b1771032763f6b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 16 Oct 2017 17:56:27 +0000 (20:56 +0300)]
KI: add kernel patch for CONFIG_SWAP_HOOK_TASKDATA support
Change-Id: I6e1c7a65a5231838eb5dfac462cf2192dcb4e39c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 4 Oct 2017 18:14:35 +0000 (21:14 +0300)]
KI: add kernel patch for CONFIG_SWAP_HOOK_SYSCALL support
Change-Id: I922f4abf1cebde741ab28b94115daa18cc2e259d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 4 Oct 2017 14:59:03 +0000 (17:59 +0300)]
KI: introduce script and README for integration in to kernel
Change-Id: I14b84ab040a371c3bbb630ec8a8179246186fe48
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 3 Oct 2017 15:48:25 +0000 (18:48 +0300)]
Move modules to modules dir
Change-Id: I2b4cbfe8c39fef4049083d523eb2d4acbea03041
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 16 Oct 2017 14:09:04 +0000 (17:09 +0300)]
ARM: use swap_access_process_vm() for user memory access
Change-Id: I93b31067a58d538de30d9e37d4e3406b2b74ac17
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Mon, 16 Oct 2017 13:58:56 +0000 (16:58 +0300)]
Fix build for ARM targets
Change-Id: I8412bf8be7ebd648feb0683ea0aa2c8c99bdf491
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Dmitry Kovalenko [Fri, 13 Oct 2017 09:36:58 +0000 (12:36 +0300)]
Fix issues found by static analysis tool
decode_thumb.c: Out-of-bounds access
probes_arm.c: Out-of-bounds access
swap_kprobes.c: Resource leak
Change-Id: I54c92029f5adb83b8d4f8f29cc4e683d6545ab6c
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Dmitry Kovalenko [Tue, 10 Oct 2017 07:58:27 +0000 (10:58 +0300)]
Not build unsupported targets
Change-Id: I9b8f895c30751671c879bab0fad8263779e1f27d
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Dmitry Kovalenko [Tue, 10 Oct 2017 07:10:50 +0000 (10:10 +0300)]
Disable build for non-emulator i586 target
Change-Id: I3b9a3000e3755c304a4119b0ad877bbcd5b8b78f
Vyacheslav Cherkashin [Tue, 3 Oct 2017 07:33:56 +0000 (10:33 +0300)]
wsi: remove feature
Change-Id: I9d28a5af96efbdeb40f26cdd22258337e45c39ab
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vitaliy Cherepanov [Wed, 27 Sep 2017 17:08:33 +0000 (20:08 +0300)]
Fix build for i686 arch
Change-Id: I63cb3e2e88261dbb957bb030bd89a94c83127e5c
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Dmitry Kovalenko [Tue, 26 Sep 2017 15:53:22 +0000 (18:53 +0300)]
Merge branch 'tizen_3.0_dev' into tizen_4.0
Change-Id: Idbce0b9121427a0299b6c8cdf9ccd197b4532cdc
Dmitry Kovalenko [Thu, 21 Sep 2017 05:20:02 +0000 (08:20 +0300)]
Add model-config to requires (fix install sequence)
Change-Id: I5d9b77adaf6d7bc80cd60274af71b0683b662e35
Alexander Aksenov [Tue, 19 Sep 2017 15:47:55 +0000 (18:47 +0300)]
Add calling patch app memory area after lib map
Change-Id: Iafa451d395b76c9bc8c6e85b75c3189820c6207d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 18 Sep 2017 15:48:12 +0000 (18:48 +0300)]
Fix name collisions
Linux kernel Kprobes had name collisions with SWAP kprobes
Change-Id: Ie69d28976fb6f8d9b18fa3b152109b6be940027f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Tue, 12 Sep 2017 16:00:25 +0000 (19:00 +0300)]
Fix build for Tizen 4.0
Change-Id: Ie2b8140d19658038862b085e66299b9ae12a1338
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 12 Sep 2017 17:10:37 +0000 (20:10 +0300)]
Merge branch 'tizen_3.0_dev' into tizen_4.0
Change-Id: I86aea82642339739dffcc64991047db475e121d4
Vyacheslav Cherkashin [Tue, 12 Sep 2017 16:52:41 +0000 (19:52 +0300)]
preload: add variable initialization
Change-Id: Ic2d4c74c4ff120a8940987026ce3d9f7cf4fc9ef
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 12 Sep 2017 15:56:39 +0000 (18:56 +0300)]
energy: fix wlan0 checking
Change-Id: I0ef6d699127a3279bc7d3da5ca4b1bb09434154d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Fri, 1 Sep 2017 08:16:12 +0000 (11:16 +0300)]
Add TW1 support
Change-Id: I1621784c3b9d5e8e10f9f788b822abce9d8efaba
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 1 Sep 2017 08:15:37 +0000 (11:15 +0300)]
Fix deploy script
- add unused *.ko deletion
- cleanup after installation
- add support TM2 device
- fix rpi3 model name
Change-Id: Ia7dfd8ab46a69148febcef8d816af325db14c7bc
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 31 Aug 2017 11:59:29 +0000 (14:59 +0300)]
Add baselibs for repacking aarch64 to armv7l
Change-Id: Ic5bed2e632983f985ddd25e1da85627c3977ee53
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Wed, 23 Aug 2017 15:35:20 +0000 (18:35 +0300)]
Add UNIX permissons setting for debugfs files
Now swap_debugfs_create_*() used for debugfs entries creation
Change-Id: Ie13dbd0a83848ee0e4a0625e22ba81ecbc0410a9
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Fri, 18 Aug 2017 15:22:45 +0000 (18:22 +0300)]
us_manager: uninit static variable
Set default value to static variable (status) during uninit module
Change-Id: I2d6efa246ba5bcd6c266288224103e9325d53d20
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Thu, 27 Jul 2017 12:40:27 +0000 (15:40 +0300)]
Strip modules for aarch64
Workaround to make modules buildable for this arch
Change-Id: I1ac1708e88477f68d95616449de9f140c0e48048
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Fri, 16 Jun 2017 06:21:40 +0000 (09:21 +0300)]
Port building to tizen 4.0
Now building performed for all targets but only appropriate
version is installed
Change-Id: I348b254b69eb9aea16b723c199b25a1dd8282e0c
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 29 Jun 2017 16:51:39 +0000 (19:51 +0300)]
Support modern (>4.0) kernels
- get_user_pages() function result has changed, get_user_pages_remote() used
- macros redefenition on modern kernels made version dependend
- inappropriate print function arguments has changed.
Change-Id: Ie81f7edfaa3d0310f4b6f7b6a5d24cbcd6cbdc46
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 17 Aug 2017 12:24:25 +0000 (15:24 +0300)]
taskctx: disable if CONFIG_SWAP_KERNEL_IMMUTABLE
Change-Id: I5468031320c6ea766986e0fa490cf0600ef04775
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 17 Aug 2017 09:00:44 +0000 (12:00 +0300)]
parser: fix double features unregistration
Change-Id: I68a794544e408102607de3ba004cc34faa3cff1e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
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>
Dmitry Kovalenko [Tue, 15 Aug 2017 09:38:16 +0000 (12:38 +0300)]
Fix typo in bin_info_list_create() result checking
Change-Id: Ic80e6b448deee565541e97797a0e8a7e51690ed5
Signed-off-by: Dmitry Kovalenko <d.kovalenko@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>
Dmitry Kovalenko [Wed, 17 May 2017 12:37:30 +0000 (15:37 +0300)]
Merge branch 'tizen_3.0_dev' into tizen
Change-Id: I1baeda980af41214746e5e5179c8c69c28a350ed
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 [Tue, 2 May 2017 12:03:12 +0000 (15:03 +0300)]
Make possible set uprobe on call instruction (x86)
On retprobe setting used callback which prevents
setting uprobe on call.
Change-Id: I0f7a9d1b871ee8f3dea04eb5adfaca74015a0f4d
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>