diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2017-02-09 16:08:01 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2017-02-09 16:08:01 +1100 |
commit | 4630498a606609b48ce50cd536ef1574248b8c0b (patch) | |
tree | c8fc34ecb7f8e9ebcb5fe639f979c8b96e78af3b /Documentation | |
parent | 4d272ca2703f6361ccf061361bd6b3486537c608 (diff) | |
parent | 372e2db7210df7c45ead46429aeb1443ba148060 (diff) |
Merge remote-tracking branch 'livepatching/for-next'
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/livepatch/livepatch.txt | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/Documentation/livepatch/livepatch.txt b/Documentation/livepatch/livepatch.txt index cbfabd188779..9d2096c7160d 100644 --- a/Documentation/livepatch/livepatch.txt +++ b/Documentation/livepatch/livepatch.txt @@ -329,25 +329,6 @@ The current Livepatch implementation has several limitations: by "notrace". - + Anything inlined into __schedule() can not be patched. - - The switch_to macro is inlined into __schedule(). It switches the - context between two processes in the middle of the macro. It does - not save RIP in x86_64 version (contrary to 32-bit version). Instead, - the currently used __schedule()/switch_to() handles both processes. - - Now, let's have two different tasks. One calls the original - __schedule(), its registers are stored in a defined order and it - goes to sleep in the switch_to macro and some other task is restored - using the original __schedule(). Then there is the second task which - calls patched__schedule(), it goes to sleep there and the first task - is picked by the patched__schedule(). Its RSP is restored and now - the registers should be restored as well. But the order is different - in the new patched__schedule(), so... - - There is work in progress to remove this limitation. - - + Livepatch modules can not be removed. The current implementation just redirects the functions at the very |