livepatch: force transition to finish
authorMiroslav Benes <mbenes@suse.cz>
Wed, 22 Nov 2017 10:29:21 +0000 (11:29 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 7 Dec 2017 12:21:35 +0000 (13:21 +0100)
commitc99a2be790b07752d8cc694434d3450afd4c5a00
tree086f38cd5bae5145e4677c552a8776990f12c2fb
parent43347d56c8d9dd732cee2f8efd384ad21dd1f6c4
livepatch: force transition to finish

If a task sleeps in a set of patched functions uninterruptedly, it could
block the whole transition indefinitely.  Thus it may be useful to clear
its TIF_PATCH_PENDING to allow the process to finish.

Admin can do that now by writing to force sysfs attribute in livepatch
sysfs directory. TIF_PATCH_PENDING is then cleared for all tasks and the
transition can finish successfully.

Important note! Administrator should not use this feature without a
clearance from a patch distributor. It must be checked that by doing so
the consistency model guarantees are not violated. Removal (rmmod) of
patch modules is permanently disabled when the feature is used. It
cannot be guaranteed there is no task sleeping in such module.

Signed-off-by: Miroslav Benes <mbenes@suse.cz>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Documentation/ABI/testing/sysfs-kernel-livepatch
Documentation/livepatch/livepatch.txt
kernel/livepatch/core.c
kernel/livepatch/transition.c
kernel/livepatch/transition.h